specialize loaders for dst registers, to avoid move/swap stages

Bug: skia:
Change-Id: I75d82ef2226c5f116b7de2208c4e914739414b6d
Reviewed-on: https://skia-review.googlesource.com/20984
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
diff --git a/src/core/SkRasterPipeline.cpp b/src/core/SkRasterPipeline.cpp
index dc25e5a..45d081b 100644
--- a/src/core/SkRasterPipeline.cpp
+++ b/src/core/SkRasterPipeline.cpp
@@ -75,3 +75,10 @@
         this->append(SkRasterPipeline::clamp_a);
     }
 }
+
+void SkRasterPipeline::append_from_srgb_dst(SkAlphaType at) {
+    this->unchecked_append(from_srgb_dst, nullptr);
+    if (at == kPremul_SkAlphaType) {
+        this->append(SkRasterPipeline::clamp_a_dst);
+    }
+}
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index bd54e3f..1fc8329 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -62,18 +62,18 @@
 #define SK_RASTER_PIPELINE_STAGES(M)                             \
     M(callback)                                                  \
     M(move_src_dst) M(move_dst_src) M(swap)                      \
-    M(clamp_0) M(clamp_1) M(clamp_a)                             \
+    M(clamp_0) M(clamp_1) M(clamp_a) M(clamp_a_dst)              \
     M(unpremul) M(premul)                                        \
-    M(set_rgb) M(swap_rb)                                        \
-    M(from_srgb) M(to_srgb)                                      \
+    M(set_rgb) M(swap_rb) M(swap_rb_dst)                         \
+    M(from_srgb) M(from_srgb_dst) M(to_srgb)                     \
     M(constant_color) M(seed_shader) M(dither)                   \
-    M(load_a8)   M(store_a8)                                     \
-    M(load_g8)                                                   \
-    M(load_565)  M(store_565)                                    \
-    M(load_4444) M(store_4444)                                   \
-    M(load_f16)  M(store_f16)                                    \
-    M(load_f32)  M(store_f32)                                    \
-    M(load_8888) M(store_8888)                                   \
+    M(load_a8)   M(load_a8_dst)   M(store_a8)                    \
+    M(load_g8)   M(load_g8_dst)                                  \
+    M(load_565)  M(load_565_dst)  M(store_565)                   \
+    M(load_4444) M(load_4444_dst) M(store_4444)                  \
+    M(load_f16)  M(load_f16_dst)  M(store_f16)                   \
+    M(load_f32)  M(load_f32_dst)  M(store_f32)                   \
+    M(load_8888) M(load_8888_dst) M(store_8888)                  \
     M(load_u16_be) M(load_rgb_u16_be) M(store_u16_be)            \
     M(load_tables_u16_be) M(load_tables_rgb_u16_be)              \
     M(load_tables) M(load_rgba) M(store_rgba)                    \
@@ -145,6 +145,7 @@
     // Conversion from sRGB can be subtly tricky when premultiplication is involved.
     // Use these helpers to keep things sane.
     void append_from_srgb(SkAlphaType);
+    void append_from_srgb_dst(SkAlphaType);
 
     bool empty() const { return fStages == nullptr; }
 
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index 9cb9557..07e4922 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -222,24 +222,22 @@
 }
 
 void SkRasterPipelineBlitter::append_load_d(SkRasterPipeline* p) const {
-    p->append(SkRasterPipeline::move_src_dst);
     switch (fDst.info().colorType()) {
-        case kGray_8_SkColorType:    p->append(SkRasterPipeline::load_g8,   &fDstPtr); break;
-        case kAlpha_8_SkColorType:   p->append(SkRasterPipeline::load_a8,   &fDstPtr); break;
-        case kRGB_565_SkColorType:   p->append(SkRasterPipeline::load_565,  &fDstPtr); break;
-        case kARGB_4444_SkColorType: p->append(SkRasterPipeline::load_4444, &fDstPtr); break;
+        case kGray_8_SkColorType:    p->append(SkRasterPipeline::load_g8_dst,   &fDstPtr); break;
+        case kAlpha_8_SkColorType:   p->append(SkRasterPipeline::load_a8_dst,   &fDstPtr); break;
+        case kRGB_565_SkColorType:   p->append(SkRasterPipeline::load_565_dst,  &fDstPtr); break;
+        case kARGB_4444_SkColorType: p->append(SkRasterPipeline::load_4444_dst, &fDstPtr); break;
         case kBGRA_8888_SkColorType:
-        case kRGBA_8888_SkColorType: p->append(SkRasterPipeline::load_8888, &fDstPtr); break;
-        case kRGBA_F16_SkColorType:  p->append(SkRasterPipeline::load_f16,  &fDstPtr); break;
+        case kRGBA_8888_SkColorType: p->append(SkRasterPipeline::load_8888_dst, &fDstPtr); break;
+        case kRGBA_F16_SkColorType:  p->append(SkRasterPipeline::load_f16_dst,  &fDstPtr); break;
         default: break;
     }
     if (fDst.info().colorType() == kBGRA_8888_SkColorType) {
-        p->append(SkRasterPipeline::swap_rb);
+        p->append(SkRasterPipeline::swap_rb_dst);
     }
     if (fDst.info().gammaCloseToSRGB()) {
-        p->append_from_srgb(fDst.info().alphaType());
+        p->append_from_srgb_dst(fDst.info().alphaType());
     }
-    p->append(SkRasterPipeline::swap);
 }
 
 void SkRasterPipelineBlitter::append_store(SkRasterPipeline* p) const {
diff --git a/src/jumper/SkJumper.cpp b/src/jumper/SkJumper.cpp
index aa4b794..2c262da 100644
--- a/src/jumper/SkJumper.cpp
+++ b/src/jumper/SkJumper.cpp
@@ -74,17 +74,15 @@
     M(constant_color)    \
     M(set_rgb)           \
     M(premul)            \
-    M(load_8888)         \
-    M(store_8888)        \
-    M(load_a8)           \
-    M(store_a8)          \
-    M(load_g8)           \
+    M(load_8888) M(load_8888_dst) M(store_8888) \
+    M(load_a8)   M(load_a8_dst)   M(store_a8)   \
+    M(load_g8)   M(load_g8_dst)                 \
+    M(swap_rb)   M(swap_rb_dst)                 \
     M(srcover_rgba_8888) \
     M(lerp_1_float)      \
     M(lerp_u8)           \
     M(scale_1_float)     \
     M(scale_u8)          \
-    M(swap_rb)           \
     M(swap)              \
     M(move_src_dst)      \
     M(move_dst_src)      \
diff --git a/src/jumper/SkJumper_generated.S b/src/jumper/SkJumper_generated.S
index 7dc1d18..722ed83 100644
--- a/src/jumper/SkJumper_generated.S
+++ b/src/jumper/SkJumper_generated.S
@@ -1361,6 +1361,18 @@
   .long  0x4ea3f442                          // fmin          v2.4s, v2.4s, v3.4s
   .long  0xd61f00a0                          // br            x5
 
+HIDDEN _sk_clamp_a_dst_aarch64
+.globl _sk_clamp_a_dst_aarch64
+FUNCTION(_sk_clamp_a_dst_aarch64)
+_sk_clamp_a_dst_aarch64:
+  .long  0xf8408425                          // ldr           x5, [x1], #8
+  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
+  .long  0x4eb0f4e7                          // fmin          v7.4s, v7.4s, v16.4s
+  .long  0x4ea7f484                          // fmin          v4.4s, v4.4s, v7.4s
+  .long  0x4ea7f4a5                          // fmin          v5.4s, v5.4s, v7.4s
+  .long  0x4ea7f4c6                          // fmin          v6.4s, v6.4s, v7.4s
+  .long  0xd61f00a0                          // br            x5
+
 HIDDEN _sk_set_rgb_aarch64
 .globl _sk_set_rgb_aarch64
 FUNCTION(_sk_set_rgb_aarch64)
@@ -1383,6 +1395,16 @@
   .long  0x4eb01e02                          // mov           v2.16b, v16.16b
   .long  0xd61f00a0                          // br            x5
 
+HIDDEN _sk_swap_rb_dst_aarch64
+.globl _sk_swap_rb_dst_aarch64
+FUNCTION(_sk_swap_rb_dst_aarch64)
+_sk_swap_rb_dst_aarch64:
+  .long  0xf8408425                          // ldr           x5, [x1], #8
+  .long  0x4ea41c90                          // mov           v16.16b, v4.16b
+  .long  0x4ea61cc4                          // mov           v4.16b, v6.16b
+  .long  0x4eb01e06                          // mov           v6.16b, v16.16b
+  .long  0xd61f00a0                          // br            x5
+
 HIDDEN _sk_swap_aarch64
 .globl _sk_swap_aarch64
 FUNCTION(_sk_swap_aarch64)
@@ -1492,6 +1514,50 @@
   .long  0x6e721e22                          // bsl           v2.16b, v17.16b, v18.16b
   .long  0xd61f00a0                          // br            x5
 
+HIDDEN _sk_from_srgb_dst_aarch64
+.globl _sk_from_srgb_dst_aarch64
+FUNCTION(_sk_from_srgb_dst_aarch64)
+_sk_from_srgb_dst_aarch64:
+  .long  0x52a7d328                          // mov           w8, #0x3e990000
+  .long  0x72933348                          // movk          w8, #0x999a
+  .long  0x4e040d10                          // dup           v16.4s, w8
+  .long  0x52a7e648                          // mov           w8, #0x3f320000
+  .long  0x7291eb88                          // movk          w8, #0x8f5c
+  .long  0x4e040d11                          // dup           v17.4s, w8
+  .long  0x52a76468                          // mov           w8, #0x3b230000
+  .long  0x729ae148                          // movk          w8, #0xd70a
+  .long  0x4e040d12                          // dup           v18.4s, w8
+  .long  0x52a7b3c8                          // mov           w8, #0x3d9e0000
+  .long  0x72907228                          // movk          w8, #0x8391
+  .long  0x6e26dcd4                          // fmul          v20.4s, v6.4s, v6.4s
+  .long  0x4eb11e35                          // mov           v21.16b, v17.16b
+  .long  0x4eb11e37                          // mov           v23.16b, v17.16b
+  .long  0x4e26ce11                          // fmla          v17.4s, v16.4s, v6.4s
+  .long  0x4eb21e56                          // mov           v22.16b, v18.16b
+  .long  0x4eb21e58                          // mov           v24.16b, v18.16b
+  .long  0x4e34ce32                          // fmla          v18.4s, v17.4s, v20.4s
+  .long  0x4e040d11                          // dup           v17.4s, w8
+  .long  0x52a7ac28                          // mov           w8, #0x3d610000
+  .long  0x6e24dc93                          // fmul          v19.4s, v4.4s, v4.4s
+  .long  0x7288f5c8                          // movk          w8, #0x47ae
+  .long  0x4e24ce15                          // fmla          v21.4s, v16.4s, v4.4s
+  .long  0xf8408425                          // ldr           x5, [x1], #8
+  .long  0x6e25dcb4                          // fmul          v20.4s, v5.4s, v5.4s
+  .long  0x4e33ceb6                          // fmla          v22.4s, v21.4s, v19.4s
+  .long  0x4e040d13                          // dup           v19.4s, w8
+  .long  0x4e25ce17                          // fmla          v23.4s, v16.4s, v5.4s
+  .long  0x6e31dc95                          // fmul          v21.4s, v4.4s, v17.4s
+  .long  0x6ea4e664                          // fcmgt         v4.4s, v19.4s, v4.4s
+  .long  0x6e31dcb0                          // fmul          v16.4s, v5.4s, v17.4s
+  .long  0x6ea5e665                          // fcmgt         v5.4s, v19.4s, v5.4s
+  .long  0x6e31dcd1                          // fmul          v17.4s, v6.4s, v17.4s
+  .long  0x6ea6e666                          // fcmgt         v6.4s, v19.4s, v6.4s
+  .long  0x4e34cef8                          // fmla          v24.4s, v23.4s, v20.4s
+  .long  0x6e761ea4                          // bsl           v4.16b, v21.16b, v22.16b
+  .long  0x6e781e05                          // bsl           v5.16b, v16.16b, v24.16b
+  .long  0x6e721e26                          // bsl           v6.16b, v17.16b, v18.16b
+  .long  0xd61f00a0                          // br            x5
+
 HIDDEN _sk_to_srgb_aarch64
 .globl _sk_to_srgb_aarch64
 FUNCTION(_sk_to_srgb_aarch64)
@@ -1707,7 +1773,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020108                          // add           x8, x8, x2
-  .long  0xb50002e4                          // cbnz          x4, 16b0 <sk_scale_u8_aarch64+0x68>
+  .long  0xb50002e4                          // cbnz          x4, 177c <sk_scale_u8_aarch64+0x68>
   .long  0x39400109                          // ldrb          w9, [x8]
   .long  0x3940050a                          // ldrb          w10, [x8, #1]
   .long  0x3940090b                          // ldrb          w11, [x8, #2]
@@ -1732,12 +1798,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          16fc <sk_scale_u8_aarch64+0xb4>  // b.none
+  .long  0x54000220                          // b.eq          17c8 <sk_scale_u8_aarch64+0xb4>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e410                          // movi          d16, #0x0
-  .long  0x540000c0                          // b.eq          16dc <sk_scale_u8_aarch64+0x94>  // b.none
+  .long  0x540000c0                          // b.eq          17a8 <sk_scale_u8_aarch64+0x94>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffd61                          // b.ne          1678 <sk_scale_u8_aarch64+0x30>  // b.any
+  .long  0x54fffd61                          // b.ne          1744 <sk_scale_u8_aarch64+0x30>  // b.any
   .long  0x39400909                          // ldrb          w9, [x8, #2]
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x4e0a1d30                          // mov           v16.h[2], w9
@@ -1748,11 +1814,11 @@
   .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
   .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
   .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
-  .long  0x17ffffe0                          // b             1678 <sk_scale_u8_aarch64+0x30>
+  .long  0x17ffffe0                          // b             1744 <sk_scale_u8_aarch64+0x30>
   .long  0x39400108                          // ldrb          w8, [x8]
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x4e021d10                          // mov           v16.h[0], w8
-  .long  0x17ffffdc                          // b             1678 <sk_scale_u8_aarch64+0x30>
+  .long  0x17ffffdc                          // b             1744 <sk_scale_u8_aarch64+0x30>
 
 HIDDEN _sk_lerp_1_float_aarch64
 .globl _sk_lerp_1_float_aarch64
@@ -1781,7 +1847,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020108                          // add           x8, x8, x2
-  .long  0xb50003e4                          // cbnz          x4, 17d0 <sk_lerp_u8_aarch64+0x88>
+  .long  0xb50003e4                          // cbnz          x4, 189c <sk_lerp_u8_aarch64+0x88>
   .long  0x39400109                          // ldrb          w9, [x8]
   .long  0x3940050a                          // ldrb          w10, [x8, #1]
   .long  0x3940090b                          // ldrb          w11, [x8, #2]
@@ -1814,12 +1880,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          181c <sk_lerp_u8_aarch64+0xd4>  // b.none
+  .long  0x54000220                          // b.eq          18e8 <sk_lerp_u8_aarch64+0xd4>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e410                          // movi          d16, #0x0
-  .long  0x540000c0                          // b.eq          17fc <sk_lerp_u8_aarch64+0xb4>  // b.none
+  .long  0x540000c0                          // b.eq          18c8 <sk_lerp_u8_aarch64+0xb4>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffc61                          // b.ne          1778 <sk_lerp_u8_aarch64+0x30>  // b.any
+  .long  0x54fffc61                          // b.ne          1844 <sk_lerp_u8_aarch64+0x30>  // b.any
   .long  0x39400909                          // ldrb          w9, [x8, #2]
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x4e0a1d30                          // mov           v16.h[2], w9
@@ -1830,11 +1896,11 @@
   .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
   .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
   .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
-  .long  0x17ffffd8                          // b             1778 <sk_lerp_u8_aarch64+0x30>
+  .long  0x17ffffd8                          // b             1844 <sk_lerp_u8_aarch64+0x30>
   .long  0x39400108                          // ldrb          w8, [x8]
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x4e021d10                          // mov           v16.h[0], w8
-  .long  0x17ffffd4                          // b             1778 <sk_lerp_u8_aarch64+0x30>
+  .long  0x17ffffd4                          // b             1844 <sk_lerp_u8_aarch64+0x30>
 
 HIDDEN _sk_lerp_565_aarch64
 .globl _sk_lerp_565_aarch64
@@ -1843,7 +1909,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020508                          // add           x8, x8, x2, lsl #1
-  .long  0xb50005c4                          // cbnz          x4, 18f0 <sk_lerp_565_aarch64+0xc4>
+  .long  0xb50005c4                          // cbnz          x4, 19bc <sk_lerp_565_aarch64+0xc4>
   .long  0xfd400110                          // ldr           d16, [x8]
   .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
   .long  0x4e040d12                          // dup           v18.4s, w8
@@ -1891,12 +1957,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          193c <sk_lerp_565_aarch64+0x110>  // b.none
+  .long  0x54000220                          // b.eq          1a08 <sk_lerp_565_aarch64+0x110>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e410                          // movi          d16, #0x0
-  .long  0x540000c0                          // b.eq          191c <sk_lerp_565_aarch64+0xf0>  // b.none
+  .long  0x540000c0                          // b.eq          19e8 <sk_lerp_565_aarch64+0xf0>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fff9a1                          // b.ne          1840 <sk_lerp_565_aarch64+0x14>  // b.any
+  .long  0x54fff9a1                          // b.ne          190c <sk_lerp_565_aarch64+0x14>  // b.any
   .long  0x91001109                          // add           x9, x8, #0x4
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x0d405130                          // ld1           {v16.h}[2], [x9]
@@ -1907,10 +1973,10 @@
   .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
   .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
   .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
-  .long  0x17ffffc2                          // b             1840 <sk_lerp_565_aarch64+0x14>
+  .long  0x17ffffc2                          // b             190c <sk_lerp_565_aarch64+0x14>
   .long  0x0e020ff0                          // dup           v16.4h, wzr
   .long  0x0d404110                          // ld1           {v16.h}[0], [x8]
-  .long  0x17ffffbf                          // b             1840 <sk_lerp_565_aarch64+0x14>
+  .long  0x17ffffbf                          // b             190c <sk_lerp_565_aarch64+0x14>
 
 HIDDEN _sk_load_tables_aarch64
 .globl _sk_load_tables_aarch64
@@ -1919,7 +1985,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400109                          // ldr           x9, [x8]
   .long  0x8b020929                          // add           x9, x9, x2, lsl #2
-  .long  0xb50006e4                          // cbnz          x4, 1a30 <sk_load_tables_aarch64+0xe8>
+  .long  0xb50006e4                          // cbnz          x4, 1afc <sk_load_tables_aarch64+0xe8>
   .long  0x3dc00122                          // ldr           q2, [x9]
   .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
   .long  0x6f00e620                          // movi          v0.2d, #0xff000000ff
@@ -1976,22 +2042,22 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x1200048a                          // and           w10, w4, #0x3
   .long  0x7100055f                          // cmp           w10, #0x1
-  .long  0x540001a0                          // b.eq          1a6c <sk_load_tables_aarch64+0x124>  // b.none
+  .long  0x540001a0                          // b.eq          1b38 <sk_load_tables_aarch64+0x124>  // b.none
   .long  0x7100095f                          // cmp           w10, #0x2
   .long  0x6f00e402                          // movi          v2.2d, #0x0
-  .long  0x540000c0                          // b.eq          1a5c <sk_load_tables_aarch64+0x114>  // b.none
+  .long  0x540000c0                          // b.eq          1b28 <sk_load_tables_aarch64+0x114>  // b.none
   .long  0x71000d5f                          // cmp           w10, #0x3
-  .long  0x54fff881                          // b.ne          195c <sk_load_tables_aarch64+0x14>  // b.any
+  .long  0x54fff881                          // b.ne          1a28 <sk_load_tables_aarch64+0x14>  // b.any
   .long  0x9100212a                          // add           x10, x9, #0x8
   .long  0x4e040fe2                          // dup           v2.4s, wzr
   .long  0x4d408142                          // ld1           {v2.s}[2], [x10]
   .long  0xfd400120                          // ldr           d0, [x9]
   .long  0x6e004040                          // ext           v0.16b, v2.16b, v0.16b, #8
   .long  0x6e004002                          // ext           v2.16b, v0.16b, v0.16b, #8
-  .long  0x17ffffbd                          // b             195c <sk_load_tables_aarch64+0x14>
+  .long  0x17ffffbd                          // b             1a28 <sk_load_tables_aarch64+0x14>
   .long  0x4e040fe2                          // dup           v2.4s, wzr
   .long  0x0d408122                          // ld1           {v2.s}[0], [x9]
-  .long  0x17ffffba                          // b             195c <sk_load_tables_aarch64+0x14>
+  .long  0x17ffffba                          // b             1a28 <sk_load_tables_aarch64+0x14>
 
 HIDDEN _sk_load_tables_u16_be_aarch64
 .globl _sk_load_tables_u16_be_aarch64
@@ -2000,7 +2066,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400109                          // ldr           x9, [x8]
   .long  0x8b020d29                          // add           x9, x9, x2, lsl #3
-  .long  0xb5000744                          // cbnz          x4, 1b6c <sk_load_tables_u16_be_aarch64+0xf4>
+  .long  0xb5000744                          // cbnz          x4, 1c38 <sk_load_tables_u16_be_aarch64+0xf4>
   .long  0x0c400520                          // ld4           {v0.4h-v3.4h}, [x9]
   .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
   .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
@@ -2060,14 +2126,14 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x0d606120                          // ld4           {v0.h-v3.h}[0], [x9]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54fff8c0                          // b.eq          1a8c <sk_load_tables_u16_be_aarch64+0x14>  // b.none
+  .long  0x54fff8c0                          // b.eq          1b58 <sk_load_tables_u16_be_aarch64+0x14>  // b.none
   .long  0x9100212a                          // add           x10, x9, #0x8
   .long  0x0d606940                          // ld4           {v0.h-v3.h}[1], [x10]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fff843                          // b.cc          1a8c <sk_load_tables_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x54fff843                          // b.cc          1b58 <sk_load_tables_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
   .long  0x91004129                          // add           x9, x9, #0x10
   .long  0x0d607120                          // ld4           {v0.h-v3.h}[2], [x9]
-  .long  0x17ffffbf                          // b             1a8c <sk_load_tables_u16_be_aarch64+0x14>
+  .long  0x17ffffbf                          // b             1b58 <sk_load_tables_u16_be_aarch64+0x14>
 
 HIDDEN _sk_load_tables_rgb_u16_be_aarch64
 .globl _sk_load_tables_rgb_u16_be_aarch64
@@ -2077,7 +2143,7 @@
   .long  0x321f07ea                          // orr           w10, wzr, #0x6
   .long  0xf9400109                          // ldr           x9, [x8]
   .long  0x9b0a2449                          // madd          x9, x2, x10, x9
-  .long  0xb5000664                          // cbnz          x4, 1c70 <sk_load_tables_rgb_u16_be_aarch64+0xdc>
+  .long  0xb5000664                          // cbnz          x4, 1d3c <sk_load_tables_rgb_u16_be_aarch64+0xdc>
   .long  0x0c404520                          // ld3           {v0.4h-v2.4h}, [x9]
   .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
   .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
@@ -2130,14 +2196,14 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x0d406120                          // ld3           {v0.h-v2.h}[0], [x9]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54fff9a0                          // b.eq          1bac <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.none
+  .long  0x54fff9a0                          // b.eq          1c78 <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.none
   .long  0x9100192a                          // add           x10, x9, #0x6
   .long  0x0d406940                          // ld3           {v0.h-v2.h}[1], [x10]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fff923                          // b.cc          1bac <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
+  .long  0x54fff923                          // b.cc          1c78 <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
   .long  0x91003129                          // add           x9, x9, #0xc
   .long  0x0d407120                          // ld3           {v0.h-v2.h}[2], [x9]
-  .long  0x17ffffc6                          // b             1bac <sk_load_tables_rgb_u16_be_aarch64+0x18>
+  .long  0x17ffffc6                          // b             1c78 <sk_load_tables_rgb_u16_be_aarch64+0x18>
 
 HIDDEN _sk_byte_tables_aarch64
 .globl _sk_byte_tables_aarch64
@@ -2782,7 +2848,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020108                          // add           x8, x8, x2
-  .long  0xb50002e4                          // cbnz          x4, 2614 <sk_load_a8_aarch64+0x68>
+  .long  0xb50002e4                          // cbnz          x4, 26e0 <sk_load_a8_aarch64+0x68>
   .long  0x39400109                          // ldrb          w9, [x8]
   .long  0x3940050a                          // ldrb          w10, [x8, #1]
   .long  0x3940090b                          // ldrb          w11, [x8, #2]
@@ -2807,12 +2873,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          2660 <sk_load_a8_aarch64+0xb4>  // b.none
+  .long  0x54000220                          // b.eq          272c <sk_load_a8_aarch64+0xb4>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e402                          // movi          d2, #0x0
-  .long  0x540000c0                          // b.eq          2640 <sk_load_a8_aarch64+0x94>  // b.none
+  .long  0x540000c0                          // b.eq          270c <sk_load_a8_aarch64+0x94>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffd61                          // b.ne          25dc <sk_load_a8_aarch64+0x30>  // b.any
+  .long  0x54fffd61                          // b.ne          26a8 <sk_load_a8_aarch64+0x30>  // b.any
   .long  0x39400909                          // ldrb          w9, [x8, #2]
   .long  0x0e020fe2                          // dup           v2.4h, wzr
   .long  0x4e0a1d22                          // mov           v2.h[2], w9
@@ -2823,11 +2889,65 @@
   .long  0x0e401800                          // uzp1          v0.4h, v0.4h, v0.4h
   .long  0x2e002040                          // ext           v0.8b, v2.8b, v0.8b, #4
   .long  0x2e002002                          // ext           v2.8b, v0.8b, v0.8b, #4
-  .long  0x17ffffe0                          // b             25dc <sk_load_a8_aarch64+0x30>
+  .long  0x17ffffe0                          // b             26a8 <sk_load_a8_aarch64+0x30>
   .long  0x39400108                          // ldrb          w8, [x8]
   .long  0x0e020fe2                          // dup           v2.4h, wzr
   .long  0x4e021d02                          // mov           v2.h[0], w8
-  .long  0x17ffffdc                          // b             25dc <sk_load_a8_aarch64+0x30>
+  .long  0x17ffffdc                          // b             26a8 <sk_load_a8_aarch64+0x30>
+
+HIDDEN _sk_load_a8_dst_aarch64
+.globl _sk_load_a8_dst_aarch64
+FUNCTION(_sk_load_a8_dst_aarch64)
+_sk_load_a8_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020108                          // add           x8, x8, x2
+  .long  0xb50002e4                          // cbnz          x4, 27a4 <sk_load_a8_dst_aarch64+0x68>
+  .long  0x39400109                          // ldrb          w9, [x8]
+  .long  0x3940050a                          // ldrb          w10, [x8, #1]
+  .long  0x3940090b                          // ldrb          w11, [x8, #2]
+  .long  0x39400d08                          // ldrb          w8, [x8, #3]
+  .long  0x4e021d26                          // mov           v6.h[0], w9
+  .long  0x4e061d46                          // mov           v6.h[1], w10
+  .long  0x4e0a1d66                          // mov           v6.h[2], w11
+  .long  0x4e0e1d06                          // mov           v6.h[3], w8
+  .long  0x2f07b7e6                          // bic           v6.4h, #0xff, lsl #8
+  .long  0x52a77008                          // mov           w8, #0x3b800000
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x72901028                          // movk          w8, #0x8081
+  .long  0x2f10a4c6                          // uxtl          v6.4s, v6.4h
+  .long  0x4e040d07                          // dup           v7.4s, w8
+  .long  0x91004028                          // add           x8, x1, #0x10
+  .long  0x6e21d8c6                          // ucvtf         v6.4s, v6.4s
+  .long  0x6f00e404                          // movi          v4.2d, #0x0
+  .long  0x6f00e405                          // movi          v5.2d, #0x0
+  .long  0x6e27dcc7                          // fmul          v7.4s, v6.4s, v7.4s
+  .long  0x6f00e406                          // movi          v6.2d, #0x0
+  .long  0xaa0803e1                          // mov           x1, x8
+  .long  0xd61f00a0                          // br            x5
+  .long  0x12000489                          // and           w9, w4, #0x3
+  .long  0x7100053f                          // cmp           w9, #0x1
+  .long  0x54000220                          // b.eq          27f0 <sk_load_a8_dst_aarch64+0xb4>  // b.none
+  .long  0x7100093f                          // cmp           w9, #0x2
+  .long  0x2f00e406                          // movi          d6, #0x0
+  .long  0x540000c0                          // b.eq          27d0 <sk_load_a8_dst_aarch64+0x94>  // b.none
+  .long  0x71000d3f                          // cmp           w9, #0x3
+  .long  0x54fffd61                          // b.ne          276c <sk_load_a8_dst_aarch64+0x30>  // b.any
+  .long  0x39400909                          // ldrb          w9, [x8, #2]
+  .long  0x0e020fe6                          // dup           v6.4h, wzr
+  .long  0x4e0a1d26                          // mov           v6.h[2], w9
+  .long  0x39400109                          // ldrb          w9, [x8]
+  .long  0x39400508                          // ldrb          w8, [x8, #1]
+  .long  0x4e041d24                          // mov           v4.s[0], w9
+  .long  0x4e0c1d04                          // mov           v4.s[1], w8
+  .long  0x0e401884                          // uzp1          v4.4h, v4.4h, v0.4h
+  .long  0x2e0420c4                          // ext           v4.8b, v6.8b, v4.8b, #4
+  .long  0x2e042086                          // ext           v6.8b, v4.8b, v4.8b, #4
+  .long  0x17ffffe0                          // b             276c <sk_load_a8_dst_aarch64+0x30>
+  .long  0x39400108                          // ldrb          w8, [x8]
+  .long  0x0e020fe6                          // dup           v6.4h, wzr
+  .long  0x4e021d06                          // mov           v6.h[0], w8
+  .long  0x17ffffdc                          // b             276c <sk_load_a8_dst_aarch64+0x30>
 
 HIDDEN _sk_gather_a8_aarch64
 .globl _sk_gather_a8_aarch64
@@ -2876,7 +2996,7 @@
   .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
   .long  0x0e612a10                          // xtn           v16.4h, v16.4s
   .long  0x8b020108                          // add           x8, x8, x2
-  .long  0xb5000184                          // cbnz          x4, 2738 <sk_store_a8_aarch64+0x50>
+  .long  0xb5000184                          // cbnz          x4, 28c8 <sk_store_a8_aarch64+0x50>
   .long  0x0e0e3e09                          // umov          w9, v16.h[3]
   .long  0x0e0a3e0a                          // umov          w10, v16.h[2]
   .long  0x0e063e0b                          // umov          w11, v16.h[1]
@@ -2890,21 +3010,21 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000180                          // b.eq          2770 <sk_store_a8_aarch64+0x88>  // b.none
+  .long  0x54000180                          // b.eq          2900 <sk_store_a8_aarch64+0x88>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
-  .long  0x540000a0                          // b.eq          275c <sk_store_a8_aarch64+0x74>  // b.none
+  .long  0x540000a0                          // b.eq          28ec <sk_store_a8_aarch64+0x74>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffee1                          // b.ne          272c <sk_store_a8_aarch64+0x44>  // b.any
+  .long  0x54fffee1                          // b.ne          28bc <sk_store_a8_aarch64+0x44>  // b.any
   .long  0x0e0a3e09                          // umov          w9, v16.h[2]
   .long  0x39000909                          // strb          w9, [x8, #2]
   .long  0x0e023e09                          // umov          w9, v16.h[0]
   .long  0x0e063e0a                          // umov          w10, v16.h[1]
   .long  0x3900050a                          // strb          w10, [x8, #1]
   .long  0x39000109                          // strb          w9, [x8]
-  .long  0x17fffff0                          // b             272c <sk_store_a8_aarch64+0x44>
+  .long  0x17fffff0                          // b             28bc <sk_store_a8_aarch64+0x44>
   .long  0x0e023e09                          // umov          w9, v16.h[0]
   .long  0x39000109                          // strb          w9, [x8]
-  .long  0x17ffffed                          // b             272c <sk_store_a8_aarch64+0x44>
+  .long  0x17ffffed                          // b             28bc <sk_store_a8_aarch64+0x44>
 
 HIDDEN _sk_load_g8_aarch64
 .globl _sk_load_g8_aarch64
@@ -2913,7 +3033,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020108                          // add           x8, x8, x2
-  .long  0xb50002e4                          // cbnz          x4, 27e4 <sk_load_g8_aarch64+0x68>
+  .long  0xb50002e4                          // cbnz          x4, 2974 <sk_load_g8_aarch64+0x68>
   .long  0x39400109                          // ldrb          w9, [x8]
   .long  0x3940050a                          // ldrb          w10, [x8, #1]
   .long  0x3940090b                          // ldrb          w11, [x8, #2]
@@ -2938,12 +3058,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          2830 <sk_load_g8_aarch64+0xb4>  // b.none
+  .long  0x54000220                          // b.eq          29c0 <sk_load_g8_aarch64+0xb4>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e400                          // movi          d0, #0x0
-  .long  0x540000c0                          // b.eq          2810 <sk_load_g8_aarch64+0x94>  // b.none
+  .long  0x540000c0                          // b.eq          29a0 <sk_load_g8_aarch64+0x94>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffd61                          // b.ne          27ac <sk_load_g8_aarch64+0x30>  // b.any
+  .long  0x54fffd61                          // b.ne          293c <sk_load_g8_aarch64+0x30>  // b.any
   .long  0x39400909                          // ldrb          w9, [x8, #2]
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x4e0a1d20                          // mov           v0.h[2], w9
@@ -2954,11 +3074,65 @@
   .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
   .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
   .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
-  .long  0x17ffffe0                          // b             27ac <sk_load_g8_aarch64+0x30>
+  .long  0x17ffffe0                          // b             293c <sk_load_g8_aarch64+0x30>
   .long  0x39400108                          // ldrb          w8, [x8]
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x4e021d00                          // mov           v0.h[0], w8
-  .long  0x17ffffdc                          // b             27ac <sk_load_g8_aarch64+0x30>
+  .long  0x17ffffdc                          // b             293c <sk_load_g8_aarch64+0x30>
+
+HIDDEN _sk_load_g8_dst_aarch64
+.globl _sk_load_g8_dst_aarch64
+FUNCTION(_sk_load_g8_dst_aarch64)
+_sk_load_g8_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020108                          // add           x8, x8, x2
+  .long  0xb50002e4                          // cbnz          x4, 2a38 <sk_load_g8_dst_aarch64+0x68>
+  .long  0x39400109                          // ldrb          w9, [x8]
+  .long  0x3940050a                          // ldrb          w10, [x8, #1]
+  .long  0x3940090b                          // ldrb          w11, [x8, #2]
+  .long  0x39400d08                          // ldrb          w8, [x8, #3]
+  .long  0x4e021d24                          // mov           v4.h[0], w9
+  .long  0x4e061d44                          // mov           v4.h[1], w10
+  .long  0x4e0a1d64                          // mov           v4.h[2], w11
+  .long  0x4e0e1d04                          // mov           v4.h[3], w8
+  .long  0x2f07b7e4                          // bic           v4.4h, #0xff, lsl #8
+  .long  0x52a77008                          // mov           w8, #0x3b800000
+  .long  0x72901028                          // movk          w8, #0x8081
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
+  .long  0x4e040d05                          // dup           v5.4s, w8
+  .long  0x6e21d884                          // ucvtf         v4.4s, v4.4s
+  .long  0x91004028                          // add           x8, x1, #0x10
+  .long  0x6e25dc84                          // fmul          v4.4s, v4.4s, v5.4s
+  .long  0x4f03f607                          // fmov          v7.4s, #1.000000000000000000e+00
+  .long  0xaa0803e1                          // mov           x1, x8
+  .long  0x4ea41c85                          // mov           v5.16b, v4.16b
+  .long  0x4ea41c86                          // mov           v6.16b, v4.16b
+  .long  0xd61f00a0                          // br            x5
+  .long  0x12000489                          // and           w9, w4, #0x3
+  .long  0x7100053f                          // cmp           w9, #0x1
+  .long  0x54000220                          // b.eq          2a84 <sk_load_g8_dst_aarch64+0xb4>  // b.none
+  .long  0x7100093f                          // cmp           w9, #0x2
+  .long  0x2f00e404                          // movi          d4, #0x0
+  .long  0x540000c0                          // b.eq          2a64 <sk_load_g8_dst_aarch64+0x94>  // b.none
+  .long  0x71000d3f                          // cmp           w9, #0x3
+  .long  0x54fffd61                          // b.ne          2a00 <sk_load_g8_dst_aarch64+0x30>  // b.any
+  .long  0x39400909                          // ldrb          w9, [x8, #2]
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x4e0a1d24                          // mov           v4.h[2], w9
+  .long  0x39400109                          // ldrb          w9, [x8]
+  .long  0x39400508                          // ldrb          w8, [x8, #1]
+  .long  0x4e041d25                          // mov           v5.s[0], w9
+  .long  0x4e0c1d05                          // mov           v5.s[1], w8
+  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
+  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
+  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
+  .long  0x17ffffe0                          // b             2a00 <sk_load_g8_dst_aarch64+0x30>
+  .long  0x39400108                          // ldrb          w8, [x8]
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x4e021d04                          // mov           v4.h[0], w8
+  .long  0x17ffffdc                          // b             2a00 <sk_load_g8_dst_aarch64+0x30>
 
 HIDDEN _sk_gather_g8_aarch64
 .globl _sk_gather_g8_aarch64
@@ -3001,9 +3175,9 @@
 _sk_gather_i8_aarch64:
   .long  0xaa0103e8                          // mov           x8, x1
   .long  0xf8408429                          // ldr           x9, [x1], #8
-  .long  0xb4000069                          // cbz           x9, 28cc <sk_gather_i8_aarch64+0x14>
+  .long  0xb4000069                          // cbz           x9, 2b20 <sk_gather_i8_aarch64+0x14>
   .long  0xaa0903ea                          // mov           x10, x9
-  .long  0x14000003                          // b             28d4 <sk_gather_i8_aarch64+0x1c>
+  .long  0x14000003                          // b             2b28 <sk_gather_i8_aarch64+0x1c>
   .long  0xf940050a                          // ldr           x10, [x8, #8]
   .long  0x91004101                          // add           x1, x8, #0x10
   .long  0xf8410548                          // ldr           x8, [x10], #16
@@ -3066,7 +3240,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020508                          // add           x8, x8, x2, lsl #1
-  .long  0xb50003c4                          // cbnz          x4, 2a28 <sk_load_565_aarch64+0x84>
+  .long  0xb50003c4                          // cbnz          x4, 2c7c <sk_load_565_aarch64+0x84>
   .long  0xfd400100                          // ldr           d0, [x8]
   .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
   .long  0x4e040d02                          // dup           v2.4s, w8
@@ -3098,12 +3272,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          2a74 <sk_load_565_aarch64+0xd0>  // b.none
+  .long  0x54000220                          // b.eq          2cc8 <sk_load_565_aarch64+0xd0>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e400                          // movi          d0, #0x0
-  .long  0x540000c0                          // b.eq          2a54 <sk_load_565_aarch64+0xb0>  // b.none
+  .long  0x540000c0                          // b.eq          2ca8 <sk_load_565_aarch64+0xb0>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffba1                          // b.ne          29b8 <sk_load_565_aarch64+0x14>  // b.any
+  .long  0x54fffba1                          // b.ne          2c0c <sk_load_565_aarch64+0x14>  // b.any
   .long  0x91001109                          // add           x9, x8, #0x4
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x0d405120                          // ld1           {v0.h}[2], [x9]
@@ -3114,10 +3288,70 @@
   .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
   .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
   .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
-  .long  0x17ffffd2                          // b             29b8 <sk_load_565_aarch64+0x14>
+  .long  0x17ffffd2                          // b             2c0c <sk_load_565_aarch64+0x14>
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x0d404100                          // ld1           {v0.h}[0], [x8]
-  .long  0x17ffffcf                          // b             29b8 <sk_load_565_aarch64+0x14>
+  .long  0x17ffffcf                          // b             2c0c <sk_load_565_aarch64+0x14>
+
+HIDDEN _sk_load_565_dst_aarch64
+.globl _sk_load_565_dst_aarch64
+FUNCTION(_sk_load_565_dst_aarch64)
+_sk_load_565_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
+  .long  0xb50003c4                          // cbnz          x4, 2d58 <sk_load_565_dst_aarch64+0x84>
+  .long  0xfd400104                          // ldr           d4, [x8]
+  .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
+  .long  0x4e040d06                          // dup           v6.4s, w8
+  .long  0x52a6f088                          // mov           w8, #0x37840000
+  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
+  .long  0x4f072705                          // movi          v5.4s, #0xf8, lsl #8
+  .long  0x72842108                          // movk          w8, #0x2108
+  .long  0x4f0007e7                          // movi          v7.4s, #0x1f
+  .long  0x4e251c85                          // and           v5.16b, v4.16b, v5.16b
+  .long  0x4e271c87                          // and           v7.16b, v4.16b, v7.16b
+  .long  0x4e261c90                          // and           v16.16b, v4.16b, v6.16b
+  .long  0x4e040d04                          // dup           v4.4s, w8
+  .long  0x52a7a088                          // mov           w8, #0x3d040000
+  .long  0x72842108                          // movk          w8, #0x2108
+  .long  0x4e21d8a5                          // scvtf         v5.4s, v5.4s
+  .long  0x6e24dca4                          // fmul          v4.4s, v5.4s, v4.4s
+  .long  0x4e040d05                          // dup           v5.4s, w8
+  .long  0x52a74048                          // mov           w8, #0x3a020000
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x72810428                          // movk          w8, #0x821
+  .long  0x4e21d8e6                          // scvtf         v6.4s, v7.4s
+  .long  0x6e25dcc6                          // fmul          v6.4s, v6.4s, v5.4s
+  .long  0x4e040d05                          // dup           v5.4s, w8
+  .long  0x91004028                          // add           x8, x1, #0x10
+  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
+  .long  0x6e25dce5                          // fmul          v5.4s, v7.4s, v5.4s
+  .long  0x4f03f607                          // fmov          v7.4s, #1.000000000000000000e+00
+  .long  0xaa0803e1                          // mov           x1, x8
+  .long  0xd61f00a0                          // br            x5
+  .long  0x12000489                          // and           w9, w4, #0x3
+  .long  0x7100053f                          // cmp           w9, #0x1
+  .long  0x54000220                          // b.eq          2da4 <sk_load_565_dst_aarch64+0xd0>  // b.none
+  .long  0x7100093f                          // cmp           w9, #0x2
+  .long  0x2f00e404                          // movi          d4, #0x0
+  .long  0x540000c0                          // b.eq          2d84 <sk_load_565_dst_aarch64+0xb0>  // b.none
+  .long  0x71000d3f                          // cmp           w9, #0x3
+  .long  0x54fffba1                          // b.ne          2ce8 <sk_load_565_dst_aarch64+0x14>  // b.any
+  .long  0x91001109                          // add           x9, x8, #0x4
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x0d405124                          // ld1           {v4.h}[2], [x9]
+  .long  0x79400109                          // ldrh          w9, [x8]
+  .long  0x79400508                          // ldrh          w8, [x8, #2]
+  .long  0x4e041d25                          // mov           v5.s[0], w9
+  .long  0x4e0c1d05                          // mov           v5.s[1], w8
+  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
+  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
+  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
+  .long  0x17ffffd2                          // b             2ce8 <sk_load_565_dst_aarch64+0x14>
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x0d404104                          // ld1           {v4.h}[0], [x8]
+  .long  0x17ffffcf                          // b             2ce8 <sk_load_565_dst_aarch64+0x14>
 
 HIDDEN _sk_gather_565_aarch64
 .globl _sk_gather_565_aarch64
@@ -3189,24 +3423,24 @@
   .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
   .long  0x8b020508                          // add           x8, x8, x2, lsl #1
   .long  0x0e612a10                          // xtn           v16.4h, v16.4s
-  .long  0xb50000a4                          // cbnz          x4, 2b88 <sk_store_565_aarch64+0x58>
+  .long  0xb50000a4                          // cbnz          x4, 2eb8 <sk_store_565_aarch64+0x58>
   .long  0xfd000110                          // str           d16, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000120                          // b.eq          2bb4 <sk_store_565_aarch64+0x84>  // b.none
+  .long  0x54000120                          // b.eq          2ee4 <sk_store_565_aarch64+0x84>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
-  .long  0x540000a0                          // b.eq          2bac <sk_store_565_aarch64+0x7c>  // b.none
+  .long  0x540000a0                          // b.eq          2edc <sk_store_565_aarch64+0x7c>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffee1                          // b.ne          2b7c <sk_store_565_aarch64+0x4c>  // b.any
+  .long  0x54fffee1                          // b.ne          2eac <sk_store_565_aarch64+0x4c>  // b.any
   .long  0x91001109                          // add           x9, x8, #0x4
   .long  0x0d005130                          // st1           {v16.h}[2], [x9]
   .long  0x91000909                          // add           x9, x8, #0x2
   .long  0x0d004930                          // st1           {v16.h}[1], [x9]
   .long  0x0d004110                          // st1           {v16.h}[0], [x8]
-  .long  0x17fffff1                          // b             2b7c <sk_store_565_aarch64+0x4c>
+  .long  0x17fffff1                          // b             2eac <sk_store_565_aarch64+0x4c>
 
 HIDDEN _sk_load_4444_aarch64
 .globl _sk_load_4444_aarch64
@@ -3215,7 +3449,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020508                          // add           x8, x8, x2, lsl #1
-  .long  0xb5000444                          // cbnz          x4, 2c50 <sk_load_4444_aarch64+0x94>
+  .long  0xb5000444                          // cbnz          x4, 2f80 <sk_load_4444_aarch64+0x94>
   .long  0xfd400100                          // ldr           d0, [x8]
   .long  0x52a6f108                          // mov           w8, #0x37880000
   .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
@@ -3251,12 +3485,12 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000220                          // b.eq          2c9c <sk_load_4444_aarch64+0xe0>  // b.none
+  .long  0x54000220                          // b.eq          2fcc <sk_load_4444_aarch64+0xe0>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x2f00e400                          // movi          d0, #0x0
-  .long  0x540000c0                          // b.eq          2c7c <sk_load_4444_aarch64+0xc0>  // b.none
+  .long  0x540000c0                          // b.eq          2fac <sk_load_4444_aarch64+0xc0>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffb21                          // b.ne          2bd0 <sk_load_4444_aarch64+0x14>  // b.any
+  .long  0x54fffb21                          // b.ne          2f00 <sk_load_4444_aarch64+0x14>  // b.any
   .long  0x91001109                          // add           x9, x8, #0x4
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x0d405120                          // ld1           {v0.h}[2], [x9]
@@ -3267,10 +3501,74 @@
   .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
   .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
   .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
-  .long  0x17ffffce                          // b             2bd0 <sk_load_4444_aarch64+0x14>
+  .long  0x17ffffce                          // b             2f00 <sk_load_4444_aarch64+0x14>
   .long  0x0e020fe0                          // dup           v0.4h, wzr
   .long  0x0d404100                          // ld1           {v0.h}[0], [x8]
-  .long  0x17ffffcb                          // b             2bd0 <sk_load_4444_aarch64+0x14>
+  .long  0x17ffffcb                          // b             2f00 <sk_load_4444_aarch64+0x14>
+
+HIDDEN _sk_load_4444_dst_aarch64
+.globl _sk_load_4444_dst_aarch64
+FUNCTION(_sk_load_4444_dst_aarch64)
+_sk_load_4444_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
+  .long  0xb5000444                          // cbnz          x4, 306c <sk_load_4444_dst_aarch64+0x94>
+  .long  0xfd400104                          // ldr           d4, [x8]
+  .long  0x52a6f108                          // mov           w8, #0x37880000
+  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
+  .long  0x4f072605                          // movi          v5.4s, #0xf0, lsl #8
+  .long  0x72911128                          // movk          w8, #0x8889
+  .long  0x4f0025e6                          // movi          v6.4s, #0xf, lsl #8
+  .long  0x4f070607                          // movi          v7.4s, #0xf0
+  .long  0x4f0005f0                          // movi          v16.4s, #0xf
+  .long  0x4e251c85                          // and           v5.16b, v4.16b, v5.16b
+  .long  0x4e261c86                          // and           v6.16b, v4.16b, v6.16b
+  .long  0x4e271c87                          // and           v7.16b, v4.16b, v7.16b
+  .long  0x4e301c90                          // and           v16.16b, v4.16b, v16.16b
+  .long  0x4e040d04                          // dup           v4.4s, w8
+  .long  0x52a73108                          // mov           w8, #0x39880000
+  .long  0x72911128                          // movk          w8, #0x8889
+  .long  0x4e21d8a5                          // scvtf         v5.4s, v5.4s
+  .long  0x6e24dca4                          // fmul          v4.4s, v5.4s, v4.4s
+  .long  0x4e040d05                          // dup           v5.4s, w8
+  .long  0x52a77108                          // mov           w8, #0x3b880000
+  .long  0x72911128                          // movk          w8, #0x8889
+  .long  0x4e21d8c6                          // scvtf         v6.4s, v6.4s
+  .long  0x6e25dcc5                          // fmul          v5.4s, v6.4s, v5.4s
+  .long  0x4e040d06                          // dup           v6.4s, w8
+  .long  0x52a7b108                          // mov           w8, #0x3d880000
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x72911128                          // movk          w8, #0x8889
+  .long  0x4e21d8e7                          // scvtf         v7.4s, v7.4s
+  .long  0x6e26dce6                          // fmul          v6.4s, v7.4s, v6.4s
+  .long  0x4e040d07                          // dup           v7.4s, w8
+  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
+  .long  0x6e27de07                          // fmul          v7.4s, v16.4s, v7.4s
+  .long  0x91004021                          // add           x1, x1, #0x10
+  .long  0xd61f00a0                          // br            x5
+  .long  0x12000489                          // and           w9, w4, #0x3
+  .long  0x7100053f                          // cmp           w9, #0x1
+  .long  0x54000220                          // b.eq          30b8 <sk_load_4444_dst_aarch64+0xe0>  // b.none
+  .long  0x7100093f                          // cmp           w9, #0x2
+  .long  0x2f00e404                          // movi          d4, #0x0
+  .long  0x540000c0                          // b.eq          3098 <sk_load_4444_dst_aarch64+0xc0>  // b.none
+  .long  0x71000d3f                          // cmp           w9, #0x3
+  .long  0x54fffb21                          // b.ne          2fec <sk_load_4444_dst_aarch64+0x14>  // b.any
+  .long  0x91001109                          // add           x9, x8, #0x4
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x0d405124                          // ld1           {v4.h}[2], [x9]
+  .long  0x79400109                          // ldrh          w9, [x8]
+  .long  0x79400508                          // ldrh          w8, [x8, #2]
+  .long  0x4e041d25                          // mov           v5.s[0], w9
+  .long  0x4e0c1d05                          // mov           v5.s[1], w8
+  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
+  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
+  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
+  .long  0x17ffffce                          // b             2fec <sk_load_4444_dst_aarch64+0x14>
+  .long  0x0e020fe4                          // dup           v4.4h, wzr
+  .long  0x0d404104                          // ld1           {v4.h}[0], [x8]
+  .long  0x17ffffcb                          // b             2fec <sk_load_4444_dst_aarch64+0x14>
 
 HIDDEN _sk_gather_4444_aarch64
 .globl _sk_gather_4444_aarch64
@@ -3349,24 +3647,24 @@
   .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
   .long  0x8b020508                          // add           x8, x8, x2, lsl #1
   .long  0x0e612a10                          // xtn           v16.4h, v16.4s
-  .long  0xb50000a4                          // cbnz          x4, 2dcc <sk_store_4444_aarch64+0x60>
+  .long  0xb50000a4                          // cbnz          x4, 31e8 <sk_store_4444_aarch64+0x60>
   .long  0xfd000110                          // str           d16, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000120                          // b.eq          2df8 <sk_store_4444_aarch64+0x8c>  // b.none
+  .long  0x54000120                          // b.eq          3214 <sk_store_4444_aarch64+0x8c>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
-  .long  0x540000a0                          // b.eq          2df0 <sk_store_4444_aarch64+0x84>  // b.none
+  .long  0x540000a0                          // b.eq          320c <sk_store_4444_aarch64+0x84>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffee1                          // b.ne          2dc0 <sk_store_4444_aarch64+0x54>  // b.any
+  .long  0x54fffee1                          // b.ne          31dc <sk_store_4444_aarch64+0x54>  // b.any
   .long  0x91001109                          // add           x9, x8, #0x4
   .long  0x0d005130                          // st1           {v16.h}[2], [x9]
   .long  0x91000909                          // add           x9, x8, #0x2
   .long  0x0d004930                          // st1           {v16.h}[1], [x9]
   .long  0x0d004110                          // st1           {v16.h}[0], [x8]
-  .long  0x17fffff1                          // b             2dc0 <sk_store_4444_aarch64+0x54>
+  .long  0x17fffff1                          // b             31dc <sk_store_4444_aarch64+0x54>
 
 HIDDEN _sk_load_8888_aarch64
 .globl _sk_load_8888_aarch64
@@ -3375,7 +3673,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020908                          // add           x8, x8, x2, lsl #2
-  .long  0xb50002e4                          // cbnz          x4, 2e68 <sk_load_8888_aarch64+0x68>
+  .long  0xb50002e4                          // cbnz          x4, 3284 <sk_load_8888_aarch64+0x68>
   .long  0x3dc00100                          // ldr           q0, [x8]
   .long  0x6f00e621                          // movi          v1.2d, #0xff000000ff
   .long  0x52a77008                          // mov           w8, #0x3b800000
@@ -3400,22 +3698,71 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x540001a0                          // b.eq          2ea4 <sk_load_8888_aarch64+0xa4>  // b.none
+  .long  0x540001a0                          // b.eq          32c0 <sk_load_8888_aarch64+0xa4>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
   .long  0x6f00e400                          // movi          v0.2d, #0x0
-  .long  0x540000c0                          // b.eq          2e94 <sk_load_8888_aarch64+0x94>  // b.none
+  .long  0x540000c0                          // b.eq          32b0 <sk_load_8888_aarch64+0x94>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffc81                          // b.ne          2e14 <sk_load_8888_aarch64+0x14>  // b.any
+  .long  0x54fffc81                          // b.ne          3230 <sk_load_8888_aarch64+0x14>  // b.any
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0x4e040fe0                          // dup           v0.4s, wzr
   .long  0x4d408120                          // ld1           {v0.s}[2], [x9]
   .long  0xfd400101                          // ldr           d1, [x8]
   .long  0x6e014000                          // ext           v0.16b, v0.16b, v1.16b, #8
   .long  0x6e004000                          // ext           v0.16b, v0.16b, v0.16b, #8
-  .long  0x17ffffdd                          // b             2e14 <sk_load_8888_aarch64+0x14>
+  .long  0x17ffffdd                          // b             3230 <sk_load_8888_aarch64+0x14>
   .long  0x4e040fe0                          // dup           v0.4s, wzr
   .long  0x0d408100                          // ld1           {v0.s}[0], [x8]
-  .long  0x17ffffda                          // b             2e14 <sk_load_8888_aarch64+0x14>
+  .long  0x17ffffda                          // b             3230 <sk_load_8888_aarch64+0x14>
+
+HIDDEN _sk_load_8888_dst_aarch64
+.globl _sk_load_8888_dst_aarch64
+FUNCTION(_sk_load_8888_dst_aarch64)
+_sk_load_8888_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
+  .long  0xb50002e4                          // cbnz          x4, 3334 <sk_load_8888_dst_aarch64+0x68>
+  .long  0x3dc00104                          // ldr           q4, [x8]
+  .long  0x6f00e625                          // movi          v5.2d, #0xff000000ff
+  .long  0x52a77008                          // mov           w8, #0x3b800000
+  .long  0x6f380486                          // ushr          v6.4s, v4.4s, #8
+  .long  0x6f300487                          // ushr          v7.4s, v4.4s, #16
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x72901028                          // movk          w8, #0x8081
+  .long  0x6f280490                          // ushr          v16.4s, v4.4s, #24
+  .long  0x4e251c84                          // and           v4.16b, v4.16b, v5.16b
+  .long  0x4e251cc6                          // and           v6.16b, v6.16b, v5.16b
+  .long  0x4e251ce5                          // and           v5.16b, v7.16b, v5.16b
+  .long  0x4e040d11                          // dup           v17.4s, w8
+  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
+  .long  0x4e21d884                          // scvtf         v4.4s, v4.4s
+  .long  0x4e21d8c6                          // scvtf         v6.4s, v6.4s
+  .long  0x4e21d8b0                          // scvtf         v16.4s, v5.4s
+  .long  0x6e31dce7                          // fmul          v7.4s, v7.4s, v17.4s
+  .long  0x6e31dc84                          // fmul          v4.4s, v4.4s, v17.4s
+  .long  0x6e31dcc5                          // fmul          v5.4s, v6.4s, v17.4s
+  .long  0x6e31de06                          // fmul          v6.4s, v16.4s, v17.4s
+  .long  0x91004021                          // add           x1, x1, #0x10
+  .long  0xd61f00a0                          // br            x5
+  .long  0x12000489                          // and           w9, w4, #0x3
+  .long  0x7100053f                          // cmp           w9, #0x1
+  .long  0x540001a0                          // b.eq          3370 <sk_load_8888_dst_aarch64+0xa4>  // b.none
+  .long  0x7100093f                          // cmp           w9, #0x2
+  .long  0x6f00e404                          // movi          v4.2d, #0x0
+  .long  0x540000c0                          // b.eq          3360 <sk_load_8888_dst_aarch64+0x94>  // b.none
+  .long  0x71000d3f                          // cmp           w9, #0x3
+  .long  0x54fffc81                          // b.ne          32e0 <sk_load_8888_dst_aarch64+0x14>  // b.any
+  .long  0x91002109                          // add           x9, x8, #0x8
+  .long  0x4e040fe4                          // dup           v4.4s, wzr
+  .long  0x4d408124                          // ld1           {v4.s}[2], [x9]
+  .long  0xfd400105                          // ldr           d5, [x8]
+  .long  0x6e054084                          // ext           v4.16b, v4.16b, v5.16b, #8
+  .long  0x6e044084                          // ext           v4.16b, v4.16b, v4.16b, #8
+  .long  0x17ffffdd                          // b             32e0 <sk_load_8888_dst_aarch64+0x14>
+  .long  0x4e040fe4                          // dup           v4.4s, wzr
+  .long  0x0d408104                          // ld1           {v4.s}[0], [x8]
+  .long  0x17ffffda                          // b             32e0 <sk_load_8888_dst_aarch64+0x14>
 
 HIDDEN _sk_gather_8888_aarch64
 .globl _sk_gather_8888_aarch64
@@ -3483,24 +3830,24 @@
   .long  0x4eb21e31                          // orr           v17.16b, v17.16b, v18.16b
   .long  0x8b020908                          // add           x8, x8, x2, lsl #2
   .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
-  .long  0xb50000a4                          // cbnz          x4, 2fa8 <sk_store_8888_aarch64+0x60>
+  .long  0xb50000a4                          // cbnz          x4, 3474 <sk_store_8888_aarch64+0x60>
   .long  0x3d800110                          // str           q16, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0x12000489                          // and           w9, w4, #0x3
   .long  0x7100053f                          // cmp           w9, #0x1
-  .long  0x54000120                          // b.eq          2fd4 <sk_store_8888_aarch64+0x8c>  // b.none
+  .long  0x54000120                          // b.eq          34a0 <sk_store_8888_aarch64+0x8c>  // b.none
   .long  0x7100093f                          // cmp           w9, #0x2
-  .long  0x540000a0                          // b.eq          2fcc <sk_store_8888_aarch64+0x84>  // b.none
+  .long  0x540000a0                          // b.eq          3498 <sk_store_8888_aarch64+0x84>  // b.none
   .long  0x71000d3f                          // cmp           w9, #0x3
-  .long  0x54fffee1                          // b.ne          2f9c <sk_store_8888_aarch64+0x54>  // b.any
+  .long  0x54fffee1                          // b.ne          3468 <sk_store_8888_aarch64+0x54>  // b.any
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0x4d008130                          // st1           {v16.s}[2], [x9]
   .long  0xfd000110                          // str           d16, [x8]
-  .long  0x17fffff3                          // b             2f9c <sk_store_8888_aarch64+0x54>
+  .long  0x17fffff3                          // b             3468 <sk_store_8888_aarch64+0x54>
   .long  0x0d008110                          // st1           {v16.s}[0], [x8]
-  .long  0x17fffff1                          // b             2f9c <sk_store_8888_aarch64+0x54>
+  .long  0x17fffff1                          // b             3468 <sk_store_8888_aarch64+0x54>
 
 HIDDEN _sk_load_f16_aarch64
 .globl _sk_load_f16_aarch64
@@ -3509,7 +3856,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
-  .long  0xb5000124                          // cbnz          x4, 300c <sk_load_f16_aarch64+0x30>
+  .long  0xb5000124                          // cbnz          x4, 34d8 <sk_load_f16_aarch64+0x30>
   .long  0x0c400510                          // ld4           {v16.4h-v19.4h}, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x0e217a00                          // fcvtl         v0.4s, v16.4h
@@ -3520,14 +3867,41 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x0d606110                          // ld4           {v16.h-v19.h}[0], [x8]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54fffee0                          // b.eq          2ff0 <sk_load_f16_aarch64+0x14>  // b.none
+  .long  0x54fffee0                          // b.eq          34bc <sk_load_f16_aarch64+0x14>  // b.none
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0x0d606930                          // ld4           {v16.h-v19.h}[1], [x9]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fffe63                          // b.cc          2ff0 <sk_load_f16_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x54fffe63                          // b.cc          34bc <sk_load_f16_aarch64+0x14>  // b.lo, b.ul, b.last
   .long  0x91004108                          // add           x8, x8, #0x10
   .long  0x0d607110                          // ld4           {v16.h-v19.h}[2], [x8]
-  .long  0x17fffff0                          // b             2ff0 <sk_load_f16_aarch64+0x14>
+  .long  0x17fffff0                          // b             34bc <sk_load_f16_aarch64+0x14>
+
+HIDDEN _sk_load_f16_dst_aarch64
+.globl _sk_load_f16_dst_aarch64
+FUNCTION(_sk_load_f16_dst_aarch64)
+_sk_load_f16_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
+  .long  0xb5000124                          // cbnz          x4, 3530 <sk_load_f16_dst_aarch64+0x30>
+  .long  0x0c400510                          // ld4           {v16.4h-v19.4h}, [x8]
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x0e217a04                          // fcvtl         v4.4s, v16.4h
+  .long  0x0e217a25                          // fcvtl         v5.4s, v17.4h
+  .long  0x0e217a46                          // fcvtl         v6.4s, v18.4h
+  .long  0x0e217a67                          // fcvtl         v7.4s, v19.4h
+  .long  0x91004021                          // add           x1, x1, #0x10
+  .long  0xd61f00a0                          // br            x5
+  .long  0x0d606110                          // ld4           {v16.h-v19.h}[0], [x8]
+  .long  0xf100049f                          // cmp           x4, #0x1
+  .long  0x54fffee0                          // b.eq          3514 <sk_load_f16_dst_aarch64+0x14>  // b.none
+  .long  0x91002109                          // add           x9, x8, #0x8
+  .long  0x0d606930                          // ld4           {v16.h-v19.h}[1], [x9]
+  .long  0xf1000c9f                          // cmp           x4, #0x3
+  .long  0x54fffe63                          // b.cc          3514 <sk_load_f16_dst_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x91004108                          // add           x8, x8, #0x10
+  .long  0x0d607110                          // ld4           {v16.h-v19.h}[2], [x8]
+  .long  0x17fffff0                          // b             3514 <sk_load_f16_dst_aarch64+0x14>
 
 HIDDEN _sk_gather_f16_aarch64
 .globl _sk_gather_f16_aarch64
@@ -3581,21 +3955,21 @@
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x0e216873                          // fcvtn         v19.4h, v3.4s
   .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
-  .long  0xb50000a4                          // cbnz          x4, 30f4 <sk_store_f16_aarch64+0x30>
+  .long  0xb50000a4                          // cbnz          x4, 3618 <sk_store_f16_aarch64+0x30>
   .long  0x0c000510                          // st4           {v16.4h-v19.4h}, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0xf100049f                          // cmp           x4, #0x1
   .long  0x0d206110                          // st4           {v16.h-v19.h}[0], [x8]
-  .long  0x54ffff60                          // b.eq          30e8 <sk_store_f16_aarch64+0x24>  // b.none
+  .long  0x54ffff60                          // b.eq          360c <sk_store_f16_aarch64+0x24>  // b.none
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0xf1000c9f                          // cmp           x4, #0x3
   .long  0x0d206930                          // st4           {v16.h-v19.h}[1], [x9]
-  .long  0x54fffee3                          // b.cc          30e8 <sk_store_f16_aarch64+0x24>  // b.lo, b.ul, b.last
+  .long  0x54fffee3                          // b.cc          360c <sk_store_f16_aarch64+0x24>  // b.lo, b.ul, b.last
   .long  0x91004108                          // add           x8, x8, #0x10
   .long  0x0d207110                          // st4           {v16.h-v19.h}[2], [x8]
-  .long  0x17fffff4                          // b             30e8 <sk_store_f16_aarch64+0x24>
+  .long  0x17fffff4                          // b             360c <sk_store_f16_aarch64+0x24>
 
 HIDDEN _sk_load_u16_be_aarch64
 .globl _sk_load_u16_be_aarch64
@@ -3604,7 +3978,7 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
-  .long  0xb5000404                          // cbnz          x4, 31a8 <sk_load_u16_be_aarch64+0x8c>
+  .long  0xb5000404                          // cbnz          x4, 36cc <sk_load_u16_be_aarch64+0x8c>
   .long  0x0c400500                          // ld4           {v0.4h-v3.4h}, [x8]
   .long  0x0f185410                          // shl           v16.4h, v0.4h, #8
   .long  0x2f180411                          // ushr          v17.4h, v0.4h, #8
@@ -3638,14 +4012,14 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x0d606100                          // ld4           {v0.h-v3.h}[0], [x8]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54fffc00                          // b.eq          3130 <sk_load_u16_be_aarch64+0x14>  // b.none
+  .long  0x54fffc00                          // b.eq          3654 <sk_load_u16_be_aarch64+0x14>  // b.none
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0x0d606920                          // ld4           {v0.h-v3.h}[1], [x9]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fffb83                          // b.cc          3130 <sk_load_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x54fffb83                          // b.cc          3654 <sk_load_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
   .long  0x91004108                          // add           x8, x8, #0x10
   .long  0x0d607100                          // ld4           {v0.h-v3.h}[2], [x8]
-  .long  0x17ffffd9                          // b             3130 <sk_load_u16_be_aarch64+0x14>
+  .long  0x17ffffd9                          // b             3654 <sk_load_u16_be_aarch64+0x14>
 
 HIDDEN _sk_load_rgb_u16_be_aarch64
 .globl _sk_load_rgb_u16_be_aarch64
@@ -3655,7 +4029,7 @@
   .long  0x321f07e9                          // orr           w9, wzr, #0x6
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x9b092048                          // madd          x8, x2, x9, x8
-  .long  0xb5000384                          // cbnz          x4, 3250 <sk_load_rgb_u16_be_aarch64+0x80>
+  .long  0xb5000384                          // cbnz          x4, 3774 <sk_load_rgb_u16_be_aarch64+0x80>
   .long  0x0c404500                          // ld3           {v0.4h-v2.4h}, [x8]
   .long  0x0f185403                          // shl           v3.4h, v0.4h, #8
   .long  0x2f180410                          // ushr          v16.4h, v0.4h, #8
@@ -3685,14 +4059,14 @@
   .long  0xd61f00a0                          // br            x5
   .long  0x0d406100                          // ld3           {v0.h-v2.h}[0], [x8]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54fffc80                          // b.eq          31e8 <sk_load_rgb_u16_be_aarch64+0x18>  // b.none
+  .long  0x54fffc80                          // b.eq          370c <sk_load_rgb_u16_be_aarch64+0x18>  // b.none
   .long  0x91001909                          // add           x9, x8, #0x6
   .long  0x0d406920                          // ld3           {v0.h-v2.h}[1], [x9]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fffc03                          // b.cc          31e8 <sk_load_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
+  .long  0x54fffc03                          // b.cc          370c <sk_load_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
   .long  0x91003108                          // add           x8, x8, #0xc
   .long  0x0d407100                          // ld3           {v0.h-v2.h}[2], [x8]
-  .long  0x17ffffdd                          // b             31e8 <sk_load_rgb_u16_be_aarch64+0x18>
+  .long  0x17ffffdd                          // b             370c <sk_load_rgb_u16_be_aarch64+0x18>
 
 HIDDEN _sk_store_u16_be_aarch64
 .globl _sk_store_u16_be_aarch64
@@ -3728,21 +4102,21 @@
   .long  0x2f180694                          // ushr          v20.4h, v20.4h, #8
   .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
   .long  0x0eb41eb3                          // orr           v19.8b, v21.8b, v20.8b
-  .long  0xb50000a4                          // cbnz          x4, 3304 <sk_store_u16_be_aarch64+0x8c>
+  .long  0xb50000a4                          // cbnz          x4, 3828 <sk_store_u16_be_aarch64+0x8c>
   .long  0x0c000510                          // st4           {v16.4h-v19.4h}, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0xf100049f                          // cmp           x4, #0x1
   .long  0x0d206110                          // st4           {v16.h-v19.h}[0], [x8]
-  .long  0x54ffff60                          // b.eq          32f8 <sk_store_u16_be_aarch64+0x80>  // b.none
+  .long  0x54ffff60                          // b.eq          381c <sk_store_u16_be_aarch64+0x80>  // b.none
   .long  0x91002109                          // add           x9, x8, #0x8
   .long  0xf1000c9f                          // cmp           x4, #0x3
   .long  0x0d206930                          // st4           {v16.h-v19.h}[1], [x9]
-  .long  0x54fffee3                          // b.cc          32f8 <sk_store_u16_be_aarch64+0x80>  // b.lo, b.ul, b.last
+  .long  0x54fffee3                          // b.cc          381c <sk_store_u16_be_aarch64+0x80>  // b.lo, b.ul, b.last
   .long  0x91004108                          // add           x8, x8, #0x10
   .long  0x0d207110                          // st4           {v16.h-v19.h}[2], [x8]
-  .long  0x17fffff4                          // b             32f8 <sk_store_u16_be_aarch64+0x80>
+  .long  0x17fffff4                          // b             381c <sk_store_u16_be_aarch64+0x80>
 
 HIDDEN _sk_load_f32_aarch64
 .globl _sk_load_f32_aarch64
@@ -3751,21 +4125,44 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b021108                          // add           x8, x8, x2, lsl #4
-  .long  0xb50000a4                          // cbnz          x4, 334c <sk_load_f32_aarch64+0x20>
+  .long  0xb50000a4                          // cbnz          x4, 3870 <sk_load_f32_aarch64+0x20>
   .long  0x4c400900                          // ld4           {v0.4s-v3.4s}, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0x0d60a100                          // ld4           {v0.s-v3.s}[0], [x8]
   .long  0xf100049f                          // cmp           x4, #0x1
-  .long  0x54ffff60                          // b.eq          3340 <sk_load_f32_aarch64+0x14>  // b.none
+  .long  0x54ffff60                          // b.eq          3864 <sk_load_f32_aarch64+0x14>  // b.none
   .long  0x91004109                          // add           x9, x8, #0x10
   .long  0x0d60b120                          // ld4           {v0.s-v3.s}[1], [x9]
   .long  0xf1000c9f                          // cmp           x4, #0x3
-  .long  0x54fffee3                          // b.cc          3340 <sk_load_f32_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x54fffee3                          // b.cc          3864 <sk_load_f32_aarch64+0x14>  // b.lo, b.ul, b.last
   .long  0x91008108                          // add           x8, x8, #0x20
   .long  0x4d60a100                          // ld4           {v0.s-v3.s}[2], [x8]
-  .long  0x17fffff4                          // b             3340 <sk_load_f32_aarch64+0x14>
+  .long  0x17fffff4                          // b             3864 <sk_load_f32_aarch64+0x14>
+
+HIDDEN _sk_load_f32_dst_aarch64
+.globl _sk_load_f32_dst_aarch64
+FUNCTION(_sk_load_f32_dst_aarch64)
+_sk_load_f32_dst_aarch64:
+  .long  0xf9400028                          // ldr           x8, [x1]
+  .long  0xf9400108                          // ldr           x8, [x8]
+  .long  0x8b021108                          // add           x8, x8, x2, lsl #4
+  .long  0xb50000a4                          // cbnz          x4, 38b8 <sk_load_f32_dst_aarch64+0x20>
+  .long  0x4c400904                          // ld4           {v4.4s-v7.4s}, [x8]
+  .long  0xf9400425                          // ldr           x5, [x1, #8]
+  .long  0x91004021                          // add           x1, x1, #0x10
+  .long  0xd61f00a0                          // br            x5
+  .long  0x0d60a104                          // ld4           {v4.s-v7.s}[0], [x8]
+  .long  0xf100049f                          // cmp           x4, #0x1
+  .long  0x54ffff60                          // b.eq          38ac <sk_load_f32_dst_aarch64+0x14>  // b.none
+  .long  0x91004109                          // add           x9, x8, #0x10
+  .long  0x0d60b124                          // ld4           {v4.s-v7.s}[1], [x9]
+  .long  0xf1000c9f                          // cmp           x4, #0x3
+  .long  0x54fffee3                          // b.cc          38ac <sk_load_f32_dst_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x91008108                          // add           x8, x8, #0x20
+  .long  0x4d60a104                          // ld4           {v4.s-v7.s}[2], [x8]
+  .long  0x17fffff4                          // b             38ac <sk_load_f32_dst_aarch64+0x14>
 
 HIDDEN _sk_store_f32_aarch64
 .globl _sk_store_f32_aarch64
@@ -3774,21 +4171,21 @@
   .long  0xf9400028                          // ldr           x8, [x1]
   .long  0xf9400108                          // ldr           x8, [x8]
   .long  0x8b021108                          // add           x8, x8, x2, lsl #4
-  .long  0xb50000a4                          // cbnz          x4, 3394 <sk_store_f32_aarch64+0x20>
+  .long  0xb50000a4                          // cbnz          x4, 3900 <sk_store_f32_aarch64+0x20>
   .long  0x4c000900                          // st4           {v0.4s-v3.4s}, [x8]
   .long  0xf9400425                          // ldr           x5, [x1, #8]
   .long  0x91004021                          // add           x1, x1, #0x10
   .long  0xd61f00a0                          // br            x5
   .long  0xf100049f                          // cmp           x4, #0x1
   .long  0x0d20a100                          // st4           {v0.s-v3.s}[0], [x8]
-  .long  0x54ffff60                          // b.eq          3388 <sk_store_f32_aarch64+0x14>  // b.none
+  .long  0x54ffff60                          // b.eq          38f4 <sk_store_f32_aarch64+0x14>  // b.none
   .long  0x91004109                          // add           x9, x8, #0x10
   .long  0xf1000c9f                          // cmp           x4, #0x3
   .long  0x0d20b120                          // st4           {v0.s-v3.s}[1], [x9]
-  .long  0x54fffee3                          // b.cc          3388 <sk_store_f32_aarch64+0x14>  // b.lo, b.ul, b.last
+  .long  0x54fffee3                          // b.cc          38f4 <sk_store_f32_aarch64+0x14>  // b.lo, b.ul, b.last
   .long  0x91008108                          // add           x8, x8, #0x20
   .long  0x4d20a100                          // st4           {v0.s-v3.s}[2], [x8]
-  .long  0x17fffff4                          // b             3388 <sk_store_f32_aarch64+0x14>
+  .long  0x17fffff4                          // b             38f4 <sk_store_f32_aarch64+0x14>
 
 HIDDEN _sk_clamp_x_aarch64
 .globl _sk_clamp_x_aarch64
@@ -4247,7 +4644,7 @@
   .long  0x6f00e411                          // movi          v17.2d, #0x0
   .long  0xf9400109                          // ldr           x9, [x8]
   .long  0xf100093f                          // cmp           x9, #0x2
-  .long  0x540001c3                          // b.cc          39b4 <sk_gradient_aarch64+0x58>  // b.lo, b.ul, b.last
+  .long  0x540001c3                          // b.cc          3f20 <sk_gradient_aarch64+0x58>  // b.lo, b.ul, b.last
   .long  0xf940250a                          // ldr           x10, [x8, #72]
   .long  0xd1000529                          // sub           x9, x9, #0x1
   .long  0x6f00e401                          // movi          v1.2d, #0x0
@@ -4258,7 +4655,7 @@
   .long  0x6e23e403                          // fcmge         v3.4s, v0.4s, v3.4s
   .long  0x4e221c63                          // and           v3.16b, v3.16b, v2.16b
   .long  0x4ea18461                          // add           v1.4s, v3.4s, v1.4s
-  .long  0xb5ffff69                          // cbnz          x9, 3994 <sk_gradient_aarch64+0x38>
+  .long  0xb5ffff69                          // cbnz          x9, 3f00 <sk_gradient_aarch64+0x38>
   .long  0x6f20a431                          // uxtl2         v17.2d, v1.4s
   .long  0x2f20a421                          // uxtl          v1.2d, v1.2s
   .long  0xa940b10a                          // ldp           x10, x12, [x8, #8]
@@ -6245,6 +6642,18 @@
   .long  0xf2222f03                          // vmin.f32      d2, d2, d3
   .long  0xe12fff1c                          // bx            ip
 
+HIDDEN _sk_clamp_a_dst_vfp4
+.globl _sk_clamp_a_dst_vfp4
+FUNCTION(_sk_clamp_a_dst_vfp4)
+_sk_clamp_a_dst_vfp4:
+  .long  0xf2c70f10                          // vmov.f32      d16, #1
+  .long  0xe491c004                          // ldr           ip, [r1], #4
+  .long  0xf2277f20                          // vmin.f32      d7, d7, d16
+  .long  0xf2244f07                          // vmin.f32      d4, d4, d7
+  .long  0xf2255f07                          // vmin.f32      d5, d5, d7
+  .long  0xf2266f07                          // vmin.f32      d6, d6, d7
+  .long  0xe12fff1c                          // bx            ip
+
 HIDDEN _sk_set_rgb_vfp4
 .globl _sk_set_rgb_vfp4
 FUNCTION(_sk_set_rgb_vfp4)
@@ -6270,6 +6679,16 @@
   .long  0xeeb02b60                          // vmov.f64      d2, d16
   .long  0xe12fff1c                          // bx            ip
 
+HIDDEN _sk_swap_rb_dst_vfp4
+.globl _sk_swap_rb_dst_vfp4
+FUNCTION(_sk_swap_rb_dst_vfp4)
+_sk_swap_rb_dst_vfp4:
+  .long  0xeef00b44                          // vmov.f64      d16, d4
+  .long  0xe491c004                          // ldr           ip, [r1], #4
+  .long  0xeeb04b46                          // vmov.f64      d4, d6
+  .long  0xeeb06b60                          // vmov.f64      d6, d16
+  .long  0xe12fff1c                          // bx            ip
+
 HIDDEN _sk_swap_vfp4
 .globl _sk_swap_vfp4
 FUNCTION(_sk_swap_vfp4)
@@ -6387,6 +6806,53 @@
   .long  0x3b23d70a                          // .word         0x3b23d70a
   .long  0x3b23d70a                          // .word         0x3b23d70a
 
+HIDDEN _sk_from_srgb_dst_vfp4
+.globl _sk_from_srgb_dst_vfp4
+FUNCTION(_sk_from_srgb_dst_vfp4)
+_sk_from_srgb_dst_vfp4:
+  .long  0xeddf3b20                          // vldr          d19, [pc, #128]
+  .long  0xf3448d14                          // vmul.f32      d24, d4, d4
+  .long  0xeddf0b1c                          // vldr          d16, [pc, #112]
+  .long  0xf26341b3                          // vorr          d20, d19, d19
+  .long  0xf26351b3                          // vorr          d21, d19, d19
+  .long  0xeddf9b1f                          // vldr          d25, [pc, #124]
+  .long  0xf2444c30                          // vfma.f32      d20, d4, d16
+  .long  0xeddf2b1b                          // vldr          d18, [pc, #108]
+  .long  0xf2455c30                          // vfma.f32      d21, d5, d16
+  .long  0xeddfcb1d                          // vldr          d28, [pc, #116]
+  .long  0xf2463c30                          // vfma.f32      d19, d6, d16
+  .long  0xe491c004                          // ldr           ip, [r1], #4
+  .long  0xf3466d16                          // vmul.f32      d22, d6, d6
+  .long  0xf3457d15                          // vmul.f32      d23, d5, d5
+  .long  0xf3620e84                          // vcgt.f32      d16, d18, d4
+  .long  0xf3621e85                          // vcgt.f32      d17, d18, d5
+  .long  0xf345ad39                          // vmul.f32      d26, d5, d25
+  .long  0xf346bd39                          // vmul.f32      d27, d6, d25
+  .long  0xf3622e86                          // vcgt.f32      d18, d18, d6
+  .long  0xf3449d39                          // vmul.f32      d25, d4, d25
+  .long  0xf26cd1bc                          // vorr          d29, d28, d28
+  .long  0xf248dcb4                          // vfma.f32      d29, d24, d20
+  .long  0xf26c41bc                          // vorr          d20, d28, d28
+  .long  0xf2474cb5                          // vfma.f32      d20, d23, d21
+  .long  0xf246ccb3                          // vfma.f32      d28, d22, d19
+  .long  0xf35901bd                          // vbsl          d16, d25, d29
+  .long  0xf35a11b4                          // vbsl          d17, d26, d20
+  .long  0xf35b21bc                          // vbsl          d18, d27, d28
+  .long  0xf22041b0                          // vorr          d4, d16, d16
+  .long  0xf22151b1                          // vorr          d5, d17, d17
+  .long  0xf22261b2                          // vorr          d6, d18, d18
+  .long  0xe12fff1c                          // bx            ip
+  .long  0x3e99999a                          // .word         0x3e99999a
+  .long  0x3e99999a                          // .word         0x3e99999a
+  .long  0x3f328f5c                          // .word         0x3f328f5c
+  .long  0x3f328f5c                          // .word         0x3f328f5c
+  .long  0x3d6147ae                          // .word         0x3d6147ae
+  .long  0x3d6147ae                          // .word         0x3d6147ae
+  .long  0x3d9e8391                          // .word         0x3d9e8391
+  .long  0x3d9e8391                          // .word         0x3d9e8391
+  .long  0x3b23d70a                          // .word         0x3b23d70a
+  .long  0x3b23d70a                          // .word         0x3b23d70a
+
 HIDDEN _sk_to_srgb_vfp4
 .globl _sk_to_srgb_vfp4
 FUNCTION(_sk_to_srgb_vfp4)
@@ -6647,7 +7113,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc002                          // add           ip, ip, r2
-  .long  0x0a000014                          // beq           19e0 <sk_scale_u8_vfp4+0x78>
+  .long  0x0a000014                          // beq           1ab8 <sk_scale_u8_vfp4+0x78>
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xe1cdc0b4                          // strh          ip, [sp, #4]
   .long  0xe28dc004                          // add           ip, sp, #4
@@ -6672,7 +7138,7 @@
   .long  0xe5dcc000                          // ldrb          ip, [ip]
   .long  0xeddf8a03                          // vldr          s17, [pc, #12]
   .long  0xee08ca10                          // vmov          s16, ip
-  .long  0xeaffffec                          // b             19a4 <sk_scale_u8_vfp4+0x3c>
+  .long  0xeaffffec                          // b             1a7c <sk_scale_u8_vfp4+0x3c>
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x00000000                          // .word         0x00000000
@@ -6713,7 +7179,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc002                          // add           ip, ip, r2
-  .long  0x0a00001e                          // beq           1ae8 <sk_lerp_u8_vfp4+0xa0>
+  .long  0x0a00001e                          // beq           1bc0 <sk_lerp_u8_vfp4+0xa0>
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xe1cdc0b4                          // strh          ip, [sp, #4]
   .long  0xe28dc004                          // add           ip, sp, #4
@@ -6748,7 +7214,7 @@
   .long  0xe5dcc000                          // ldrb          ip, [ip]
   .long  0xeddf8a03                          // vldr          s17, [pc, #12]
   .long  0xee08ca10                          // vmov          s16, ip
-  .long  0xeaffffe2                          // b             1a84 <sk_lerp_u8_vfp4+0x3c>
+  .long  0xeaffffe2                          // b             1b5c <sk_lerp_u8_vfp4+0x3c>
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x00000000                          // .word         0x00000000
@@ -6766,7 +7232,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
-  .long  0x0a00002e                          // beq           1be8 <sk_lerp_565_vfp4+0xe0>
+  .long  0x0a00002e                          // beq           1cc0 <sk_lerp_565_vfp4+0xe0>
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe58dc004                          // str           ip, [sp, #4]
   .long  0xe28dc004                          // add           ip, sp, #4
@@ -6817,7 +7283,7 @@
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xeddf8a07                          // vldr          s17, [pc, #28]
   .long  0xee08ca10                          // vmov          s16, ip
-  .long  0xeaffffd1                          // b             1b40 <sk_lerp_565_vfp4+0x38>
+  .long  0xeaffffd1                          // b             1c18 <sk_lerp_565_vfp4+0x38>
   .long  0x3d042108                          // .word         0x3d042108
   .long  0x3d042108                          // .word         0x3d042108
   .long  0x3a020821                          // .word         0x3a020821
@@ -6837,7 +7303,7 @@
   .long  0xe59ce000                          // ldr           lr, [ip]
   .long  0xe3540001                          // cmp           r4, #1
   .long  0xe08ee102                          // add           lr, lr, r2, lsl #2
-  .long  0x0a000023                          // beq           1cc4 <sk_load_tables_vfp4+0xac>
+  .long  0x0a000023                          // beq           1d9c <sk_load_tables_vfp4+0xac>
   .long  0xed9e0b00                          // vldr          d0, [lr]
   .long  0xf3c7001f                          // vmov.i32      d16, #255
   .long  0xe59c7004                          // ldr           r7, [ip, #4]
@@ -6876,7 +7342,7 @@
   .long  0xe12fff1c                          // bx            ip
   .long  0xeddf0a03                          // vldr          s1, [pc, #12]
   .long  0xed9e0a00                          // vldr          s0, [lr]
-  .long  0xeaffffd9                          // b             1c38 <sk_load_tables_vfp4+0x20>
+  .long  0xeaffffd9                          // b             1d10 <sk_load_tables_vfp4+0x20>
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x00000000                          // .word         0x00000000
@@ -6893,7 +7359,7 @@
   .long  0xe3540000                          // cmp           r4, #0
   .long  0xe08ee182                          // add           lr, lr, r2, lsl #3
   .long  0xf4ee070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [lr]
-  .long  0x1a000001                          // bne           1d08 <sk_load_tables_u16_be_vfp4+0x28>
+  .long  0x1a000001                          // bne           1de0 <sk_load_tables_u16_be_vfp4+0x28>
   .long  0xe28e4008                          // add           r4, lr, #8
   .long  0xf4e4074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [r4]
   .long  0xee924bb0                          // vmov.u16      r4, d18[0]
@@ -6965,7 +7431,7 @@
   .long  0xe59d4020                          // ldr           r4, [sp, #32]
   .long  0xf4ee060f                          // vld3.16       {d16[0],d17[0],d18[0]}, [lr]
   .long  0xe3540000                          // cmp           r4, #0
-  .long  0x1a000001                          // bne           1e14 <sk_load_tables_rgb_u16_be_vfp4+0x2c>
+  .long  0x1a000001                          // bne           1eec <sk_load_tables_rgb_u16_be_vfp4+0x2c>
   .long  0xe28e4006                          // add           r4, lr, #6
   .long  0xf4e4064f                          // vld3.16       {d16[1],d17[1],d18[1]}, [r4]
   .long  0xee924bb0                          // vmov.u16      r4, d18[0]
@@ -7680,7 +8146,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc002                          // add           ip, ip, r2
-  .long  0x0a000012                          // beq           2894 <sk_load_a8_vfp4+0x6c>
+  .long  0x0a000012                          // beq           296c <sk_load_a8_vfp4+0x6c>
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xe1cdc0b0                          // strh          ip, [sp]
   .long  0xe1a0c00d                          // mov           ip, sp
@@ -7703,7 +8169,48 @@
   .long  0xe5dcc000                          // ldrb          ip, [ip]
   .long  0xeddf0a04                          // vldr          s1, [pc, #16]
   .long  0xee00ca10                          // vmov          s0, ip
-  .long  0xeaffffee                          // b             2860 <sk_load_a8_vfp4+0x38>
+  .long  0xeaffffee                          // b             2938 <sk_load_a8_vfp4+0x38>
+  .long  0xe320f000                          // nop           {0}
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x00000000                          // .word         0x00000000
+  .long  0xe320f000                          // .word         0xe320f000
+
+HIDDEN _sk_load_a8_dst_vfp4
+.globl _sk_load_a8_dst_vfp4
+FUNCTION(_sk_load_a8_dst_vfp4)
+_sk_load_a8_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe24dd004                          // sub           sp, sp, #4
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de00c                          // ldr           lr, [sp, #12]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0001                          // cmp           lr, #1
+  .long  0xe08cc002                          // add           ip, ip, r2
+  .long  0x0a000012                          // beq           29fc <sk_load_a8_dst_vfp4+0x6c>
+  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
+  .long  0xe1cdc0b0                          // strh          ip, [sp]
+  .long  0xe1a0c00d                          // mov           ip, sp
+  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
+  .long  0xf3c80a30                          // vmovl.u8      q8, d16
+  .long  0xf3904a30                          // vmovl.u16     q2, d16
+  .long  0xf3c7001f                          // vmov.i32      d16, #255
+  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf2440130                          // vand          d16, d4, d16
+  .long  0xf2804010                          // vmov.i32      d4, #0
+  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
+  .long  0xf2805010                          // vmov.i32      d5, #0
+  .long  0xf2806010                          // vmov.i32      d6, #0
+  .long  0xf3007db1                          // vmul.f32      d7, d16, d17
+  .long  0xe28dd004                          // add           sp, sp, #4
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xe5dcc000                          // ldrb          ip, [ip]
+  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
+  .long  0xee04ca10                          // vmov          s8, ip
+  .long  0xeaffffee                          // b             29c8 <sk_load_a8_dst_vfp4+0x38>
   .long  0xe320f000                          // nop           {0}
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
@@ -7757,7 +8264,7 @@
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc002                          // add           ip, ip, r2
   .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
-  .long  0x0a000007                          // beq           2974 <sk_store_a8_vfp4+0x4c>
+  .long  0x0a000007                          // beq           2adc <sk_store_a8_vfp4+0x4c>
   .long  0xee30eb90                          // vmov.32       lr, d16[1]
   .long  0xee104b90                          // vmov.32       r4, d16[0]
   .long  0xe5cce001                          // strb          lr, [ip, #1]
@@ -7768,7 +8275,7 @@
   .long  0xe12fff1c                          // bx            ip
   .long  0xee10eb90                          // vmov.32       lr, d16[0]
   .long  0xe5cce000                          // strb          lr, [ip]
-  .long  0xeafffff8                          // b             2964 <sk_store_a8_vfp4+0x3c>
+  .long  0xeafffff8                          // b             2acc <sk_store_a8_vfp4+0x3c>
   .long  0x437f0000                          // .word         0x437f0000
   .long  0x437f0000                          // .word         0x437f0000
 
@@ -7783,7 +8290,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc002                          // add           ip, ip, r2
-  .long  0x0a000012                          // beq           29f4 <sk_load_g8_vfp4+0x6c>
+  .long  0x0a000012                          // beq           2b5c <sk_load_g8_vfp4+0x6c>
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xe1cdc0b0                          // strh          ip, [sp]
   .long  0xe1a0c00d                          // mov           ip, sp
@@ -7806,7 +8313,48 @@
   .long  0xe5dcc000                          // ldrb          ip, [ip]
   .long  0xeddf0a04                          // vldr          s1, [pc, #16]
   .long  0xee00ca10                          // vmov          s0, ip
-  .long  0xeaffffee                          // b             29c0 <sk_load_g8_vfp4+0x38>
+  .long  0xeaffffee                          // b             2b28 <sk_load_g8_vfp4+0x38>
+  .long  0xe320f000                          // nop           {0}
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x00000000                          // .word         0x00000000
+  .long  0xe320f000                          // .word         0xe320f000
+
+HIDDEN _sk_load_g8_dst_vfp4
+.globl _sk_load_g8_dst_vfp4
+FUNCTION(_sk_load_g8_dst_vfp4)
+_sk_load_g8_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe24dd004                          // sub           sp, sp, #4
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de00c                          // ldr           lr, [sp, #12]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0001                          // cmp           lr, #1
+  .long  0xe08cc002                          // add           ip, ip, r2
+  .long  0x0a000012                          // beq           2bec <sk_load_g8_dst_vfp4+0x6c>
+  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
+  .long  0xe1cdc0b0                          // strh          ip, [sp]
+  .long  0xe1a0c00d                          // mov           ip, sp
+  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
+  .long  0xf3c80a30                          // vmovl.u8      q8, d16
+  .long  0xf3904a30                          // vmovl.u16     q2, d16
+  .long  0xf3c7001f                          // vmov.i32      d16, #255
+  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf2440130                          // vand          d16, d4, d16
+  .long  0xf2877f10                          // vmov.f32      d7, #1
+  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
+  .long  0xf3004db1                          // vmul.f32      d4, d16, d17
+  .long  0xf2245114                          // vorr          d5, d4, d4
+  .long  0xf2246114                          // vorr          d6, d4, d4
+  .long  0xe28dd004                          // add           sp, sp, #4
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xe5dcc000                          // ldrb          ip, [ip]
+  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
+  .long  0xee04ca10                          // vmov          s8, ip
+  .long  0xeaffffee                          // b             2bb8 <sk_load_g8_dst_vfp4+0x38>
   .long  0xe320f000                          // nop           {0}
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
@@ -7910,7 +8458,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
-  .long  0x0a00001a                          // beq           2bd4 <sk_load_565_vfp4+0x8c>
+  .long  0x0a00001a                          // beq           2dcc <sk_load_565_vfp4+0x8c>
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe58dc000                          // str           ip, [sp]
   .long  0xe1a0c00d                          // mov           ip, sp
@@ -7941,7 +8489,60 @@
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xeddf0a08                          // vldr          s1, [pc, #32]
   .long  0xee00ca10                          // vmov          s0, ip
-  .long  0xeaffffe5                          // b             2b7c <sk_load_565_vfp4+0x34>
+  .long  0xeaffffe5                          // b             2d74 <sk_load_565_vfp4+0x34>
+  .long  0xe320f000                          // nop           {0}
+  .long  0x37842108                          // .word         0x37842108
+  .long  0x37842108                          // .word         0x37842108
+  .long  0x3a020821                          // .word         0x3a020821
+  .long  0x3a020821                          // .word         0x3a020821
+  .long  0x3d042108                          // .word         0x3d042108
+  .long  0x3d042108                          // .word         0x3d042108
+  .long  0x00000000                          // .word         0x00000000
+  .long  0xe320f000                          // .word         0xe320f000
+
+HIDDEN _sk_load_565_dst_vfp4
+.globl _sk_load_565_dst_vfp4
+FUNCTION(_sk_load_565_dst_vfp4)
+_sk_load_565_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe24dd004                          // sub           sp, sp, #4
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de00c                          // ldr           lr, [sp, #12]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0001                          // cmp           lr, #1
+  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
+  .long  0x0a00001a                          // beq           2e8c <sk_load_565_dst_vfp4+0x8c>
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe58dc000                          // str           ip, [sp]
+  .long  0xe1a0c00d                          // mov           ip, sp
+  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
+  .long  0xf3904a30                          // vmovl.u16     q2, d16
+  .long  0xf3c70218                          // vmov.i32      d16, #63488
+  .long  0xe3a0ce7e                          // mov           ip, #2016
+  .long  0xf2c1101f                          // vmov.i32      d17, #31
+  .long  0xee82cb90                          // vdup.32       d18, ip
+  .long  0xf2440130                          // vand          d16, d4, d16
+  .long  0xeddf3b14                          // vldr          d19, [pc, #80]
+  .long  0xf2442132                          // vand          d18, d4, d18
+  .long  0xeddf4b14                          // vldr          d20, [pc, #80]
+  .long  0xf2441131                          // vand          d17, d4, d17
+  .long  0xeddf5b14                          // vldr          d21, [pc, #80]
+  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
+  .long  0xf2877f10                          // vmov.f32      d7, #1
+  .long  0xf3004db3                          // vmul.f32      d4, d16, d19
+  .long  0xf3025db4                          // vmul.f32      d5, d18, d20
+  .long  0xf3016db5                          // vmul.f32      d6, d17, d21
+  .long  0xe28dd004                          // add           sp, sp, #4
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
+  .long  0xeddf4a08                          // vldr          s9, [pc, #32]
+  .long  0xee04ca10                          // vmov          s8, ip
+  .long  0xeaffffe5                          // b             2e34 <sk_load_565_dst_vfp4+0x34>
   .long  0xe320f000                          // nop           {0}
   .long  0x37842108                          // .word         0x37842108
   .long  0x37842108                          // .word         0x37842108
@@ -8024,7 +8625,7 @@
   .long  0xf2eb1531                          // vshl.s32      d17, d17, #11
   .long  0xf26001b1                          // vorr          d16, d16, d17
   .long  0xf26001b2                          // vorr          d16, d16, d18
-  .long  0x0a000005                          // beq           2d20 <sk_store_565_vfp4+0x70>
+  .long  0x0a000005                          // beq           2fd8 <sk_store_565_vfp4+0x70>
   .long  0xf3f60121                          // vuzp.16       d16, d17
   .long  0xf4cc080f                          // vst1.32       {d16[0]}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
@@ -8033,7 +8634,7 @@
   .long  0xe12fff1c                          // bx            ip
   .long  0xee10eb90                          // vmov.32       lr, d16[0]
   .long  0xe1cce0b0                          // strh          lr, [ip]
-  .long  0xeafffff8                          // b             2d10 <sk_store_565_vfp4+0x60>
+  .long  0xeafffff8                          // b             2fc8 <sk_store_565_vfp4+0x60>
   .long  0xe320f000                          // nop           {0}
   .long  0x427c0000                          // .word         0x427c0000
   .long  0x427c0000                          // .word         0x427c0000
@@ -8049,7 +8650,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
-  .long  0x0a00001d                          // beq           2dd0 <sk_load_4444_vfp4+0x98>
+  .long  0x0a00001d                          // beq           3088 <sk_load_4444_vfp4+0x98>
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe58dc000                          // str           ip, [sp]
   .long  0xe1a0c00d                          // mov           ip, sp
@@ -8083,7 +8684,64 @@
   .long  0xe1dcc0b0                          // ldrh          ip, [ip]
   .long  0xeddf0a09                          // vldr          s1, [pc, #36]
   .long  0xee00ca10                          // vmov          s0, ip
-  .long  0xeaffffe2                          // b             2d6c <sk_load_4444_vfp4+0x34>
+  .long  0xeaffffe2                          // b             3024 <sk_load_4444_vfp4+0x34>
+  .long  0x37888889                          // .word         0x37888889
+  .long  0x37888889                          // .word         0x37888889
+  .long  0x39888889                          // .word         0x39888889
+  .long  0x39888889                          // .word         0x39888889
+  .long  0x3b888889                          // .word         0x3b888889
+  .long  0x3b888889                          // .word         0x3b888889
+  .long  0x3d888889                          // .word         0x3d888889
+  .long  0x3d888889                          // .word         0x3d888889
+  .long  0x00000000                          // .word         0x00000000
+  .long  0xe320f000                          // .word         0xe320f000
+
+HIDDEN _sk_load_4444_dst_vfp4
+.globl _sk_load_4444_dst_vfp4
+FUNCTION(_sk_load_4444_dst_vfp4)
+_sk_load_4444_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe24dd004                          // sub           sp, sp, #4
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de00c                          // ldr           lr, [sp, #12]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0001                          // cmp           lr, #1
+  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
+  .long  0x0a00001d                          // beq           3158 <sk_load_4444_dst_vfp4+0x98>
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe58dc000                          // str           ip, [sp]
+  .long  0xe1a0c00d                          // mov           ip, sp
+  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
+  .long  0xf3904a30                          // vmovl.u16     q2, d16
+  .long  0xf3c70210                          // vmov.i32      d16, #61440
+  .long  0xeddf4b1a                          // vldr          d20, [pc, #104]
+  .long  0xf2c0121f                          // vmov.i32      d17, #3840
+  .long  0xeddf5b1a                          // vldr          d21, [pc, #104]
+  .long  0xf3c72010                          // vmov.i32      d18, #240
+  .long  0xeddf6b1a                          // vldr          d22, [pc, #104]
+  .long  0xf2440130                          // vand          d16, d4, d16
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xf2c0301f                          // vmov.i32      d19, #15
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf2441131                          // vand          d17, d4, d17
+  .long  0xf2442132                          // vand          d18, d4, d18
+  .long  0xf2443133                          // vand          d19, d4, d19
+  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
+  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
+  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
+  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
+  .long  0xf3004db4                          // vmul.f32      d4, d16, d20
+  .long  0xeddf0b0f                          // vldr          d16, [pc, #60]
+  .long  0xf3015db5                          // vmul.f32      d5, d17, d21
+  .long  0xf3026db6                          // vmul.f32      d6, d18, d22
+  .long  0xf3037db0                          // vmul.f32      d7, d19, d16
+  .long  0xe28dd004                          // add           sp, sp, #4
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
+  .long  0xeddf4a09                          // vldr          s9, [pc, #36]
+  .long  0xee04ca10                          // vmov          s8, ip
+  .long  0xeaffffe2                          // b             30f4 <sk_load_4444_dst_vfp4+0x34>
   .long  0x37888889                          // .word         0x37888889
   .long  0x37888889                          // .word         0x37888889
   .long  0x39888889                          // .word         0x39888889
@@ -8177,7 +8835,7 @@
   .long  0xf26201b0                          // vorr          d16, d18, d16
   .long  0xf26001b3                          // vorr          d16, d16, d19
   .long  0xf26001b1                          // vorr          d16, d16, d17
-  .long  0x0a000005                          // beq           2f48 <sk_store_4444_vfp4+0x80>
+  .long  0x0a000005                          // beq           32d0 <sk_store_4444_vfp4+0x80>
   .long  0xf3f60121                          // vuzp.16       d16, d17
   .long  0xf4cc080f                          // vst1.32       {d16[0]}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
@@ -8186,7 +8844,7 @@
   .long  0xe12fff1c                          // bx            ip
   .long  0xee10eb90                          // vmov.32       lr, d16[0]
   .long  0xe1cce0b0                          // strh          lr, [ip]
-  .long  0xeafffff8                          // b             2f38 <sk_store_4444_vfp4+0x70>
+  .long  0xeafffff8                          // b             32c0 <sk_store_4444_vfp4+0x70>
   .long  0xe320f000                          // nop           {0}
 
 HIDDEN _sk_load_8888_vfp4
@@ -8199,7 +8857,7 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0001                          // cmp           lr, #1
   .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
-  .long  0x0a000014                          // beq           2fc8 <sk_load_8888_vfp4+0x70>
+  .long  0x0a000014                          // beq           3350 <sk_load_8888_vfp4+0x70>
   .long  0xed9c0b00                          // vldr          d0, [ip]
   .long  0xf3c7001f                          // vmov.i32      d16, #255
   .long  0xe591c004                          // ldr           ip, [r1, #4]
@@ -8223,7 +8881,48 @@
   .long  0xe12fff1c                          // bx            ip
   .long  0xeddf0a04                          // vldr          s1, [pc, #16]
   .long  0xed9c0a00                          // vldr          s0, [ip]
-  .long  0xeaffffe8                          // b             2f78 <sk_load_8888_vfp4+0x20>
+  .long  0xeaffffe8                          // b             3300 <sk_load_8888_vfp4+0x20>
+  .long  0xe320f000                          // nop           {0}
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x3b808081                          // .word         0x3b808081
+  .long  0x00000000                          // .word         0x00000000
+  .long  0xe320f000                          // .word         0xe320f000
+
+HIDDEN _sk_load_8888_dst_vfp4
+.globl _sk_load_8888_dst_vfp4
+FUNCTION(_sk_load_8888_dst_vfp4)
+_sk_load_8888_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de008                          // ldr           lr, [sp, #8]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0001                          // cmp           lr, #1
+  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
+  .long  0x0a000014                          // beq           33e0 <sk_load_8888_dst_vfp4+0x70>
+  .long  0xed9c4b00                          // vldr          d4, [ip]
+  .long  0xf3c7001f                          // vmov.i32      d16, #255
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xf3f81014                          // vshr.u32      d17, d4, #8
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf3f03014                          // vshr.u32      d19, d4, #16
+  .long  0xf3e82014                          // vshr.u32      d18, d4, #24
+  .long  0xf24111b0                          // vand          d17, d17, d16
+  .long  0xf2444130                          // vand          d20, d4, d16
+  .long  0xf24301b0                          // vand          d16, d19, d16
+  .long  0xf3fb3624                          // vcvt.f32.s32  d19, d20
+  .long  0xeddf4b0c                          // vldr          d20, [pc, #48]
+  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
+  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
+  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
+  .long  0xf3034db4                          // vmul.f32      d4, d19, d20
+  .long  0xf3027db4                          // vmul.f32      d7, d18, d20
+  .long  0xf3015db4                          // vmul.f32      d5, d17, d20
+  .long  0xf3006db4                          // vmul.f32      d6, d16, d20
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
+  .long  0xed9c4a00                          // vldr          s8, [ip]
+  .long  0xeaffffe8                          // b             3390 <sk_load_8888_dst_vfp4+0x20>
   .long  0xe320f000                          // nop           {0}
   .long  0x3b808081                          // .word         0x3b808081
   .long  0x3b808081                          // .word         0x3b808081
@@ -8300,14 +8999,14 @@
   .long  0xf2f81533                          // vshl.s32      d17, d19, #24
   .long  0xf26001b2                          // vorr          d16, d16, d18
   .long  0xf26001b1                          // vorr          d16, d16, d17
-  .long  0x0a000004                          // beq           30f4 <sk_store_8888_vfp4+0x7c>
+  .long  0x0a000004                          // beq           350c <sk_store_8888_vfp4+0x7c>
   .long  0xedcc0b00                          // vstr          d16, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
   .long  0xe2811008                          // add           r1, r1, #8
   .long  0xe8bd4800                          // pop           {fp, lr}
   .long  0xe12fff1c                          // bx            ip
   .long  0xf4cc083f                          // vst1.32       {d16[0]}, [ip :32]
-  .long  0xeafffff9                          // b             30e4 <sk_store_8888_vfp4+0x6c>
+  .long  0xeafffff9                          // b             34fc <sk_store_8888_vfp4+0x6c>
   .long  0xe320f000                          // nop           {0}
   .long  0x437f0000                          // .word         0x437f0000
   .long  0x437f0000                          // .word         0x437f0000
@@ -8323,7 +9022,7 @@
   .long  0xe35e0000                          // cmp           lr, #0
   .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
   .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
-  .long  0x1a000001                          // bne           3130 <sk_load_f16_vfp4+0x28>
+  .long  0x1a000001                          // bne           3548 <sk_load_f16_vfp4+0x28>
   .long  0xe28cc008                          // add           ip, ip, #8
   .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
   .long  0xf3b60720                          // vcvt.f32.f16  q0, d16
@@ -8337,6 +9036,31 @@
   .long  0xe8bd4800                          // pop           {fp, lr}
   .long  0xe12fff1c                          // bx            ip
 
+HIDDEN _sk_load_f16_dst_vfp4
+.globl _sk_load_f16_dst_vfp4
+FUNCTION(_sk_load_f16_dst_vfp4)
+_sk_load_f16_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de008                          // ldr           lr, [sp, #8]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0000                          // cmp           lr, #0
+  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
+  .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
+  .long  0x1a000001                          // bne           3598 <sk_load_f16_dst_vfp4+0x28>
+  .long  0xe28cc008                          // add           ip, ip, #8
+  .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
+  .long  0xf3b64720                          // vcvt.f32.f16  q2, d16
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xf3b66722                          // vcvt.f32.f16  q3, d18
+  .long  0xf3f64721                          // vcvt.f32.f16  q10, d17
+  .long  0xf3f60723                          // vcvt.f32.f16  q8, d19
+  .long  0xf22451b4                          // vorr          d5, d20, d20
+  .long  0xf22071b0                          // vorr          d7, d16, d16
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+
 HIDDEN _sk_gather_f16_vfp4
 .globl _sk_gather_f16_vfp4
 FUNCTION(_sk_gather_f16_vfp4)
@@ -8393,7 +9117,7 @@
   .long  0xf3f65622                          // vcvt.f16.f32  d21, q9
   .long  0xf3f64600                          // vcvt.f16.f32  d20, q0
   .long  0xf4cc470f                          // vst4.16       {d20[0],d21[0],d22[0],d23[0]}, [ip]
-  .long  0x1a000001                          // bne           3220 <sk_store_f16_vfp4+0x40>
+  .long  0x1a000001                          // bne           3688 <sk_store_f16_vfp4+0x40>
   .long  0xe28cc008                          // add           ip, ip, #8
   .long  0xf4cc474f                          // vst4.16       {d20[1],d21[1],d22[1],d23[1]}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
@@ -8414,7 +9138,7 @@
   .long  0xe35e0000                          // cmp           lr, #0
   .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
   .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
-  .long  0x1a000001                          // bne           3260 <sk_load_u16_be_vfp4+0x28>
+  .long  0x1a000001                          // bne           36c8 <sk_load_u16_be_vfp4+0x28>
   .long  0xe28cc008                          // add           ip, ip, #8
   .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
   .long  0xee90cbb0                          // vmov.u16      ip, d16[0]
@@ -8482,7 +9206,7 @@
   .long  0xe59de018                          // ldr           lr, [sp, #24]
   .long  0xf4ec060f                          // vld3.16       {d16[0],d17[0],d18[0]}, [ip]
   .long  0xe35e0000                          // cmp           lr, #0
-  .long  0x1a000001                          // bne           335c <sk_load_rgb_u16_be_vfp4+0x2c>
+  .long  0x1a000001                          // bne           37c4 <sk_load_rgb_u16_be_vfp4+0x2c>
   .long  0xe28cc006                          // add           ip, ip, #6
   .long  0xf4ec064f                          // vld3.16       {d16[1],d17[1],d18[1]}, [ip]
   .long  0xee90cbb0                          // vmov.u16      ip, d16[0]
@@ -8574,7 +9298,7 @@
   .long  0xe35e0000                          // cmp           lr, #0
   .long  0xf3f60124                          // vuzp.16       d16, d20
   .long  0xf4cc070f                          // vst4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
-  .long  0x1a000001                          // bne           34b8 <sk_store_u16_be_vfp4+0xb0>
+  .long  0x1a000001                          // bne           3920 <sk_store_u16_be_vfp4+0xb0>
   .long  0xe28cc008                          // add           ip, ip, #8
   .long  0xf4cc074f                          // vst4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
@@ -8594,14 +9318,33 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0000                          // cmp           lr, #0
   .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
-  .long  0x1a000004                          // bne           3500 <sk_load_f32_vfp4+0x30>
+  .long  0x1a000004                          // bne           3968 <sk_load_f32_vfp4+0x30>
   .long  0xf42c008f                          // vld4.32       {d0-d3}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
   .long  0xe2811008                          // add           r1, r1, #8
   .long  0xe8bd4800                          // pop           {fp, lr}
   .long  0xe12fff1c                          // bx            ip
   .long  0xf4ac0f8f                          // vld4.32       {d0[]-d3[]}, [ip]
-  .long  0xeafffff9                          // b             34f0 <sk_load_f32_vfp4+0x20>
+  .long  0xeafffff9                          // b             3958 <sk_load_f32_vfp4+0x20>
+
+HIDDEN _sk_load_f32_dst_vfp4
+.globl _sk_load_f32_dst_vfp4
+FUNCTION(_sk_load_f32_dst_vfp4)
+_sk_load_f32_dst_vfp4:
+  .long  0xe92d4800                          // push          {fp, lr}
+  .long  0xe591c000                          // ldr           ip, [r1]
+  .long  0xe59de008                          // ldr           lr, [sp, #8]
+  .long  0xe59cc000                          // ldr           ip, [ip]
+  .long  0xe35e0000                          // cmp           lr, #0
+  .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
+  .long  0x1a000004                          // bne           39a0 <sk_load_f32_dst_vfp4+0x30>
+  .long  0xf42c408f                          // vld4.32       {d4-d7}, [ip]
+  .long  0xe591c004                          // ldr           ip, [r1, #4]
+  .long  0xe2811008                          // add           r1, r1, #8
+  .long  0xe8bd4800                          // pop           {fp, lr}
+  .long  0xe12fff1c                          // bx            ip
+  .long  0xf4ac4f8f                          // vld4.32       {d4[]-d7[]}, [ip]
+  .long  0xeafffff9                          // b             3990 <sk_load_f32_dst_vfp4+0x20>
 
 HIDDEN _sk_store_f32_vfp4
 .globl _sk_store_f32_vfp4
@@ -8613,14 +9356,14 @@
   .long  0xe59cc000                          // ldr           ip, [ip]
   .long  0xe35e0000                          // cmp           lr, #0
   .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
-  .long  0x1a000004                          // bne           3538 <sk_store_f32_vfp4+0x30>
+  .long  0x1a000004                          // bne           39d8 <sk_store_f32_vfp4+0x30>
   .long  0xf40c008f                          // vst4.32       {d0-d3}, [ip]
   .long  0xe591c004                          // ldr           ip, [r1, #4]
   .long  0xe2811008                          // add           r1, r1, #8
   .long  0xe8bd4800                          // pop           {fp, lr}
   .long  0xe12fff1c                          // bx            ip
   .long  0xf48c0b0f                          // vst4.32       {d0[0],d1[0],d2[0],d3[0]}, [ip]
-  .long  0xeafffff9                          // b             3528 <sk_store_f32_vfp4+0x20>
+  .long  0xeafffff9                          // b             39c8 <sk_store_f32_vfp4+0x20>
 
 HIDDEN _sk_clamp_x_vfp4
 .globl _sk_clamp_x_vfp4
@@ -9196,7 +9939,7 @@
   .long  0xe591c000                          // ldr           ip, [r1]
   .long  0xe59c4000                          // ldr           r4, [ip]
   .long  0xe3540002                          // cmp           r4, #2
-  .long  0x3a00000b                          // bcc           3d08 <sk_gradient_vfp4+0x58>
+  .long  0x3a00000b                          // bcc           41a8 <sk_gradient_vfp4+0x58>
   .long  0xe59c5024                          // ldr           r5, [ip, #36]
   .long  0xf2c01010                          // vmov.i32      d17, #0
   .long  0xf2c02011                          // vmov.i32      d18, #1
@@ -9208,7 +9951,7 @@
   .long  0xf3403e23                          // vcge.f32      d19, d0, d19
   .long  0xf35231b1                          // vbsl          d19, d18, d17
   .long  0xf26308a0                          // vadd.i32      d16, d19, d16
-  .long  0x1afffff9                          // bne           3cf0 <sk_gradient_vfp4+0x40>
+  .long  0x1afffff9                          // bne           4190 <sk_gradient_vfp4+0x40>
   .long  0xee304b90                          // vmov.32       r4, d16[1]
   .long  0xe59c6010                          // ldr           r6, [ip, #16]
   .long  0xee10eb90                          // vmov.32       lr, d16[0]
@@ -9841,7 +10584,7 @@
   .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  196,226,125,24,13,205,75,0,0        // vbroadcastss  0x4bcd(%rip),%ymm1        # 4c64 <_sk_callback_hsw+0x144>
+  .byte  196,226,125,24,13,253,82,0,0        // vbroadcastss  0x52fd(%rip),%ymm1        # 5394 <_sk_callback_hsw+0x144>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  197,252,88,7                        // vaddps        (%rdi),%ymm0,%ymm0
   .byte  197,249,110,209                     // vmovd         %ecx,%xmm2
@@ -9849,7 +10592,7 @@
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
   .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,21,173,75,0,0        // vbroadcastss  0x4bad(%rip),%ymm2        # 4c68 <_sk_callback_hsw+0x148>
+  .byte  196,226,125,24,21,221,82,0,0        // vbroadcastss  0x52dd(%rip),%ymm2        # 5398 <_sk_callback_hsw+0x148>
   .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
@@ -9868,13 +10611,13 @@
   .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,116,75,0,0         // vpbroadcastd  0x4b74(%rip),%ymm10        # 4c6c <_sk_callback_hsw+0x14c>
+  .byte  196,98,125,88,21,164,82,0,0         // vpbroadcastd  0x52a4(%rip),%ymm10        # 539c <_sk_callback_hsw+0x14c>
   .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,89,75,0,0          // vpbroadcastd  0x4b59(%rip),%ymm12        # 4c70 <_sk_callback_hsw+0x150>
-  .byte  196,98,125,88,45,84,75,0,0          // vpbroadcastd  0x4b54(%rip),%ymm13        # 4c74 <_sk_callback_hsw+0x154>
+  .byte  196,98,125,88,37,137,82,0,0         // vpbroadcastd  0x5289(%rip),%ymm12        # 53a0 <_sk_callback_hsw+0x150>
+  .byte  196,98,125,88,45,132,82,0,0         // vpbroadcastd  0x5284(%rip),%ymm13        # 53a4 <_sk_callback_hsw+0x154>
   .byte  196,65,53,219,245                   // vpand         %ymm13,%ymm9,%ymm14
   .byte  196,193,13,114,246,2                // vpslld        $0x2,%ymm14,%ymm14
   .byte  196,65,61,219,237                   // vpand         %ymm13,%ymm8,%ymm13
@@ -9889,8 +10632,8 @@
   .byte  196,65,61,235,194                   // vpor          %ymm10,%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,6,75,0,0           // vbroadcastss  0x4b06(%rip),%ymm9        # 4c78 <_sk_callback_hsw+0x158>
-  .byte  196,98,125,24,21,1,75,0,0           // vbroadcastss  0x4b01(%rip),%ymm10        # 4c7c <_sk_callback_hsw+0x15c>
+  .byte  196,98,125,24,13,54,82,0,0          // vbroadcastss  0x5236(%rip),%ymm9        # 53a8 <_sk_callback_hsw+0x158>
+  .byte  196,98,125,24,21,49,82,0,0          // vbroadcastss  0x5231(%rip),%ymm10        # 53ac <_sk_callback_hsw+0x15c>
   .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
   .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
   .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
@@ -9959,7 +10702,7 @@
 FUNCTION(_sk_srcatop_hsw)
 _sk_srcatop_hsw:
   .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
-  .byte  196,98,125,24,5,89,74,0,0           // vbroadcastss  0x4a59(%rip),%ymm8        # 4c80 <_sk_callback_hsw+0x160>
+  .byte  196,98,125,24,5,137,81,0,0          // vbroadcastss  0x5189(%rip),%ymm8        # 53b0 <_sk_callback_hsw+0x160>
   .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
@@ -9975,7 +10718,7 @@
 .globl _sk_dstatop_hsw
 FUNCTION(_sk_dstatop_hsw)
 _sk_dstatop_hsw:
-  .byte  196,98,125,24,5,44,74,0,0           // vbroadcastss  0x4a2c(%rip),%ymm8        # 4c84 <_sk_callback_hsw+0x164>
+  .byte  196,98,125,24,5,92,81,0,0           // vbroadcastss  0x515c(%rip),%ymm8        # 53b4 <_sk_callback_hsw+0x164>
   .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
@@ -10014,7 +10757,7 @@
 .globl _sk_srcout_hsw
 FUNCTION(_sk_srcout_hsw)
 _sk_srcout_hsw:
-  .byte  196,98,125,24,5,211,73,0,0          // vbroadcastss  0x49d3(%rip),%ymm8        # 4c88 <_sk_callback_hsw+0x168>
+  .byte  196,98,125,24,5,3,81,0,0            // vbroadcastss  0x5103(%rip),%ymm8        # 53b8 <_sk_callback_hsw+0x168>
   .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
@@ -10027,7 +10770,7 @@
 .globl _sk_dstout_hsw
 FUNCTION(_sk_dstout_hsw)
 _sk_dstout_hsw:
-  .byte  196,226,125,24,5,182,73,0,0         // vbroadcastss  0x49b6(%rip),%ymm0        # 4c8c <_sk_callback_hsw+0x16c>
+  .byte  196,226,125,24,5,230,80,0,0         // vbroadcastss  0x50e6(%rip),%ymm0        # 53bc <_sk_callback_hsw+0x16c>
   .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
@@ -10040,7 +10783,7 @@
 .globl _sk_srcover_hsw
 FUNCTION(_sk_srcover_hsw)
 _sk_srcover_hsw:
-  .byte  196,98,125,24,5,153,73,0,0          // vbroadcastss  0x4999(%rip),%ymm8        # 4c90 <_sk_callback_hsw+0x170>
+  .byte  196,98,125,24,5,201,80,0,0          // vbroadcastss  0x50c9(%rip),%ymm8        # 53c0 <_sk_callback_hsw+0x170>
   .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
@@ -10053,7 +10796,7 @@
 .globl _sk_dstover_hsw
 FUNCTION(_sk_dstover_hsw)
 _sk_dstover_hsw:
-  .byte  196,98,125,24,5,120,73,0,0          // vbroadcastss  0x4978(%rip),%ymm8        # 4c94 <_sk_callback_hsw+0x174>
+  .byte  196,98,125,24,5,168,80,0,0          // vbroadcastss  0x50a8(%rip),%ymm8        # 53c4 <_sk_callback_hsw+0x174>
   .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
@@ -10077,7 +10820,7 @@
 .globl _sk_multiply_hsw
 FUNCTION(_sk_multiply_hsw)
 _sk_multiply_hsw:
-  .byte  196,98,125,24,5,67,73,0,0           // vbroadcastss  0x4943(%rip),%ymm8        # 4c98 <_sk_callback_hsw+0x178>
+  .byte  196,98,125,24,5,115,80,0,0          // vbroadcastss  0x5073(%rip),%ymm8        # 53c8 <_sk_callback_hsw+0x178>
   .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
@@ -10125,7 +10868,7 @@
 .globl _sk_xor__hsw
 FUNCTION(_sk_xor__hsw)
 _sk_xor__hsw:
-  .byte  196,98,125,24,5,190,72,0,0          // vbroadcastss  0x48be(%rip),%ymm8        # 4c9c <_sk_callback_hsw+0x17c>
+  .byte  196,98,125,24,5,238,79,0,0          // vbroadcastss  0x4fee(%rip),%ymm8        # 53cc <_sk_callback_hsw+0x17c>
   .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
@@ -10159,7 +10902,7 @@
   .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,70,72,0,0           // vbroadcastss  0x4846(%rip),%ymm8        # 4ca0 <_sk_callback_hsw+0x180>
+  .byte  196,98,125,24,5,118,79,0,0          // vbroadcastss  0x4f76(%rip),%ymm8        # 53d0 <_sk_callback_hsw+0x180>
   .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
@@ -10184,7 +10927,7 @@
   .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,245,71,0,0          // vbroadcastss  0x47f5(%rip),%ymm8        # 4ca4 <_sk_callback_hsw+0x184>
+  .byte  196,98,125,24,5,37,79,0,0           // vbroadcastss  0x4f25(%rip),%ymm8        # 53d4 <_sk_callback_hsw+0x184>
   .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
@@ -10212,7 +10955,7 @@
   .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,152,71,0,0          // vbroadcastss  0x4798(%rip),%ymm8        # 4ca8 <_sk_callback_hsw+0x188>
+  .byte  196,98,125,24,5,200,78,0,0          // vbroadcastss  0x4ec8(%rip),%ymm8        # 53d8 <_sk_callback_hsw+0x188>
   .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
@@ -10234,7 +10977,7 @@
   .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,86,71,0,0           // vbroadcastss  0x4756(%rip),%ymm8        # 4cac <_sk_callback_hsw+0x18c>
+  .byte  196,98,125,24,5,134,78,0,0          // vbroadcastss  0x4e86(%rip),%ymm8        # 53dc <_sk_callback_hsw+0x18c>
   .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
@@ -10244,7 +10987,7 @@
 .globl _sk_colorburn_hsw
 FUNCTION(_sk_colorburn_hsw)
 _sk_colorburn_hsw:
-  .byte  196,98,125,24,5,68,71,0,0           // vbroadcastss  0x4744(%rip),%ymm8        # 4cb0 <_sk_callback_hsw+0x190>
+  .byte  196,98,125,24,5,116,78,0,0          // vbroadcastss  0x4e74(%rip),%ymm8        # 53e0 <_sk_callback_hsw+0x190>
   .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
@@ -10302,7 +11045,7 @@
 FUNCTION(_sk_colordodge_hsw)
 _sk_colordodge_hsw:
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
-  .byte  196,98,125,24,13,79,70,0,0          // vbroadcastss  0x464f(%rip),%ymm9        # 4cb4 <_sk_callback_hsw+0x194>
+  .byte  196,98,125,24,13,127,77,0,0         // vbroadcastss  0x4d7f(%rip),%ymm9        # 53e4 <_sk_callback_hsw+0x194>
   .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
@@ -10355,7 +11098,7 @@
 .globl _sk_hardlight_hsw
 FUNCTION(_sk_hardlight_hsw)
 _sk_hardlight_hsw:
-  .byte  196,98,125,24,5,112,69,0,0          // vbroadcastss  0x4570(%rip),%ymm8        # 4cb8 <_sk_callback_hsw+0x198>
+  .byte  196,98,125,24,5,160,76,0,0          // vbroadcastss  0x4ca0(%rip),%ymm8        # 53e8 <_sk_callback_hsw+0x198>
   .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
@@ -10406,7 +11149,7 @@
 .globl _sk_overlay_hsw
 FUNCTION(_sk_overlay_hsw)
 _sk_overlay_hsw:
-  .byte  196,98,125,24,5,168,68,0,0          // vbroadcastss  0x44a8(%rip),%ymm8        # 4cbc <_sk_callback_hsw+0x19c>
+  .byte  196,98,125,24,5,216,75,0,0          // vbroadcastss  0x4bd8(%rip),%ymm8        # 53ec <_sk_callback_hsw+0x19c>
   .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
@@ -10467,10 +11210,10 @@
   .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,179,67,0,0         // vbroadcastss  0x43b3(%rip),%ymm11        # 4cc4 <_sk_callback_hsw+0x1a4>
+  .byte  196,98,125,24,29,227,74,0,0         // vbroadcastss  0x4ae3(%rip),%ymm11        # 53f4 <_sk_callback_hsw+0x1a4>
   .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,164,67,0,0         // vbroadcastss  0x43a4(%rip),%ymm12        # 4cc8 <_sk_callback_hsw+0x1a8>
+  .byte  196,98,125,24,37,212,74,0,0         // vbroadcastss  0x4ad4(%rip),%ymm12        # 53f8 <_sk_callback_hsw+0x1a8>
   .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
@@ -10480,7 +11223,7 @@
   .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,103,67,0,0          // vbroadcastss  0x4367(%rip),%ymm8        # 4cc0 <_sk_callback_hsw+0x1a0>
+  .byte  196,98,125,24,5,151,74,0,0          // vbroadcastss  0x4a97(%rip),%ymm8        # 53f0 <_sk_callback_hsw+0x1a0>
   .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
@@ -10593,11 +11336,11 @@
   .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,107,65,0,0         // vbroadcastss  0x416b(%rip),%ymm14        # 4ccc <_sk_callback_hsw+0x1ac>
-  .byte  196,98,125,24,61,102,65,0,0         // vbroadcastss  0x4166(%rip),%ymm15        # 4cd0 <_sk_callback_hsw+0x1b0>
+  .byte  196,98,125,24,53,155,72,0,0         // vbroadcastss  0x489b(%rip),%ymm14        # 53fc <_sk_callback_hsw+0x1ac>
+  .byte  196,98,125,24,61,150,72,0,0         // vbroadcastss  0x4896(%rip),%ymm15        # 5400 <_sk_callback_hsw+0x1b0>
   .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,87,65,0,0          // vbroadcastss  0x4157(%rip),%ymm0        # 4cd4 <_sk_callback_hsw+0x1b4>
+  .byte  196,226,125,24,5,135,72,0,0         // vbroadcastss  0x4887(%rip),%ymm0        # 5404 <_sk_callback_hsw+0x1b4>
   .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
@@ -10652,7 +11395,7 @@
   .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,68,64,0,0         // vbroadcastss  0x4044(%rip),%ymm1        # 4cd8 <_sk_callback_hsw+0x1b8>
+  .byte  196,226,125,24,13,116,71,0,0        // vbroadcastss  0x4774(%rip),%ymm1        # 5408 <_sk_callback_hsw+0x1b8>
   .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
@@ -10706,11 +11449,11 @@
   .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,91,63,0,0          // vbroadcastss  0x3f5b(%rip),%ymm14        # 4cdc <_sk_callback_hsw+0x1bc>
-  .byte  196,98,125,24,61,86,63,0,0          // vbroadcastss  0x3f56(%rip),%ymm15        # 4ce0 <_sk_callback_hsw+0x1c0>
+  .byte  196,98,125,24,53,139,70,0,0         // vbroadcastss  0x468b(%rip),%ymm14        # 540c <_sk_callback_hsw+0x1bc>
+  .byte  196,98,125,24,61,134,70,0,0         // vbroadcastss  0x4686(%rip),%ymm15        # 5410 <_sk_callback_hsw+0x1c0>
   .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,71,63,0,0          // vbroadcastss  0x3f47(%rip),%ymm0        # 4ce4 <_sk_callback_hsw+0x1c4>
+  .byte  196,226,125,24,5,119,70,0,0         // vbroadcastss  0x4677(%rip),%ymm0        # 5414 <_sk_callback_hsw+0x1c4>
   .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
@@ -10765,7 +11508,7 @@
   .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,52,62,0,0         // vbroadcastss  0x3e34(%rip),%ymm1        # 4ce8 <_sk_callback_hsw+0x1c8>
+  .byte  196,226,125,24,13,100,69,0,0        // vbroadcastss  0x4564(%rip),%ymm1        # 5418 <_sk_callback_hsw+0x1c8>
   .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
@@ -10793,11 +11536,11 @@
   .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,205,61,0,0         // vbroadcastss  0x3dcd(%rip),%ymm13        # 4cec <_sk_callback_hsw+0x1cc>
-  .byte  196,98,125,24,53,200,61,0,0         // vbroadcastss  0x3dc8(%rip),%ymm14        # 4cf0 <_sk_callback_hsw+0x1d0>
+  .byte  196,98,125,24,45,253,68,0,0         // vbroadcastss  0x44fd(%rip),%ymm13        # 541c <_sk_callback_hsw+0x1cc>
+  .byte  196,98,125,24,53,248,68,0,0         // vbroadcastss  0x44f8(%rip),%ymm14        # 5420 <_sk_callback_hsw+0x1d0>
   .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,185,61,0,0         // vbroadcastss  0x3db9(%rip),%ymm15        # 4cf4 <_sk_callback_hsw+0x1d4>
+  .byte  196,98,125,24,61,233,68,0,0         // vbroadcastss  0x44e9(%rip),%ymm15        # 5424 <_sk_callback_hsw+0x1d4>
   .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
@@ -10853,7 +11596,7 @@
   .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,155,60,0,0         // vbroadcastss  0x3c9b(%rip),%ymm0        # 4cf8 <_sk_callback_hsw+0x1d8>
+  .byte  196,226,125,24,5,203,67,0,0         // vbroadcastss  0x43cb(%rip),%ymm0        # 5428 <_sk_callback_hsw+0x1d8>
   .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
@@ -10881,11 +11624,11 @@
   .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,52,60,0,0          // vbroadcastss  0x3c34(%rip),%ymm13        # 4cfc <_sk_callback_hsw+0x1dc>
-  .byte  196,98,125,24,53,47,60,0,0          // vbroadcastss  0x3c2f(%rip),%ymm14        # 4d00 <_sk_callback_hsw+0x1e0>
+  .byte  196,98,125,24,45,100,67,0,0         // vbroadcastss  0x4364(%rip),%ymm13        # 542c <_sk_callback_hsw+0x1dc>
+  .byte  196,98,125,24,53,95,67,0,0          // vbroadcastss  0x435f(%rip),%ymm14        # 5430 <_sk_callback_hsw+0x1e0>
   .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,32,60,0,0          // vbroadcastss  0x3c20(%rip),%ymm15        # 4d04 <_sk_callback_hsw+0x1e4>
+  .byte  196,98,125,24,61,80,67,0,0          // vbroadcastss  0x4350(%rip),%ymm15        # 5434 <_sk_callback_hsw+0x1e4>
   .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
@@ -10941,7 +11684,7 @@
   .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,2,59,0,0           // vbroadcastss  0x3b02(%rip),%ymm0        # 4d08 <_sk_callback_hsw+0x1e8>
+  .byte  196,226,125,24,5,50,66,0,0          // vbroadcastss  0x4232(%rip),%ymm0        # 5438 <_sk_callback_hsw+0x1e8>
   .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
@@ -10969,17 +11712,17 @@
   .byte  77,133,192                          // test          %r8,%r8
   .byte  15,133,180,0,0,0                    // jne           1315 <_sk_srcover_rgba_8888_hsw+0xcd>
   .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
-  .byte  197,196,84,37,18,62,0,0             // vandps        0x3e12(%rip),%ymm7,%ymm4        # 5080 <_sk_callback_hsw+0x560>
+  .byte  197,196,84,37,178,69,0,0            // vandps        0x45b2(%rip),%ymm7,%ymm4        # 5820 <_sk_callback_hsw+0x5d0>
   .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
-  .byte  196,226,69,0,45,37,62,0,0           // vpshufb       0x3e25(%rip),%ymm7,%ymm5        # 50a0 <_sk_callback_hsw+0x580>
+  .byte  196,226,69,0,45,197,69,0,0          // vpshufb       0x45c5(%rip),%ymm7,%ymm5        # 5840 <_sk_callback_hsw+0x5f0>
   .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
-  .byte  196,226,69,0,53,56,62,0,0           // vpshufb       0x3e38(%rip),%ymm7,%ymm6        # 50c0 <_sk_callback_hsw+0x5a0>
+  .byte  196,226,69,0,53,216,69,0,0          // vpshufb       0x45d8(%rip),%ymm7,%ymm6        # 5860 <_sk_callback_hsw+0x610>
   .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,5,110,58,0,0          // vbroadcastss  0x3a6e(%rip),%ymm8        # 4d0c <_sk_callback_hsw+0x1ec>
+  .byte  196,98,125,24,5,158,65,0,0          // vbroadcastss  0x419e(%rip),%ymm8        # 543c <_sk_callback_hsw+0x1ec>
   .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
-  .byte  196,98,125,24,13,101,58,0,0         // vbroadcastss  0x3a65(%rip),%ymm9        # 4d10 <_sk_callback_hsw+0x1f0>
+  .byte  196,98,125,24,13,149,65,0,0         // vbroadcastss  0x4195(%rip),%ymm9        # 5440 <_sk_callback_hsw+0x1f0>
   .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
   .byte  196,194,93,184,192                  // vfmadd231ps   %ymm8,%ymm4,%ymm0
   .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
@@ -11039,7 +11782,7 @@
 .globl _sk_clamp_1_hsw
 FUNCTION(_sk_clamp_1_hsw)
 _sk_clamp_1_hsw:
-  .byte  196,98,125,24,5,138,57,0,0          // vbroadcastss  0x398a(%rip),%ymm8        # 4d14 <_sk_callback_hsw+0x1f4>
+  .byte  196,98,125,24,5,186,64,0,0          // vbroadcastss  0x40ba(%rip),%ymm8        # 5444 <_sk_callback_hsw+0x1f4>
   .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
@@ -11051,7 +11794,7 @@
 .globl _sk_clamp_a_hsw
 FUNCTION(_sk_clamp_a_hsw)
 _sk_clamp_a_hsw:
-  .byte  196,98,125,24,5,109,57,0,0          // vbroadcastss  0x396d(%rip),%ymm8        # 4d18 <_sk_callback_hsw+0x1f8>
+  .byte  196,98,125,24,5,157,64,0,0          // vbroadcastss  0x409d(%rip),%ymm8        # 5448 <_sk_callback_hsw+0x1f8>
   .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
@@ -11059,6 +11802,18 @@
   .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,131,64,0,0          // vbroadcastss  0x4083(%rip),%ymm8        # 544c <_sk_callback_hsw+0x1fc>
+  .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)
@@ -11080,6 +11835,16 @@
   .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_hsw
+.globl _sk_swap_rb_dst_hsw
+FUNCTION(_sk_swap_rb_dst_hsw)
+_sk_swap_rb_dst_hsw:
+  .byte  197,124,40,196                      // vmovaps       %ymm4,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,230                      // vmovaps       %ymm6,%ymm4
+  .byte  197,124,41,198                      // vmovaps       %ymm8,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_hsw
 .globl _sk_swap_hsw
 FUNCTION(_sk_swap_hsw)
@@ -11137,7 +11902,7 @@
 _sk_unpremul_hsw:
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,65,100,194,200,0                // vcmpeqps      %ymm8,%ymm3,%ymm9
-  .byte  196,98,125,24,21,181,56,0,0         // vbroadcastss  0x38b5(%rip),%ymm10        # 4d1c <_sk_callback_hsw+0x1fc>
+  .byte  196,98,125,24,21,187,63,0,0         // vbroadcastss  0x3fbb(%rip),%ymm10        # 5450 <_sk_callback_hsw+0x200>
   .byte  197,44,94,211                       // vdivps        %ymm3,%ymm10,%ymm10
   .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
   .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
@@ -11150,16 +11915,16 @@
 .globl _sk_from_srgb_hsw
 FUNCTION(_sk_from_srgb_hsw)
 _sk_from_srgb_hsw:
-  .byte  196,98,125,24,5,150,56,0,0          // vbroadcastss  0x3896(%rip),%ymm8        # 4d20 <_sk_callback_hsw+0x200>
+  .byte  196,98,125,24,5,156,63,0,0          // vbroadcastss  0x3f9c(%rip),%ymm8        # 5454 <_sk_callback_hsw+0x204>
   .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,136,56,0,0         // vbroadcastss  0x3888(%rip),%ymm11        # 4d24 <_sk_callback_hsw+0x204>
-  .byte  196,98,125,24,37,131,56,0,0         // vbroadcastss  0x3883(%rip),%ymm12        # 4d28 <_sk_callback_hsw+0x208>
+  .byte  196,98,125,24,29,142,63,0,0         // vbroadcastss  0x3f8e(%rip),%ymm11        # 5458 <_sk_callback_hsw+0x208>
+  .byte  196,98,125,24,37,137,63,0,0         // vbroadcastss  0x3f89(%rip),%ymm12        # 545c <_sk_callback_hsw+0x20c>
   .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,116,56,0,0         // vbroadcastss  0x3874(%rip),%ymm14        # 4d2c <_sk_callback_hsw+0x20c>
+  .byte  196,98,125,24,53,122,63,0,0         // vbroadcastss  0x3f7a(%rip),%ymm14        # 5460 <_sk_callback_hsw+0x210>
   .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
-  .byte  196,98,125,24,21,106,56,0,0         // vbroadcastss  0x386a(%rip),%ymm10        # 4d30 <_sk_callback_hsw+0x210>
+  .byte  196,98,125,24,21,112,63,0,0         // vbroadcastss  0x3f70(%rip),%ymm10        # 5464 <_sk_callback_hsw+0x214>
   .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
@@ -11178,24 +11943,56 @@
   .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,24,63,0,0           // vbroadcastss  0x3f18(%rip),%ymm8        # 5468 <_sk_callback_hsw+0x218>
+  .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,10,63,0,0          // vbroadcastss  0x3f0a(%rip),%ymm11        # 546c <_sk_callback_hsw+0x21c>
+  .byte  196,98,125,24,37,5,63,0,0           // vbroadcastss  0x3f05(%rip),%ymm12        # 5470 <_sk_callback_hsw+0x220>
+  .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,246,62,0,0         // vbroadcastss  0x3ef6(%rip),%ymm14        # 5474 <_sk_callback_hsw+0x224>
+  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
+  .byte  196,98,125,24,21,236,62,0,0         // vbroadcastss  0x3eec(%rip),%ymm10        # 5478 <_sk_callback_hsw+0x228>
+  .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,14,56,0,0           // vbroadcastss  0x380e(%rip),%ymm8        # 4d34 <_sk_callback_hsw+0x214>
+  .byte  196,98,125,24,5,144,62,0,0          // vbroadcastss  0x3e90(%rip),%ymm8        # 547c <_sk_callback_hsw+0x22c>
   .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
-  .byte  196,98,125,24,29,4,56,0,0           // vbroadcastss  0x3804(%rip),%ymm11        # 4d38 <_sk_callback_hsw+0x218>
-  .byte  196,98,125,24,37,255,55,0,0         // vbroadcastss  0x37ff(%rip),%ymm12        # 4d3c <_sk_callback_hsw+0x21c>
+  .byte  196,98,125,24,29,134,62,0,0         // vbroadcastss  0x3e86(%rip),%ymm11        # 5480 <_sk_callback_hsw+0x230>
+  .byte  196,98,125,24,37,129,62,0,0         // vbroadcastss  0x3e81(%rip),%ymm12        # 5484 <_sk_callback_hsw+0x234>
   .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,240,55,0,0         // vbroadcastss  0x37f0(%rip),%ymm14        # 4d40 <_sk_callback_hsw+0x220>
+  .byte  196,98,125,24,53,114,62,0,0         // vbroadcastss  0x3e72(%rip),%ymm14        # 5488 <_sk_callback_hsw+0x238>
   .byte  196,66,53,168,238                   // vfmadd213ps   %ymm14,%ymm9,%ymm13
-  .byte  196,98,125,24,61,230,55,0,0         // vbroadcastss  0x37e6(%rip),%ymm15        # 4d44 <_sk_callback_hsw+0x224>
+  .byte  196,98,125,24,61,104,62,0,0         // vbroadcastss  0x3e68(%rip),%ymm15        # 548c <_sk_callback_hsw+0x23c>
   .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,210,55,0,0         // vbroadcastss  0x37d2(%rip),%ymm13        # 4d48 <_sk_callback_hsw+0x228>
+  .byte  196,98,125,24,45,84,62,0,0          // vbroadcastss  0x3e54(%rip),%ymm13        # 5490 <_sk_callback_hsw+0x240>
   .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
@@ -11229,26 +12026,26 @@
   .byte  197,124,93,201                      // vminps        %ymm1,%ymm0,%ymm9
   .byte  197,52,93,202                       // vminps        %ymm2,%ymm9,%ymm9
   .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
-  .byte  196,98,125,24,29,71,55,0,0          // vbroadcastss  0x3747(%rip),%ymm11        # 4d4c <_sk_callback_hsw+0x22c>
+  .byte  196,98,125,24,29,201,61,0,0         // vbroadcastss  0x3dc9(%rip),%ymm11        # 5494 <_sk_callback_hsw+0x244>
   .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,52,55,0,0          // vbroadcastss  0x3734(%rip),%ymm14        # 4d50 <_sk_callback_hsw+0x230>
+  .byte  196,98,125,24,53,182,61,0,0         // vbroadcastss  0x3db6(%rip),%ymm14        # 5498 <_sk_callback_hsw+0x248>
   .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,27,55,0,0          // vbroadcastss  0x371b(%rip),%ymm14        # 4d58 <_sk_callback_hsw+0x238>
+  .byte  196,98,125,24,53,157,61,0,0         // vbroadcastss  0x3d9d(%rip),%ymm14        # 54a0 <_sk_callback_hsw+0x250>
   .byte  196,66,37,168,238                   // vfmadd213ps   %ymm14,%ymm11,%ymm13
-  .byte  196,98,125,24,53,9,55,0,0           // vbroadcastss  0x3709(%rip),%ymm14        # 4d54 <_sk_callback_hsw+0x234>
+  .byte  196,98,125,24,53,139,61,0,0         // vbroadcastss  0x3d8b(%rip),%ymm14        # 549c <_sk_callback_hsw+0x24c>
   .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,236,54,0,0         // vbroadcastss  0x36ec(%rip),%ymm11        # 4d60 <_sk_callback_hsw+0x240>
+  .byte  196,98,125,24,29,110,61,0,0         // vbroadcastss  0x3d6e(%rip),%ymm11        # 54a8 <_sk_callback_hsw+0x258>
   .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
@@ -11258,7 +12055,7 @@
   .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,175,54,0,0          // vbroadcastss  0x36af(%rip),%ymm8        # 4d5c <_sk_callback_hsw+0x23c>
+  .byte  196,98,125,24,5,49,61,0,0           // vbroadcastss  0x3d31(%rip),%ymm8        # 54a4 <_sk_callback_hsw+0x254>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -11275,30 +12072,30 @@
   .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,124,54,0,0          // vbroadcastss  0x367c(%rip),%ymm8        # 4d64 <_sk_callback_hsw+0x244>
+  .byte  196,98,125,24,5,254,60,0,0          // vbroadcastss  0x3cfe(%rip),%ymm8        # 54ac <_sk_callback_hsw+0x25c>
   .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,95,54,0,0          // vbroadcastss  0x365f(%rip),%ymm9        # 4d68 <_sk_callback_hsw+0x248>
+  .byte  196,98,125,24,13,225,60,0,0         // vbroadcastss  0x3ce1(%rip),%ymm9        # 54b0 <_sk_callback_hsw+0x260>
   .byte  196,66,109,170,202                  // vfmsub213ps   %ymm10,%ymm2,%ymm9
-  .byte  196,98,125,24,29,85,54,0,0          // vbroadcastss  0x3655(%rip),%ymm11        # 4d6c <_sk_callback_hsw+0x24c>
+  .byte  196,98,125,24,29,215,60,0,0         // vbroadcastss  0x3cd7(%rip),%ymm11        # 54b4 <_sk_callback_hsw+0x264>
   .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,63,54,0,0          // vbroadcastss  0x363f(%rip),%ymm13        # 4d74 <_sk_callback_hsw+0x254>
+  .byte  196,98,125,24,45,193,60,0,0         // vbroadcastss  0x3cc1(%rip),%ymm13        # 54bc <_sk_callback_hsw+0x26c>
   .byte  196,193,4,89,197                    // vmulps        %ymm13,%ymm15,%ymm0
-  .byte  196,98,125,24,53,53,54,0,0          // vbroadcastss  0x3635(%rip),%ymm14        # 4d78 <_sk_callback_hsw+0x258>
+  .byte  196,98,125,24,53,183,60,0,0         // vbroadcastss  0x3cb7(%rip),%ymm14        # 54c0 <_sk_callback_hsw+0x270>
   .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,27,54,0,0         // vbroadcastss  0x361b(%rip),%ymm3        # 4d70 <_sk_callback_hsw+0x250>
+  .byte  196,226,125,24,29,157,60,0,0        // vbroadcastss  0x3c9d(%rip),%ymm3        # 54b8 <_sk_callback_hsw+0x268>
   .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,6,54,0,0           // vbroadcastss  0x3606(%rip),%ymm12        # 4d7c <_sk_callback_hsw+0x25c>
+  .byte  196,98,125,24,37,136,60,0,0         // vbroadcastss  0x3c88(%rip),%ymm12        # 54c4 <_sk_callback_hsw+0x274>
   .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
@@ -11314,7 +12111,7 @@
   .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,178,53,0,0         // vbroadcastss  0x35b2(%rip),%ymm0        # 4d80 <_sk_callback_hsw+0x260>
+  .byte  196,226,125,24,5,52,60,0,0          // vbroadcastss  0x3c34(%rip),%ymm0        # 54c8 <_sk_callback_hsw+0x278>
   .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
@@ -11362,12 +12159,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,58                              // jne           18af <_sk_scale_u8_hsw+0x44>
+  .byte  117,58                              // jne           1975 <_sk_scale_u8_hsw+0x44>
   .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
-  .byte  197,57,219,5,221,57,0,0             // vpand         0x39dd(%rip),%xmm8,%xmm8        # 5260 <_sk_callback_hsw+0x740>
+  .byte  197,57,219,5,23,65,0,0              // vpand         0x4117(%rip),%xmm8,%xmm8        # 5a60 <_sk_callback_hsw+0x810>
   .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
   .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
-  .byte  196,98,125,24,13,238,52,0,0         // vbroadcastss  0x34ee(%rip),%ymm9        # 4d84 <_sk_callback_hsw+0x264>
+  .byte  196,98,125,24,13,112,59,0,0         // vbroadcastss  0x3b70(%rip),%ymm9        # 54cc <_sk_callback_hsw+0x27c>
   .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
@@ -11380,15 +12177,15 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,183                             // ja            187b <_sk_scale_u8_hsw+0x10>
+  .byte  119,183                             // ja            1941 <_sk_scale_u8_hsw+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 1948 <_sk_scale_u8_hsw+0xdd>
+  .byte  76,141,21,123,0,0,0                 // lea           0x7b(%rip),%r10        # 1a10 <_sk_scale_u8_hsw+0xdf>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  235,152                             // jmp           187b <_sk_scale_u8_hsw+0x10>
+  .byte  235,152                             // jmp           1941 <_sk_scale_u8_hsw+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -11396,7 +12193,7 @@
   .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,111,255,255,255                 // jmpq          187b <_sk_scale_u8_hsw+0x10>
+  .byte  233,111,255,255,255                 // jmpq          1941 <_sk_scale_u8_hsw+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -11407,24 +12204,21 @@
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%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,51,255,255,255                  // jmpq          187b <_sk_scale_u8_hsw+0x10>
-  .byte  144                                 // nop
+  .byte  233,51,255,255,255                  // jmpq          1941 <_sk_scale_u8_hsw+0x10>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  142,255                             // mov           %edi,%?
   .byte  255                                 // (bad)
-  .byte  255                                 // (bad)
-  .byte  255,171,255,255,255,155             // ljmp          *-0x64000001(%rbx)
+  .byte  255,169,255,255,255,153             // ljmp          *-0x66000001(%rcx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  234                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde001a20 <_sk_callback_hsw+0xffffffffddffc7d0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255                                 // (bad)
-  .byte  223,255                             // (bad)
-  .byte  255                                 // (bad)
-  .byte  255,212                             // callq         *%rsp
+  .byte  255,210                             // callq         *%rdx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,196                             // inc           %esp
+  .byte  255,194                             // inc           %edx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
@@ -11453,12 +12247,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,78                              // jne           19eb <_sk_lerp_u8_hsw+0x58>
+  .byte  117,78                              // jne           1ab3 <_sk_lerp_u8_hsw+0x58>
   .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
-  .byte  197,57,219,5,197,56,0,0             // vpand         0x38c5(%rip),%xmm8,%xmm8        # 5270 <_sk_callback_hsw+0x750>
+  .byte  197,57,219,5,253,63,0,0             // vpand         0x3ffd(%rip),%xmm8,%xmm8        # 5a70 <_sk_callback_hsw+0x820>
   .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
   .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
-  .byte  196,98,125,24,13,202,51,0,0         // vbroadcastss  0x33ca(%rip),%ymm9        # 4d88 <_sk_callback_hsw+0x268>
+  .byte  196,98,125,24,13,74,58,0,0          // vbroadcastss  0x3a4a(%rip),%ymm9        # 54d0 <_sk_callback_hsw+0x280>
   .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
@@ -11475,15 +12269,15 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,163                             // ja            19a3 <_sk_lerp_u8_hsw+0x10>
+  .byte  119,163                             // ja            1a6b <_sk_lerp_u8_hsw+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 1a84 <_sk_lerp_u8_hsw+0xf1>
+  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 1b4c <_sk_lerp_u8_hsw+0xf1>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  235,132                             // jmp           19a3 <_sk_lerp_u8_hsw+0x10>
+  .byte  235,132                             // jmp           1a6b <_sk_lerp_u8_hsw+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -11491,7 +12285,7 @@
   .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,91,255,255,255                  // jmpq          19a3 <_sk_lerp_u8_hsw+0x10>
+  .byte  233,91,255,255,255                  // jmpq          1a6b <_sk_lerp_u8_hsw+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -11502,7 +12296,7 @@
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%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,31,255,255,255                  // jmpq          19a3 <_sk_lerp_u8_hsw+0x10>
+  .byte  233,31,255,255,255                  // jmpq          1a6b <_sk_lerp_u8_hsw+0x10>
   .byte  144                                 // nop
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -11531,23 +12325,23 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,169,0,0,0                    // jne           1b57 <_sk_lerp_565_hsw+0xb7>
+  .byte  15,133,169,0,0,0                    // jne           1c1f <_sk_lerp_565_hsw+0xb7>
   .byte  196,65,122,111,4,83                 // vmovdqu       (%r11,%rdx,2),%xmm8
   .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
-  .byte  196,98,125,88,13,202,50,0,0         // vpbroadcastd  0x32ca(%rip),%ymm9        # 4d8c <_sk_callback_hsw+0x26c>
+  .byte  196,98,125,88,13,74,57,0,0          // vpbroadcastd  0x394a(%rip),%ymm9        # 54d4 <_sk_callback_hsw+0x284>
   .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,187,50,0,0         // vbroadcastss  0x32bb(%rip),%ymm10        # 4d90 <_sk_callback_hsw+0x270>
+  .byte  196,98,125,24,21,59,57,0,0          // vbroadcastss  0x393b(%rip),%ymm10        # 54d8 <_sk_callback_hsw+0x288>
   .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
-  .byte  196,98,125,88,21,177,50,0,0         // vpbroadcastd  0x32b1(%rip),%ymm10        # 4d94 <_sk_callback_hsw+0x274>
+  .byte  196,98,125,88,21,49,57,0,0          // vpbroadcastd  0x3931(%rip),%ymm10        # 54dc <_sk_callback_hsw+0x28c>
   .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,162,50,0,0         // vbroadcastss  0x32a2(%rip),%ymm11        # 4d98 <_sk_callback_hsw+0x278>
+  .byte  196,98,125,24,29,34,57,0,0          // vbroadcastss  0x3922(%rip),%ymm11        # 54e0 <_sk_callback_hsw+0x290>
   .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
-  .byte  196,98,125,88,29,152,50,0,0         // vpbroadcastd  0x3298(%rip),%ymm11        # 4d9c <_sk_callback_hsw+0x27c>
+  .byte  196,98,125,88,29,24,57,0,0          // vpbroadcastd  0x3918(%rip),%ymm11        # 54e4 <_sk_callback_hsw+0x294>
   .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,137,50,0,0         // vbroadcastss  0x3289(%rip),%ymm11        # 4da0 <_sk_callback_hsw+0x280>
+  .byte  196,98,125,24,29,9,57,0,0           // vbroadcastss  0x3909(%rip),%ymm11        # 54e8 <_sk_callback_hsw+0x298>
   .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
   .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
   .byte  196,226,53,168,196                  // vfmadd213ps   %ymm4,%ymm9,%ymm0
@@ -11568,27 +12362,27 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,68,255,255,255               // ja            1ab4 <_sk_lerp_565_hsw+0x14>
+  .byte  15,135,68,255,255,255               // ja            1b7c <_sk_lerp_565_hsw+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,101,0,0,0                 // lea           0x65(%rip),%r10        # 1be0 <_sk_lerp_565_hsw+0x140>
+  .byte  76,141,21,101,0,0,0                 // lea           0x65(%rip),%r10        # 1ca8 <_sk_lerp_565_hsw+0x140>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  233,34,255,255,255                  // jmpq          1ab4 <_sk_lerp_565_hsw+0x14>
+  .byte  233,34,255,255,255                  // jmpq          1b7c <_sk_lerp_565_hsw+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,65,57,196,68,83,4,2             // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,121,110,12,83                // vmovd         (%r11,%rdx,2),%xmm9
   .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  .byte  233,4,255,255,255                   // jmpq          1ab4 <_sk_lerp_565_hsw+0x14>
+  .byte  233,4,255,255,255                   // jmpq          1b7c <_sk_lerp_565_hsw+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,65,57,196,68,83,12,6            // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,57,196,68,83,10,5            // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,57,196,68,83,8,4             // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,122,126,12,83                // vmovq         (%r11,%rdx,2),%xmm9
   .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  .byte  233,214,254,255,255                 // jmpq          1ab4 <_sk_lerp_565_hsw+0x14>
+  .byte  233,214,254,255,255                 // jmpq          1b7c <_sk_lerp_565_hsw+0x14>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  164                                 // movsb         %ds:(%rsi),%es:(%rdi)
   .byte  255                                 // (bad)
@@ -11621,23 +12415,23 @@
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,105                             // jne           1c7a <_sk_load_tables_hsw+0x7e>
+  .byte  117,105                             // jne           1d42 <_sk_load_tables_hsw+0x7e>
   .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
-  .byte  197,228,84,13,194,52,0,0            // vandps        0x34c2(%rip),%ymm3,%ymm1        # 50e0 <_sk_callback_hsw+0x5c0>
+  .byte  197,228,84,13,154,59,0,0            // vandps        0x3b9a(%rip),%ymm3,%ymm1        # 5880 <_sk_callback_hsw+0x630>
   .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
   .byte  72,139,72,8                         // mov           0x8(%rax),%rcx
   .byte  76,139,80,16                        // mov           0x10(%rax),%r10
   .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
   .byte  196,226,109,146,4,137               // vgatherdps    %ymm2,(%rcx,%ymm1,4),%ymm0
-  .byte  196,226,101,0,21,194,52,0,0         // vpshufb       0x34c2(%rip),%ymm3,%ymm2        # 5100 <_sk_callback_hsw+0x5e0>
+  .byte  196,226,101,0,21,154,59,0,0         // vpshufb       0x3b9a(%rip),%ymm3,%ymm2        # 58a0 <_sk_callback_hsw+0x650>
   .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
   .byte  196,194,53,146,12,146               // vgatherdps    %ymm9,(%r10,%ymm2,4),%ymm1
   .byte  72,139,64,24                        // mov           0x18(%rax),%rax
-  .byte  196,98,101,0,13,202,52,0,0          // vpshufb       0x34ca(%rip),%ymm3,%ymm9        # 5120 <_sk_callback_hsw+0x600>
+  .byte  196,98,101,0,13,162,59,0,0          // vpshufb       0x3ba2(%rip),%ymm3,%ymm9        # 58c0 <_sk_callback_hsw+0x670>
   .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,54,49,0,0           // vbroadcastss  0x3136(%rip),%ymm8        # 4da4 <_sk_callback_hsw+0x284>
+  .byte  196,98,125,24,5,182,55,0,0          // vbroadcastss  0x37b6(%rip),%ymm8        # 54ec <_sk_callback_hsw+0x29c>
   .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,137,201                          // mov           %r9,%rcx
@@ -11650,7 +12444,7 @@
   .byte  196,193,249,110,195                 // vmovq         %r11,%xmm0
   .byte  196,226,125,33,192                  // vpmovsxbd     %xmm0,%ymm0
   .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
-  .byte  233,115,255,255,255                 // jmpq          1c16 <_sk_load_tables_hsw+0x1a>
+  .byte  233,115,255,255,255                 // jmpq          1cde <_sk_load_tables_hsw+0x1a>
 
 HIDDEN _sk_load_tables_u16_be_hsw
 .globl _sk_load_tables_u16_be_hsw
@@ -11660,7 +12454,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,201,0,0,0                    // jne           1d82 <_sk_load_tables_u16_be_hsw+0xdf>
+  .byte  15,133,201,0,0,0                    // jne           1e4a <_sk_load_tables_u16_be_hsw+0xdf>
   .byte  196,1,121,16,4,81                   // vmovupd       (%r9,%r10,2),%xmm8
   .byte  196,129,121,16,84,81,16             // vmovupd       0x10(%r9,%r10,2),%xmm2
   .byte  196,129,121,16,92,81,32             // vmovupd       0x20(%r9,%r10,2),%xmm3
@@ -11676,7 +12470,7 @@
   .byte  197,185,108,200                     // vpunpcklqdq   %xmm0,%xmm8,%xmm1
   .byte  197,185,109,208                     // vpunpckhqdq   %xmm0,%xmm8,%xmm2
   .byte  197,49,108,195                      // vpunpcklqdq   %xmm3,%xmm9,%xmm8
-  .byte  197,121,111,21,118,53,0,0           // vmovdqa       0x3576(%rip),%xmm10        # 5280 <_sk_callback_hsw+0x760>
+  .byte  197,121,111,21,174,60,0,0           // vmovdqa       0x3cae(%rip),%xmm10        # 5a80 <_sk_callback_hsw+0x830>
   .byte  196,193,113,219,194                 // vpand         %xmm10,%xmm1,%xmm0
   .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
   .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
@@ -11698,36 +12492,36 @@
   .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,47,48,0,0           // vbroadcastss  0x302f(%rip),%ymm8        # 4da8 <_sk_callback_hsw+0x288>
+  .byte  196,98,125,24,5,175,54,0,0          // vbroadcastss  0x36af(%rip),%ymm8        # 54f0 <_sk_callback_hsw+0x2a0>
   .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,81                   // vmovsd        (%r9,%r10,2),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,85                              // je            1de8 <_sk_load_tables_u16_be_hsw+0x145>
+  .byte  116,85                              // je            1eb0 <_sk_load_tables_u16_be_hsw+0x145>
   .byte  196,1,57,22,68,81,8                 // vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,72                              // jb            1de8 <_sk_load_tables_u16_be_hsw+0x145>
+  .byte  114,72                              // jb            1eb0 <_sk_load_tables_u16_be_hsw+0x145>
   .byte  196,129,123,16,84,81,16             // vmovsd        0x10(%r9,%r10,2),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,72                              // je            1df5 <_sk_load_tables_u16_be_hsw+0x152>
+  .byte  116,72                              // je            1ebd <_sk_load_tables_u16_be_hsw+0x152>
   .byte  196,129,105,22,84,81,24             // vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,59                              // jb            1df5 <_sk_load_tables_u16_be_hsw+0x152>
+  .byte  114,59                              // jb            1ebd <_sk_load_tables_u16_be_hsw+0x152>
   .byte  196,129,123,16,92,81,32             // vmovsd        0x20(%r9,%r10,2),%xmm3
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,9,255,255,255                // je            1cd4 <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  15,132,9,255,255,255                // je            1d9c <_sk_load_tables_u16_be_hsw+0x31>
   .byte  196,129,97,22,92,81,40              // vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,248,254,255,255              // jb            1cd4 <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  15,130,248,254,255,255              // jb            1d9c <_sk_load_tables_u16_be_hsw+0x31>
   .byte  196,1,122,126,76,81,48              // vmovq         0x30(%r9,%r10,2),%xmm9
-  .byte  233,236,254,255,255                 // jmpq          1cd4 <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  233,236,254,255,255                 // jmpq          1d9c <_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,223,254,255,255                 // jmpq          1cd4 <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  233,223,254,255,255                 // jmpq          1d9c <_sk_load_tables_u16_be_hsw+0x31>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
-  .byte  233,214,254,255,255                 // jmpq          1cd4 <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  233,214,254,255,255                 // jmpq          1d9c <_sk_load_tables_u16_be_hsw+0x31>
 
 HIDDEN _sk_load_tables_rgb_u16_be_hsw
 .globl _sk_load_tables_rgb_u16_be_hsw
@@ -11737,7 +12531,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,193,0,0,0                    // jne           1ed1 <_sk_load_tables_rgb_u16_be_hsw+0xd3>
+  .byte  15,133,193,0,0,0                    // jne           1f99 <_sk_load_tables_rgb_u16_be_hsw+0xd3>
   .byte  196,129,122,111,4,81                // vmovdqu       (%r9,%r10,2),%xmm0
   .byte  196,129,122,111,84,81,12            // vmovdqu       0xc(%r9,%r10,2),%xmm2
   .byte  196,129,122,111,76,81,24            // vmovdqu       0x18(%r9,%r10,2),%xmm1
@@ -11758,7 +12552,7 @@
   .byte  197,185,108,218                     // vpunpcklqdq   %xmm2,%xmm8,%xmm3
   .byte  197,185,109,210                     // vpunpckhqdq   %xmm2,%xmm8,%xmm2
   .byte  197,121,108,193                     // vpunpcklqdq   %xmm1,%xmm0,%xmm8
-  .byte  197,121,111,13,22,52,0,0            // vmovdqa       0x3416(%rip),%xmm9        # 5290 <_sk_callback_hsw+0x770>
+  .byte  197,121,111,13,78,59,0,0            // vmovdqa       0x3b4e(%rip),%xmm9        # 5a90 <_sk_callback_hsw+0x840>
   .byte  196,193,97,219,193                  // vpand         %xmm9,%xmm3,%xmm0
   .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
   .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
@@ -11775,48 +12569,48 @@
   .byte  196,98,125,51,194                   // vpmovzxwd     %xmm2,%ymm8
   .byte  196,162,101,146,20,128              // vgatherdps    %ymm3,(%rax,%ymm8,4),%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,221,46,0,0        // vbroadcastss  0x2edd(%rip),%ymm3        # 4dac <_sk_callback_hsw+0x28c>
+  .byte  196,226,125,24,29,93,53,0,0         // vbroadcastss  0x355d(%rip),%ymm3        # 54f4 <_sk_callback_hsw+0x2a4>
   .byte  255,224                             // jmpq          *%rax
   .byte  196,129,121,110,4,81                // vmovd         (%r9,%r10,2),%xmm0
   .byte  196,129,121,196,68,81,4,2           // vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,5                               // jne           1eea <_sk_load_tables_rgb_u16_be_hsw+0xec>
-  .byte  233,90,255,255,255                  // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  117,5                               // jne           1fb2 <_sk_load_tables_rgb_u16_be_hsw+0xec>
+  .byte  233,90,255,255,255                  // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
   .byte  196,129,121,110,76,81,6             // vmovd         0x6(%r9,%r10,2),%xmm1
   .byte  196,1,113,196,68,81,10,2            // vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,26                              // jb            1f19 <_sk_load_tables_rgb_u16_be_hsw+0x11b>
+  .byte  114,26                              // jb            1fe1 <_sk_load_tables_rgb_u16_be_hsw+0x11b>
   .byte  196,129,121,110,76,81,12            // vmovd         0xc(%r9,%r10,2),%xmm1
   .byte  196,129,113,196,84,81,16,2          // vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  117,10                              // jne           1f1e <_sk_load_tables_rgb_u16_be_hsw+0x120>
-  .byte  233,43,255,255,255                  // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  .byte  233,38,255,255,255                  // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  117,10                              // jne           1fe6 <_sk_load_tables_rgb_u16_be_hsw+0x120>
+  .byte  233,43,255,255,255                  // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  233,38,255,255,255                  // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
   .byte  196,129,121,110,76,81,18            // vmovd         0x12(%r9,%r10,2),%xmm1
   .byte  196,1,113,196,76,81,22,2            // vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,26                              // jb            1f4d <_sk_load_tables_rgb_u16_be_hsw+0x14f>
+  .byte  114,26                              // jb            2015 <_sk_load_tables_rgb_u16_be_hsw+0x14f>
   .byte  196,129,121,110,76,81,24            // vmovd         0x18(%r9,%r10,2),%xmm1
   .byte  196,129,113,196,76,81,28,2          // vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  117,10                              // jne           1f52 <_sk_load_tables_rgb_u16_be_hsw+0x154>
-  .byte  233,247,254,255,255                 // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  .byte  233,242,254,255,255                 // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  117,10                              // jne           201a <_sk_load_tables_rgb_u16_be_hsw+0x154>
+  .byte  233,247,254,255,255                 // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  233,242,254,255,255                 // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
   .byte  196,129,121,110,92,81,30            // vmovd         0x1e(%r9,%r10,2),%xmm3
   .byte  196,1,97,196,92,81,34,2             // vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,20                              // jb            1f7b <_sk_load_tables_rgb_u16_be_hsw+0x17d>
+  .byte  114,20                              // jb            2043 <_sk_load_tables_rgb_u16_be_hsw+0x17d>
   .byte  196,129,121,110,92,81,36            // vmovd         0x24(%r9,%r10,2),%xmm3
   .byte  196,129,97,196,92,81,40,2           // vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
-  .byte  233,201,254,255,255                 // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  .byte  233,196,254,255,255                 // jmpq          1e44 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  233,201,254,255,255                 // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  .byte  233,196,254,255,255                 // jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
 
 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,98,125,24,5,37,46,0,0           // vbroadcastss  0x2e25(%rip),%ymm8        # 4db0 <_sk_callback_hsw+0x290>
+  .byte  196,98,125,24,5,165,52,0,0          // vbroadcastss  0x34a5(%rip),%ymm8        # 54f8 <_sk_callback_hsw+0x2a8>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
   .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
   .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
@@ -11938,7 +12732,7 @@
   .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
   .byte  196,194,125,49,193                  // vpmovzxbd     %xmm9,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,202,43,0,0          // vbroadcastss  0x2bca(%rip),%ymm8        # 4db4 <_sk_callback_hsw+0x294>
+  .byte  196,98,125,24,5,74,50,0,0           // vbroadcastss  0x324a(%rip),%ymm8        # 54fc <_sk_callback_hsw+0x2ac>
   .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
@@ -12054,7 +12848,7 @@
   .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
   .byte  196,194,125,49,193                  // vpmovzxbd     %xmm9,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,182,41,0,0          // vbroadcastss  0x29b6(%rip),%ymm8        # 4db8 <_sk_callback_hsw+0x298>
+  .byte  196,98,125,24,5,54,48,0,0           // vbroadcastss  0x3036(%rip),%ymm8        # 5500 <_sk_callback_hsw+0x2b0>
   .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
@@ -12153,33 +12947,33 @@
   .byte  196,66,125,168,211                  // vfmadd213ps   %ymm11,%ymm0,%ymm10
   .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
   .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
-  .byte  196,98,125,24,37,144,40,0,0         // vbroadcastss  0x2890(%rip),%ymm12        # 4dbc <_sk_callback_hsw+0x29c>
-  .byte  196,98,125,24,45,139,40,0,0         // vbroadcastss  0x288b(%rip),%ymm13        # 4dc0 <_sk_callback_hsw+0x2a0>
+  .byte  196,98,125,24,37,16,47,0,0          // vbroadcastss  0x2f10(%rip),%ymm12        # 5504 <_sk_callback_hsw+0x2b4>
+  .byte  196,98,125,24,45,11,47,0,0          // vbroadcastss  0x2f0b(%rip),%ymm13        # 5508 <_sk_callback_hsw+0x2b8>
   .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,129,40,0,0         // vbroadcastss  0x2881(%rip),%ymm13        # 4dc4 <_sk_callback_hsw+0x2a4>
+  .byte  196,98,125,24,45,1,47,0,0           // vbroadcastss  0x2f01(%rip),%ymm13        # 550c <_sk_callback_hsw+0x2bc>
   .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,119,40,0,0         // vbroadcastss  0x2877(%rip),%ymm13        # 4dc8 <_sk_callback_hsw+0x2a8>
+  .byte  196,98,125,24,45,247,46,0,0         // vbroadcastss  0x2ef7(%rip),%ymm13        # 5510 <_sk_callback_hsw+0x2c0>
   .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
-  .byte  196,98,125,24,29,109,40,0,0         // vbroadcastss  0x286d(%rip),%ymm11        # 4dcc <_sk_callback_hsw+0x2ac>
+  .byte  196,98,125,24,29,237,46,0,0         // vbroadcastss  0x2eed(%rip),%ymm11        # 5514 <_sk_callback_hsw+0x2c4>
   .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  .byte  196,98,125,24,37,99,40,0,0          // vbroadcastss  0x2863(%rip),%ymm12        # 4dd0 <_sk_callback_hsw+0x2b0>
+  .byte  196,98,125,24,37,227,46,0,0         // vbroadcastss  0x2ee3(%rip),%ymm12        # 5518 <_sk_callback_hsw+0x2c8>
   .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
-  .byte  196,98,125,24,37,89,40,0,0          // vbroadcastss  0x2859(%rip),%ymm12        # 4dd4 <_sk_callback_hsw+0x2b4>
+  .byte  196,98,125,24,37,217,46,0,0         // vbroadcastss  0x2ed9(%rip),%ymm12        # 551c <_sk_callback_hsw+0x2cc>
   .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%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  196,98,125,24,29,58,40,0,0          // vbroadcastss  0x283a(%rip),%ymm11        # 4dd8 <_sk_callback_hsw+0x2b8>
+  .byte  196,98,125,24,29,186,46,0,0         // vbroadcastss  0x2eba(%rip),%ymm11        # 5520 <_sk_callback_hsw+0x2d0>
   .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
-  .byte  196,98,125,24,29,48,40,0,0          // vbroadcastss  0x2830(%rip),%ymm11        # 4ddc <_sk_callback_hsw+0x2bc>
+  .byte  196,98,125,24,29,176,46,0,0         // vbroadcastss  0x2eb0(%rip),%ymm11        # 5524 <_sk_callback_hsw+0x2d4>
   .byte  196,98,45,172,216                   // vfnmadd213ps  %ymm0,%ymm10,%ymm11
-  .byte  196,226,125,24,5,38,40,0,0          // vbroadcastss  0x2826(%rip),%ymm0        # 4de0 <_sk_callback_hsw+0x2c0>
+  .byte  196,226,125,24,5,166,46,0,0         // vbroadcastss  0x2ea6(%rip),%ymm0        # 5528 <_sk_callback_hsw+0x2d8>
   .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
-  .byte  196,98,125,24,21,28,40,0,0          // vbroadcastss  0x281c(%rip),%ymm10        # 4de4 <_sk_callback_hsw+0x2c4>
+  .byte  196,98,125,24,21,156,46,0,0         // vbroadcastss  0x2e9c(%rip),%ymm10        # 552c <_sk_callback_hsw+0x2dc>
   .byte  197,172,94,192                      // vdivps        %ymm0,%ymm10,%ymm0
   .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
-  .byte  196,98,125,24,21,15,40,0,0          // vbroadcastss  0x280f(%rip),%ymm10        # 4de8 <_sk_callback_hsw+0x2c8>
+  .byte  196,98,125,24,21,143,46,0,0         // vbroadcastss  0x2e8f(%rip),%ymm10        # 5530 <_sk_callback_hsw+0x2e0>
   .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
   .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -12187,7 +12981,7 @@
   .byte  196,195,125,74,193,128              // vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,5,230,39,0,0          // vbroadcastss  0x27e6(%rip),%ymm8        # 4dec <_sk_callback_hsw+0x2cc>
+  .byte  196,98,125,24,5,102,46,0,0          // vbroadcastss  0x2e66(%rip),%ymm8        # 5534 <_sk_callback_hsw+0x2e4>
   .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12207,33 +13001,33 @@
   .byte  196,66,117,168,211                  // vfmadd213ps   %ymm11,%ymm1,%ymm10
   .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
   .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
-  .byte  196,98,125,24,37,158,39,0,0         // vbroadcastss  0x279e(%rip),%ymm12        # 4df0 <_sk_callback_hsw+0x2d0>
-  .byte  196,98,125,24,45,153,39,0,0         // vbroadcastss  0x2799(%rip),%ymm13        # 4df4 <_sk_callback_hsw+0x2d4>
+  .byte  196,98,125,24,37,30,46,0,0          // vbroadcastss  0x2e1e(%rip),%ymm12        # 5538 <_sk_callback_hsw+0x2e8>
+  .byte  196,98,125,24,45,25,46,0,0          // vbroadcastss  0x2e19(%rip),%ymm13        # 553c <_sk_callback_hsw+0x2ec>
   .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,143,39,0,0         // vbroadcastss  0x278f(%rip),%ymm13        # 4df8 <_sk_callback_hsw+0x2d8>
+  .byte  196,98,125,24,45,15,46,0,0          // vbroadcastss  0x2e0f(%rip),%ymm13        # 5540 <_sk_callback_hsw+0x2f0>
   .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,133,39,0,0         // vbroadcastss  0x2785(%rip),%ymm13        # 4dfc <_sk_callback_hsw+0x2dc>
+  .byte  196,98,125,24,45,5,46,0,0           // vbroadcastss  0x2e05(%rip),%ymm13        # 5544 <_sk_callback_hsw+0x2f4>
   .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
-  .byte  196,98,125,24,29,123,39,0,0         // vbroadcastss  0x277b(%rip),%ymm11        # 4e00 <_sk_callback_hsw+0x2e0>
+  .byte  196,98,125,24,29,251,45,0,0         // vbroadcastss  0x2dfb(%rip),%ymm11        # 5548 <_sk_callback_hsw+0x2f8>
   .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  .byte  196,98,125,24,37,113,39,0,0         // vbroadcastss  0x2771(%rip),%ymm12        # 4e04 <_sk_callback_hsw+0x2e4>
+  .byte  196,98,125,24,37,241,45,0,0         // vbroadcastss  0x2df1(%rip),%ymm12        # 554c <_sk_callback_hsw+0x2fc>
   .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
-  .byte  196,98,125,24,37,103,39,0,0         // vbroadcastss  0x2767(%rip),%ymm12        # 4e08 <_sk_callback_hsw+0x2e8>
+  .byte  196,98,125,24,37,231,45,0,0         // vbroadcastss  0x2de7(%rip),%ymm12        # 5550 <_sk_callback_hsw+0x300>
   .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%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  196,98,125,24,29,72,39,0,0          // vbroadcastss  0x2748(%rip),%ymm11        # 4e0c <_sk_callback_hsw+0x2ec>
+  .byte  196,98,125,24,29,200,45,0,0         // vbroadcastss  0x2dc8(%rip),%ymm11        # 5554 <_sk_callback_hsw+0x304>
   .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
-  .byte  196,98,125,24,29,62,39,0,0          // vbroadcastss  0x273e(%rip),%ymm11        # 4e10 <_sk_callback_hsw+0x2f0>
+  .byte  196,98,125,24,29,190,45,0,0         // vbroadcastss  0x2dbe(%rip),%ymm11        # 5558 <_sk_callback_hsw+0x308>
   .byte  196,98,45,172,217                   // vfnmadd213ps  %ymm1,%ymm10,%ymm11
-  .byte  196,226,125,24,13,52,39,0,0         // vbroadcastss  0x2734(%rip),%ymm1        # 4e14 <_sk_callback_hsw+0x2f4>
+  .byte  196,226,125,24,13,180,45,0,0        // vbroadcastss  0x2db4(%rip),%ymm1        # 555c <_sk_callback_hsw+0x30c>
   .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
-  .byte  196,98,125,24,21,42,39,0,0          // vbroadcastss  0x272a(%rip),%ymm10        # 4e18 <_sk_callback_hsw+0x2f8>
+  .byte  196,98,125,24,21,170,45,0,0         // vbroadcastss  0x2daa(%rip),%ymm10        # 5560 <_sk_callback_hsw+0x310>
   .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
   .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
-  .byte  196,98,125,24,21,29,39,0,0          // vbroadcastss  0x271d(%rip),%ymm10        # 4e1c <_sk_callback_hsw+0x2fc>
+  .byte  196,98,125,24,21,157,45,0,0         // vbroadcastss  0x2d9d(%rip),%ymm10        # 5564 <_sk_callback_hsw+0x314>
   .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
   .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -12241,7 +13035,7 @@
   .byte  196,195,117,74,201,128              // vblendvps     %ymm8,%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,98,125,24,5,244,38,0,0          // vbroadcastss  0x26f4(%rip),%ymm8        # 4e20 <_sk_callback_hsw+0x300>
+  .byte  196,98,125,24,5,116,45,0,0          // vbroadcastss  0x2d74(%rip),%ymm8        # 5568 <_sk_callback_hsw+0x318>
   .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12261,33 +13055,33 @@
   .byte  196,66,109,168,211                  // vfmadd213ps   %ymm11,%ymm2,%ymm10
   .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
   .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
-  .byte  196,98,125,24,37,172,38,0,0         // vbroadcastss  0x26ac(%rip),%ymm12        # 4e24 <_sk_callback_hsw+0x304>
-  .byte  196,98,125,24,45,167,38,0,0         // vbroadcastss  0x26a7(%rip),%ymm13        # 4e28 <_sk_callback_hsw+0x308>
+  .byte  196,98,125,24,37,44,45,0,0          // vbroadcastss  0x2d2c(%rip),%ymm12        # 556c <_sk_callback_hsw+0x31c>
+  .byte  196,98,125,24,45,39,45,0,0          // vbroadcastss  0x2d27(%rip),%ymm13        # 5570 <_sk_callback_hsw+0x320>
   .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,157,38,0,0         // vbroadcastss  0x269d(%rip),%ymm13        # 4e2c <_sk_callback_hsw+0x30c>
+  .byte  196,98,125,24,45,29,45,0,0          // vbroadcastss  0x2d1d(%rip),%ymm13        # 5574 <_sk_callback_hsw+0x324>
   .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,147,38,0,0         // vbroadcastss  0x2693(%rip),%ymm13        # 4e30 <_sk_callback_hsw+0x310>
+  .byte  196,98,125,24,45,19,45,0,0          // vbroadcastss  0x2d13(%rip),%ymm13        # 5578 <_sk_callback_hsw+0x328>
   .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
-  .byte  196,98,125,24,29,137,38,0,0         // vbroadcastss  0x2689(%rip),%ymm11        # 4e34 <_sk_callback_hsw+0x314>
+  .byte  196,98,125,24,29,9,45,0,0           // vbroadcastss  0x2d09(%rip),%ymm11        # 557c <_sk_callback_hsw+0x32c>
   .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  .byte  196,98,125,24,37,127,38,0,0         // vbroadcastss  0x267f(%rip),%ymm12        # 4e38 <_sk_callback_hsw+0x318>
+  .byte  196,98,125,24,37,255,44,0,0         // vbroadcastss  0x2cff(%rip),%ymm12        # 5580 <_sk_callback_hsw+0x330>
   .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
-  .byte  196,98,125,24,37,117,38,0,0         // vbroadcastss  0x2675(%rip),%ymm12        # 4e3c <_sk_callback_hsw+0x31c>
+  .byte  196,98,125,24,37,245,44,0,0         // vbroadcastss  0x2cf5(%rip),%ymm12        # 5584 <_sk_callback_hsw+0x334>
   .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%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  196,98,125,24,29,86,38,0,0          // vbroadcastss  0x2656(%rip),%ymm11        # 4e40 <_sk_callback_hsw+0x320>
+  .byte  196,98,125,24,29,214,44,0,0         // vbroadcastss  0x2cd6(%rip),%ymm11        # 5588 <_sk_callback_hsw+0x338>
   .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
-  .byte  196,98,125,24,29,76,38,0,0          // vbroadcastss  0x264c(%rip),%ymm11        # 4e44 <_sk_callback_hsw+0x324>
+  .byte  196,98,125,24,29,204,44,0,0         // vbroadcastss  0x2ccc(%rip),%ymm11        # 558c <_sk_callback_hsw+0x33c>
   .byte  196,98,45,172,218                   // vfnmadd213ps  %ymm2,%ymm10,%ymm11
-  .byte  196,226,125,24,21,66,38,0,0         // vbroadcastss  0x2642(%rip),%ymm2        # 4e48 <_sk_callback_hsw+0x328>
+  .byte  196,226,125,24,21,194,44,0,0        // vbroadcastss  0x2cc2(%rip),%ymm2        # 5590 <_sk_callback_hsw+0x340>
   .byte  196,193,108,92,210                  // vsubps        %ymm10,%ymm2,%ymm2
-  .byte  196,98,125,24,21,56,38,0,0          // vbroadcastss  0x2638(%rip),%ymm10        # 4e4c <_sk_callback_hsw+0x32c>
+  .byte  196,98,125,24,21,184,44,0,0         // vbroadcastss  0x2cb8(%rip),%ymm10        # 5594 <_sk_callback_hsw+0x344>
   .byte  197,172,94,210                      // vdivps        %ymm2,%ymm10,%ymm2
   .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
-  .byte  196,98,125,24,21,43,38,0,0          // vbroadcastss  0x262b(%rip),%ymm10        # 4e50 <_sk_callback_hsw+0x330>
+  .byte  196,98,125,24,21,171,44,0,0         // vbroadcastss  0x2cab(%rip),%ymm10        # 5598 <_sk_callback_hsw+0x348>
   .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
   .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -12295,7 +13089,7 @@
   .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,24,5,2,38,0,0            // vbroadcastss  0x2602(%rip),%ymm8        # 4e54 <_sk_callback_hsw+0x334>
+  .byte  196,98,125,24,5,130,44,0,0          // vbroadcastss  0x2c82(%rip),%ymm8        # 559c <_sk_callback_hsw+0x34c>
   .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12315,33 +13109,33 @@
   .byte  196,66,101,168,211                  // vfmadd213ps   %ymm11,%ymm3,%ymm10
   .byte  196,226,125,24,24                   // vbroadcastss  (%rax),%ymm3
   .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
-  .byte  196,98,125,24,37,186,37,0,0         // vbroadcastss  0x25ba(%rip),%ymm12        # 4e58 <_sk_callback_hsw+0x338>
-  .byte  196,98,125,24,45,181,37,0,0         // vbroadcastss  0x25b5(%rip),%ymm13        # 4e5c <_sk_callback_hsw+0x33c>
+  .byte  196,98,125,24,37,58,44,0,0          // vbroadcastss  0x2c3a(%rip),%ymm12        # 55a0 <_sk_callback_hsw+0x350>
+  .byte  196,98,125,24,45,53,44,0,0          // vbroadcastss  0x2c35(%rip),%ymm13        # 55a4 <_sk_callback_hsw+0x354>
   .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,171,37,0,0         // vbroadcastss  0x25ab(%rip),%ymm13        # 4e60 <_sk_callback_hsw+0x340>
+  .byte  196,98,125,24,45,43,44,0,0          // vbroadcastss  0x2c2b(%rip),%ymm13        # 55a8 <_sk_callback_hsw+0x358>
   .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
-  .byte  196,98,125,24,45,161,37,0,0         // vbroadcastss  0x25a1(%rip),%ymm13        # 4e64 <_sk_callback_hsw+0x344>
+  .byte  196,98,125,24,45,33,44,0,0          // vbroadcastss  0x2c21(%rip),%ymm13        # 55ac <_sk_callback_hsw+0x35c>
   .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
-  .byte  196,98,125,24,29,151,37,0,0         // vbroadcastss  0x2597(%rip),%ymm11        # 4e68 <_sk_callback_hsw+0x348>
+  .byte  196,98,125,24,29,23,44,0,0          // vbroadcastss  0x2c17(%rip),%ymm11        # 55b0 <_sk_callback_hsw+0x360>
   .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  .byte  196,98,125,24,37,141,37,0,0         // vbroadcastss  0x258d(%rip),%ymm12        # 4e6c <_sk_callback_hsw+0x34c>
+  .byte  196,98,125,24,37,13,44,0,0          // vbroadcastss  0x2c0d(%rip),%ymm12        # 55b4 <_sk_callback_hsw+0x364>
   .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
-  .byte  196,98,125,24,37,131,37,0,0         // vbroadcastss  0x2583(%rip),%ymm12        # 4e70 <_sk_callback_hsw+0x350>
+  .byte  196,98,125,24,37,3,44,0,0           // vbroadcastss  0x2c03(%rip),%ymm12        # 55b8 <_sk_callback_hsw+0x368>
   .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%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  196,98,125,24,29,100,37,0,0         // vbroadcastss  0x2564(%rip),%ymm11        # 4e74 <_sk_callback_hsw+0x354>
+  .byte  196,98,125,24,29,228,43,0,0         // vbroadcastss  0x2be4(%rip),%ymm11        # 55bc <_sk_callback_hsw+0x36c>
   .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
-  .byte  196,98,125,24,29,90,37,0,0          // vbroadcastss  0x255a(%rip),%ymm11        # 4e78 <_sk_callback_hsw+0x358>
+  .byte  196,98,125,24,29,218,43,0,0         // vbroadcastss  0x2bda(%rip),%ymm11        # 55c0 <_sk_callback_hsw+0x370>
   .byte  196,98,45,172,219                   // vfnmadd213ps  %ymm3,%ymm10,%ymm11
-  .byte  196,226,125,24,29,80,37,0,0         // vbroadcastss  0x2550(%rip),%ymm3        # 4e7c <_sk_callback_hsw+0x35c>
+  .byte  196,226,125,24,29,208,43,0,0        // vbroadcastss  0x2bd0(%rip),%ymm3        # 55c4 <_sk_callback_hsw+0x374>
   .byte  196,193,100,92,218                  // vsubps        %ymm10,%ymm3,%ymm3
-  .byte  196,98,125,24,21,70,37,0,0          // vbroadcastss  0x2546(%rip),%ymm10        # 4e80 <_sk_callback_hsw+0x360>
+  .byte  196,98,125,24,21,198,43,0,0         // vbroadcastss  0x2bc6(%rip),%ymm10        # 55c8 <_sk_callback_hsw+0x378>
   .byte  197,172,94,219                      // vdivps        %ymm3,%ymm10,%ymm3
   .byte  197,164,88,219                      // vaddps        %ymm3,%ymm11,%ymm3
-  .byte  196,98,125,24,21,57,37,0,0          // vbroadcastss  0x2539(%rip),%ymm10        # 4e84 <_sk_callback_hsw+0x364>
+  .byte  196,98,125,24,21,185,43,0,0         // vbroadcastss  0x2bb9(%rip),%ymm10        # 55cc <_sk_callback_hsw+0x37c>
   .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
   .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -12349,7 +13143,7 @@
   .byte  196,195,101,74,217,128              // vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
-  .byte  196,98,125,24,5,16,37,0,0           // vbroadcastss  0x2510(%rip),%ymm8        # 4e88 <_sk_callback_hsw+0x368>
+  .byte  196,98,125,24,5,144,43,0,0          // vbroadcastss  0x2b90(%rip),%ymm8        # 55d0 <_sk_callback_hsw+0x380>
   .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12358,26 +13152,26 @@
 .globl _sk_lab_to_xyz_hsw
 FUNCTION(_sk_lab_to_xyz_hsw)
 _sk_lab_to_xyz_hsw:
-  .byte  196,98,125,24,5,2,37,0,0            // vbroadcastss  0x2502(%rip),%ymm8        # 4e8c <_sk_callback_hsw+0x36c>
-  .byte  196,98,125,24,13,253,36,0,0         // vbroadcastss  0x24fd(%rip),%ymm9        # 4e90 <_sk_callback_hsw+0x370>
-  .byte  196,98,125,24,21,248,36,0,0         // vbroadcastss  0x24f8(%rip),%ymm10        # 4e94 <_sk_callback_hsw+0x374>
+  .byte  196,98,125,24,5,130,43,0,0          // vbroadcastss  0x2b82(%rip),%ymm8        # 55d4 <_sk_callback_hsw+0x384>
+  .byte  196,98,125,24,13,125,43,0,0         // vbroadcastss  0x2b7d(%rip),%ymm9        # 55d8 <_sk_callback_hsw+0x388>
+  .byte  196,98,125,24,21,120,43,0,0         // vbroadcastss  0x2b78(%rip),%ymm10        # 55dc <_sk_callback_hsw+0x38c>
   .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,233,36,0,0         // vbroadcastss  0x24e9(%rip),%ymm9        # 4e98 <_sk_callback_hsw+0x378>
+  .byte  196,98,125,24,13,105,43,0,0         // vbroadcastss  0x2b69(%rip),%ymm9        # 55e0 <_sk_callback_hsw+0x390>
   .byte  196,66,125,184,200                  // vfmadd231ps   %ymm8,%ymm0,%ymm9
-  .byte  196,226,125,24,5,223,36,0,0         // vbroadcastss  0x24df(%rip),%ymm0        # 4e9c <_sk_callback_hsw+0x37c>
+  .byte  196,226,125,24,5,95,43,0,0          // vbroadcastss  0x2b5f(%rip),%ymm0        # 55e4 <_sk_callback_hsw+0x394>
   .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
-  .byte  196,98,125,24,5,214,36,0,0          // vbroadcastss  0x24d6(%rip),%ymm8        # 4ea0 <_sk_callback_hsw+0x380>
+  .byte  196,98,125,24,5,86,43,0,0           // vbroadcastss  0x2b56(%rip),%ymm8        # 55e8 <_sk_callback_hsw+0x398>
   .byte  196,98,117,168,192                  // vfmadd213ps   %ymm0,%ymm1,%ymm8
-  .byte  196,98,125,24,13,204,36,0,0         // vbroadcastss  0x24cc(%rip),%ymm9        # 4ea4 <_sk_callback_hsw+0x384>
+  .byte  196,98,125,24,13,76,43,0,0          // vbroadcastss  0x2b4c(%rip),%ymm9        # 55ec <_sk_callback_hsw+0x39c>
   .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,185,36,0,0        // vbroadcastss  0x24b9(%rip),%ymm2        # 4ea8 <_sk_callback_hsw+0x388>
+  .byte  196,226,125,24,21,57,43,0,0         // vbroadcastss  0x2b39(%rip),%ymm2        # 55f0 <_sk_callback_hsw+0x3a0>
   .byte  197,108,194,209,1                   // vcmpltps      %ymm1,%ymm2,%ymm10
-  .byte  196,98,125,24,29,175,36,0,0         // vbroadcastss  0x24af(%rip),%ymm11        # 4eac <_sk_callback_hsw+0x38c>
+  .byte  196,98,125,24,29,47,43,0,0          // vbroadcastss  0x2b2f(%rip),%ymm11        # 55f4 <_sk_callback_hsw+0x3a4>
   .byte  196,65,60,88,195                    // vaddps        %ymm11,%ymm8,%ymm8
-  .byte  196,98,125,24,37,165,36,0,0         // vbroadcastss  0x24a5(%rip),%ymm12        # 4eb0 <_sk_callback_hsw+0x390>
+  .byte  196,98,125,24,37,37,43,0,0          // vbroadcastss  0x2b25(%rip),%ymm12        # 55f8 <_sk_callback_hsw+0x3a8>
   .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
@@ -12392,9 +13186,9 @@
   .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,90,36,0,0          // vbroadcastss  0x245a(%rip),%ymm0        # 4eb4 <_sk_callback_hsw+0x394>
+  .byte  196,226,125,24,5,218,42,0,0         // vbroadcastss  0x2ada(%rip),%ymm0        # 55fc <_sk_callback_hsw+0x3ac>
   .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
-  .byte  196,98,125,24,5,81,36,0,0           // vbroadcastss  0x2451(%rip),%ymm8        # 4eb8 <_sk_callback_hsw+0x398>
+  .byte  196,98,125,24,5,209,42,0,0          // vbroadcastss  0x2ad1(%rip),%ymm8        # 5600 <_sk_callback_hsw+0x3b0>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12406,12 +13200,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,52                              // jne           2aae <_sk_load_a8_hsw+0x3e>
+  .byte  117,52                              // jne           2b76 <_sk_load_a8_hsw+0x3e>
   .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
-  .byte  197,249,219,5,24,40,0,0             // vpand         0x2818(%rip),%xmm0,%xmm0        # 52a0 <_sk_callback_hsw+0x780>
+  .byte  197,249,219,5,80,47,0,0             // vpand         0x2f50(%rip),%xmm0,%xmm0        # 5aa0 <_sk_callback_hsw+0x850>
   .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,34,36,0,0         // vbroadcastss  0x2422(%rip),%ymm1        # 4ebc <_sk_callback_hsw+0x39c>
+  .byte  196,226,125,24,13,162,42,0,0        // vbroadcastss  0x2aa2(%rip),%ymm1        # 5604 <_sk_callback_hsw+0x3b4>
   .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
@@ -12423,15 +13217,15 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,190                             // ja            2a80 <_sk_load_a8_hsw+0x10>
+  .byte  119,190                             // ja            2b48 <_sk_load_a8_hsw+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,119,0,0,0                 // lea           0x77(%rip),%r10        # 2b44 <_sk_load_a8_hsw+0xd4>
+  .byte  76,141,21,119,0,0,0                 // lea           0x77(%rip),%r10        # 2c0c <_sk_load_a8_hsw+0xd4>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,159                             // jmp           2a80 <_sk_load_a8_hsw+0x10>
+  .byte  235,159                             // jmp           2b48 <_sk_load_a8_hsw+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -12439,7 +13233,7 @@
   .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,119,255,255,255                 // jmpq          2a80 <_sk_load_a8_hsw+0x10>
+  .byte  233,119,255,255,255                 // jmpq          2b48 <_sk_load_a8_hsw+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -12450,7 +13244,79 @@
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%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,60,255,255,255                  // jmpq          2a80 <_sk_load_a8_hsw+0x10>
+  .byte  233,60,255,255,255                  // jmpq          2b48 <_sk_load_a8_hsw+0x10>
+  .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_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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,52                              // jne           2c66 <_sk_load_a8_dst_hsw+0x3e>
+  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
+  .byte  197,217,219,37,112,46,0,0           // vpand         0x2e70(%rip),%xmm4,%xmm4        # 5ab0 <_sk_callback_hsw+0x860>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,182,41,0,0        // vbroadcastss  0x29b6(%rip),%ymm5        # 5608 <_sk_callback_hsw+0x3b8>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,190                             // ja            2c38 <_sk_load_a8_dst_hsw+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,119,0,0,0                 // lea           0x77(%rip),%r10        # 2cfc <_sk_load_a8_dst_hsw+0xd4>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,159                             // jmp           2c38 <_sk_load_a8_dst_hsw+0x10>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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,119,255,255,255                 // jmpq          2c38 <_sk_load_a8_dst_hsw+0x10>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%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,60,255,255,255                  // jmpq          2c38 <_sk_load_a8_dst_hsw+0x10>
   .byte  146                                 // xchg          %eax,%edx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -12511,7 +13377,7 @@
   .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,170,34,0,0        // vbroadcastss  0x22aa(%rip),%ymm1        # 4ec0 <_sk_callback_hsw+0x3a0>
+  .byte  196,226,125,24,13,62,40,0,0         // vbroadcastss  0x283e(%rip),%ymm1        # 560c <_sk_callback_hsw+0x3bc>
   .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
@@ -12525,14 +13391,14 @@
 _sk_store_a8_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,140,34,0,0          // vbroadcastss  0x228c(%rip),%ymm8        # 4ec4 <_sk_callback_hsw+0x3a4>
+  .byte  196,98,125,24,5,32,40,0,0           // vbroadcastss  0x2820(%rip),%ymm8        # 5610 <_sk_callback_hsw+0x3c0>
   .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%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  196,65,57,103,192                   // vpackuswb     %xmm8,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           2c61 <_sk_store_a8_hsw+0x37>
+  .byte  117,10                              // jne           2e19 <_sk_store_a8_hsw+0x37>
   .byte  196,65,123,17,4,19                  // vmovsd        %xmm8,(%r11,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12540,25 +13406,25 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            2c5d <_sk_store_a8_hsw+0x33>
+  .byte  119,236                             // ja            2e15 <_sk_store_a8_hsw+0x33>
   .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,87,0,0,0                  // lea           0x57(%rip),%r10        # 2cd8 <_sk_store_a8_hsw+0xae>
+  .byte  76,141,21,87,0,0,0                  // lea           0x57(%rip),%r10        # 2e90 <_sk_store_a8_hsw+0xae>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,202                             // jmp           2c5d <_sk_store_a8_hsw+0x33>
+  .byte  235,202                             // jmp           2e15 <_sk_store_a8_hsw+0x33>
   .byte  196,67,121,20,68,19,2,4             // vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
-  .byte  196,98,57,0,5,12,38,0,0             // vpshufb       0x260c(%rip),%xmm8,%xmm8        # 52b0 <_sk_callback_hsw+0x790>
+  .byte  196,98,57,0,5,100,44,0,0            // vpshufb       0x2c64(%rip),%xmm8,%xmm8        # 5ac0 <_sk_callback_hsw+0x870>
   .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,176                             // jmp           2c5d <_sk_store_a8_hsw+0x33>
+  .byte  235,176                             // jmp           2e15 <_sk_store_a8_hsw+0x33>
   .byte  196,67,121,20,68,19,6,12            // vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,5,10            // vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,4,8             // vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
-  .byte  196,98,57,0,5,242,37,0,0            // vpshufb       0x25f2(%rip),%xmm8,%xmm8        # 52c0 <_sk_callback_hsw+0x7a0>
+  .byte  196,98,57,0,5,74,44,0,0             // vpshufb       0x2c4a(%rip),%xmm8,%xmm8        # 5ad0 <_sk_callback_hsw+0x880>
   .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
-  .byte  235,135                             // jmp           2c5d <_sk_store_a8_hsw+0x33>
+  .byte  235,135                             // jmp           2e15 <_sk_store_a8_hsw+0x33>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  178,255                             // mov           $0xff,%dl
   .byte  255                                 // (bad)
@@ -12587,15 +13453,15 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,57                              // jne           2d37 <_sk_load_g8_hsw+0x43>
+  .byte  117,57                              // jne           2eef <_sk_load_g8_hsw+0x43>
   .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
-  .byte  197,249,219,5,196,37,0,0            // vpand         0x25c4(%rip),%xmm0,%xmm0        # 52d0 <_sk_callback_hsw+0x7b0>
+  .byte  197,249,219,5,28,44,0,0             // vpand         0x2c1c(%rip),%xmm0,%xmm0        # 5ae0 <_sk_callback_hsw+0x890>
   .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,170,33,0,0        // vbroadcastss  0x21aa(%rip),%ymm1        # 4ec8 <_sk_callback_hsw+0x3a8>
+  .byte  196,226,125,24,13,62,39,0,0         // vbroadcastss  0x273e(%rip),%ymm1        # 5614 <_sk_callback_hsw+0x3c4>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,159,33,0,0        // vbroadcastss  0x219f(%rip),%ymm3        # 4ecc <_sk_callback_hsw+0x3ac>
+  .byte  196,226,125,24,29,51,39,0,0         // vbroadcastss  0x2733(%rip),%ymm3        # 5618 <_sk_callback_hsw+0x3c8>
   .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
   .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
   .byte  255,224                             // jmpq          *%rax
@@ -12604,15 +13470,15 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,185                             // ja            2d04 <_sk_load_g8_hsw+0x10>
+  .byte  119,185                             // ja            2ebc <_sk_load_g8_hsw+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 2dd0 <_sk_load_g8_hsw+0xdc>
+  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 2f88 <_sk_load_g8_hsw+0xdc>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,154                             // jmp           2d04 <_sk_load_g8_hsw+0x10>
+  .byte  235,154                             // jmp           2ebc <_sk_load_g8_hsw+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -12620,7 +13486,7 @@
   .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,114,255,255,255                 // jmpq          2d04 <_sk_load_g8_hsw+0x10>
+  .byte  233,114,255,255,255                 // jmpq          2ebc <_sk_load_g8_hsw+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -12631,7 +13497,80 @@
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%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,55,255,255,255                  // jmpq          2d04 <_sk_load_g8_hsw+0x10>
+  .byte  233,55,255,255,255                  // jmpq          2ebc <_sk_load_g8_hsw+0x10>
+  .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_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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,57                              // jne           2fe7 <_sk_load_g8_dst_hsw+0x43>
+  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
+  .byte  197,217,219,37,52,43,0,0            // vpand         0x2b34(%rip),%xmm4,%xmm4        # 5af0 <_sk_callback_hsw+0x8a0>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,78,38,0,0         // vbroadcastss  0x264e(%rip),%ymm5        # 561c <_sk_callback_hsw+0x3cc>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,67,38,0,0         // vbroadcastss  0x2643(%rip),%ymm7        # 5620 <_sk_callback_hsw+0x3d0>
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,185                             // ja            2fb4 <_sk_load_g8_dst_hsw+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 3080 <_sk_load_g8_dst_hsw+0xdc>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,154                             // jmp           2fb4 <_sk_load_g8_dst_hsw+0x10>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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,114,255,255,255                 // jmpq          2fb4 <_sk_load_g8_dst_hsw+0x10>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%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,55,255,255,255                  // jmpq          2fb4 <_sk_load_g8_dst_hsw+0x10>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  143                                 // (bad)
   .byte  255                                 // (bad)
@@ -12693,10 +13632,10 @@
   .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,46,32,0,0         // vbroadcastss  0x202e(%rip),%ymm1        # 4ed0 <_sk_callback_hsw+0x3b0>
+  .byte  196,226,125,24,13,210,36,0,0        // vbroadcastss  0x24d2(%rip),%ymm1        # 5624 <_sk_callback_hsw+0x3d4>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,35,32,0,0         // vbroadcastss  0x2023(%rip),%ymm3        # 4ed4 <_sk_callback_hsw+0x3b4>
+  .byte  196,226,125,24,29,199,36,0,0        // vbroadcastss  0x24c7(%rip),%ymm3        # 5628 <_sk_callback_hsw+0x3d8>
   .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
   .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
   .byte  255,224                             // jmpq          *%rax
@@ -12708,9 +13647,9 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,137,193                          // mov           %rax,%r9
   .byte  77,133,201                          // test          %r9,%r9
-  .byte  116,5                               // je            2eca <_sk_gather_i8_hsw+0xf>
+  .byte  116,5                               // je            317a <_sk_gather_i8_hsw+0xf>
   .byte  76,137,200                          // mov           %r9,%rax
-  .byte  235,2                               // jmp           2ecc <_sk_gather_i8_hsw+0x11>
+  .byte  235,2                               // jmp           317c <_sk_gather_i8_hsw+0x11>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  83                                  // push          %rbx
   .byte  76,139,16                           // mov           (%rax),%r10
@@ -12744,14 +13683,14 @@
   .byte  73,139,65,8                         // mov           0x8(%r9),%rax
   .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
   .byte  196,226,117,144,28,128              // vpgatherdd    %ymm1,(%rax,%ymm0,4),%ymm3
-  .byte  197,229,219,5,207,33,0,0            // vpand         0x21cf(%rip),%ymm3,%ymm0        # 5140 <_sk_callback_hsw+0x620>
+  .byte  197,229,219,5,191,38,0,0            // vpand         0x26bf(%rip),%ymm3,%ymm0        # 58e0 <_sk_callback_hsw+0x690>
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,90,31,0,0           // vbroadcastss  0x1f5a(%rip),%ymm8        # 4ed8 <_sk_callback_hsw+0x3b8>
+  .byte  196,98,125,24,5,254,35,0,0          // vbroadcastss  0x23fe(%rip),%ymm8        # 562c <_sk_callback_hsw+0x3dc>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
-  .byte  196,226,101,0,13,212,33,0,0         // vpshufb       0x21d4(%rip),%ymm3,%ymm1        # 5160 <_sk_callback_hsw+0x640>
+  .byte  196,226,101,0,13,196,38,0,0         // vpshufb       0x26c4(%rip),%ymm3,%ymm1        # 5900 <_sk_callback_hsw+0x6b0>
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
   .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
-  .byte  196,226,101,0,21,226,33,0,0         // vpshufb       0x21e2(%rip),%ymm3,%ymm2        # 5180 <_sk_callback_hsw+0x660>
+  .byte  196,226,101,0,21,210,38,0,0         // vpshufb       0x26d2(%rip),%ymm3,%ymm2        # 5920 <_sk_callback_hsw+0x6d0>
   .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
@@ -12768,53 +13707,53 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,114                             // jne           3036 <_sk_load_565_hsw+0x7c>
+  .byte  117,114                             // jne           32e6 <_sk_load_565_hsw+0x7c>
   .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
   .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
-  .byte  196,226,125,88,5,4,31,0,0           // vpbroadcastd  0x1f04(%rip),%ymm0        # 4edc <_sk_callback_hsw+0x3bc>
+  .byte  196,226,125,88,5,168,35,0,0         // vpbroadcastd  0x23a8(%rip),%ymm0        # 5630 <_sk_callback_hsw+0x3e0>
   .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,247,30,0,0        // vbroadcastss  0x1ef7(%rip),%ymm1        # 4ee0 <_sk_callback_hsw+0x3c0>
+  .byte  196,226,125,24,13,155,35,0,0        // vbroadcastss  0x239b(%rip),%ymm1        # 5634 <_sk_callback_hsw+0x3e4>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,88,13,238,30,0,0        // vpbroadcastd  0x1eee(%rip),%ymm1        # 4ee4 <_sk_callback_hsw+0x3c4>
+  .byte  196,226,125,88,13,146,35,0,0        // vpbroadcastd  0x2392(%rip),%ymm1        # 5638 <_sk_callback_hsw+0x3e8>
   .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,29,225,30,0,0        // vbroadcastss  0x1ee1(%rip),%ymm3        # 4ee8 <_sk_callback_hsw+0x3c8>
+  .byte  196,226,125,24,29,133,35,0,0        // vbroadcastss  0x2385(%rip),%ymm3        # 563c <_sk_callback_hsw+0x3ec>
   .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
-  .byte  196,226,125,88,29,216,30,0,0        // vpbroadcastd  0x1ed8(%rip),%ymm3        # 4eec <_sk_callback_hsw+0x3cc>
+  .byte  196,226,125,88,29,124,35,0,0        // vpbroadcastd  0x237c(%rip),%ymm3        # 5640 <_sk_callback_hsw+0x3f0>
   .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,226,125,24,29,203,30,0,0        // vbroadcastss  0x1ecb(%rip),%ymm3        # 4ef0 <_sk_callback_hsw+0x3d0>
+  .byte  196,226,125,24,29,111,35,0,0        // vbroadcastss  0x236f(%rip),%ymm3        # 5644 <_sk_callback_hsw+0x3f4>
   .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,192,30,0,0        // vbroadcastss  0x1ec0(%rip),%ymm3        # 4ef4 <_sk_callback_hsw+0x3d4>
+  .byte  196,226,125,24,29,100,35,0,0        // vbroadcastss  0x2364(%rip),%ymm3        # 5648 <_sk_callback_hsw+0x3f8>
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,128                             // ja            2fca <_sk_load_565_hsw+0x10>
+  .byte  119,128                             // ja            327a <_sk_load_565_hsw+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 30b8 <_sk_load_565_hsw+0xfe>
+  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 3368 <_sk_load_565_hsw+0xfe>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  233,94,255,255,255                  // jmpq          2fca <_sk_load_565_hsw+0x10>
+  .byte  233,94,255,255,255                  // jmpq          327a <_sk_load_565_hsw+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
   .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  233,65,255,255,255                  // jmpq          2fca <_sk_load_565_hsw+0x10>
+  .byte  233,65,255,255,255                  // jmpq          327a <_sk_load_565_hsw+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
   .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  .byte  233,20,255,255,255                  // jmpq          2fca <_sk_load_565_hsw+0x10>
+  .byte  233,20,255,255,255                  // jmpq          327a <_sk_load_565_hsw+0x10>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
   .byte  255                                 // (bad)
@@ -12835,6 +13774,79 @@
   .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,114                             // jne           3400 <_sk_load_565_dst_hsw+0x7c>
+  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
+  .byte  196,226,125,51,244                  // vpmovzxwd     %xmm4,%ymm6
+  .byte  196,226,125,88,37,170,34,0,0        // vpbroadcastd  0x22aa(%rip),%ymm4        # 564c <_sk_callback_hsw+0x3fc>
+  .byte  197,205,219,228                     // vpand         %ymm4,%ymm6,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,157,34,0,0        // vbroadcastss  0x229d(%rip),%ymm5        # 5650 <_sk_callback_hsw+0x400>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,88,45,148,34,0,0        // vpbroadcastd  0x2294(%rip),%ymm5        # 5654 <_sk_callback_hsw+0x404>
+  .byte  197,205,219,237                     // vpand         %ymm5,%ymm6,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,61,135,34,0,0        // vbroadcastss  0x2287(%rip),%ymm7        # 5658 <_sk_callback_hsw+0x408>
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  196,226,125,88,61,126,34,0,0        // vpbroadcastd  0x227e(%rip),%ymm7        # 565c <_sk_callback_hsw+0x40c>
+  .byte  197,205,219,247                     // vpand         %ymm7,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,226,125,24,61,113,34,0,0        // vbroadcastss  0x2271(%rip),%ymm7        # 5660 <_sk_callback_hsw+0x410>
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,102,34,0,0        // vbroadcastss  0x2266(%rip),%ymm7        # 5664 <_sk_callback_hsw+0x414>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,128                             // ja            3394 <_sk_load_565_dst_hsw+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 3480 <_sk_load_565_dst_hsw+0xfc>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,94,255,255,255                  // jmpq          3394 <_sk_load_565_dst_hsw+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,65,255,255,255                  // jmpq          3394 <_sk_load_565_dst_hsw+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,20,255,255,255                  // jmpq          3394 <_sk_load_565_dst_hsw+0x10>
+  .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)
@@ -12876,23 +13888,23 @@
   .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,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,115,29,0,0         // vpbroadcastd  0x1d73(%rip),%ymm0        # 4ef8 <_sk_callback_hsw+0x3d8>
+  .byte  196,226,125,88,5,27,33,0,0          // vpbroadcastd  0x211b(%rip),%ymm0        # 5668 <_sk_callback_hsw+0x418>
   .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,102,29,0,0        // vbroadcastss  0x1d66(%rip),%ymm1        # 4efc <_sk_callback_hsw+0x3dc>
+  .byte  196,226,125,24,13,14,33,0,0         // vbroadcastss  0x210e(%rip),%ymm1        # 566c <_sk_callback_hsw+0x41c>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,88,13,93,29,0,0         // vpbroadcastd  0x1d5d(%rip),%ymm1        # 4f00 <_sk_callback_hsw+0x3e0>
+  .byte  196,226,125,88,13,5,33,0,0          // vpbroadcastd  0x2105(%rip),%ymm1        # 5670 <_sk_callback_hsw+0x420>
   .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,29,80,29,0,0         // vbroadcastss  0x1d50(%rip),%ymm3        # 4f04 <_sk_callback_hsw+0x3e4>
+  .byte  196,226,125,24,29,248,32,0,0        // vbroadcastss  0x20f8(%rip),%ymm3        # 5674 <_sk_callback_hsw+0x424>
   .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
-  .byte  196,226,125,88,29,71,29,0,0         // vpbroadcastd  0x1d47(%rip),%ymm3        # 4f08 <_sk_callback_hsw+0x3e8>
+  .byte  196,226,125,88,29,239,32,0,0        // vpbroadcastd  0x20ef(%rip),%ymm3        # 5678 <_sk_callback_hsw+0x428>
   .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,226,125,24,29,58,29,0,0         // vbroadcastss  0x1d3a(%rip),%ymm3        # 4f0c <_sk_callback_hsw+0x3ec>
+  .byte  196,226,125,24,29,226,32,0,0        // vbroadcastss  0x20e2(%rip),%ymm3        # 567c <_sk_callback_hsw+0x42c>
   .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,47,29,0,0         // vbroadcastss  0x1d2f(%rip),%ymm3        # 4f10 <_sk_callback_hsw+0x3f0>
+  .byte  196,226,125,24,29,215,32,0,0        // vbroadcastss  0x20d7(%rip),%ymm3        # 5680 <_sk_callback_hsw+0x430>
   .byte  255,224                             // jmpq          *%rax
 
 HIDDEN _sk_store_565_hsw
@@ -12901,11 +13913,11 @@
 _sk_store_565_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,35,29,0,0           // vbroadcastss  0x1d23(%rip),%ymm8        # 4f14 <_sk_callback_hsw+0x3f4>
+  .byte  196,98,125,24,5,203,32,0,0          // vbroadcastss  0x20cb(%rip),%ymm8        # 5684 <_sk_callback_hsw+0x434>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,193,53,114,241,11               // vpslld        $0xb,%ymm9,%ymm9
-  .byte  196,98,125,24,21,14,29,0,0          // vbroadcastss  0x1d0e(%rip),%ymm10        # 4f18 <_sk_callback_hsw+0x3f8>
+  .byte  196,98,125,24,21,182,32,0,0         // vbroadcastss  0x20b6(%rip),%ymm10        # 5688 <_sk_callback_hsw+0x438>
   .byte  196,65,116,89,210                   // vmulps        %ymm10,%ymm1,%ymm10
   .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
   .byte  196,193,45,114,242,5                // vpslld        $0x5,%ymm10,%ymm10
@@ -12916,7 +13928,7 @@
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3248 <_sk_store_565_hsw+0x65>
+  .byte  117,10                              // jne           3610 <_sk_store_565_hsw+0x65>
   .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -12924,22 +13936,22 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            3244 <_sk_store_565_hsw+0x61>
+  .byte  119,236                             // ja            360c <_sk_store_565_hsw+0x61>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 32a8 <_sk_store_565_hsw+0xc5>
+  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 3670 <_sk_store_565_hsw+0xc5>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  .byte  235,207                             // jmp           3244 <_sk_store_565_hsw+0x61>
+  .byte  235,207                             // jmp           360c <_sk_store_565_hsw+0x61>
   .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
-  .byte  235,191                             // jmp           3244 <_sk_store_565_hsw+0x61>
+  .byte  235,191                             // jmp           360c <_sk_store_565_hsw+0x61>
   .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
-  .byte  235,159                             // jmp           3244 <_sk_store_565_hsw+0x61>
+  .byte  235,159                             // jmp           360c <_sk_store_565_hsw+0x61>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  196                                 // (bad)
   .byte  255                                 // (bad)
@@ -12972,28 +13984,28 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,138,0,0,0                    // jne           335c <_sk_load_4444_hsw+0x98>
+  .byte  15,133,138,0,0,0                    // jne           3724 <_sk_load_4444_hsw+0x98>
   .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
   .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
-  .byte  196,226,125,88,5,54,28,0,0          // vpbroadcastd  0x1c36(%rip),%ymm0        # 4f1c <_sk_callback_hsw+0x3fc>
+  .byte  196,226,125,88,5,222,31,0,0         // vpbroadcastd  0x1fde(%rip),%ymm0        # 568c <_sk_callback_hsw+0x43c>
   .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,41,28,0,0         // vbroadcastss  0x1c29(%rip),%ymm1        # 4f20 <_sk_callback_hsw+0x400>
+  .byte  196,226,125,24,13,209,31,0,0        // vbroadcastss  0x1fd1(%rip),%ymm1        # 5690 <_sk_callback_hsw+0x440>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,88,13,32,28,0,0         // vpbroadcastd  0x1c20(%rip),%ymm1        # 4f24 <_sk_callback_hsw+0x404>
+  .byte  196,226,125,88,13,200,31,0,0        // vpbroadcastd  0x1fc8(%rip),%ymm1        # 5694 <_sk_callback_hsw+0x444>
   .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,21,19,28,0,0         // vbroadcastss  0x1c13(%rip),%ymm2        # 4f28 <_sk_callback_hsw+0x408>
+  .byte  196,226,125,24,21,187,31,0,0        // vbroadcastss  0x1fbb(%rip),%ymm2        # 5698 <_sk_callback_hsw+0x448>
   .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
-  .byte  196,226,125,88,21,10,28,0,0         // vpbroadcastd  0x1c0a(%rip),%ymm2        # 4f2c <_sk_callback_hsw+0x40c>
+  .byte  196,226,125,88,21,178,31,0,0        // vpbroadcastd  0x1fb2(%rip),%ymm2        # 569c <_sk_callback_hsw+0x44c>
   .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,98,125,24,5,253,27,0,0          // vbroadcastss  0x1bfd(%rip),%ymm8        # 4f30 <_sk_callback_hsw+0x410>
+  .byte  196,98,125,24,5,165,31,0,0          // vbroadcastss  0x1fa5(%rip),%ymm8        # 56a0 <_sk_callback_hsw+0x450>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,88,5,243,27,0,0          // vpbroadcastd  0x1bf3(%rip),%ymm8        # 4f34 <_sk_callback_hsw+0x414>
+  .byte  196,98,125,88,5,155,31,0,0          // vpbroadcastd  0x1f9b(%rip),%ymm8        # 56a4 <_sk_callback_hsw+0x454>
   .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
   .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
-  .byte  196,98,125,24,5,229,27,0,0          // vbroadcastss  0x1be5(%rip),%ymm8        # 4f38 <_sk_callback_hsw+0x418>
+  .byte  196,98,125,24,5,141,31,0,0          // vbroadcastss  0x1f8d(%rip),%ymm8        # 56a8 <_sk_callback_hsw+0x458>
   .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -13002,27 +14014,104 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,100,255,255,255              // ja            32d8 <_sk_load_4444_hsw+0x14>
+  .byte  15,135,100,255,255,255              // ja            36a0 <_sk_load_4444_hsw+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 33e0 <_sk_load_4444_hsw+0x11c>
+  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 37a8 <_sk_load_4444_hsw+0x11c>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  233,66,255,255,255                  // jmpq          32d8 <_sk_load_4444_hsw+0x14>
+  .byte  233,66,255,255,255                  // jmpq          36a0 <_sk_load_4444_hsw+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
   .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  233,37,255,255,255                  // jmpq          32d8 <_sk_load_4444_hsw+0x14>
+  .byte  233,37,255,255,255                  // jmpq          36a0 <_sk_load_4444_hsw+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
   .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  .byte  233,248,254,255,255                 // jmpq          32d8 <_sk_load_4444_hsw+0x14>
+  .byte  233,248,254,255,255                 // jmpq          36a0 <_sk_load_4444_hsw+0x14>
+  .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,138,0,0,0                    // jne           385c <_sk_load_4444_dst_hsw+0x98>
+  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
+  .byte  196,226,125,51,252                  // vpmovzxwd     %xmm4,%ymm7
+  .byte  196,226,125,88,37,198,30,0,0        // vpbroadcastd  0x1ec6(%rip),%ymm4        # 56ac <_sk_callback_hsw+0x45c>
+  .byte  197,197,219,228                     // vpand         %ymm4,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,185,30,0,0        // vbroadcastss  0x1eb9(%rip),%ymm5        # 56b0 <_sk_callback_hsw+0x460>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,88,45,176,30,0,0        // vpbroadcastd  0x1eb0(%rip),%ymm5        # 56b4 <_sk_callback_hsw+0x464>
+  .byte  197,197,219,237                     // vpand         %ymm5,%ymm7,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,53,163,30,0,0        // vbroadcastss  0x1ea3(%rip),%ymm6        # 56b8 <_sk_callback_hsw+0x468>
+  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
+  .byte  196,226,125,88,53,154,30,0,0        // vpbroadcastd  0x1e9a(%rip),%ymm6        # 56bc <_sk_callback_hsw+0x46c>
+  .byte  197,197,219,246                     // vpand         %ymm6,%ymm7,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,98,125,24,5,141,30,0,0          // vbroadcastss  0x1e8d(%rip),%ymm8        # 56c0 <_sk_callback_hsw+0x470>
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,98,125,88,5,131,30,0,0          // vpbroadcastd  0x1e83(%rip),%ymm8        # 56c4 <_sk_callback_hsw+0x474>
+  .byte  196,193,69,219,248                  // vpand         %ymm8,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,117,30,0,0          // vbroadcastss  0x1e75(%rip),%ymm8        # 56c8 <_sk_callback_hsw+0x478>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,100,255,255,255              // ja            37d8 <_sk_load_4444_dst_hsw+0x14>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 38e0 <_sk_load_4444_dst_hsw+0x11c>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,66,255,255,255                  // jmpq          37d8 <_sk_load_4444_dst_hsw+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,37,255,255,255                  // jmpq          37d8 <_sk_load_4444_dst_hsw+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,248,254,255,255                 // jmpq          37d8 <_sk_load_4444_dst_hsw+0x14>
   .byte  168,255                             // test          $0xff,%al
   .byte  255                                 // (bad)
   .byte  255,194                             // inc           %edx
@@ -13083,25 +14172,25 @@
   .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,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,143,26,0,0         // vpbroadcastd  0x1a8f(%rip),%ymm0        # 4f3c <_sk_callback_hsw+0x41c>
+  .byte  196,226,125,88,5,31,29,0,0          // vpbroadcastd  0x1d1f(%rip),%ymm0        # 56cc <_sk_callback_hsw+0x47c>
   .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,130,26,0,0        // vbroadcastss  0x1a82(%rip),%ymm1        # 4f40 <_sk_callback_hsw+0x420>
+  .byte  196,226,125,24,13,18,29,0,0         // vbroadcastss  0x1d12(%rip),%ymm1        # 56d0 <_sk_callback_hsw+0x480>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,88,13,121,26,0,0        // vpbroadcastd  0x1a79(%rip),%ymm1        # 4f44 <_sk_callback_hsw+0x424>
+  .byte  196,226,125,88,13,9,29,0,0          // vpbroadcastd  0x1d09(%rip),%ymm1        # 56d4 <_sk_callback_hsw+0x484>
   .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,21,108,26,0,0        // vbroadcastss  0x1a6c(%rip),%ymm2        # 4f48 <_sk_callback_hsw+0x428>
+  .byte  196,226,125,24,21,252,28,0,0        // vbroadcastss  0x1cfc(%rip),%ymm2        # 56d8 <_sk_callback_hsw+0x488>
   .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
-  .byte  196,226,125,88,21,99,26,0,0         // vpbroadcastd  0x1a63(%rip),%ymm2        # 4f4c <_sk_callback_hsw+0x42c>
+  .byte  196,226,125,88,21,243,28,0,0        // vpbroadcastd  0x1cf3(%rip),%ymm2        # 56dc <_sk_callback_hsw+0x48c>
   .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,98,125,24,5,86,26,0,0           // vbroadcastss  0x1a56(%rip),%ymm8        # 4f50 <_sk_callback_hsw+0x430>
+  .byte  196,98,125,24,5,230,28,0,0          // vbroadcastss  0x1ce6(%rip),%ymm8        # 56e0 <_sk_callback_hsw+0x490>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,88,5,76,26,0,0           // vpbroadcastd  0x1a4c(%rip),%ymm8        # 4f54 <_sk_callback_hsw+0x434>
+  .byte  196,98,125,88,5,220,28,0,0          // vpbroadcastd  0x1cdc(%rip),%ymm8        # 56e4 <_sk_callback_hsw+0x494>
   .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
   .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
-  .byte  196,98,125,24,5,62,26,0,0           // vbroadcastss  0x1a3e(%rip),%ymm8        # 4f58 <_sk_callback_hsw+0x438>
+  .byte  196,98,125,24,5,206,28,0,0          // vbroadcastss  0x1cce(%rip),%ymm8        # 56e8 <_sk_callback_hsw+0x498>
   .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -13112,7 +14201,7 @@
 _sk_store_4444_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,43,26,0,0           // vbroadcastss  0x1a2b(%rip),%ymm8        # 4f5c <_sk_callback_hsw+0x43c>
+  .byte  196,98,125,24,5,187,28,0,0          // vbroadcastss  0x1cbb(%rip),%ymm8        # 56ec <_sk_callback_hsw+0x49c>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,193,53,114,241,12               // vpslld        $0xc,%ymm9,%ymm9
@@ -13130,7 +14219,7 @@
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3594 <_sk_store_4444_hsw+0x71>
+  .byte  117,10                              // jne           3a94 <_sk_store_4444_hsw+0x71>
   .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -13138,22 +14227,22 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            3590 <_sk_store_4444_hsw+0x6d>
+  .byte  119,236                             // ja            3a90 <_sk_store_4444_hsw+0x6d>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 35f4 <_sk_store_4444_hsw+0xd1>
+  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 3af4 <_sk_store_4444_hsw+0xd1>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  .byte  235,207                             // jmp           3590 <_sk_store_4444_hsw+0x6d>
+  .byte  235,207                             // jmp           3a90 <_sk_store_4444_hsw+0x6d>
   .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
-  .byte  235,191                             // jmp           3590 <_sk_store_4444_hsw+0x6d>
+  .byte  235,191                             // jmp           3a90 <_sk_store_4444_hsw+0x6d>
   .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
-  .byte  235,159                             // jmp           3590 <_sk_store_4444_hsw+0x6d>
+  .byte  235,159                             // jmp           3a90 <_sk_store_4444_hsw+0x6d>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  196                                 // (bad)
   .byte  255                                 // (bad)
@@ -13188,16 +14277,16 @@
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,88                              // jne           367d <_sk_load_8888_hsw+0x6d>
+  .byte  117,88                              // jne           3b7d <_sk_load_8888_hsw+0x6d>
   .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
-  .byte  197,228,84,5,110,27,0,0             // vandps        0x1b6e(%rip),%ymm3,%ymm0        # 51a0 <_sk_callback_hsw+0x680>
+  .byte  197,228,84,5,14,30,0,0              // vandps        0x1e0e(%rip),%ymm3,%ymm0        # 5940 <_sk_callback_hsw+0x6f0>
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,33,25,0,0           // vbroadcastss  0x1921(%rip),%ymm8        # 4f60 <_sk_callback_hsw+0x440>
+  .byte  196,98,125,24,5,177,27,0,0          // vbroadcastss  0x1bb1(%rip),%ymm8        # 56f0 <_sk_callback_hsw+0x4a0>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
-  .byte  196,226,101,0,13,115,27,0,0         // vpshufb       0x1b73(%rip),%ymm3,%ymm1        # 51c0 <_sk_callback_hsw+0x6a0>
+  .byte  196,226,101,0,13,19,30,0,0          // vpshufb       0x1e13(%rip),%ymm3,%ymm1        # 5960 <_sk_callback_hsw+0x710>
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
   .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
-  .byte  196,226,101,0,21,129,27,0,0         // vpshufb       0x1b81(%rip),%ymm3,%ymm2        # 51e0 <_sk_callback_hsw+0x6c0>
+  .byte  196,226,101,0,21,33,30,0,0          // vpshufb       0x1e21(%rip),%ymm3,%ymm2        # 5980 <_sk_callback_hsw+0x730>
   .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
@@ -13214,7 +14303,44 @@
   .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
   .byte  196,226,125,33,192                  // vpmovsxbd     %xmm0,%ymm0
   .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
-  .byte  235,135                             // jmp           362a <_sk_load_8888_hsw+0x1a>
+  .byte  235,135                             // jmp           3b2a <_sk_load_8888_hsw+0x1a>
+
+HIDDEN _sk_load_8888_dst_hsw
+.globl _sk_load_8888_dst_hsw
+FUNCTION(_sk_load_8888_dst_hsw)
+_sk_load_8888_dst_hsw:
+  .byte  73,137,201                          // mov           %rcx,%r9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
+  .byte  76,3,16                             // add           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,88                              // jne           3c10 <_sk_load_8888_dst_hsw+0x6d>
+  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
+  .byte  197,196,84,37,219,29,0,0            // vandps        0x1ddb(%rip),%ymm7,%ymm4        # 59a0 <_sk_callback_hsw+0x750>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,34,27,0,0           // vbroadcastss  0x1b22(%rip),%ymm8        # 56f4 <_sk_callback_hsw+0x4a4>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  196,226,69,0,45,224,29,0,0          // vpshufb       0x1de0(%rip),%ymm7,%ymm5        # 59c0 <_sk_callback_hsw+0x770>
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  196,226,69,0,53,238,29,0,0          // vpshufb       0x1dee(%rip),%ymm7,%ymm6        # 59e0 <_sk_callback_hsw+0x790>
+  .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  76,137,201                          // mov           %r9,%rcx
+  .byte  255,224                             // jmpq          *%rax
+  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
+  .byte  68,41,193                           // sub           %r8d,%ecx
+  .byte  192,225,3                           // shl           $0x3,%cl
+  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
+  .byte  72,211,232                          // shr           %cl,%rax
+  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
+  .byte  196,226,125,33,228                  // vpmovsxbd     %xmm4,%ymm4
+  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
+  .byte  235,135                             // jmp           3bbd <_sk_load_8888_dst_hsw+0x1a>
 
 HIDDEN _sk_gather_8888_hsw
 .globl _sk_gather_8888_hsw
@@ -13229,14 +14355,14 @@
   .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
   .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
   .byte  196,194,117,144,28,129              // vpgatherdd    %ymm1,(%r9,%ymm0,4),%ymm3
-  .byte  197,229,219,5,47,27,0,0             // vpand         0x1b2f(%rip),%ymm3,%ymm0        # 5200 <_sk_callback_hsw+0x6e0>
+  .byte  197,229,219,5,156,29,0,0            // vpand         0x1d9c(%rip),%ymm3,%ymm0        # 5a00 <_sk_callback_hsw+0x7b0>
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,134,24,0,0          // vbroadcastss  0x1886(%rip),%ymm8        # 4f64 <_sk_callback_hsw+0x444>
+  .byte  196,98,125,24,5,135,26,0,0          // vbroadcastss  0x1a87(%rip),%ymm8        # 56f8 <_sk_callback_hsw+0x4a8>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
-  .byte  196,226,101,0,13,52,27,0,0          // vpshufb       0x1b34(%rip),%ymm3,%ymm1        # 5220 <_sk_callback_hsw+0x700>
+  .byte  196,226,101,0,13,161,29,0,0         // vpshufb       0x1da1(%rip),%ymm3,%ymm1        # 5a20 <_sk_callback_hsw+0x7d0>
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
   .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
-  .byte  196,226,101,0,21,66,27,0,0          // vpshufb       0x1b42(%rip),%ymm3,%ymm2        # 5240 <_sk_callback_hsw+0x720>
+  .byte  196,226,101,0,21,175,29,0,0         // vpshufb       0x1daf(%rip),%ymm3,%ymm2        # 5a40 <_sk_callback_hsw+0x7f0>
   .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
@@ -13253,7 +14379,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
-  .byte  196,98,125,24,5,54,24,0,0           // vbroadcastss  0x1836(%rip),%ymm8        # 4f68 <_sk_callback_hsw+0x448>
+  .byte  196,98,125,24,5,55,26,0,0           // vbroadcastss  0x1a37(%rip),%ymm8        # 56fc <_sk_callback_hsw+0x4ac>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
@@ -13269,7 +14395,7 @@
   .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
   .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,12                              // jne           378c <_sk_store_8888_hsw+0x73>
+  .byte  117,12                              // jne           3d1f <_sk_store_8888_hsw+0x73>
   .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,137,201                          // mov           %r9,%rcx
@@ -13282,7 +14408,7 @@
   .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
   .byte  196,66,125,33,201                   // vpmovsxbd     %xmm9,%ymm9
   .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
-  .byte  235,211                             // jmp           3785 <_sk_store_8888_hsw+0x6c>
+  .byte  235,211                             // jmp           3d18 <_sk_store_8888_hsw+0x6c>
 
 HIDDEN _sk_load_f16_hsw
 .globl _sk_load_f16_hsw
@@ -13291,7 +14417,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,97                              // jne           381d <_sk_load_f16_hsw+0x6b>
+  .byte  117,97                              // jne           3db0 <_sk_load_f16_hsw+0x6b>
   .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
   .byte  197,249,16,84,208,16                // vmovupd       0x10(%rax,%rdx,8),%xmm2
   .byte  197,249,16,92,208,32                // vmovupd       0x20(%rax,%rdx,8),%xmm3
@@ -13317,29 +14443,86 @@
   .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,79                              // je            387c <_sk_load_f16_hsw+0xca>
+  .byte  116,79                              // je            3e0f <_sk_load_f16_hsw+0xca>
   .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,67                              // jb            387c <_sk_load_f16_hsw+0xca>
+  .byte  114,67                              // jb            3e0f <_sk_load_f16_hsw+0xca>
   .byte  197,251,16,84,208,16                // vmovsd        0x10(%rax,%rdx,8),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,68                              // je            3889 <_sk_load_f16_hsw+0xd7>
+  .byte  116,68                              // je            3e1c <_sk_load_f16_hsw+0xd7>
   .byte  197,233,22,84,208,24                // vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,56                              // jb            3889 <_sk_load_f16_hsw+0xd7>
+  .byte  114,56                              // jb            3e1c <_sk_load_f16_hsw+0xd7>
   .byte  197,251,16,92,208,32                // vmovsd        0x20(%rax,%rdx,8),%xmm3
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,114,255,255,255              // je            37d3 <_sk_load_f16_hsw+0x21>
+  .byte  15,132,114,255,255,255              // je            3d66 <_sk_load_f16_hsw+0x21>
   .byte  197,225,22,92,208,40                // vmovhpd       0x28(%rax,%rdx,8),%xmm3,%xmm3
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,98,255,255,255               // jb            37d3 <_sk_load_f16_hsw+0x21>
+  .byte  15,130,98,255,255,255               // jb            3d66 <_sk_load_f16_hsw+0x21>
   .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
-  .byte  233,87,255,255,255                  // jmpq          37d3 <_sk_load_f16_hsw+0x21>
+  .byte  233,87,255,255,255                  // jmpq          3d66 <_sk_load_f16_hsw+0x21>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
   .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
-  .byte  233,74,255,255,255                  // jmpq          37d3 <_sk_load_f16_hsw+0x21>
+  .byte  233,74,255,255,255                  // jmpq          3d66 <_sk_load_f16_hsw+0x21>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
-  .byte  233,65,255,255,255                  // jmpq          37d3 <_sk_load_f16_hsw+0x21>
+  .byte  233,65,255,255,255                  // jmpq          3d66 <_sk_load_f16_hsw+0x21>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,97                              // jne           3e90 <_sk_load_f16_dst_hsw+0x6b>
+  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
+  .byte  197,249,16,116,208,16               // vmovupd       0x10(%rax,%rdx,8),%xmm6
+  .byte  197,249,16,124,208,32               // vmovupd       0x20(%rax,%rdx,8),%xmm7
+  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%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  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  116,79                              // je            3eef <_sk_load_f16_dst_hsw+0xca>
+  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  114,67                              // jb            3eef <_sk_load_f16_dst_hsw+0xca>
+  .byte  197,251,16,116,208,16               // vmovsd        0x10(%rax,%rdx,8),%xmm6
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  116,68                              // je            3efc <_sk_load_f16_dst_hsw+0xd7>
+  .byte  197,201,22,116,208,24               // vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
+  .byte  73,131,248,5                        // cmp           $0x5,%r8
+  .byte  114,56                              // jb            3efc <_sk_load_f16_dst_hsw+0xd7>
+  .byte  197,251,16,124,208,32               // vmovsd        0x20(%rax,%rdx,8),%xmm7
+  .byte  73,131,248,5                        // cmp           $0x5,%r8
+  .byte  15,132,114,255,255,255              // je            3e46 <_sk_load_f16_dst_hsw+0x21>
+  .byte  197,193,22,124,208,40               // vmovhpd       0x28(%rax,%rdx,8),%xmm7,%xmm7
+  .byte  73,131,248,7                        // cmp           $0x7,%r8
+  .byte  15,130,98,255,255,255               // jb            3e46 <_sk_load_f16_dst_hsw+0x21>
+  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
+  .byte  233,87,255,255,255                  // jmpq          3e46 <_sk_load_f16_dst_hsw+0x21>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
+  .byte  233,74,255,255,255                  // jmpq          3e46 <_sk_load_f16_dst_hsw+0x21>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  233,65,255,255,255                  // jmpq          3e46 <_sk_load_f16_dst_hsw+0x21>
 
 HIDDEN _sk_gather_f16_hsw
 .globl _sk_gather_f16_hsw
@@ -13397,7 +14580,7 @@
   .byte  196,65,57,98,205                    // vpunpckldq    %xmm13,%xmm8,%xmm9
   .byte  196,65,57,106,197                   // vpunpckhdq    %xmm13,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,27                              // jne           3981 <_sk_store_f16_hsw+0x65>
+  .byte  117,27                              // jne           3ff4 <_sk_store_f16_hsw+0x65>
   .byte  197,120,17,28,208                   // vmovups       %xmm11,(%rax,%rdx,8)
   .byte  197,120,17,84,208,16                // vmovups       %xmm10,0x10(%rax,%rdx,8)
   .byte  197,120,17,76,208,32                // vmovups       %xmm9,0x20(%rax,%rdx,8)
@@ -13406,22 +14589,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  197,121,214,28,208                  // vmovq         %xmm11,(%rax,%rdx,8)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,241                             // je            397d <_sk_store_f16_hsw+0x61>
+  .byte  116,241                             // je            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,23,92,208,8                 // vmovhpd       %xmm11,0x8(%rax,%rdx,8)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,229                             // jb            397d <_sk_store_f16_hsw+0x61>
+  .byte  114,229                             // jb            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,214,84,208,16               // vmovq         %xmm10,0x10(%rax,%rdx,8)
-  .byte  116,221                             // je            397d <_sk_store_f16_hsw+0x61>
+  .byte  116,221                             // je            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,23,84,208,24                // vmovhpd       %xmm10,0x18(%rax,%rdx,8)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,209                             // jb            397d <_sk_store_f16_hsw+0x61>
+  .byte  114,209                             // jb            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,214,76,208,32               // vmovq         %xmm9,0x20(%rax,%rdx,8)
-  .byte  116,201                             // je            397d <_sk_store_f16_hsw+0x61>
+  .byte  116,201                             // je            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,23,76,208,40                // vmovhpd       %xmm9,0x28(%rax,%rdx,8)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,189                             // jb            397d <_sk_store_f16_hsw+0x61>
+  .byte  114,189                             // jb            3ff0 <_sk_store_f16_hsw+0x61>
   .byte  197,121,214,68,208,48               // vmovq         %xmm8,0x30(%rax,%rdx,8)
-  .byte  235,181                             // jmp           397d <_sk_store_f16_hsw+0x61>
+  .byte  235,181                             // jmp           3ff0 <_sk_store_f16_hsw+0x61>
 
 HIDDEN _sk_load_u16_be_hsw
 .globl _sk_load_u16_be_hsw
@@ -13431,7 +14614,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,204,0,0,0                    // jne           3aaa <_sk_load_u16_be_hsw+0xe2>
+  .byte  15,133,204,0,0,0                    // jne           411d <_sk_load_u16_be_hsw+0xe2>
   .byte  196,65,121,16,4,65                  // vmovupd       (%r9,%rax,2),%xmm8
   .byte  196,193,121,16,84,65,16             // vmovupd       0x10(%r9,%rax,2),%xmm2
   .byte  196,193,121,16,92,65,32             // vmovupd       0x20(%r9,%rax,2),%xmm3
@@ -13450,7 +14633,7 @@
   .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,45,21,0,0          // vbroadcastss  0x152d(%rip),%ymm10        # 4f6c <_sk_callback_hsw+0x44c>
+  .byte  196,98,125,24,21,78,22,0,0          // vbroadcastss  0x164e(%rip),%ymm10        # 5700 <_sk_callback_hsw+0x4b0>
   .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
@@ -13478,29 +14661,29 @@
   .byte  196,65,123,16,4,65                  // vmovsd        (%r9,%rax,2),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,85                              // je            3b10 <_sk_load_u16_be_hsw+0x148>
+  .byte  116,85                              // je            4183 <_sk_load_u16_be_hsw+0x148>
   .byte  196,65,57,22,68,65,8                // vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,72                              // jb            3b10 <_sk_load_u16_be_hsw+0x148>
+  .byte  114,72                              // jb            4183 <_sk_load_u16_be_hsw+0x148>
   .byte  196,193,123,16,84,65,16             // vmovsd        0x10(%r9,%rax,2),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,72                              // je            3b1d <_sk_load_u16_be_hsw+0x155>
+  .byte  116,72                              // je            4190 <_sk_load_u16_be_hsw+0x155>
   .byte  196,193,105,22,84,65,24             // vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,59                              // jb            3b1d <_sk_load_u16_be_hsw+0x155>
+  .byte  114,59                              // jb            4190 <_sk_load_u16_be_hsw+0x155>
   .byte  196,193,123,16,92,65,32             // vmovsd        0x20(%r9,%rax,2),%xmm3
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,6,255,255,255                // je            39f9 <_sk_load_u16_be_hsw+0x31>
+  .byte  15,132,6,255,255,255                // je            406c <_sk_load_u16_be_hsw+0x31>
   .byte  196,193,97,22,92,65,40              // vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,245,254,255,255              // jb            39f9 <_sk_load_u16_be_hsw+0x31>
+  .byte  15,130,245,254,255,255              // jb            406c <_sk_load_u16_be_hsw+0x31>
   .byte  196,65,122,126,76,65,48             // vmovq         0x30(%r9,%rax,2),%xmm9
-  .byte  233,233,254,255,255                 // jmpq          39f9 <_sk_load_u16_be_hsw+0x31>
+  .byte  233,233,254,255,255                 // jmpq          406c <_sk_load_u16_be_hsw+0x31>
   .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          39f9 <_sk_load_u16_be_hsw+0x31>
+  .byte  233,220,254,255,255                 // jmpq          406c <_sk_load_u16_be_hsw+0x31>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
-  .byte  233,211,254,255,255                 // jmpq          39f9 <_sk_load_u16_be_hsw+0x31>
+  .byte  233,211,254,255,255                 // jmpq          406c <_sk_load_u16_be_hsw+0x31>
 
 HIDDEN _sk_load_rgb_u16_be_hsw
 .globl _sk_load_rgb_u16_be_hsw
@@ -13510,7 +14693,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,204,0,0,0                    // jne           3c04 <_sk_load_rgb_u16_be_hsw+0xde>
+  .byte  15,133,204,0,0,0                    // jne           4277 <_sk_load_rgb_u16_be_hsw+0xde>
   .byte  196,193,122,111,4,65                // vmovdqu       (%r9,%rax,2),%xmm0
   .byte  196,193,122,111,84,65,12            // vmovdqu       0xc(%r9,%rax,2),%xmm2
   .byte  196,193,122,111,76,65,24            // vmovdqu       0x18(%r9,%rax,2),%xmm1
@@ -13534,7 +14717,7 @@
   .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,190,19,0,0         // vbroadcastss  0x13be(%rip),%ymm10        # 4f70 <_sk_callback_hsw+0x450>
+  .byte  196,98,125,24,21,223,20,0,0         // vbroadcastss  0x14df(%rip),%ymm10        # 5704 <_sk_callback_hsw+0x4b4>
   .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
@@ -13551,41 +14734,41 @@
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
   .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,114,19,0,0        // vbroadcastss  0x1372(%rip),%ymm3        # 4f74 <_sk_callback_hsw+0x454>
+  .byte  196,226,125,24,29,147,20,0,0        // vbroadcastss  0x1493(%rip),%ymm3        # 5708 <_sk_callback_hsw+0x4b8>
   .byte  255,224                             // jmpq          *%rax
   .byte  196,193,121,110,4,65                // vmovd         (%r9,%rax,2),%xmm0
   .byte  196,193,121,196,68,65,4,2           // vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,5                               // jne           3c1d <_sk_load_rgb_u16_be_hsw+0xf7>
-  .byte  233,79,255,255,255                  // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  117,5                               // jne           4290 <_sk_load_rgb_u16_be_hsw+0xf7>
+  .byte  233,79,255,255,255                  // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
   .byte  196,193,121,110,76,65,6             // vmovd         0x6(%r9,%rax,2),%xmm1
   .byte  196,65,113,196,68,65,10,2           // vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,26                              // jb            3c4c <_sk_load_rgb_u16_be_hsw+0x126>
+  .byte  114,26                              // jb            42bf <_sk_load_rgb_u16_be_hsw+0x126>
   .byte  196,193,121,110,76,65,12            // vmovd         0xc(%r9,%rax,2),%xmm1
   .byte  196,193,113,196,84,65,16,2          // vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  117,10                              // jne           3c51 <_sk_load_rgb_u16_be_hsw+0x12b>
-  .byte  233,32,255,255,255                  // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
-  .byte  233,27,255,255,255                  // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  117,10                              // jne           42c4 <_sk_load_rgb_u16_be_hsw+0x12b>
+  .byte  233,32,255,255,255                  // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  233,27,255,255,255                  // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
   .byte  196,193,121,110,76,65,18            // vmovd         0x12(%r9,%rax,2),%xmm1
   .byte  196,65,113,196,76,65,22,2           // vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,26                              // jb            3c80 <_sk_load_rgb_u16_be_hsw+0x15a>
+  .byte  114,26                              // jb            42f3 <_sk_load_rgb_u16_be_hsw+0x15a>
   .byte  196,193,121,110,76,65,24            // vmovd         0x18(%r9,%rax,2),%xmm1
   .byte  196,193,113,196,76,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  117,10                              // jne           3c85 <_sk_load_rgb_u16_be_hsw+0x15f>
-  .byte  233,236,254,255,255                 // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
-  .byte  233,231,254,255,255                 // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  117,10                              // jne           42f8 <_sk_load_rgb_u16_be_hsw+0x15f>
+  .byte  233,236,254,255,255                 // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  233,231,254,255,255                 // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
   .byte  196,193,121,110,92,65,30            // vmovd         0x1e(%r9,%rax,2),%xmm3
   .byte  196,65,97,196,92,65,34,2            // vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,20                              // jb            3cae <_sk_load_rgb_u16_be_hsw+0x188>
+  .byte  114,20                              // jb            4321 <_sk_load_rgb_u16_be_hsw+0x188>
   .byte  196,193,121,110,92,65,36            // vmovd         0x24(%r9,%rax,2),%xmm3
   .byte  196,193,97,196,92,65,40,2           // vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
-  .byte  233,190,254,255,255                 // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
-  .byte  233,185,254,255,255                 // jmpq          3b6c <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  233,190,254,255,255                 // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
+  .byte  233,185,254,255,255                 // jmpq          41df <_sk_load_rgb_u16_be_hsw+0x46>
 
 HIDDEN _sk_store_u16_be_hsw
 .globl _sk_store_u16_be_hsw
@@ -13594,7 +14777,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
-  .byte  196,98,125,24,5,175,18,0,0          // vbroadcastss  0x12af(%rip),%ymm8        # 4f78 <_sk_callback_hsw+0x458>
+  .byte  196,98,125,24,5,208,19,0,0          // vbroadcastss  0x13d0(%rip),%ymm8        # 570c <_sk_callback_hsw+0x4bc>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
@@ -13632,7 +14815,7 @@
   .byte  196,65,17,98,200                    // vpunpckldq    %xmm8,%xmm13,%xmm9
   .byte  196,65,17,106,192                   // vpunpckhdq    %xmm8,%xmm13,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,31                              // jne           3dad <_sk_store_u16_be_hsw+0xfa>
+  .byte  117,31                              // jne           4420 <_sk_store_u16_be_hsw+0xfa>
   .byte  196,65,120,17,28,65                 // vmovups       %xmm11,(%r9,%rax,2)
   .byte  196,65,120,17,84,65,16              // vmovups       %xmm10,0x10(%r9,%rax,2)
   .byte  196,65,120,17,76,65,32              // vmovups       %xmm9,0x20(%r9,%rax,2)
@@ -13641,22 +14824,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,214,28,65                // vmovq         %xmm11,(%r9,%rax,2)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  116,240                             // je            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,23,92,65,8               // vmovhpd       %xmm11,0x8(%r9,%rax,2)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  114,227                             // jb            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,214,84,65,16             // vmovq         %xmm10,0x10(%r9,%rax,2)
-  .byte  116,218                             // je            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  116,218                             // je            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,23,84,65,24              // vmovhpd       %xmm10,0x18(%r9,%rax,2)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,205                             // jb            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  114,205                             // jb            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,214,76,65,32             // vmovq         %xmm9,0x20(%r9,%rax,2)
-  .byte  116,196                             // je            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  116,196                             // je            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,23,76,65,40              // vmovhpd       %xmm9,0x28(%r9,%rax,2)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,183                             // jb            3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  114,183                             // jb            441c <_sk_store_u16_be_hsw+0xf6>
   .byte  196,65,121,214,68,65,48             // vmovq         %xmm8,0x30(%r9,%rax,2)
-  .byte  235,174                             // jmp           3da9 <_sk_store_u16_be_hsw+0xf6>
+  .byte  235,174                             // jmp           441c <_sk_store_u16_be_hsw+0xf6>
 
 HIDDEN _sk_load_f32_hsw
 .globl _sk_load_f32_hsw
@@ -13664,10 +14847,10 @@
 _sk_load_f32_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  119,110                             // ja            3e71 <_sk_load_f32_hsw+0x76>
+  .byte  119,110                             // ja            44e4 <_sk_load_f32_hsw+0x76>
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
-  .byte  76,141,29,135,0,0,0                 // lea           0x87(%rip),%r11        # 3e9c <_sk_load_f32_hsw+0xa1>
+  .byte  76,141,29,132,0,0,0                 // lea           0x84(%rip),%r11        # 450c <_sk_load_f32_hsw+0x9e>
   .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
   .byte  76,1,216                            // add           %r11,%rax
   .byte  255,224                             // jmpq          *%rax
@@ -13693,21 +14876,71 @@
   .byte  196,193,101,21,216                  // vunpckhpd     %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
-  .byte  15,31,0                             // nopl          (%rax)
-  .byte  130                                 // (bad)
+  .byte  133,255                             // test          %edi,%edi
   .byte  255                                 // (bad)
-  .byte  255                                 // (bad)
-  .byte  255,201                             // dec           %ecx
+  .byte  255,204                             // dec           %esp
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  188,255,255,255,175                 // mov           $0xafffffff,%esp
+  .byte  191,255,255,255,178                 // mov           $0xb2ffffff,%edi
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,162,255,255,255,154             // jmpq          *-0x65000001(%rdx)
+  .byte  255,165,255,255,255,157             // jmpq          *-0x62000001(%rbp)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,146,255,255,255,138             // callq         *-0x75000001(%rdx)
+  .byte  255,149,255,255,255,141             // callq         *-0x72000001(%rbp)
+  .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  73,131,248,7                        // cmp           $0x7,%r8
+  .byte  119,110                             // ja            45a2 <_sk_load_f32_dst_hsw+0x76>
+  .byte  76,139,8                            // mov           (%rax),%r9
+  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
+  .byte  76,141,29,134,0,0,0                 // lea           0x86(%rip),%r11        # 45cc <_sk_load_f32_dst_hsw+0xa0>
+  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
+  .byte  196,131,125,24,124,145,96,1         // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
+  .byte  196,131,125,24,108,145,80,1         // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
+  .byte  196,131,125,24,116,145,64,1         // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
+  .byte  196,129,121,16,100,145,48           // vmovupd       0x30(%r9,%r10,4),%xmm4
+  .byte  196,195,93,13,224,12                // vblendpd      $0xc,%ymm8,%ymm4,%ymm4
+  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
+  .byte  196,99,61,13,207,12                 // vblendpd      $0xc,%ymm7,%ymm8,%ymm9
+  .byte  196,129,121,16,124,145,16           // vmovupd       0x10(%r9,%r10,4),%xmm7
+  .byte  196,99,69,13,213,12                 // vblendpd      $0xc,%ymm5,%ymm7,%ymm10
+  .byte  196,129,121,16,44,145               // vmovupd       (%r9,%r10,4),%xmm5
+  .byte  196,227,85,13,238,12                // vblendpd      $0xc,%ymm6,%ymm5,%ymm5
+  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
+  .byte  196,193,84,21,250                   // vunpckhps     %ymm10,%ymm5,%ymm7
+  .byte  197,180,20,236                      // vunpcklps     %ymm4,%ymm9,%ymm5
+  .byte  197,52,21,196                       // vunpckhps     %ymm4,%ymm9,%ymm8
+  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
+  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%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  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  131,255,255                         // cmp           $0xffffffff,%edi
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,176                 // mov           $0xb0ffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,147,255,255,255,139             // callq         *-0x74000001(%rbx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
@@ -13728,7 +14961,7 @@
   .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
   .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,55                              // jne           3f29 <_sk_store_f32_hsw+0x6d>
+  .byte  117,55                              // jne           4659 <_sk_store_f32_hsw+0x6d>
   .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
@@ -13741,22 +14974,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,17,20,129                // vmovupd       %xmm10,(%r9,%rax,4)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  116,240                             // je            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,65,121,17,76,129,16             // vmovupd       %xmm9,0x10(%r9,%rax,4)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  114,227                             // jb            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,65,121,17,68,129,32             // vmovupd       %xmm8,0x20(%r9,%rax,4)
-  .byte  116,218                             // je            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  116,218                             // je            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,65,121,17,92,129,48             // vmovupd       %xmm11,0x30(%r9,%rax,4)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,205                             // jb            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  114,205                             // jb            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,67,125,25,84,129,64,1           // vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
-  .byte  116,195                             // je            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  116,195                             // je            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,67,125,25,76,129,80,1           // vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,181                             // jb            3f25 <_sk_store_f32_hsw+0x69>
+  .byte  114,181                             // jb            4655 <_sk_store_f32_hsw+0x69>
   .byte  196,67,125,25,68,129,96,1           // vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
-  .byte  235,171                             // jmp           3f25 <_sk_store_f32_hsw+0x69>
+  .byte  235,171                             // jmp           4655 <_sk_store_f32_hsw+0x69>
 
 HIDDEN _sk_clamp_x_hsw
 .globl _sk_clamp_x_hsw
@@ -13829,7 +15062,7 @@
   .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,61,15,0,0              // vmulss        0xf3d(%rip),%xmm9,%xmm0        # 4f7c <_sk_callback_hsw+0x45c>
+  .byte  197,178,89,5,161,15,0,0             // vmulss        0xfa1(%rip),%xmm9,%xmm0        # 5710 <_sk_callback_hsw+0x4c0>
   .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
@@ -13855,7 +15088,7 @@
   .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,225,14,0,0            // vmulss        0xee1(%rip),%xmm9,%xmm1        # 4f80 <_sk_callback_hsw+0x460>
+  .byte  197,178,89,13,69,15,0,0             // vmulss        0xf45(%rip),%xmm9,%xmm1        # 5714 <_sk_callback_hsw+0x4c4>
   .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
@@ -13876,7 +15109,7 @@
 _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,154,14,0,0          // vbroadcastss  0xe9a(%rip),%ymm8        # 4f84 <_sk_callback_hsw+0x464>
+  .byte  196,98,125,24,5,254,14,0,0          // vbroadcastss  0xefe(%rip),%ymm8        # 5718 <_sk_callback_hsw+0x4c8>
   .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -13894,9 +15127,9 @@
 .globl _sk_mirror_x_1_hsw
 FUNCTION(_sk_mirror_x_1_hsw)
 _sk_mirror_x_1_hsw:
-  .byte  196,98,125,24,5,125,14,0,0          // vbroadcastss  0xe7d(%rip),%ymm8        # 4f88 <_sk_callback_hsw+0x468>
+  .byte  196,98,125,24,5,225,14,0,0          // vbroadcastss  0xee1(%rip),%ymm8        # 571c <_sk_callback_hsw+0x4cc>
   .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,13,115,14,0,0         // vbroadcastss  0xe73(%rip),%ymm9        # 4f8c <_sk_callback_hsw+0x46c>
+  .byte  196,98,125,24,13,215,14,0,0         // vbroadcastss  0xed7(%rip),%ymm9        # 5720 <_sk_callback_hsw+0x4d0>
   .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
@@ -13912,11 +15145,11 @@
 .globl _sk_luminance_to_alpha_hsw
 FUNCTION(_sk_luminance_to_alpha_hsw)
 _sk_luminance_to_alpha_hsw:
-  .byte  196,226,125,24,29,67,14,0,0         // vbroadcastss  0xe43(%rip),%ymm3        # 4f90 <_sk_callback_hsw+0x470>
-  .byte  196,98,125,24,5,62,14,0,0           // vbroadcastss  0xe3e(%rip),%ymm8        # 4f94 <_sk_callback_hsw+0x474>
+  .byte  196,226,125,24,29,167,14,0,0        // vbroadcastss  0xea7(%rip),%ymm3        # 5724 <_sk_callback_hsw+0x4d4>
+  .byte  196,98,125,24,5,162,14,0,0          // vbroadcastss  0xea2(%rip),%ymm8        # 5728 <_sk_callback_hsw+0x4d8>
   .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,47,14,0,0         // vbroadcastss  0xe2f(%rip),%ymm3        # 4f98 <_sk_callback_hsw+0x478>
+  .byte  196,226,125,24,29,147,14,0,0        // vbroadcastss  0xe93(%rip),%ymm3        # 572c <_sk_callback_hsw+0x4dc>
   .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
@@ -14090,9 +15323,9 @@
   .byte  76,139,72,8                         // mov           0x8(%rax),%r9
   .byte  77,137,211                          // mov           %r10,%r11
   .byte  73,255,203                          // dec           %r11
-  .byte  120,7                               // js            4422 <_sk_evenly_spaced_gradient_hsw+0x19>
+  .byte  120,7                               // js            4b52 <_sk_evenly_spaced_gradient_hsw+0x19>
   .byte  196,193,242,42,203                  // vcvtsi2ss     %r11,%xmm1,%xmm1
-  .byte  235,22                              // jmp           4438 <_sk_evenly_spaced_gradient_hsw+0x2f>
+  .byte  235,22                              // jmp           4b68 <_sk_evenly_spaced_gradient_hsw+0x2f>
   .byte  76,137,219                          // mov           %r11,%rbx
   .byte  72,209,235                          // shr           %rbx
   .byte  65,131,227,1                        // and           $0x1,%r11d
@@ -14103,7 +15336,7 @@
   .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
   .byte  197,126,91,217                      // vcvttps2dq    %ymm1,%ymm11
   .byte  73,131,250,8                        // cmp           $0x8,%r10
-  .byte  119,70                              // ja            4491 <_sk_evenly_spaced_gradient_hsw+0x88>
+  .byte  119,70                              // ja            4bc1 <_sk_evenly_spaced_gradient_hsw+0x88>
   .byte  196,66,37,22,1                      // vpermps       (%r9),%ymm11,%ymm8
   .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
   .byte  196,98,37,22,11                     // vpermps       (%rbx),%ymm11,%ymm9
@@ -14119,7 +15352,7 @@
   .byte  196,226,37,22,27                    // vpermps       (%rbx),%ymm11,%ymm3
   .byte  72,139,64,64                        // mov           0x40(%rax),%rax
   .byte  196,98,37,22,40                     // vpermps       (%rax),%ymm11,%ymm13
-  .byte  235,110                             // jmp           44ff <_sk_evenly_spaced_gradient_hsw+0xf6>
+  .byte  235,110                             // jmp           4c2f <_sk_evenly_spaced_gradient_hsw+0xf6>
   .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
   .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
   .byte  196,2,117,146,4,153                 // vgatherdps    %ymm1,(%r9,%ymm11,4),%ymm8
@@ -14156,14 +15389,14 @@
 .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,119,10,0,0         // vbroadcastss  0xa77(%rip),%ymm0        # 4f9c <_sk_callback_hsw+0x47c>
-  .byte  196,226,125,24,13,114,10,0,0        // vbroadcastss  0xa72(%rip),%ymm1        # 4fa0 <_sk_callback_hsw+0x480>
+  .byte  196,226,125,24,5,219,10,0,0         // vbroadcastss  0xadb(%rip),%ymm0        # 5730 <_sk_callback_hsw+0x4e0>
+  .byte  196,226,125,24,13,214,10,0,0        // vbroadcastss  0xad6(%rip),%ymm1        # 5734 <_sk_callback_hsw+0x4e4>
   .byte  196,226,101,168,200                 // vfmadd213ps   %ymm0,%ymm3,%ymm1
-  .byte  196,226,125,24,5,104,10,0,0         // vbroadcastss  0xa68(%rip),%ymm0        # 4fa4 <_sk_callback_hsw+0x484>
+  .byte  196,226,125,24,5,204,10,0,0         // vbroadcastss  0xacc(%rip),%ymm0        # 5738 <_sk_callback_hsw+0x4e8>
   .byte  196,226,101,184,193                 // vfmadd231ps   %ymm1,%ymm3,%ymm0
-  .byte  196,226,125,24,13,94,10,0,0         // vbroadcastss  0xa5e(%rip),%ymm1        # 4fa8 <_sk_callback_hsw+0x488>
+  .byte  196,226,125,24,13,194,10,0,0        // vbroadcastss  0xac2(%rip),%ymm1        # 573c <_sk_callback_hsw+0x4ec>
   .byte  196,226,101,184,200                 // vfmadd231ps   %ymm0,%ymm3,%ymm1
-  .byte  196,226,125,24,5,84,10,0,0          // vbroadcastss  0xa54(%rip),%ymm0        # 4fac <_sk_callback_hsw+0x48c>
+  .byte  196,226,125,24,5,184,10,0,0         // vbroadcastss  0xab8(%rip),%ymm0        # 5740 <_sk_callback_hsw+0x4f0>
   .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
@@ -14178,11 +15411,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  73,131,249,1                        // cmp           $0x1,%r9
-  .byte  15,134,180,0,0,0                    // jbe           4630 <_sk_gradient_hsw+0xc3>
+  .byte  15,134,180,0,0,0                    // jbe           4d60 <_sk_gradient_hsw+0xc3>
   .byte  76,139,80,72                        // mov           0x48(%rax),%r10
   .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
   .byte  65,187,1,0,0,0                      // mov           $0x1,%r11d
-  .byte  196,226,125,24,21,29,10,0,0         // vbroadcastss  0xa1d(%rip),%ymm2        # 4fb0 <_sk_callback_hsw+0x490>
+  .byte  196,226,125,24,21,129,10,0,0        // vbroadcastss  0xa81(%rip),%ymm2        # 5744 <_sk_callback_hsw+0x4f4>
   .byte  196,65,53,239,201                   // vpxor         %ymm9,%ymm9,%ymm9
   .byte  196,130,125,24,28,154               // vbroadcastss  (%r10,%r11,4),%ymm3
   .byte  197,228,194,216,2                   // vcmpleps      %ymm0,%ymm3,%ymm3
@@ -14190,10 +15423,10 @@
   .byte  196,65,101,254,201                  // vpaddd        %ymm9,%ymm3,%ymm9
   .byte  73,255,195                          // inc           %r11
   .byte  77,57,217                           // cmp           %r11,%r9
-  .byte  117,226                             // jne           4598 <_sk_gradient_hsw+0x2b>
+  .byte  117,226                             // jne           4cc8 <_sk_gradient_hsw+0x2b>
   .byte  76,139,80,8                         // mov           0x8(%rax),%r10
   .byte  73,131,249,8                        // cmp           $0x8,%r9
-  .byte  118,121                             // jbe           4639 <_sk_gradient_hsw+0xcc>
+  .byte  118,121                             // jbe           4d69 <_sk_gradient_hsw+0xcc>
   .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
   .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
   .byte  196,2,117,146,4,138                 // vgatherdps    %ymm1,(%r10,%ymm9,4),%ymm8
@@ -14217,7 +15450,7 @@
   .byte  196,130,21,146,28,137               // vgatherdps    %ymm13,(%r9,%ymm9,4),%ymm3
   .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           467d <_sk_gradient_hsw+0x110>
+  .byte  235,77                              // jmp           4dad <_sk_gradient_hsw+0x110>
   .byte  76,139,80,8                         // mov           0x8(%rax),%r10
   .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
   .byte  196,66,53,22,2                      // vpermps       (%r10),%ymm9,%ymm8
@@ -14277,24 +15510,24 @@
   .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,156,8,0,0          // vbroadcastss  0x89c(%rip),%ymm13        # 4fb4 <_sk_callback_hsw+0x494>
-  .byte  196,98,125,24,53,151,8,0,0          // vbroadcastss  0x897(%rip),%ymm14        # 4fb8 <_sk_callback_hsw+0x498>
+  .byte  196,98,125,24,45,0,9,0,0            // vbroadcastss  0x900(%rip),%ymm13        # 5748 <_sk_callback_hsw+0x4f8>
+  .byte  196,98,125,24,53,251,8,0,0          // vbroadcastss  0x8fb(%rip),%ymm14        # 574c <_sk_callback_hsw+0x4fc>
   .byte  196,66,29,184,245                   // vfmadd231ps   %ymm13,%ymm12,%ymm14
-  .byte  196,98,125,24,45,141,8,0,0          // vbroadcastss  0x88d(%rip),%ymm13        # 4fbc <_sk_callback_hsw+0x49c>
+  .byte  196,98,125,24,45,241,8,0,0          // vbroadcastss  0x8f1(%rip),%ymm13        # 5750 <_sk_callback_hsw+0x500>
   .byte  196,66,29,184,238                   // vfmadd231ps   %ymm14,%ymm12,%ymm13
-  .byte  196,98,125,24,53,131,8,0,0          // vbroadcastss  0x883(%rip),%ymm14        # 4fc0 <_sk_callback_hsw+0x4a0>
+  .byte  196,98,125,24,53,231,8,0,0          // vbroadcastss  0x8e7(%rip),%ymm14        # 5754 <_sk_callback_hsw+0x504>
   .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,110,8,0,0          // vbroadcastss  0x86e(%rip),%ymm10        # 4fc4 <_sk_callback_hsw+0x4a4>
+  .byte  196,98,125,24,21,210,8,0,0          // vbroadcastss  0x8d2(%rip),%ymm10        # 5758 <_sk_callback_hsw+0x508>
   .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,88,8,0,0           // vbroadcastss  0x858(%rip),%ymm10        # 4fc8 <_sk_callback_hsw+0x4a8>
+  .byte  196,98,125,24,21,188,8,0,0          // vbroadcastss  0x8bc(%rip),%ymm10        # 575c <_sk_callback_hsw+0x50c>
   .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,66,8,0,0           // vbroadcastss  0x842(%rip),%ymm10        # 4fcc <_sk_callback_hsw+0x4ac>
+  .byte  196,98,125,24,21,166,8,0,0          // vbroadcastss  0x8a6(%rip),%ymm10        # 5760 <_sk_callback_hsw+0x510>
   .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
@@ -14317,7 +15550,7 @@
 FUNCTION(_sk_save_xy_hsw)
 _sk_save_xy_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,15,8,0,0            // vbroadcastss  0x80f(%rip),%ymm8        # 4fd0 <_sk_callback_hsw+0x4b0>
+  .byte  196,98,125,24,5,115,8,0,0           // vbroadcastss  0x873(%rip),%ymm8        # 5764 <_sk_callback_hsw+0x514>
   .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
@@ -14351,9 +15584,9 @@
 FUNCTION(_sk_bilinear_nx_hsw)
 _sk_bilinear_nx_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,163,7,0,0          // vbroadcastss  0x7a3(%rip),%ymm0        # 4fd4 <_sk_callback_hsw+0x4b4>
+  .byte  196,226,125,24,5,7,8,0,0            // vbroadcastss  0x807(%rip),%ymm0        # 5768 <_sk_callback_hsw+0x518>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,154,7,0,0           // vbroadcastss  0x79a(%rip),%ymm8        # 4fd8 <_sk_callback_hsw+0x4b8>
+  .byte  196,98,125,24,5,254,7,0,0           // vbroadcastss  0x7fe(%rip),%ymm8        # 576c <_sk_callback_hsw+0x51c>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14364,7 +15597,7 @@
 FUNCTION(_sk_bilinear_px_hsw)
 _sk_bilinear_px_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,130,7,0,0          // vbroadcastss  0x782(%rip),%ymm0        # 4fdc <_sk_callback_hsw+0x4bc>
+  .byte  196,226,125,24,5,230,7,0,0          // vbroadcastss  0x7e6(%rip),%ymm0        # 5770 <_sk_callback_hsw+0x520>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
   .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -14376,9 +15609,9 @@
 FUNCTION(_sk_bilinear_ny_hsw)
 _sk_bilinear_ny_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,102,7,0,0         // vbroadcastss  0x766(%rip),%ymm1        # 4fe0 <_sk_callback_hsw+0x4c0>
+  .byte  196,226,125,24,13,202,7,0,0         // vbroadcastss  0x7ca(%rip),%ymm1        # 5774 <_sk_callback_hsw+0x524>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,92,7,0,0            // vbroadcastss  0x75c(%rip),%ymm8        # 4fe4 <_sk_callback_hsw+0x4c4>
+  .byte  196,98,125,24,5,192,7,0,0           // vbroadcastss  0x7c0(%rip),%ymm8        # 5778 <_sk_callback_hsw+0x528>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14389,7 +15622,7 @@
 FUNCTION(_sk_bilinear_py_hsw)
 _sk_bilinear_py_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,68,7,0,0          // vbroadcastss  0x744(%rip),%ymm1        # 4fe8 <_sk_callback_hsw+0x4c8>
+  .byte  196,226,125,24,13,168,7,0,0         // vbroadcastss  0x7a8(%rip),%ymm1        # 577c <_sk_callback_hsw+0x52c>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
   .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -14401,13 +15634,13 @@
 FUNCTION(_sk_bicubic_n3x_hsw)
 _sk_bicubic_n3x_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,39,7,0,0           // vbroadcastss  0x727(%rip),%ymm0        # 4fec <_sk_callback_hsw+0x4cc>
+  .byte  196,226,125,24,5,139,7,0,0          // vbroadcastss  0x78b(%rip),%ymm0        # 5780 <_sk_callback_hsw+0x530>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,30,7,0,0            // vbroadcastss  0x71e(%rip),%ymm8        # 4ff0 <_sk_callback_hsw+0x4d0>
+  .byte  196,98,125,24,5,130,7,0,0           // vbroadcastss  0x782(%rip),%ymm8        # 5784 <_sk_callback_hsw+0x534>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,15,7,0,0           // vbroadcastss  0x70f(%rip),%ymm10        # 4ff4 <_sk_callback_hsw+0x4d4>
-  .byte  196,98,125,24,29,10,7,0,0           // vbroadcastss  0x70a(%rip),%ymm11        # 4ff8 <_sk_callback_hsw+0x4d8>
+  .byte  196,98,125,24,21,115,7,0,0          // vbroadcastss  0x773(%rip),%ymm10        # 5788 <_sk_callback_hsw+0x538>
+  .byte  196,98,125,24,29,110,7,0,0          // vbroadcastss  0x76e(%rip),%ymm11        # 578c <_sk_callback_hsw+0x53c>
   .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,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -14419,16 +15652,16 @@
 FUNCTION(_sk_bicubic_n1x_hsw)
 _sk_bicubic_n1x_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,237,6,0,0          // vbroadcastss  0x6ed(%rip),%ymm0        # 4ffc <_sk_callback_hsw+0x4dc>
+  .byte  196,226,125,24,5,81,7,0,0           // vbroadcastss  0x751(%rip),%ymm0        # 5790 <_sk_callback_hsw+0x540>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,228,6,0,0           // vbroadcastss  0x6e4(%rip),%ymm8        # 5000 <_sk_callback_hsw+0x4e0>
+  .byte  196,98,125,24,5,72,7,0,0            // vbroadcastss  0x748(%rip),%ymm8        # 5794 <_sk_callback_hsw+0x544>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
-  .byte  196,98,125,24,13,218,6,0,0          // vbroadcastss  0x6da(%rip),%ymm9        # 5004 <_sk_callback_hsw+0x4e4>
-  .byte  196,98,125,24,21,213,6,0,0          // vbroadcastss  0x6d5(%rip),%ymm10        # 5008 <_sk_callback_hsw+0x4e8>
+  .byte  196,98,125,24,13,62,7,0,0           // vbroadcastss  0x73e(%rip),%ymm9        # 5798 <_sk_callback_hsw+0x548>
+  .byte  196,98,125,24,21,57,7,0,0           // vbroadcastss  0x739(%rip),%ymm10        # 579c <_sk_callback_hsw+0x54c>
   .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
-  .byte  196,98,125,24,13,203,6,0,0          // vbroadcastss  0x6cb(%rip),%ymm9        # 500c <_sk_callback_hsw+0x4ec>
+  .byte  196,98,125,24,13,47,7,0,0           // vbroadcastss  0x72f(%rip),%ymm9        # 57a0 <_sk_callback_hsw+0x550>
   .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
-  .byte  196,98,125,24,21,193,6,0,0          // vbroadcastss  0x6c1(%rip),%ymm10        # 5010 <_sk_callback_hsw+0x4f0>
+  .byte  196,98,125,24,21,37,7,0,0           // vbroadcastss  0x725(%rip),%ymm10        # 57a4 <_sk_callback_hsw+0x554>
   .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
   .byte  197,124,17,144,128,0,0,0            // vmovups       %ymm10,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14439,14 +15672,14 @@
 FUNCTION(_sk_bicubic_p1x_hsw)
 _sk_bicubic_p1x_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,169,6,0,0           // vbroadcastss  0x6a9(%rip),%ymm8        # 5014 <_sk_callback_hsw+0x4f4>
+  .byte  196,98,125,24,5,13,7,0,0            // vbroadcastss  0x70d(%rip),%ymm8        # 57a8 <_sk_callback_hsw+0x558>
   .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
   .byte  197,124,16,72,64                    // vmovups       0x40(%rax),%ymm9
-  .byte  196,98,125,24,21,155,6,0,0          // vbroadcastss  0x69b(%rip),%ymm10        # 5018 <_sk_callback_hsw+0x4f8>
-  .byte  196,98,125,24,29,150,6,0,0          // vbroadcastss  0x696(%rip),%ymm11        # 501c <_sk_callback_hsw+0x4fc>
+  .byte  196,98,125,24,21,255,6,0,0          // vbroadcastss  0x6ff(%rip),%ymm10        # 57ac <_sk_callback_hsw+0x55c>
+  .byte  196,98,125,24,29,250,6,0,0          // vbroadcastss  0x6fa(%rip),%ymm11        # 57b0 <_sk_callback_hsw+0x560>
   .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,135,6,0,0           // vbroadcastss  0x687(%rip),%ymm8        # 5020 <_sk_callback_hsw+0x500>
+  .byte  196,98,125,24,5,235,6,0,0           // vbroadcastss  0x6eb(%rip),%ymm8        # 57b4 <_sk_callback_hsw+0x564>
   .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14457,12 +15690,12 @@
 FUNCTION(_sk_bicubic_p3x_hsw)
 _sk_bicubic_p3x_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,111,6,0,0          // vbroadcastss  0x66f(%rip),%ymm0        # 5024 <_sk_callback_hsw+0x504>
+  .byte  196,226,125,24,5,211,6,0,0          // vbroadcastss  0x6d3(%rip),%ymm0        # 57b8 <_sk_callback_hsw+0x568>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
   .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,92,6,0,0           // vbroadcastss  0x65c(%rip),%ymm10        # 5028 <_sk_callback_hsw+0x508>
-  .byte  196,98,125,24,29,87,6,0,0           // vbroadcastss  0x657(%rip),%ymm11        # 502c <_sk_callback_hsw+0x50c>
+  .byte  196,98,125,24,21,192,6,0,0          // vbroadcastss  0x6c0(%rip),%ymm10        # 57bc <_sk_callback_hsw+0x56c>
+  .byte  196,98,125,24,29,187,6,0,0          // vbroadcastss  0x6bb(%rip),%ymm11        # 57c0 <_sk_callback_hsw+0x570>
   .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,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -14474,13 +15707,13 @@
 FUNCTION(_sk_bicubic_n3y_hsw)
 _sk_bicubic_n3y_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,58,6,0,0          // vbroadcastss  0x63a(%rip),%ymm1        # 5030 <_sk_callback_hsw+0x510>
+  .byte  196,226,125,24,13,158,6,0,0         // vbroadcastss  0x69e(%rip),%ymm1        # 57c4 <_sk_callback_hsw+0x574>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,48,6,0,0            // vbroadcastss  0x630(%rip),%ymm8        # 5034 <_sk_callback_hsw+0x514>
+  .byte  196,98,125,24,5,148,6,0,0           // vbroadcastss  0x694(%rip),%ymm8        # 57c8 <_sk_callback_hsw+0x578>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,33,6,0,0           // vbroadcastss  0x621(%rip),%ymm10        # 5038 <_sk_callback_hsw+0x518>
-  .byte  196,98,125,24,29,28,6,0,0           // vbroadcastss  0x61c(%rip),%ymm11        # 503c <_sk_callback_hsw+0x51c>
+  .byte  196,98,125,24,21,133,6,0,0          // vbroadcastss  0x685(%rip),%ymm10        # 57cc <_sk_callback_hsw+0x57c>
+  .byte  196,98,125,24,29,128,6,0,0          // vbroadcastss  0x680(%rip),%ymm11        # 57d0 <_sk_callback_hsw+0x580>
   .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,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -14492,16 +15725,16 @@
 FUNCTION(_sk_bicubic_n1y_hsw)
 _sk_bicubic_n1y_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,255,5,0,0         // vbroadcastss  0x5ff(%rip),%ymm1        # 5040 <_sk_callback_hsw+0x520>
+  .byte  196,226,125,24,13,99,6,0,0          // vbroadcastss  0x663(%rip),%ymm1        # 57d4 <_sk_callback_hsw+0x584>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,245,5,0,0           // vbroadcastss  0x5f5(%rip),%ymm8        # 5044 <_sk_callback_hsw+0x524>
+  .byte  196,98,125,24,5,89,6,0,0            // vbroadcastss  0x659(%rip),%ymm8        # 57d8 <_sk_callback_hsw+0x588>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
-  .byte  196,98,125,24,13,235,5,0,0          // vbroadcastss  0x5eb(%rip),%ymm9        # 5048 <_sk_callback_hsw+0x528>
-  .byte  196,98,125,24,21,230,5,0,0          // vbroadcastss  0x5e6(%rip),%ymm10        # 504c <_sk_callback_hsw+0x52c>
+  .byte  196,98,125,24,13,79,6,0,0           // vbroadcastss  0x64f(%rip),%ymm9        # 57dc <_sk_callback_hsw+0x58c>
+  .byte  196,98,125,24,21,74,6,0,0           // vbroadcastss  0x64a(%rip),%ymm10        # 57e0 <_sk_callback_hsw+0x590>
   .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
-  .byte  196,98,125,24,13,220,5,0,0          // vbroadcastss  0x5dc(%rip),%ymm9        # 5050 <_sk_callback_hsw+0x530>
+  .byte  196,98,125,24,13,64,6,0,0           // vbroadcastss  0x640(%rip),%ymm9        # 57e4 <_sk_callback_hsw+0x594>
   .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
-  .byte  196,98,125,24,21,210,5,0,0          // vbroadcastss  0x5d2(%rip),%ymm10        # 5054 <_sk_callback_hsw+0x534>
+  .byte  196,98,125,24,21,54,6,0,0           // vbroadcastss  0x636(%rip),%ymm10        # 57e8 <_sk_callback_hsw+0x598>
   .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
   .byte  197,124,17,144,160,0,0,0            // vmovups       %ymm10,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14512,14 +15745,14 @@
 FUNCTION(_sk_bicubic_p1y_hsw)
 _sk_bicubic_p1y_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,186,5,0,0           // vbroadcastss  0x5ba(%rip),%ymm8        # 5058 <_sk_callback_hsw+0x538>
+  .byte  196,98,125,24,5,30,6,0,0            // vbroadcastss  0x61e(%rip),%ymm8        # 57ec <_sk_callback_hsw+0x59c>
   .byte  197,188,88,72,32                    // vaddps        0x20(%rax),%ymm8,%ymm1
   .byte  197,124,16,72,96                    // vmovups       0x60(%rax),%ymm9
-  .byte  196,98,125,24,21,171,5,0,0          // vbroadcastss  0x5ab(%rip),%ymm10        # 505c <_sk_callback_hsw+0x53c>
-  .byte  196,98,125,24,29,166,5,0,0          // vbroadcastss  0x5a6(%rip),%ymm11        # 5060 <_sk_callback_hsw+0x540>
+  .byte  196,98,125,24,21,15,6,0,0           // vbroadcastss  0x60f(%rip),%ymm10        # 57f0 <_sk_callback_hsw+0x5a0>
+  .byte  196,98,125,24,29,10,6,0,0           // vbroadcastss  0x60a(%rip),%ymm11        # 57f4 <_sk_callback_hsw+0x5a4>
   .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,151,5,0,0           // vbroadcastss  0x597(%rip),%ymm8        # 5064 <_sk_callback_hsw+0x544>
+  .byte  196,98,125,24,5,251,5,0,0           // vbroadcastss  0x5fb(%rip),%ymm8        # 57f8 <_sk_callback_hsw+0x5a8>
   .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -14530,12 +15763,12 @@
 FUNCTION(_sk_bicubic_p3y_hsw)
 _sk_bicubic_p3y_hsw:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,127,5,0,0         // vbroadcastss  0x57f(%rip),%ymm1        # 5068 <_sk_callback_hsw+0x548>
+  .byte  196,226,125,24,13,227,5,0,0         // vbroadcastss  0x5e3(%rip),%ymm1        # 57fc <_sk_callback_hsw+0x5ac>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
   .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,107,5,0,0          // vbroadcastss  0x56b(%rip),%ymm10        # 506c <_sk_callback_hsw+0x54c>
-  .byte  196,98,125,24,29,102,5,0,0          // vbroadcastss  0x566(%rip),%ymm11        # 5070 <_sk_callback_hsw+0x550>
+  .byte  196,98,125,24,21,207,5,0,0          // vbroadcastss  0x5cf(%rip),%ymm10        # 5800 <_sk_callback_hsw+0x5b0>
+  .byte  196,98,125,24,29,202,5,0,0          // vbroadcastss  0x5ca(%rip),%ymm11        # 5804 <_sk_callback_hsw+0x5b4>
   .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,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -14665,25 +15898,25 @@
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 4d15 <.literal4+0xb1>
+  .byte  71,225,61                           // rex.RXB       loope 5445 <.literal4+0xb1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 4d25 <.literal4+0xc1>
+  .byte  71,225,61                           // rex.RXB       loope 5455 <.literal4+0xc1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 4d35 <.literal4+0xd1>
+  .byte  71,225,61                           // rex.RXB       loope 5465 <.literal4+0xd1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 4d45 <.literal4+0xe1>
+  .byte  71,225,61                           // rex.RXB       loope 5475 <.literal4+0xe1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
@@ -14691,7 +15924,8 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
   .byte  63                                  // (bad)
-  .byte  145                                 // xchg          %eax,%ecx
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
   .byte  131,158,61,92,143,50,63             // sbbl          $0x3f,0x328f5c3d(%rsi)
   .byte  154                                 // (bad)
   .byte  153                                 // cltd
@@ -14700,6 +15934,17 @@
   .byte  35,59                               // and           (%rbx),%edi
   .byte  174                                 // scas          %es:(%rdi),%al
   .byte  71,97                               // rex.RXB       (bad)
+  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
+  .byte  92                                  // pop           %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .byte  154                                 // (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,10,215                           // ds            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)
@@ -14733,7 +15978,7 @@
   .byte  190,129,128,128,59                  // mov           $0x3b808081,%esi
   .byte  129,128,128,59,0,248,0,0,8,33       // addl          $0x21080000,-0x7ffc480(%rax)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        4d9d <.literal4+0x139>
+  .byte  224,7                               // loopne        54e5 <.literal4+0x151>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -14749,10 +15994,10 @@
   .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
   .byte  0,52,255                            // add           %dh,(%rdi,%rdi,8)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            4dc4 <.literal4+0x160>
+  .byte  127,0                               // jg            550c <.literal4+0x178>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            4e3d <.literal4+0x1d9>
+  .byte  119,115                             // ja            5585 <.literal4+0x1f1>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -14766,10 +16011,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            4df8 <.literal4+0x194>
+  .byte  127,0                               // jg            5540 <.literal4+0x1ac>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            4e71 <.literal4+0x20d>
+  .byte  119,115                             // ja            55b9 <.literal4+0x225>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -14783,10 +16028,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            4e2c <.literal4+0x1c8>
+  .byte  127,0                               // jg            5574 <.literal4+0x1e0>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            4ea5 <.literal4+0x241>
+  .byte  119,115                             // ja            55ed <.literal4+0x259>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -14800,10 +16045,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            4e60 <.literal4+0x1fc>
+  .byte  127,0                               // jg            55a8 <.literal4+0x214>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            4ed9 <.literal4+0x275>
+  .byte  119,115                             // ja            5621 <.literal4+0x28d>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -14816,7 +16061,7 @@
   .byte  0,75,0                              // add           %cl,0x0(%rbx)
   .byte  0,128,63,0,0,200                    // add           %al,-0x37ffffc1(%rax)
   .byte  66,0,0                              // rex.X         add %al,(%rax)
-  .byte  127,67                              // jg            4ed7 <.literal4+0x273>
+  .byte  127,67                              // jg            561f <.literal4+0x28b>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,195                               // add           %al,%bl
   .byte  0,0                                 // add           %al,(%rax)
@@ -14828,19 +16073,22 @@
   .byte  190,80,128,3,62                     // mov           $0x3e038050,%esi
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           4ef7 <.literal4+0x293>
+  .byte  118,63                              // jbe           563f <.literal4+0x2ab>
   .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
-  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
-  .byte  127,67                              // jg            4f0b <.literal4+0x2a7>
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
+  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
+  .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  129,128,128,59,0,0,128,63,129,128   // addl          $0x80813f80,0x3b80(%rax)
   .byte  128,59,0                            // cmpb          $0x0,(%rbx)
   .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
   .byte  59,0                                // cmp           (%rax),%eax
+  .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
+  .byte  59,0                                // cmp           (%rax),%eax
   .byte  248                                 // clc
   .byte  0,0                                 // add           %al,(%rax)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        4eed <.literal4+0x289>
+  .byte  224,7                               // loopne        5641 <.literal4+0x2ad>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -14852,7 +16100,19 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        4f09 <.literal4+0x2a5>
+  .byte  224,7                               // loopne        565d <.literal4+0x2c9>
+  .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,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
+  .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        5679 <.literal4+0x2e5>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -14863,7 +16123,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  248                                 // clc
   .byte  65,0,0                              // add           %al,(%r8)
-  .byte  124,66                              // jl            4f5e <.literal4+0x2fa>
+  .byte  124,66                              // jl            56ce <.literal4+0x33a>
   .byte  0,240                               // add           %dh,%al
   .byte  0,0                                 // add           %al,(%rax)
   .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
@@ -14880,10 +16140,19 @@
   .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,240                // mov           %ecx,-0xfffc278(%rax)
+  .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            4fa1 <.literal4+0x33d>
-  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
-  .byte  127,67                              // jg            4faf <.literal4+0x34b>
+  .byte  112,65                              // jo            5731 <.literal4+0x39d>
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
+  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
+  .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  128,0,128                           // addb          $0x80,(%rax)
   .byte  55                                  // (bad)
   .byte  128,0,128                           // addb          $0x80,(%rax)
@@ -14891,7 +16160,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  255                                 // (bad)
-  .byte  127,71                              // jg            4fc3 <.literal4+0x35f>
+  .byte  127,71                              // jg            5757 <.literal4+0x3c3>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -15003,16 +16272,16 @@
   .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)        # a0050a8 <_sk_callback_hsw+0xa000588>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005848 <_sk_callback_hsw+0xa0005f8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 120050b0 <_sk_callback_hsw+0x12000590>
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005850 <_sk_callback_hsw+0x12000600>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a0050b8 <_sk_callback_hsw+0x1a000598>
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005858 <_sk_callback_hsw+0x1a000608>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 30050c0 <_sk_callback_hsw+0x30005a0>
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005860 <_sk_callback_hsw+0x3000610>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -15055,16 +16324,16 @@
   .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)        # a005108 <_sk_callback_hsw+0xa0005e8>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a0058a8 <_sk_callback_hsw+0xa000658>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005110 <_sk_callback_hsw+0x120005f0>
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 120058b0 <_sk_callback_hsw+0x12000660>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005118 <_sk_callback_hsw+0x1a0005f8>
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a0058b8 <_sk_callback_hsw+0x1a000668>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005120 <_sk_callback_hsw+0x3000600>
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 30058c0 <_sk_callback_hsw+0x3000670>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -15107,16 +16376,16 @@
   .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)        # a005168 <_sk_callback_hsw+0xa000648>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005908 <_sk_callback_hsw+0xa0006b8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005170 <_sk_callback_hsw+0x12000650>
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005910 <_sk_callback_hsw+0x120006c0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005178 <_sk_callback_hsw+0x1a000658>
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005918 <_sk_callback_hsw+0x1a0006c8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005180 <_sk_callback_hsw+0x3000660>
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005920 <_sk_callback_hsw+0x30006d0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -15159,16 +16428,16 @@
   .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)        # a0051c8 <_sk_callback_hsw+0xa0006a8>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005968 <_sk_callback_hsw+0xa000718>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 120051d0 <_sk_callback_hsw+0x120006b0>
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005970 <_sk_callback_hsw+0x12000720>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a0051d8 <_sk_callback_hsw+0x1a0006b8>
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005978 <_sk_callback_hsw+0x1a000728>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 30051e0 <_sk_callback_hsw+0x30006c0>
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005980 <_sk_callback_hsw+0x3000730>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -15211,16 +16480,68 @@
   .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)        # a005228 <_sk_callback_hsw+0xa000708>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a0059c8 <_sk_callback_hsw+0xa000778>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005230 <_sk_callback_hsw+0x12000710>
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 120059d0 <_sk_callback_hsw+0x12000780>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005238 <_sk_callback_hsw+0x1a000718>
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a0059d8 <_sk_callback_hsw+0x1a000788>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005240 <_sk_callback_hsw+0x3000720>
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 30059e0 <_sk_callback_hsw+0x3000790>
+  .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)        # a005a28 <_sk_callback_hsw+0xa0007d8>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005a30 <_sk_callback_hsw+0x120007e0>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005a38 <_sk_callback_hsw+0x1a0007e8>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005a40 <_sk_callback_hsw+0x30007f0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -15287,6 +16608,14 @@
   .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,2                                 // add           %al,(%rdx)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -15311,6 +16640,14 @@
   .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)
 BALIGN32
 
 HIDDEN _sk_start_pipeline_avx
@@ -15381,7 +16718,7 @@
   .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  196,226,125,24,13,227,103,0,0       // vbroadcastss  0x67e3(%rip),%ymm1        # 6880 <_sk_callback_avx+0x142>
+  .byte  196,226,125,24,13,19,114,0,0        // vbroadcastss  0x7213(%rip),%ymm1        # 72b0 <_sk_callback_avx+0x142>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  197,252,88,7                        // vaddps        (%rdi),%ymm0,%ymm0
   .byte  197,249,110,209                     // vmovd         %ecx,%xmm2
@@ -15390,7 +16727,7 @@
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
   .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,21,189,103,0,0       // vbroadcastss  0x67bd(%rip),%ymm2        # 6884 <_sk_callback_avx+0x146>
+  .byte  196,226,125,24,21,237,113,0,0       // vbroadcastss  0x71ed(%rip),%ymm2        # 72b4 <_sk_callback_avx+0x146>
   .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
@@ -15414,7 +16751,7 @@
   .byte  196,65,121,112,201,0                // vpshufd       $0x0,%xmm9,%xmm9
   .byte  196,67,53,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
   .byte  196,65,52,87,208                    // vxorps        %ymm8,%ymm9,%ymm10
-  .byte  196,98,125,24,29,102,103,0,0        // vbroadcastss  0x6766(%rip),%ymm11        # 6888 <_sk_callback_avx+0x14a>
+  .byte  196,98,125,24,29,150,113,0,0        // vbroadcastss  0x7196(%rip),%ymm11        # 72b8 <_sk_callback_avx+0x14a>
   .byte  196,65,44,84,203                    // vandps        %ymm11,%ymm10,%ymm9
   .byte  196,193,25,114,241,5                // vpslld        $0x5,%xmm9,%xmm12
   .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
@@ -15425,8 +16762,8 @@
   .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
   .byte  196,193,33,114,243,4                // vpslld        $0x4,%xmm11,%xmm11
   .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
-  .byte  196,98,125,24,37,39,103,0,0         // vbroadcastss  0x6727(%rip),%ymm12        # 688c <_sk_callback_avx+0x14e>
-  .byte  196,98,125,24,45,34,103,0,0         // vbroadcastss  0x6722(%rip),%ymm13        # 6890 <_sk_callback_avx+0x152>
+  .byte  196,98,125,24,37,87,113,0,0         // vbroadcastss  0x7157(%rip),%ymm12        # 72bc <_sk_callback_avx+0x14e>
+  .byte  196,98,125,24,45,82,113,0,0         // vbroadcastss  0x7152(%rip),%ymm13        # 72c0 <_sk_callback_avx+0x152>
   .byte  196,65,44,84,245                    // vandps        %ymm13,%ymm10,%ymm14
   .byte  196,193,1,114,246,2                 // vpslld        $0x2,%xmm14,%xmm15
   .byte  196,67,125,25,246,1                 // vextractf128  $0x1,%ymm14,%xmm14
@@ -15453,9 +16790,9 @@
   .byte  196,65,60,86,193                    // vorps         %ymm9,%ymm8,%ymm8
   .byte  196,65,60,86,194                    // vorps         %ymm10,%ymm8,%ymm8
   .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
-  .byte  196,98,125,24,13,141,102,0,0        // vbroadcastss  0x668d(%rip),%ymm9        # 6894 <_sk_callback_avx+0x156>
+  .byte  196,98,125,24,13,189,112,0,0        // vbroadcastss  0x70bd(%rip),%ymm9        # 72c4 <_sk_callback_avx+0x156>
   .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
-  .byte  196,98,125,24,13,131,102,0,0        // vbroadcastss  0x6683(%rip),%ymm9        # 6898 <_sk_callback_avx+0x15a>
+  .byte  196,98,125,24,13,179,112,0,0        // vbroadcastss  0x70b3(%rip),%ymm9        # 72c8 <_sk_callback_avx+0x15a>
   .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
   .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
   .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
@@ -15524,7 +16861,7 @@
 FUNCTION(_sk_srcatop_avx)
 _sk_srcatop_avx:
   .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
-  .byte  196,98,125,24,5,219,101,0,0         // vbroadcastss  0x65db(%rip),%ymm8        # 689c <_sk_callback_avx+0x15e>
+  .byte  196,98,125,24,5,11,112,0,0          // vbroadcastss  0x700b(%rip),%ymm8        # 72cc <_sk_callback_avx+0x15e>
   .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
@@ -15545,7 +16882,7 @@
 FUNCTION(_sk_dstatop_avx)
 _sk_dstatop_avx:
   .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
-  .byte  196,98,125,24,13,157,101,0,0        // vbroadcastss  0x659d(%rip),%ymm9        # 68a0 <_sk_callback_avx+0x162>
+  .byte  196,98,125,24,13,205,111,0,0        // vbroadcastss  0x6fcd(%rip),%ymm9        # 72d0 <_sk_callback_avx+0x162>
   .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
@@ -15587,7 +16924,7 @@
 .globl _sk_srcout_avx
 FUNCTION(_sk_srcout_avx)
 _sk_srcout_avx:
-  .byte  196,98,125,24,5,60,101,0,0          // vbroadcastss  0x653c(%rip),%ymm8        # 68a4 <_sk_callback_avx+0x166>
+  .byte  196,98,125,24,5,108,111,0,0         // vbroadcastss  0x6f6c(%rip),%ymm8        # 72d4 <_sk_callback_avx+0x166>
   .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
@@ -15600,7 +16937,7 @@
 .globl _sk_dstout_avx
 FUNCTION(_sk_dstout_avx)
 _sk_dstout_avx:
-  .byte  196,226,125,24,5,31,101,0,0         // vbroadcastss  0x651f(%rip),%ymm0        # 68a8 <_sk_callback_avx+0x16a>
+  .byte  196,226,125,24,5,79,111,0,0         // vbroadcastss  0x6f4f(%rip),%ymm0        # 72d8 <_sk_callback_avx+0x16a>
   .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
@@ -15613,7 +16950,7 @@
 .globl _sk_srcover_avx
 FUNCTION(_sk_srcover_avx)
 _sk_srcover_avx:
-  .byte  196,98,125,24,5,2,101,0,0           // vbroadcastss  0x6502(%rip),%ymm8        # 68ac <_sk_callback_avx+0x16e>
+  .byte  196,98,125,24,5,50,111,0,0          // vbroadcastss  0x6f32(%rip),%ymm8        # 72dc <_sk_callback_avx+0x16e>
   .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
@@ -15630,7 +16967,7 @@
 .globl _sk_dstover_avx
 FUNCTION(_sk_dstover_avx)
 _sk_dstover_avx:
-  .byte  196,98,125,24,5,213,100,0,0         // vbroadcastss  0x64d5(%rip),%ymm8        # 68b0 <_sk_callback_avx+0x172>
+  .byte  196,98,125,24,5,5,111,0,0           // vbroadcastss  0x6f05(%rip),%ymm8        # 72e0 <_sk_callback_avx+0x172>
   .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
@@ -15658,7 +16995,7 @@
 .globl _sk_multiply_avx
 FUNCTION(_sk_multiply_avx)
 _sk_multiply_avx:
-  .byte  196,98,125,24,5,148,100,0,0         // vbroadcastss  0x6494(%rip),%ymm8        # 68b4 <_sk_callback_avx+0x176>
+  .byte  196,98,125,24,5,196,110,0,0         // vbroadcastss  0x6ec4(%rip),%ymm8        # 72e4 <_sk_callback_avx+0x176>
   .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
@@ -15718,7 +17055,7 @@
 .globl _sk_xor__avx
 FUNCTION(_sk_xor__avx)
 _sk_xor__avx:
-  .byte  196,98,125,24,5,227,99,0,0          // vbroadcastss  0x63e3(%rip),%ymm8        # 68b8 <_sk_callback_avx+0x17a>
+  .byte  196,98,125,24,5,19,110,0,0          // vbroadcastss  0x6e13(%rip),%ymm8        # 72e8 <_sk_callback_avx+0x17a>
   .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
@@ -15755,7 +17092,7 @@
   .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,99,99,0,0           // vbroadcastss  0x6363(%rip),%ymm8        # 68bc <_sk_callback_avx+0x17e>
+  .byte  196,98,125,24,5,147,109,0,0         // vbroadcastss  0x6d93(%rip),%ymm8        # 72ec <_sk_callback_avx+0x17e>
   .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
@@ -15781,7 +17118,7 @@
   .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,15,99,0,0           // vbroadcastss  0x630f(%rip),%ymm8        # 68c0 <_sk_callback_avx+0x182>
+  .byte  196,98,125,24,5,63,109,0,0          // vbroadcastss  0x6d3f(%rip),%ymm8        # 72f0 <_sk_callback_avx+0x182>
   .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
@@ -15810,7 +17147,7 @@
   .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,175,98,0,0          // vbroadcastss  0x62af(%rip),%ymm8        # 68c4 <_sk_callback_avx+0x186>
+  .byte  196,98,125,24,5,223,108,0,0         // vbroadcastss  0x6cdf(%rip),%ymm8        # 72f4 <_sk_callback_avx+0x186>
   .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
@@ -15833,7 +17170,7 @@
   .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,106,98,0,0          // vbroadcastss  0x626a(%rip),%ymm8        # 68c8 <_sk_callback_avx+0x18a>
+  .byte  196,98,125,24,5,154,108,0,0         // vbroadcastss  0x6c9a(%rip),%ymm8        # 72f8 <_sk_callback_avx+0x18a>
   .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
@@ -15844,7 +17181,7 @@
 .globl _sk_colorburn_avx
 FUNCTION(_sk_colorburn_avx)
 _sk_colorburn_avx:
-  .byte  196,98,125,24,5,85,98,0,0           // vbroadcastss  0x6255(%rip),%ymm8        # 68cc <_sk_callback_avx+0x18e>
+  .byte  196,98,125,24,5,133,108,0,0         // vbroadcastss  0x6c85(%rip),%ymm8        # 72fc <_sk_callback_avx+0x18e>
   .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
@@ -15906,7 +17243,7 @@
 FUNCTION(_sk_colordodge_avx)
 _sk_colordodge_avx:
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
-  .byte  196,98,125,24,13,81,97,0,0          // vbroadcastss  0x6151(%rip),%ymm9        # 68d0 <_sk_callback_avx+0x192>
+  .byte  196,98,125,24,13,129,107,0,0        // vbroadcastss  0x6b81(%rip),%ymm9        # 7300 <_sk_callback_avx+0x192>
   .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
@@ -15963,7 +17300,7 @@
 .globl _sk_hardlight_avx
 FUNCTION(_sk_hardlight_avx)
 _sk_hardlight_avx:
-  .byte  196,98,125,24,5,99,96,0,0           // vbroadcastss  0x6063(%rip),%ymm8        # 68d4 <_sk_callback_avx+0x196>
+  .byte  196,98,125,24,5,147,106,0,0         // vbroadcastss  0x6a93(%rip),%ymm8        # 7304 <_sk_callback_avx+0x196>
   .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
@@ -16018,7 +17355,7 @@
 .globl _sk_overlay_avx
 FUNCTION(_sk_overlay_avx)
 _sk_overlay_avx:
-  .byte  196,98,125,24,5,140,95,0,0          // vbroadcastss  0x5f8c(%rip),%ymm8        # 68d8 <_sk_callback_avx+0x19a>
+  .byte  196,98,125,24,5,188,105,0,0         // vbroadcastss  0x69bc(%rip),%ymm8        # 7308 <_sk_callback_avx+0x19a>
   .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
@@ -16084,10 +17421,10 @@
   .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,131,94,0,0         // vbroadcastss  0x5e83(%rip),%ymm11        # 68e0 <_sk_callback_avx+0x1a2>
+  .byte  196,98,125,24,29,179,104,0,0        // vbroadcastss  0x68b3(%rip),%ymm11        # 7310 <_sk_callback_avx+0x1a2>
   .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,116,94,0,0         // vbroadcastss  0x5e74(%rip),%ymm13        # 68e4 <_sk_callback_avx+0x1a6>
+  .byte  196,98,125,24,45,164,104,0,0        // vbroadcastss  0x68a4(%rip),%ymm13        # 7314 <_sk_callback_avx+0x1a6>
   .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
@@ -16098,7 +17435,7 @@
   .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,50,94,0,0           // vbroadcastss  0x5e32(%rip),%ymm8        # 68dc <_sk_callback_avx+0x19e>
+  .byte  196,98,125,24,5,98,104,0,0          // vbroadcastss  0x6862(%rip),%ymm8        # 730c <_sk_callback_avx+0x19e>
   .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
@@ -16225,12 +17562,12 @@
   .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,1,92,0,0           // vbroadcastss  0x5c01(%rip),%ymm14        # 68e8 <_sk_callback_avx+0x1aa>
+  .byte  196,98,125,24,53,49,102,0,0         // vbroadcastss  0x6631(%rip),%ymm14        # 7318 <_sk_callback_avx+0x1aa>
   .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
-  .byte  196,98,125,24,61,247,91,0,0         // vbroadcastss  0x5bf7(%rip),%ymm15        # 68ec <_sk_callback_avx+0x1ae>
+  .byte  196,98,125,24,61,39,102,0,0         // vbroadcastss  0x6627(%rip),%ymm15        # 731c <_sk_callback_avx+0x1ae>
   .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,232,91,0,0         // vbroadcastss  0x5be8(%rip),%ymm0        # 68f0 <_sk_callback_avx+0x1b2>
+  .byte  196,226,125,24,5,24,102,0,0         // vbroadcastss  0x6618(%rip),%ymm0        # 7320 <_sk_callback_avx+0x1b2>
   .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
@@ -16291,7 +17628,7 @@
   .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,193,90,0,0          // vbroadcastss  0x5ac1(%rip),%ymm8        # 68f4 <_sk_callback_avx+0x1b6>
+  .byte  196,98,125,24,5,241,100,0,0         // vbroadcastss  0x64f1(%rip),%ymm8        # 7324 <_sk_callback_avx+0x1b6>
   .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
@@ -16348,12 +17685,12 @@
   .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,207,89,0,0         // vbroadcastss  0x59cf(%rip),%ymm14        # 68f8 <_sk_callback_avx+0x1ba>
+  .byte  196,98,125,24,53,255,99,0,0         // vbroadcastss  0x63ff(%rip),%ymm14        # 7328 <_sk_callback_avx+0x1ba>
   .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
-  .byte  196,98,125,24,61,197,89,0,0         // vbroadcastss  0x59c5(%rip),%ymm15        # 68fc <_sk_callback_avx+0x1be>
+  .byte  196,98,125,24,61,245,99,0,0         // vbroadcastss  0x63f5(%rip),%ymm15        # 732c <_sk_callback_avx+0x1be>
   .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,182,89,0,0         // vbroadcastss  0x59b6(%rip),%ymm0        # 6900 <_sk_callback_avx+0x1c2>
+  .byte  196,226,125,24,5,230,99,0,0         // vbroadcastss  0x63e6(%rip),%ymm0        # 7330 <_sk_callback_avx+0x1c2>
   .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
@@ -16414,7 +17751,7 @@
   .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,143,88,0,0          // vbroadcastss  0x588f(%rip),%ymm8        # 6904 <_sk_callback_avx+0x1c6>
+  .byte  196,98,125,24,5,191,98,0,0          // vbroadcastss  0x62bf(%rip),%ymm8        # 7334 <_sk_callback_avx+0x1c6>
   .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
@@ -16443,12 +17780,12 @@
   .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,37,88,0,0          // vbroadcastss  0x5825(%rip),%ymm13        # 6908 <_sk_callback_avx+0x1ca>
+  .byte  196,98,125,24,45,85,98,0,0          // vbroadcastss  0x6255(%rip),%ymm13        # 7338 <_sk_callback_avx+0x1ca>
   .byte  196,65,92,89,213                    // vmulps        %ymm13,%ymm4,%ymm10
-  .byte  196,98,125,24,53,27,88,0,0          // vbroadcastss  0x581b(%rip),%ymm14        # 690c <_sk_callback_avx+0x1ce>
+  .byte  196,98,125,24,53,75,98,0,0          // vbroadcastss  0x624b(%rip),%ymm14        # 733c <_sk_callback_avx+0x1ce>
   .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,12,88,0,0          // vbroadcastss  0x580c(%rip),%ymm15        # 6910 <_sk_callback_avx+0x1d2>
+  .byte  196,98,125,24,61,60,98,0,0          // vbroadcastss  0x623c(%rip),%ymm15        # 7340 <_sk_callback_avx+0x1d2>
   .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
@@ -16511,7 +17848,7 @@
   .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,211,86,0,0         // vbroadcastss  0x56d3(%rip),%ymm0        # 6914 <_sk_callback_avx+0x1d6>
+  .byte  196,226,125,24,5,3,97,0,0           // vbroadcastss  0x6103(%rip),%ymm0        # 7344 <_sk_callback_avx+0x1d6>
   .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
@@ -16541,12 +17878,12 @@
   .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,101,86,0,0         // vbroadcastss  0x5665(%rip),%ymm13        # 6918 <_sk_callback_avx+0x1da>
+  .byte  196,98,125,24,45,149,96,0,0         // vbroadcastss  0x6095(%rip),%ymm13        # 7348 <_sk_callback_avx+0x1da>
   .byte  196,65,108,89,213                   // vmulps        %ymm13,%ymm2,%ymm10
-  .byte  196,98,125,24,53,91,86,0,0          // vbroadcastss  0x565b(%rip),%ymm14        # 691c <_sk_callback_avx+0x1de>
+  .byte  196,98,125,24,53,139,96,0,0         // vbroadcastss  0x608b(%rip),%ymm14        # 734c <_sk_callback_avx+0x1de>
   .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,76,86,0,0          // vbroadcastss  0x564c(%rip),%ymm15        # 6920 <_sk_callback_avx+0x1e2>
+  .byte  196,98,125,24,61,124,96,0,0         // vbroadcastss  0x607c(%rip),%ymm15        # 7350 <_sk_callback_avx+0x1e2>
   .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
@@ -16609,7 +17946,7 @@
   .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,85,0,0          // vbroadcastss  0x5513(%rip),%ymm0        # 6924 <_sk_callback_avx+0x1e6>
+  .byte  196,226,125,24,5,67,95,0,0          // vbroadcastss  0x5f43(%rip),%ymm0        # 7354 <_sk_callback_avx+0x1e6>
   .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
@@ -16640,7 +17977,7 @@
   .byte  77,133,192                          // test          %r8,%r8
   .byte  15,133,43,1,0,0                     // jne           15a0 <_sk_srcover_rgba_8888_avx+0x144>
   .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
-  .byte  197,124,40,13,62,89,0,0             // vmovaps       0x593e(%rip),%ymm9        # 6dc0 <_sk_callback_avx+0x682>
+  .byte  197,124,40,13,30,100,0,0            // vmovaps       0x641e(%rip),%ymm9        # 78a0 <_sk_callback_avx+0x732>
   .byte  196,193,68,84,225                   // vandps        %ymm9,%ymm7,%ymm4
   .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
   .byte  197,209,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm5
@@ -16658,9 +17995,9 @@
   .byte  196,193,65,114,208,24               // vpsrld        $0x18,%xmm8,%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,5,69,84,0,0           // vbroadcastss  0x5445(%rip),%ymm8        # 6928 <_sk_callback_avx+0x1ea>
+  .byte  196,98,125,24,5,117,94,0,0          // vbroadcastss  0x5e75(%rip),%ymm8        # 7358 <_sk_callback_avx+0x1ea>
   .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
-  .byte  196,98,125,24,13,60,84,0,0          // vbroadcastss  0x543c(%rip),%ymm9        # 692c <_sk_callback_avx+0x1ee>
+  .byte  196,98,125,24,13,108,94,0,0         // vbroadcastss  0x5e6c(%rip),%ymm9        # 735c <_sk_callback_avx+0x1ee>
   .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
   .byte  197,60,89,212                       // vmulps        %ymm4,%ymm8,%ymm10
   .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
@@ -16705,9 +18042,9 @@
   .byte  72,211,232                          // shr           %cl,%rax
   .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
   .byte  196,226,121,48,228                  // vpmovzxbw     %xmm4,%xmm4
-  .byte  196,226,89,0,45,248,86,0,0          // vpshufb       0x56f8(%rip),%xmm4,%xmm5        # 6cc0 <_sk_callback_avx+0x582>
+  .byte  196,226,89,0,45,152,97,0,0          // vpshufb       0x6198(%rip),%xmm4,%xmm5        # 7760 <_sk_callback_avx+0x5f2>
   .byte  196,226,121,33,237                  // vpmovsxbd     %xmm5,%xmm5
-  .byte  196,226,89,0,37,250,86,0,0          // vpshufb       0x56fa(%rip),%xmm4,%xmm4        # 6cd0 <_sk_callback_avx+0x592>
+  .byte  196,226,89,0,37,154,97,0,0          // vpshufb       0x619a(%rip),%xmm4,%xmm4        # 7770 <_sk_callback_avx+0x602>
   .byte  196,226,121,33,228                  // vpmovsxbd     %xmm4,%xmm4
   .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
   .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
@@ -16719,9 +18056,9 @@
   .byte  72,211,232                          // shr           %cl,%rax
   .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
   .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
-  .byte  196,98,49,0,21,173,86,0,0           // vpshufb       0x56ad(%rip),%xmm9,%xmm10        # 6cc0 <_sk_callback_avx+0x582>
+  .byte  196,98,49,0,21,77,97,0,0            // vpshufb       0x614d(%rip),%xmm9,%xmm10        # 7760 <_sk_callback_avx+0x5f2>
   .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
-  .byte  196,98,49,0,13,175,86,0,0           // vpshufb       0x56af(%rip),%xmm9,%xmm9        # 6cd0 <_sk_callback_avx+0x592>
+  .byte  196,98,49,0,13,79,97,0,0            // vpshufb       0x614f(%rip),%xmm9,%xmm9        # 7770 <_sk_callback_avx+0x602>
   .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
   .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
   .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
@@ -16743,7 +18080,7 @@
 .globl _sk_clamp_1_avx
 FUNCTION(_sk_clamp_1_avx)
 _sk_clamp_1_avx:
-  .byte  196,98,125,24,5,212,82,0,0          // vbroadcastss  0x52d4(%rip),%ymm8        # 6930 <_sk_callback_avx+0x1f2>
+  .byte  196,98,125,24,5,4,93,0,0            // vbroadcastss  0x5d04(%rip),%ymm8        # 7360 <_sk_callback_avx+0x1f2>
   .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
@@ -16755,7 +18092,7 @@
 .globl _sk_clamp_a_avx
 FUNCTION(_sk_clamp_a_avx)
 _sk_clamp_a_avx:
-  .byte  196,98,125,24,5,183,82,0,0          // vbroadcastss  0x52b7(%rip),%ymm8        # 6934 <_sk_callback_avx+0x1f6>
+  .byte  196,98,125,24,5,231,92,0,0          // vbroadcastss  0x5ce7(%rip),%ymm8        # 7364 <_sk_callback_avx+0x1f6>
   .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
@@ -16763,6 +18100,18 @@
   .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,205,92,0,0          // vbroadcastss  0x5ccd(%rip),%ymm8        # 7368 <_sk_callback_avx+0x1fa>
+  .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)
@@ -16784,6 +18133,16 @@
   .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_avx
+.globl _sk_swap_rb_dst_avx
+FUNCTION(_sk_swap_rb_dst_avx)
+_sk_swap_rb_dst_avx:
+  .byte  197,124,40,196                      // vmovaps       %ymm4,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,230                      // vmovaps       %ymm6,%ymm4
+  .byte  197,124,41,198                      // vmovaps       %ymm8,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_avx
 .globl _sk_swap_avx
 FUNCTION(_sk_swap_avx)
@@ -16841,7 +18200,7 @@
 _sk_unpremul_avx:
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,65,100,194,200,0                // vcmpeqps      %ymm8,%ymm3,%ymm9
-  .byte  196,98,125,24,21,255,81,0,0         // vbroadcastss  0x51ff(%rip),%ymm10        # 6938 <_sk_callback_avx+0x1fa>
+  .byte  196,98,125,24,21,5,92,0,0           // vbroadcastss  0x5c05(%rip),%ymm10        # 736c <_sk_callback_avx+0x1fe>
   .byte  197,44,94,211                       // vdivps        %ymm3,%ymm10,%ymm10
   .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
   .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
@@ -16854,17 +18213,17 @@
 .globl _sk_from_srgb_avx
 FUNCTION(_sk_from_srgb_avx)
 _sk_from_srgb_avx:
-  .byte  196,98,125,24,5,224,81,0,0          // vbroadcastss  0x51e0(%rip),%ymm8        # 693c <_sk_callback_avx+0x1fe>
+  .byte  196,98,125,24,5,230,91,0,0          // vbroadcastss  0x5be6(%rip),%ymm8        # 7370 <_sk_callback_avx+0x202>
   .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,210,81,0,0         // vbroadcastss  0x51d2(%rip),%ymm11        # 6940 <_sk_callback_avx+0x202>
+  .byte  196,98,125,24,29,216,91,0,0         // vbroadcastss  0x5bd8(%rip),%ymm11        # 7374 <_sk_callback_avx+0x206>
   .byte  196,65,124,89,227                   // vmulps        %ymm11,%ymm0,%ymm12
-  .byte  196,98,125,24,45,200,81,0,0         // vbroadcastss  0x51c8(%rip),%ymm13        # 6944 <_sk_callback_avx+0x206>
+  .byte  196,98,125,24,45,206,91,0,0         // vbroadcastss  0x5bce(%rip),%ymm13        # 7378 <_sk_callback_avx+0x20a>
   .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,185,81,0,0         // vbroadcastss  0x51b9(%rip),%ymm12        # 6948 <_sk_callback_avx+0x20a>
+  .byte  196,98,125,24,37,191,91,0,0         // vbroadcastss  0x5bbf(%rip),%ymm12        # 737c <_sk_callback_avx+0x20e>
   .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
-  .byte  196,98,125,24,53,175,81,0,0         // vbroadcastss  0x51af(%rip),%ymm14        # 694c <_sk_callback_avx+0x20e>
+  .byte  196,98,125,24,53,181,91,0,0         // vbroadcastss  0x5bb5(%rip),%ymm14        # 7380 <_sk_callback_avx+0x212>
   .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
@@ -16886,25 +18245,61 @@
   .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,78,91,0,0           // vbroadcastss  0x5b4e(%rip),%ymm8        # 7384 <_sk_callback_avx+0x216>
+  .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,64,91,0,0          // vbroadcastss  0x5b40(%rip),%ymm11        # 7388 <_sk_callback_avx+0x21a>
+  .byte  196,65,92,89,227                    // vmulps        %ymm11,%ymm4,%ymm12
+  .byte  196,98,125,24,45,54,91,0,0          // vbroadcastss  0x5b36(%rip),%ymm13        # 738c <_sk_callback_avx+0x21e>
+  .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,39,91,0,0          // vbroadcastss  0x5b27(%rip),%ymm12        # 7390 <_sk_callback_avx+0x222>
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,98,125,24,53,29,91,0,0          // vbroadcastss  0x5b1d(%rip),%ymm14        # 7394 <_sk_callback_avx+0x226>
+  .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,68,81,0,0           // vbroadcastss  0x5144(%rip),%ymm8        # 6950 <_sk_callback_avx+0x212>
+  .byte  196,98,125,24,5,178,90,0,0          // vbroadcastss  0x5ab2(%rip),%ymm8        # 7398 <_sk_callback_avx+0x22a>
   .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
-  .byte  196,98,125,24,29,58,81,0,0          // vbroadcastss  0x513a(%rip),%ymm11        # 6954 <_sk_callback_avx+0x216>
+  .byte  196,98,125,24,29,168,90,0,0         // vbroadcastss  0x5aa8(%rip),%ymm11        # 739c <_sk_callback_avx+0x22e>
   .byte  196,65,52,89,227                    // vmulps        %ymm11,%ymm9,%ymm12
-  .byte  196,98,125,24,45,48,81,0,0          // vbroadcastss  0x5130(%rip),%ymm13        # 6958 <_sk_callback_avx+0x21a>
+  .byte  196,98,125,24,45,158,90,0,0         // vbroadcastss  0x5a9e(%rip),%ymm13        # 73a0 <_sk_callback_avx+0x232>
   .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,33,81,0,0          // vbroadcastss  0x5121(%rip),%ymm14        # 695c <_sk_callback_avx+0x21e>
+  .byte  196,98,125,24,53,143,90,0,0         // vbroadcastss  0x5a8f(%rip),%ymm14        # 73a4 <_sk_callback_avx+0x236>
   .byte  196,65,28,88,230                    // vaddps        %ymm14,%ymm12,%ymm12
-  .byte  196,98,125,24,61,23,81,0,0          // vbroadcastss  0x5117(%rip),%ymm15        # 6960 <_sk_callback_avx+0x222>
+  .byte  196,98,125,24,61,133,90,0,0         // vbroadcastss  0x5a85(%rip),%ymm15        # 73a8 <_sk_callback_avx+0x23a>
   .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,3,81,0,0           // vbroadcastss  0x5103(%rip),%ymm12        # 6964 <_sk_callback_avx+0x226>
+  .byte  196,98,125,24,37,113,90,0,0         // vbroadcastss  0x5a71(%rip),%ymm12        # 73ac <_sk_callback_avx+0x23e>
   .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
@@ -16941,7 +18336,7 @@
   .byte  197,124,93,201                      // vminps        %ymm1,%ymm0,%ymm9
   .byte  197,52,93,202                       // vminps        %ymm2,%ymm9,%ymm9
   .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
-  .byte  196,98,125,24,29,105,80,0,0         // vbroadcastss  0x5069(%rip),%ymm11        # 6968 <_sk_callback_avx+0x22a>
+  .byte  196,98,125,24,29,215,89,0,0         // vbroadcastss  0x59d7(%rip),%ymm11        # 73b0 <_sk_callback_avx+0x242>
   .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
@@ -16951,19 +18346,19 @@
   .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,66,80,0,0          // vbroadcastss  0x5042(%rip),%ymm11        # 6974 <_sk_callback_avx+0x236>
+  .byte  196,98,125,24,29,176,89,0,0         // vbroadcastss  0x59b0(%rip),%ymm11        # 73bc <_sk_callback_avx+0x24e>
   .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
-  .byte  196,98,125,24,29,48,80,0,0          // vbroadcastss  0x5030(%rip),%ymm11        # 6970 <_sk_callback_avx+0x232>
+  .byte  196,98,125,24,29,158,89,0,0         // vbroadcastss  0x599e(%rip),%ymm11        # 73b8 <_sk_callback_avx+0x24a>
   .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,24,80,0,0         // vbroadcastss  0x5018(%rip),%ymm2        # 696c <_sk_callback_avx+0x22e>
+  .byte  196,226,125,24,21,134,89,0,0        // vbroadcastss  0x5986(%rip),%ymm2        # 73b4 <_sk_callback_avx+0x246>
   .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,255,79,0,0         // vbroadcastss  0x4fff(%rip),%ymm12        # 697c <_sk_callback_avx+0x23e>
+  .byte  196,98,125,24,37,109,89,0,0         // vbroadcastss  0x596d(%rip),%ymm12        # 73c4 <_sk_callback_avx+0x256>
   .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
@@ -16973,7 +18368,7 @@
   .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,194,79,0,0          // vbroadcastss  0x4fc2(%rip),%ymm8        # 6978 <_sk_callback_avx+0x23a>
+  .byte  196,98,125,24,5,48,89,0,0           // vbroadcastss  0x5930(%rip),%ymm8        # 73c0 <_sk_callback_avx+0x252>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -16990,7 +18385,7 @@
   .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,143,79,0,0          // vbroadcastss  0x4f8f(%rip),%ymm8        # 6980 <_sk_callback_avx+0x242>
+  .byte  196,98,125,24,5,253,88,0,0          // vbroadcastss  0x58fd(%rip),%ymm8        # 73c8 <_sk_callback_avx+0x25a>
   .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
@@ -16998,23 +18393,23 @@
   .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,105,79,0,0         // vbroadcastss  0x4f69(%rip),%ymm11        # 6984 <_sk_callback_avx+0x246>
+  .byte  196,98,125,24,29,215,88,0,0         // vbroadcastss  0x58d7(%rip),%ymm11        # 73cc <_sk_callback_avx+0x25e>
   .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,83,79,0,0          // vbroadcastss  0x4f53(%rip),%ymm12        # 698c <_sk_callback_avx+0x24e>
+  .byte  196,98,125,24,37,193,88,0,0         // vbroadcastss  0x58c1(%rip),%ymm12        # 73d4 <_sk_callback_avx+0x266>
   .byte  196,193,4,89,196                    // vmulps        %ymm12,%ymm15,%ymm0
-  .byte  196,98,125,24,45,73,79,0,0          // vbroadcastss  0x4f49(%rip),%ymm13        # 6990 <_sk_callback_avx+0x252>
+  .byte  196,98,125,24,45,183,88,0,0         // vbroadcastss  0x58b7(%rip),%ymm13        # 73d8 <_sk_callback_avx+0x26a>
   .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,42,79,0,0         // vbroadcastss  0x4f2a(%rip),%ymm1        # 6988 <_sk_callback_avx+0x24a>
+  .byte  196,226,125,24,13,152,88,0,0        // vbroadcastss  0x5898(%rip),%ymm1        # 73d0 <_sk_callback_avx+0x262>
   .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,21,79,0,0          // vbroadcastss  0x4f15(%rip),%ymm14        # 6994 <_sk_callback_avx+0x256>
+  .byte  196,98,125,24,53,131,88,0,0         // vbroadcastss  0x5883(%rip),%ymm14        # 73dc <_sk_callback_avx+0x26e>
   .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
@@ -17033,7 +18428,7 @@
   .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,183,78,0,0         // vbroadcastss  0x4eb7(%rip),%ymm0        # 6998 <_sk_callback_avx+0x25a>
+  .byte  196,226,125,24,5,37,88,0,0          // vbroadcastss  0x5825(%rip),%ymm0        # 73e0 <_sk_callback_avx+0x272>
   .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
@@ -17083,15 +18478,15 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,74                              // jne           1bd8 <_sk_scale_u8_avx+0x54>
+  .byte  117,74                              // jne           1cb2 <_sk_scale_u8_avx+0x54>
   .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
-  .byte  197,57,219,5,68,81,0,0              // vpand         0x5144(%rip),%xmm8,%xmm8        # 6ce0 <_sk_callback_avx+0x5a2>
+  .byte  197,57,219,5,10,91,0,0              // vpand         0x5b0a(%rip),%xmm8,%xmm8        # 7780 <_sk_callback_avx+0x612>
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
   .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
   .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
   .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
-  .byte  196,98,125,24,13,221,77,0,0         // vbroadcastss  0x4ddd(%rip),%ymm9        # 699c <_sk_callback_avx+0x25e>
+  .byte  196,98,125,24,13,75,87,0,0          // vbroadcastss  0x574b(%rip),%ymm9        # 73e4 <_sk_callback_avx+0x276>
   .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
@@ -17104,15 +18499,15 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,167                             // ja            1b94 <_sk_scale_u8_avx+0x10>
+  .byte  119,167                             // ja            1c6e <_sk_scale_u8_avx+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,124,0,0,0                 // lea           0x7c(%rip),%r10        # 1c74 <_sk_scale_u8_avx+0xf0>
+  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 1d4c <_sk_scale_u8_avx+0xee>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  235,136                             // jmp           1b94 <_sk_scale_u8_avx+0x10>
+  .byte  235,136                             // jmp           1c6e <_sk_scale_u8_avx+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -17120,7 +18515,7 @@
   .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,95,255,255,255                  // jmpq          1b94 <_sk_scale_u8_avx+0x10>
+  .byte  233,95,255,255,255                  // jmpq          1c6e <_sk_scale_u8_avx+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -17131,24 +18526,22 @@
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%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,35,255,255,255                  // jmpq          1b94 <_sk_scale_u8_avx+0x10>
-  .byte  15,31,0                             // nopl          (%rax)
-  .byte  141                                 // (bad)
+  .byte  233,35,255,255,255                  // jmpq          1c6e <_sk_scale_u8_avx+0x10>
+  .byte  144                                 // nop
+  .byte  143                                 // (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,170,255,255,255,154             // ljmp          *-0x65000001(%rdx)
   .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  233,255,255,255,222                 // jmpq          ffffffffdf001d5c <_sk_callback_avx+0xffffffffdeffabee>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,193                             // inc           %ecx
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
@@ -17181,15 +18574,15 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,110                             // jne           1d47 <_sk_lerp_u8_avx+0x78>
+  .byte  117,110                             // jne           1e1f <_sk_lerp_u8_avx+0x78>
   .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
-  .byte  197,57,219,5,9,80,0,0               // vpand         0x5009(%rip),%xmm8,%xmm8        # 6cf0 <_sk_callback_avx+0x5b2>
+  .byte  197,57,219,5,209,89,0,0             // vpand         0x59d1(%rip),%xmm8,%xmm8        # 7790 <_sk_callback_avx+0x622>
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
   .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
   .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
   .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
-  .byte  196,98,125,24,13,150,76,0,0         // vbroadcastss  0x4c96(%rip),%ymm9        # 69a0 <_sk_callback_avx+0x262>
+  .byte  196,98,125,24,13,6,86,0,0           // vbroadcastss  0x5606(%rip),%ymm9        # 73e8 <_sk_callback_avx+0x27a>
   .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
@@ -17210,15 +18603,15 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,131                             // ja            1cdf <_sk_lerp_u8_avx+0x10>
+  .byte  119,131                             // ja            1db7 <_sk_lerp_u8_avx+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,125,0,0,0                 // lea           0x7d(%rip),%r10        # 1de4 <_sk_lerp_u8_avx+0x115>
+  .byte  76,141,21,125,0,0,0                 // lea           0x7d(%rip),%r10        # 1ebc <_sk_lerp_u8_avx+0x115>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  233,97,255,255,255                  // jmpq          1cdf <_sk_lerp_u8_avx+0x10>
+  .byte  233,97,255,255,255                  // jmpq          1db7 <_sk_lerp_u8_avx+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -17226,7 +18619,7 @@
   .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,56,255,255,255                  // jmpq          1cdf <_sk_lerp_u8_avx+0x10>
+  .byte  233,56,255,255,255                  // jmpq          1db7 <_sk_lerp_u8_avx+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -17237,7 +18630,7 @@
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%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,252,254,255,255                 // jmpq          1cdf <_sk_lerp_u8_avx+0x10>
+  .byte  233,252,254,255,255                 // jmpq          1db7 <_sk_lerp_u8_avx+0x10>
   .byte  144                                 // nop
   .byte  140,255                             // mov           %?,%edi
   .byte  255                                 // (bad)
@@ -17245,7 +18638,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  233,255,255,255,222                 // jmpq          ffffffffdf001df4 <_sk_callback_avx+0xffffffffdeffb6b6>
+  .byte  233,255,255,255,222                 // jmpq          ffffffffdf001ecc <_sk_callback_avx+0xffffffffdeffad5e>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,211                             // callq         *%rbx
@@ -17263,26 +18656,26 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,208,0,0,0                    // jne           1ede <_sk_lerp_565_avx+0xde>
+  .byte  15,133,208,0,0,0                    // jne           1fb6 <_sk_lerp_565_avx+0xde>
   .byte  196,65,122,111,4,83                 // vmovdqu       (%r11,%rdx,2),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
   .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
   .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
-  .byte  196,98,125,24,13,114,75,0,0         // vbroadcastss  0x4b72(%rip),%ymm9        # 69a4 <_sk_callback_avx+0x266>
+  .byte  196,98,125,24,13,226,84,0,0         // vbroadcastss  0x54e2(%rip),%ymm9        # 73ec <_sk_callback_avx+0x27e>
   .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,99,75,0,0          // vbroadcastss  0x4b63(%rip),%ymm10        # 69a8 <_sk_callback_avx+0x26a>
+  .byte  196,98,125,24,21,211,84,0,0         // vbroadcastss  0x54d3(%rip),%ymm10        # 73f0 <_sk_callback_avx+0x282>
   .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
-  .byte  196,98,125,24,21,89,75,0,0          // vbroadcastss  0x4b59(%rip),%ymm10        # 69ac <_sk_callback_avx+0x26e>
+  .byte  196,98,125,24,21,201,84,0,0         // vbroadcastss  0x54c9(%rip),%ymm10        # 73f4 <_sk_callback_avx+0x286>
   .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,74,75,0,0          // vbroadcastss  0x4b4a(%rip),%ymm11        # 69b0 <_sk_callback_avx+0x272>
+  .byte  196,98,125,24,29,186,84,0,0         // vbroadcastss  0x54ba(%rip),%ymm11        # 73f8 <_sk_callback_avx+0x28a>
   .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
-  .byte  196,98,125,24,29,64,75,0,0          // vbroadcastss  0x4b40(%rip),%ymm11        # 69b4 <_sk_callback_avx+0x276>
+  .byte  196,98,125,24,29,176,84,0,0         // vbroadcastss  0x54b0(%rip),%ymm11        # 73fc <_sk_callback_avx+0x28e>
   .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,49,75,0,0          // vbroadcastss  0x4b31(%rip),%ymm11        # 69b8 <_sk_callback_avx+0x27a>
+  .byte  196,98,125,24,29,161,84,0,0         // vbroadcastss  0x54a1(%rip),%ymm11        # 7400 <_sk_callback_avx+0x292>
   .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
   .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
   .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
@@ -17309,27 +18702,27 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,29,255,255,255               // ja            1e14 <_sk_lerp_565_avx+0x14>
+  .byte  15,135,29,255,255,255               // ja            1eec <_sk_lerp_565_avx+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,102,0,0,0                 // lea           0x66(%rip),%r10        # 1f68 <_sk_lerp_565_avx+0x168>
+  .byte  76,141,21,102,0,0,0                 // lea           0x66(%rip),%r10        # 2040 <_sk_lerp_565_avx+0x168>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  233,251,254,255,255                 // jmpq          1e14 <_sk_lerp_565_avx+0x14>
+  .byte  233,251,254,255,255                 // jmpq          1eec <_sk_lerp_565_avx+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,65,57,196,68,83,4,2             // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,121,110,12,83                // vmovd         (%r11,%rdx,2),%xmm9
   .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
-  .byte  233,221,254,255,255                 // jmpq          1e14 <_sk_lerp_565_avx+0x14>
+  .byte  233,221,254,255,255                 // jmpq          1eec <_sk_lerp_565_avx+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,65,57,196,68,83,12,6            // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,57,196,68,83,10,5            // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,57,196,68,83,8,4             // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
   .byte  196,65,122,126,12,83                // vmovq         (%r11,%rdx,2),%xmm9
   .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
-  .byte  233,175,254,255,255                 // jmpq          1e14 <_sk_lerp_565_avx+0x14>
+  .byte  233,175,254,255,255                 // jmpq          1eec <_sk_lerp_565_avx+0x14>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  163,255,255,255,190,255,255,255,177 // movabs        %eax,0xb1ffffffbeffffff
   .byte  255                                 // (bad)
@@ -17360,9 +18753,9 @@
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,248,1,0,0                    // jne           219c <_sk_load_tables_avx+0x218>
+  .byte  15,133,248,1,0,0                    // jne           2274 <_sk_load_tables_avx+0x218>
   .byte  196,65,124,16,18                    // vmovups       (%r10),%ymm10
-  .byte  197,124,40,13,47,78,0,0             // vmovaps       0x4e2f(%rip),%ymm9        # 6de0 <_sk_callback_avx+0x6a2>
+  .byte  197,124,40,13,55,88,0,0             // vmovaps       0x5837(%rip),%ymm9        # 78c0 <_sk_callback_avx+0x752>
   .byte  196,193,44,84,201                   // vandps        %ymm9,%ymm10,%ymm1
   .byte  196,227,125,25,200,1                // vextractf128  $0x1,%ymm1,%xmm0
   .byte  196,193,249,126,195                 // vmovq         %xmm0,%r11
@@ -17454,7 +18847,7 @@
   .byte  196,193,65,114,208,24               // vpsrld        $0x18,%xmm8,%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,72,0,0         // vbroadcastss  0x4832(%rip),%ymm7        # 69bc <_sk_callback_avx+0x27e>
+  .byte  196,226,125,24,61,162,81,0,0        // vbroadcastss  0x51a2(%rip),%ymm7        # 7404 <_sk_callback_avx+0x296>
   .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,137,201                          // mov           %r9,%rcx
@@ -17468,13 +18861,13 @@
   .byte  73,211,235                          // shr           %cl,%r11
   .byte  196,193,249,110,195                 // vmovq         %r11,%xmm0
   .byte  196,226,121,48,192                  // vpmovzxbw     %xmm0,%xmm0
-  .byte  196,226,121,0,13,60,75,0,0          // vpshufb       0x4b3c(%rip),%xmm0,%xmm1        # 6d00 <_sk_callback_avx+0x5c2>
+  .byte  196,226,121,0,13,4,85,0,0           // vpshufb       0x5504(%rip),%xmm0,%xmm1        # 77a0 <_sk_callback_avx+0x632>
   .byte  196,226,121,33,201                  // vpmovsxbd     %xmm1,%xmm1
-  .byte  196,226,121,0,5,62,75,0,0           // vpshufb       0x4b3e(%rip),%xmm0,%xmm0        # 6d10 <_sk_callback_avx+0x5d2>
+  .byte  196,226,121,0,5,6,85,0,0            // vpshufb       0x5506(%rip),%xmm0,%xmm0        # 77b0 <_sk_callback_avx+0x642>
   .byte  196,226,121,33,192                  // vpmovsxbd     %xmm0,%xmm0
   .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
   .byte  196,66,125,44,18                    // vmaskmovps    (%r10),%ymm0,%ymm10
-  .byte  233,194,253,255,255                 // jmpq          1fa9 <_sk_load_tables_avx+0x25>
+  .byte  233,194,253,255,255                 // jmpq          2081 <_sk_load_tables_avx+0x25>
 
 HIDDEN _sk_load_tables_u16_be_avx
 .globl _sk_load_tables_u16_be_avx
@@ -17485,7 +18878,7 @@
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  77,133,192                          // test          %r8,%r8
   .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
-  .byte  15,133,84,2,0,0                     // jne           2457 <_sk_load_tables_u16_be_avx+0x270>
+  .byte  15,133,84,2,0,0                     // jne           252f <_sk_load_tables_u16_be_avx+0x270>
   .byte  196,1,121,16,4,81                   // vmovupd       (%r9,%r10,2),%xmm8
   .byte  196,129,121,16,84,81,16             // vmovupd       0x10(%r9,%r10,2),%xmm2
   .byte  196,129,121,16,92,81,32             // vmovupd       0x20(%r9,%r10,2),%xmm3
@@ -17500,7 +18893,7 @@
   .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
   .byte  197,177,108,200                     // vpunpcklqdq   %xmm0,%xmm9,%xmm1
   .byte  197,49,109,224                      // vpunpckhqdq   %xmm0,%xmm9,%xmm12
-  .byte  197,121,111,21,208,74,0,0           // vmovdqa       0x4ad0(%rip),%xmm10        # 6d20 <_sk_callback_avx+0x5e2>
+  .byte  197,121,111,21,152,84,0,0           // vmovdqa       0x5498(%rip),%xmm10        # 77c0 <_sk_callback_avx+0x652>
   .byte  196,193,113,219,202                 // vpand         %xmm10,%xmm1,%xmm1
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  196,193,113,105,209                 // vpunpckhwd    %xmm9,%xmm1,%xmm2
@@ -17598,7 +18991,7 @@
   .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
   .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,119,69,0,0        // vbroadcastss  0x4577(%rip),%ymm7        # 69c0 <_sk_callback_avx+0x282>
+  .byte  196,226,125,24,61,231,78,0,0        // vbroadcastss  0x4ee7(%rip),%ymm7        # 7408 <_sk_callback_avx+0x29a>
   .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
@@ -17606,29 +18999,29 @@
   .byte  196,1,123,16,4,81                   // vmovsd        (%r9,%r10,2),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,85                              // je            24bd <_sk_load_tables_u16_be_avx+0x2d6>
+  .byte  116,85                              // je            2595 <_sk_load_tables_u16_be_avx+0x2d6>
   .byte  196,1,57,22,68,81,8                 // vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,72                              // jb            24bd <_sk_load_tables_u16_be_avx+0x2d6>
+  .byte  114,72                              // jb            2595 <_sk_load_tables_u16_be_avx+0x2d6>
   .byte  196,129,123,16,84,81,16             // vmovsd        0x10(%r9,%r10,2),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,72                              // je            24ca <_sk_load_tables_u16_be_avx+0x2e3>
+  .byte  116,72                              // je            25a2 <_sk_load_tables_u16_be_avx+0x2e3>
   .byte  196,129,105,22,84,81,24             // vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,59                              // jb            24ca <_sk_load_tables_u16_be_avx+0x2e3>
+  .byte  114,59                              // jb            25a2 <_sk_load_tables_u16_be_avx+0x2e3>
   .byte  196,129,123,16,92,81,32             // vmovsd        0x20(%r9,%r10,2),%xmm3
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,126,253,255,255              // je            221e <_sk_load_tables_u16_be_avx+0x37>
+  .byte  15,132,126,253,255,255              // je            22f6 <_sk_load_tables_u16_be_avx+0x37>
   .byte  196,129,97,22,92,81,40              // vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,109,253,255,255              // jb            221e <_sk_load_tables_u16_be_avx+0x37>
+  .byte  15,130,109,253,255,255              // jb            22f6 <_sk_load_tables_u16_be_avx+0x37>
   .byte  196,1,122,126,76,81,48              // vmovq         0x30(%r9,%r10,2),%xmm9
-  .byte  233,97,253,255,255                  // jmpq          221e <_sk_load_tables_u16_be_avx+0x37>
+  .byte  233,97,253,255,255                  // jmpq          22f6 <_sk_load_tables_u16_be_avx+0x37>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
   .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
-  .byte  233,84,253,255,255                  // jmpq          221e <_sk_load_tables_u16_be_avx+0x37>
+  .byte  233,84,253,255,255                  // jmpq          22f6 <_sk_load_tables_u16_be_avx+0x37>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
-  .byte  233,75,253,255,255                  // jmpq          221e <_sk_load_tables_u16_be_avx+0x37>
+  .byte  233,75,253,255,255                  // jmpq          22f6 <_sk_load_tables_u16_be_avx+0x37>
 
 HIDDEN _sk_load_tables_rgb_u16_be_avx
 .globl _sk_load_tables_rgb_u16_be_avx
@@ -17640,7 +19033,7 @@
   .byte  77,133,192                          // test          %r8,%r8
   .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,71,2,0,0                     // jne           2738 <_sk_load_tables_rgb_u16_be_avx+0x265>
+  .byte  15,133,71,2,0,0                     // jne           2810 <_sk_load_tables_rgb_u16_be_avx+0x265>
   .byte  196,129,122,111,4,81                // vmovdqu       (%r9,%r10,2),%xmm0
   .byte  196,129,122,111,84,81,12            // vmovdqu       0xc(%r9,%r10,2),%xmm2
   .byte  196,129,122,111,76,81,24            // vmovdqu       0x18(%r9,%r10,2),%xmm1
@@ -17661,7 +19054,7 @@
   .byte  197,185,108,218                     // vpunpcklqdq   %xmm2,%xmm8,%xmm3
   .byte  197,57,109,218                      // vpunpckhqdq   %xmm2,%xmm8,%xmm11
   .byte  197,121,108,193                     // vpunpcklqdq   %xmm1,%xmm0,%xmm8
-  .byte  197,121,111,13,213,71,0,0           // vmovdqa       0x47d5(%rip),%xmm9        # 6d30 <_sk_callback_avx+0x5f2>
+  .byte  197,121,111,13,157,81,0,0           // vmovdqa       0x519d(%rip),%xmm9        # 77d0 <_sk_callback_avx+0x662>
   .byte  196,193,97,219,193                  // vpand         %xmm9,%xmm3,%xmm0
   .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
   .byte  196,193,121,105,202                 // vpunpckhwd    %xmm10,%xmm0,%xmm1
@@ -17751,50 +19144,50 @@
   .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
   .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,154,66,0,0        // vbroadcastss  0x429a(%rip),%ymm3        # 69c4 <_sk_callback_avx+0x286>
+  .byte  196,226,125,24,29,10,76,0,0         // vbroadcastss  0x4c0a(%rip),%ymm3        # 740c <_sk_callback_avx+0x29e>
   .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,81                // vmovd         (%r9,%r10,2),%xmm0
   .byte  196,129,121,196,68,81,4,2           // vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,5                               // jne           2751 <_sk_load_tables_rgb_u16_be_avx+0x27e>
-  .byte  233,212,253,255,255                 // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  117,5                               // jne           2829 <_sk_load_tables_rgb_u16_be_avx+0x27e>
+  .byte  233,212,253,255,255                 // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
   .byte  196,129,121,110,76,81,6             // vmovd         0x6(%r9,%r10,2),%xmm1
   .byte  196,1,113,196,68,81,10,2            // vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,26                              // jb            2780 <_sk_load_tables_rgb_u16_be_avx+0x2ad>
+  .byte  114,26                              // jb            2858 <_sk_load_tables_rgb_u16_be_avx+0x2ad>
   .byte  196,129,121,110,76,81,12            // vmovd         0xc(%r9,%r10,2),%xmm1
   .byte  196,129,113,196,84,81,16,2          // vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  117,10                              // jne           2785 <_sk_load_tables_rgb_u16_be_avx+0x2b2>
-  .byte  233,165,253,255,255                 // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
-  .byte  233,160,253,255,255                 // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  117,10                              // jne           285d <_sk_load_tables_rgb_u16_be_avx+0x2b2>
+  .byte  233,165,253,255,255                 // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  233,160,253,255,255                 // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
   .byte  196,129,121,110,76,81,18            // vmovd         0x12(%r9,%r10,2),%xmm1
   .byte  196,1,113,196,76,81,22,2            // vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,26                              // jb            27b4 <_sk_load_tables_rgb_u16_be_avx+0x2e1>
+  .byte  114,26                              // jb            288c <_sk_load_tables_rgb_u16_be_avx+0x2e1>
   .byte  196,129,121,110,76,81,24            // vmovd         0x18(%r9,%r10,2),%xmm1
   .byte  196,129,113,196,76,81,28,2          // vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  117,10                              // jne           27b9 <_sk_load_tables_rgb_u16_be_avx+0x2e6>
-  .byte  233,113,253,255,255                 // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
-  .byte  233,108,253,255,255                 // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  117,10                              // jne           2891 <_sk_load_tables_rgb_u16_be_avx+0x2e6>
+  .byte  233,113,253,255,255                 // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  233,108,253,255,255                 // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
   .byte  196,129,121,110,92,81,30            // vmovd         0x1e(%r9,%r10,2),%xmm3
   .byte  196,1,97,196,92,81,34,2             // vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,20                              // jb            27e2 <_sk_load_tables_rgb_u16_be_avx+0x30f>
+  .byte  114,20                              // jb            28ba <_sk_load_tables_rgb_u16_be_avx+0x30f>
   .byte  196,129,121,110,92,81,36            // vmovd         0x24(%r9,%r10,2),%xmm3
   .byte  196,129,97,196,92,81,40,2           // vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
-  .byte  233,67,253,255,255                  // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
-  .byte  233,62,253,255,255                  // jmpq          2525 <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  233,67,253,255,255                  // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
+  .byte  233,62,253,255,255                  // jmpq          25fd <_sk_load_tables_rgb_u16_be_avx+0x52>
 
 HIDDEN _sk_byte_tables_avx
 .globl _sk_byte_tables_avx
 FUNCTION(_sk_byte_tables_avx)
 _sk_byte_tables_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,214,65,0,0          // vbroadcastss  0x41d6(%rip),%ymm8        # 69c8 <_sk_callback_avx+0x28a>
+  .byte  196,98,125,24,5,70,75,0,0           // vbroadcastss  0x4b46(%rip),%ymm8        # 7410 <_sk_callback_avx+0x2a2>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
   .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
   .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
@@ -17913,7 +19306,7 @@
   .byte  196,194,121,49,204                  // vpmovzxbd     %xmm12,%xmm1
   .byte  196,194,121,49,213                  // vpmovzxbd     %xmm13,%xmm2
   .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
-  .byte  196,98,125,24,13,128,63,0,0         // vbroadcastss  0x3f80(%rip),%ymm9        # 69cc <_sk_callback_avx+0x28e>
+  .byte  196,98,125,24,13,240,72,0,0         // vbroadcastss  0x48f0(%rip),%ymm9        # 7414 <_sk_callback_avx+0x2a6>
   .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
   .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
@@ -18029,7 +19422,7 @@
   .byte  196,194,121,49,203                  // vpmovzxbd     %xmm11,%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,97,61,0,0          // vbroadcastss  0x3d61(%rip),%ymm9        # 69d0 <_sk_callback_avx+0x292>
+  .byte  196,98,125,24,13,209,70,0,0         // vbroadcastss  0x46d1(%rip),%ymm9        # 7418 <_sk_callback_avx+0x2aa>
   .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
   .byte  196,194,121,49,202                  // vpmovzxbd     %xmm10,%xmm1
   .byte  196,194,121,49,212                  // vpmovzxbd     %xmm12,%xmm2
@@ -18234,36 +19627,36 @@
   .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
   .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
   .byte  197,124,91,216                      // vcvtdq2ps     %ymm0,%ymm11
-  .byte  196,98,125,24,37,14,58,0,0          // vbroadcastss  0x3a0e(%rip),%ymm12        # 69d4 <_sk_callback_avx+0x296>
+  .byte  196,98,125,24,37,126,67,0,0         // vbroadcastss  0x437e(%rip),%ymm12        # 741c <_sk_callback_avx+0x2ae>
   .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,4,58,0,0           // vbroadcastss  0x3a04(%rip),%ymm12        # 69d8 <_sk_callback_avx+0x29a>
+  .byte  196,98,125,24,37,116,67,0,0         // vbroadcastss  0x4374(%rip),%ymm12        # 7420 <_sk_callback_avx+0x2b2>
   .byte  196,193,124,84,196                  // vandps        %ymm12,%ymm0,%ymm0
-  .byte  196,98,125,24,37,250,57,0,0         // vbroadcastss  0x39fa(%rip),%ymm12        # 69dc <_sk_callback_avx+0x29e>
+  .byte  196,98,125,24,37,106,67,0,0         // vbroadcastss  0x436a(%rip),%ymm12        # 7424 <_sk_callback_avx+0x2b6>
   .byte  196,193,124,86,196                  // vorps         %ymm12,%ymm0,%ymm0
-  .byte  196,98,125,24,37,240,57,0,0         // vbroadcastss  0x39f0(%rip),%ymm12        # 69e0 <_sk_callback_avx+0x2a2>
+  .byte  196,98,125,24,37,96,67,0,0          // vbroadcastss  0x4360(%rip),%ymm12        # 7428 <_sk_callback_avx+0x2ba>
   .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,230,57,0,0         // vbroadcastss  0x39e6(%rip),%ymm12        # 69e4 <_sk_callback_avx+0x2a6>
+  .byte  196,98,125,24,37,86,67,0,0          // vbroadcastss  0x4356(%rip),%ymm12        # 742c <_sk_callback_avx+0x2be>
   .byte  196,65,124,89,228                   // vmulps        %ymm12,%ymm0,%ymm12
   .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,215,57,0,0         // vbroadcastss  0x39d7(%rip),%ymm12        # 69e8 <_sk_callback_avx+0x2aa>
+  .byte  196,98,125,24,37,71,67,0,0          // vbroadcastss  0x4347(%rip),%ymm12        # 7430 <_sk_callback_avx+0x2c2>
   .byte  196,193,124,88,196                  // vaddps        %ymm12,%ymm0,%ymm0
-  .byte  196,98,125,24,37,205,57,0,0         // vbroadcastss  0x39cd(%rip),%ymm12        # 69ec <_sk_callback_avx+0x2ae>
+  .byte  196,98,125,24,37,61,67,0,0          // vbroadcastss  0x433d(%rip),%ymm12        # 7434 <_sk_callback_avx+0x2c6>
   .byte  197,156,94,192                      // vdivps        %ymm0,%ymm12,%ymm0
   .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
   .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
   .byte  196,99,125,8,208,1                  // vroundps      $0x1,%ymm0,%ymm10
   .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
-  .byte  196,98,125,24,29,177,57,0,0         // vbroadcastss  0x39b1(%rip),%ymm11        # 69f0 <_sk_callback_avx+0x2b2>
+  .byte  196,98,125,24,29,33,67,0,0          // vbroadcastss  0x4321(%rip),%ymm11        # 7438 <_sk_callback_avx+0x2ca>
   .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
-  .byte  196,98,125,24,29,167,57,0,0         // vbroadcastss  0x39a7(%rip),%ymm11        # 69f4 <_sk_callback_avx+0x2b6>
+  .byte  196,98,125,24,29,23,67,0,0          // vbroadcastss  0x4317(%rip),%ymm11        # 743c <_sk_callback_avx+0x2ce>
   .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
   .byte  196,193,124,92,195                  // vsubps        %ymm11,%ymm0,%ymm0
-  .byte  196,98,125,24,29,152,57,0,0         // vbroadcastss  0x3998(%rip),%ymm11        # 69f8 <_sk_callback_avx+0x2ba>
+  .byte  196,98,125,24,29,8,67,0,0           // vbroadcastss  0x4308(%rip),%ymm11        # 7440 <_sk_callback_avx+0x2d2>
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
-  .byte  196,98,125,24,29,142,57,0,0         // vbroadcastss  0x398e(%rip),%ymm11        # 69fc <_sk_callback_avx+0x2be>
+  .byte  196,98,125,24,29,254,66,0,0         // vbroadcastss  0x42fe(%rip),%ymm11        # 7444 <_sk_callback_avx+0x2d6>
   .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
   .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
-  .byte  196,98,125,24,21,127,57,0,0         // vbroadcastss  0x397f(%rip),%ymm10        # 6a00 <_sk_callback_avx+0x2c2>
+  .byte  196,98,125,24,21,239,66,0,0         // vbroadcastss  0x42ef(%rip),%ymm10        # 7448 <_sk_callback_avx+0x2da>
   .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
   .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -18271,7 +19664,7 @@
   .byte  196,195,125,74,193,128              // vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,5,86,57,0,0           // vbroadcastss  0x3956(%rip),%ymm8        # 6a04 <_sk_callback_avx+0x2c6>
+  .byte  196,98,125,24,5,198,66,0,0          // vbroadcastss  0x42c6(%rip),%ymm8        # 744c <_sk_callback_avx+0x2de>
   .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18293,36 +19686,36 @@
   .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
   .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
   .byte  197,124,91,217                      // vcvtdq2ps     %ymm1,%ymm11
-  .byte  196,98,125,24,37,7,57,0,0           // vbroadcastss  0x3907(%rip),%ymm12        # 6a08 <_sk_callback_avx+0x2ca>
+  .byte  196,98,125,24,37,119,66,0,0         // vbroadcastss  0x4277(%rip),%ymm12        # 7450 <_sk_callback_avx+0x2e2>
   .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,253,56,0,0         // vbroadcastss  0x38fd(%rip),%ymm12        # 6a0c <_sk_callback_avx+0x2ce>
+  .byte  196,98,125,24,37,109,66,0,0         // vbroadcastss  0x426d(%rip),%ymm12        # 7454 <_sk_callback_avx+0x2e6>
   .byte  196,193,116,84,204                  // vandps        %ymm12,%ymm1,%ymm1
-  .byte  196,98,125,24,37,243,56,0,0         // vbroadcastss  0x38f3(%rip),%ymm12        # 6a10 <_sk_callback_avx+0x2d2>
+  .byte  196,98,125,24,37,99,66,0,0          // vbroadcastss  0x4263(%rip),%ymm12        # 7458 <_sk_callback_avx+0x2ea>
   .byte  196,193,116,86,204                  // vorps         %ymm12,%ymm1,%ymm1
-  .byte  196,98,125,24,37,233,56,0,0         // vbroadcastss  0x38e9(%rip),%ymm12        # 6a14 <_sk_callback_avx+0x2d6>
+  .byte  196,98,125,24,37,89,66,0,0          // vbroadcastss  0x4259(%rip),%ymm12        # 745c <_sk_callback_avx+0x2ee>
   .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,223,56,0,0         // vbroadcastss  0x38df(%rip),%ymm12        # 6a18 <_sk_callback_avx+0x2da>
+  .byte  196,98,125,24,37,79,66,0,0          // vbroadcastss  0x424f(%rip),%ymm12        # 7460 <_sk_callback_avx+0x2f2>
   .byte  196,65,116,89,228                   // vmulps        %ymm12,%ymm1,%ymm12
   .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,208,56,0,0         // vbroadcastss  0x38d0(%rip),%ymm12        # 6a1c <_sk_callback_avx+0x2de>
+  .byte  196,98,125,24,37,64,66,0,0          // vbroadcastss  0x4240(%rip),%ymm12        # 7464 <_sk_callback_avx+0x2f6>
   .byte  196,193,116,88,204                  // vaddps        %ymm12,%ymm1,%ymm1
-  .byte  196,98,125,24,37,198,56,0,0         // vbroadcastss  0x38c6(%rip),%ymm12        # 6a20 <_sk_callback_avx+0x2e2>
+  .byte  196,98,125,24,37,54,66,0,0          // vbroadcastss  0x4236(%rip),%ymm12        # 7468 <_sk_callback_avx+0x2fa>
   .byte  197,156,94,201                      // vdivps        %ymm1,%ymm12,%ymm1
   .byte  197,164,92,201                      // vsubps        %ymm1,%ymm11,%ymm1
   .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
   .byte  196,99,125,8,209,1                  // vroundps      $0x1,%ymm1,%ymm10
   .byte  196,65,116,92,210                   // vsubps        %ymm10,%ymm1,%ymm10
-  .byte  196,98,125,24,29,170,56,0,0         // vbroadcastss  0x38aa(%rip),%ymm11        # 6a24 <_sk_callback_avx+0x2e6>
+  .byte  196,98,125,24,29,26,66,0,0          // vbroadcastss  0x421a(%rip),%ymm11        # 746c <_sk_callback_avx+0x2fe>
   .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
-  .byte  196,98,125,24,29,160,56,0,0         // vbroadcastss  0x38a0(%rip),%ymm11        # 6a28 <_sk_callback_avx+0x2ea>
+  .byte  196,98,125,24,29,16,66,0,0          // vbroadcastss  0x4210(%rip),%ymm11        # 7470 <_sk_callback_avx+0x302>
   .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
   .byte  196,193,116,92,203                  // vsubps        %ymm11,%ymm1,%ymm1
-  .byte  196,98,125,24,29,145,56,0,0         // vbroadcastss  0x3891(%rip),%ymm11        # 6a2c <_sk_callback_avx+0x2ee>
+  .byte  196,98,125,24,29,1,66,0,0           // vbroadcastss  0x4201(%rip),%ymm11        # 7474 <_sk_callback_avx+0x306>
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
-  .byte  196,98,125,24,29,135,56,0,0         // vbroadcastss  0x3887(%rip),%ymm11        # 6a30 <_sk_callback_avx+0x2f2>
+  .byte  196,98,125,24,29,247,65,0,0         // vbroadcastss  0x41f7(%rip),%ymm11        # 7478 <_sk_callback_avx+0x30a>
   .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
   .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
-  .byte  196,98,125,24,21,120,56,0,0         // vbroadcastss  0x3878(%rip),%ymm10        # 6a34 <_sk_callback_avx+0x2f6>
+  .byte  196,98,125,24,21,232,65,0,0         // vbroadcastss  0x41e8(%rip),%ymm10        # 747c <_sk_callback_avx+0x30e>
   .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
   .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -18330,7 +19723,7 @@
   .byte  196,195,117,74,201,128              // vblendvps     %ymm8,%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,98,125,24,5,79,56,0,0           // vbroadcastss  0x384f(%rip),%ymm8        # 6a38 <_sk_callback_avx+0x2fa>
+  .byte  196,98,125,24,5,191,65,0,0          // vbroadcastss  0x41bf(%rip),%ymm8        # 7480 <_sk_callback_avx+0x312>
   .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18352,36 +19745,36 @@
   .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
   .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
   .byte  197,124,91,218                      // vcvtdq2ps     %ymm2,%ymm11
-  .byte  196,98,125,24,37,0,56,0,0           // vbroadcastss  0x3800(%rip),%ymm12        # 6a3c <_sk_callback_avx+0x2fe>
+  .byte  196,98,125,24,37,112,65,0,0         // vbroadcastss  0x4170(%rip),%ymm12        # 7484 <_sk_callback_avx+0x316>
   .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,246,55,0,0         // vbroadcastss  0x37f6(%rip),%ymm12        # 6a40 <_sk_callback_avx+0x302>
+  .byte  196,98,125,24,37,102,65,0,0         // vbroadcastss  0x4166(%rip),%ymm12        # 7488 <_sk_callback_avx+0x31a>
   .byte  196,193,108,84,212                  // vandps        %ymm12,%ymm2,%ymm2
-  .byte  196,98,125,24,37,236,55,0,0         // vbroadcastss  0x37ec(%rip),%ymm12        # 6a44 <_sk_callback_avx+0x306>
+  .byte  196,98,125,24,37,92,65,0,0          // vbroadcastss  0x415c(%rip),%ymm12        # 748c <_sk_callback_avx+0x31e>
   .byte  196,193,108,86,212                  // vorps         %ymm12,%ymm2,%ymm2
-  .byte  196,98,125,24,37,226,55,0,0         // vbroadcastss  0x37e2(%rip),%ymm12        # 6a48 <_sk_callback_avx+0x30a>
+  .byte  196,98,125,24,37,82,65,0,0          // vbroadcastss  0x4152(%rip),%ymm12        # 7490 <_sk_callback_avx+0x322>
   .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,216,55,0,0         // vbroadcastss  0x37d8(%rip),%ymm12        # 6a4c <_sk_callback_avx+0x30e>
+  .byte  196,98,125,24,37,72,65,0,0          // vbroadcastss  0x4148(%rip),%ymm12        # 7494 <_sk_callback_avx+0x326>
   .byte  196,65,108,89,228                   // vmulps        %ymm12,%ymm2,%ymm12
   .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,201,55,0,0         // vbroadcastss  0x37c9(%rip),%ymm12        # 6a50 <_sk_callback_avx+0x312>
+  .byte  196,98,125,24,37,57,65,0,0          // vbroadcastss  0x4139(%rip),%ymm12        # 7498 <_sk_callback_avx+0x32a>
   .byte  196,193,108,88,212                  // vaddps        %ymm12,%ymm2,%ymm2
-  .byte  196,98,125,24,37,191,55,0,0         // vbroadcastss  0x37bf(%rip),%ymm12        # 6a54 <_sk_callback_avx+0x316>
+  .byte  196,98,125,24,37,47,65,0,0          // vbroadcastss  0x412f(%rip),%ymm12        # 749c <_sk_callback_avx+0x32e>
   .byte  197,156,94,210                      // vdivps        %ymm2,%ymm12,%ymm2
   .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
   .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
   .byte  196,99,125,8,210,1                  // vroundps      $0x1,%ymm2,%ymm10
   .byte  196,65,108,92,210                   // vsubps        %ymm10,%ymm2,%ymm10
-  .byte  196,98,125,24,29,163,55,0,0         // vbroadcastss  0x37a3(%rip),%ymm11        # 6a58 <_sk_callback_avx+0x31a>
+  .byte  196,98,125,24,29,19,65,0,0          // vbroadcastss  0x4113(%rip),%ymm11        # 74a0 <_sk_callback_avx+0x332>
   .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
-  .byte  196,98,125,24,29,153,55,0,0         // vbroadcastss  0x3799(%rip),%ymm11        # 6a5c <_sk_callback_avx+0x31e>
+  .byte  196,98,125,24,29,9,65,0,0           // vbroadcastss  0x4109(%rip),%ymm11        # 74a4 <_sk_callback_avx+0x336>
   .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
   .byte  196,193,108,92,211                  // vsubps        %ymm11,%ymm2,%ymm2
-  .byte  196,98,125,24,29,138,55,0,0         // vbroadcastss  0x378a(%rip),%ymm11        # 6a60 <_sk_callback_avx+0x322>
+  .byte  196,98,125,24,29,250,64,0,0         // vbroadcastss  0x40fa(%rip),%ymm11        # 74a8 <_sk_callback_avx+0x33a>
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
-  .byte  196,98,125,24,29,128,55,0,0         // vbroadcastss  0x3780(%rip),%ymm11        # 6a64 <_sk_callback_avx+0x326>
+  .byte  196,98,125,24,29,240,64,0,0         // vbroadcastss  0x40f0(%rip),%ymm11        # 74ac <_sk_callback_avx+0x33e>
   .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
   .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
-  .byte  196,98,125,24,21,113,55,0,0         // vbroadcastss  0x3771(%rip),%ymm10        # 6a68 <_sk_callback_avx+0x32a>
+  .byte  196,98,125,24,21,225,64,0,0         // vbroadcastss  0x40e1(%rip),%ymm10        # 74b0 <_sk_callback_avx+0x342>
   .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
   .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -18389,7 +19782,7 @@
   .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,24,5,72,55,0,0           // vbroadcastss  0x3748(%rip),%ymm8        # 6a6c <_sk_callback_avx+0x32e>
+  .byte  196,98,125,24,5,184,64,0,0          // vbroadcastss  0x40b8(%rip),%ymm8        # 74b4 <_sk_callback_avx+0x346>
   .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18411,36 +19804,36 @@
   .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
   .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
   .byte  197,124,91,219                      // vcvtdq2ps     %ymm3,%ymm11
-  .byte  196,98,125,24,37,249,54,0,0         // vbroadcastss  0x36f9(%rip),%ymm12        # 6a70 <_sk_callback_avx+0x332>
+  .byte  196,98,125,24,37,105,64,0,0         // vbroadcastss  0x4069(%rip),%ymm12        # 74b8 <_sk_callback_avx+0x34a>
   .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,239,54,0,0         // vbroadcastss  0x36ef(%rip),%ymm12        # 6a74 <_sk_callback_avx+0x336>
+  .byte  196,98,125,24,37,95,64,0,0          // vbroadcastss  0x405f(%rip),%ymm12        # 74bc <_sk_callback_avx+0x34e>
   .byte  196,193,100,84,220                  // vandps        %ymm12,%ymm3,%ymm3
-  .byte  196,98,125,24,37,229,54,0,0         // vbroadcastss  0x36e5(%rip),%ymm12        # 6a78 <_sk_callback_avx+0x33a>
+  .byte  196,98,125,24,37,85,64,0,0          // vbroadcastss  0x4055(%rip),%ymm12        # 74c0 <_sk_callback_avx+0x352>
   .byte  196,193,100,86,220                  // vorps         %ymm12,%ymm3,%ymm3
-  .byte  196,98,125,24,37,219,54,0,0         // vbroadcastss  0x36db(%rip),%ymm12        # 6a7c <_sk_callback_avx+0x33e>
+  .byte  196,98,125,24,37,75,64,0,0          // vbroadcastss  0x404b(%rip),%ymm12        # 74c4 <_sk_callback_avx+0x356>
   .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,209,54,0,0         // vbroadcastss  0x36d1(%rip),%ymm12        # 6a80 <_sk_callback_avx+0x342>
+  .byte  196,98,125,24,37,65,64,0,0          // vbroadcastss  0x4041(%rip),%ymm12        # 74c8 <_sk_callback_avx+0x35a>
   .byte  196,65,100,89,228                   // vmulps        %ymm12,%ymm3,%ymm12
   .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
-  .byte  196,98,125,24,37,194,54,0,0         // vbroadcastss  0x36c2(%rip),%ymm12        # 6a84 <_sk_callback_avx+0x346>
+  .byte  196,98,125,24,37,50,64,0,0          // vbroadcastss  0x4032(%rip),%ymm12        # 74cc <_sk_callback_avx+0x35e>
   .byte  196,193,100,88,220                  // vaddps        %ymm12,%ymm3,%ymm3
-  .byte  196,98,125,24,37,184,54,0,0         // vbroadcastss  0x36b8(%rip),%ymm12        # 6a88 <_sk_callback_avx+0x34a>
+  .byte  196,98,125,24,37,40,64,0,0          // vbroadcastss  0x4028(%rip),%ymm12        # 74d0 <_sk_callback_avx+0x362>
   .byte  197,156,94,219                      // vdivps        %ymm3,%ymm12,%ymm3
   .byte  197,164,92,219                      // vsubps        %ymm3,%ymm11,%ymm3
   .byte  197,172,89,219                      // vmulps        %ymm3,%ymm10,%ymm3
   .byte  196,99,125,8,211,1                  // vroundps      $0x1,%ymm3,%ymm10
   .byte  196,65,100,92,210                   // vsubps        %ymm10,%ymm3,%ymm10
-  .byte  196,98,125,24,29,156,54,0,0         // vbroadcastss  0x369c(%rip),%ymm11        # 6a8c <_sk_callback_avx+0x34e>
+  .byte  196,98,125,24,29,12,64,0,0          // vbroadcastss  0x400c(%rip),%ymm11        # 74d4 <_sk_callback_avx+0x366>
   .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
-  .byte  196,98,125,24,29,146,54,0,0         // vbroadcastss  0x3692(%rip),%ymm11        # 6a90 <_sk_callback_avx+0x352>
+  .byte  196,98,125,24,29,2,64,0,0           // vbroadcastss  0x4002(%rip),%ymm11        # 74d8 <_sk_callback_avx+0x36a>
   .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
   .byte  196,193,100,92,219                  // vsubps        %ymm11,%ymm3,%ymm3
-  .byte  196,98,125,24,29,131,54,0,0         // vbroadcastss  0x3683(%rip),%ymm11        # 6a94 <_sk_callback_avx+0x356>
+  .byte  196,98,125,24,29,243,63,0,0         // vbroadcastss  0x3ff3(%rip),%ymm11        # 74dc <_sk_callback_avx+0x36e>
   .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
-  .byte  196,98,125,24,29,121,54,0,0         // vbroadcastss  0x3679(%rip),%ymm11        # 6a98 <_sk_callback_avx+0x35a>
+  .byte  196,98,125,24,29,233,63,0,0         // vbroadcastss  0x3fe9(%rip),%ymm11        # 74e0 <_sk_callback_avx+0x372>
   .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
   .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
-  .byte  196,98,125,24,21,106,54,0,0         // vbroadcastss  0x366a(%rip),%ymm10        # 6a9c <_sk_callback_avx+0x35e>
+  .byte  196,98,125,24,21,218,63,0,0         // vbroadcastss  0x3fda(%rip),%ymm10        # 74e4 <_sk_callback_avx+0x376>
   .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
   .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
   .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
@@ -18448,7 +19841,7 @@
   .byte  196,195,101,74,217,128              // vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
   .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
   .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
-  .byte  196,98,125,24,5,65,54,0,0           // vbroadcastss  0x3641(%rip),%ymm8        # 6aa0 <_sk_callback_avx+0x362>
+  .byte  196,98,125,24,5,177,63,0,0          // vbroadcastss  0x3fb1(%rip),%ymm8        # 74e8 <_sk_callback_avx+0x37a>
   .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18457,31 +19850,31 @@
 .globl _sk_lab_to_xyz_avx
 FUNCTION(_sk_lab_to_xyz_avx)
 _sk_lab_to_xyz_avx:
-  .byte  196,98,125,24,5,51,54,0,0           // vbroadcastss  0x3633(%rip),%ymm8        # 6aa4 <_sk_callback_avx+0x366>
+  .byte  196,98,125,24,5,163,63,0,0          // vbroadcastss  0x3fa3(%rip),%ymm8        # 74ec <_sk_callback_avx+0x37e>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,5,41,54,0,0           // vbroadcastss  0x3629(%rip),%ymm8        # 6aa8 <_sk_callback_avx+0x36a>
+  .byte  196,98,125,24,5,153,63,0,0          // vbroadcastss  0x3f99(%rip),%ymm8        # 74f0 <_sk_callback_avx+0x382>
   .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
-  .byte  196,98,125,24,13,31,54,0,0          // vbroadcastss  0x361f(%rip),%ymm9        # 6aac <_sk_callback_avx+0x36e>
+  .byte  196,98,125,24,13,143,63,0,0         // vbroadcastss  0x3f8f(%rip),%ymm9        # 74f4 <_sk_callback_avx+0x386>
   .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,11,54,0,0           // vbroadcastss  0x360b(%rip),%ymm8        # 6ab0 <_sk_callback_avx+0x372>
+  .byte  196,98,125,24,5,123,63,0,0          // vbroadcastss  0x3f7b(%rip),%ymm8        # 74f8 <_sk_callback_avx+0x38a>
   .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,5,1,54,0,0            // vbroadcastss  0x3601(%rip),%ymm8        # 6ab4 <_sk_callback_avx+0x376>
+  .byte  196,98,125,24,5,113,63,0,0          // vbroadcastss  0x3f71(%rip),%ymm8        # 74fc <_sk_callback_avx+0x38e>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,5,247,53,0,0          // vbroadcastss  0x35f7(%rip),%ymm8        # 6ab8 <_sk_callback_avx+0x37a>
+  .byte  196,98,125,24,5,103,63,0,0          // vbroadcastss  0x3f67(%rip),%ymm8        # 7500 <_sk_callback_avx+0x392>
   .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,233,53,0,0          // vbroadcastss  0x35e9(%rip),%ymm8        # 6abc <_sk_callback_avx+0x37e>
+  .byte  196,98,125,24,5,89,63,0,0           // vbroadcastss  0x3f59(%rip),%ymm8        # 7504 <_sk_callback_avx+0x396>
   .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,210,53,0,0         // vbroadcastss  0x35d2(%rip),%ymm9        # 6ac0 <_sk_callback_avx+0x382>
+  .byte  196,98,125,24,13,66,63,0,0          // vbroadcastss  0x3f42(%rip),%ymm9        # 7508 <_sk_callback_avx+0x39a>
   .byte  196,65,52,194,208,1                 // vcmpltps      %ymm8,%ymm9,%ymm10
-  .byte  196,98,125,24,29,199,53,0,0         // vbroadcastss  0x35c7(%rip),%ymm11        # 6ac4 <_sk_callback_avx+0x386>
+  .byte  196,98,125,24,29,55,63,0,0          // vbroadcastss  0x3f37(%rip),%ymm11        # 750c <_sk_callback_avx+0x39e>
   .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
-  .byte  196,98,125,24,37,189,53,0,0         // vbroadcastss  0x35bd(%rip),%ymm12        # 6ac8 <_sk_callback_avx+0x38a>
+  .byte  196,98,125,24,37,45,63,0,0          // vbroadcastss  0x3f2d(%rip),%ymm12        # 7510 <_sk_callback_avx+0x3a2>
   .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
@@ -18496,9 +19889,9 @@
   .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,115,53,0,0         // vbroadcastss  0x3573(%rip),%ymm0        # 6acc <_sk_callback_avx+0x38e>
+  .byte  196,226,125,24,5,227,62,0,0         // vbroadcastss  0x3ee3(%rip),%ymm0        # 7514 <_sk_callback_avx+0x3a6>
   .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
-  .byte  196,98,125,24,5,106,53,0,0          // vbroadcastss  0x356a(%rip),%ymm8        # 6ad0 <_sk_callback_avx+0x392>
+  .byte  196,98,125,24,5,218,62,0,0          // vbroadcastss  0x3eda(%rip),%ymm8        # 7518 <_sk_callback_avx+0x3aa>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18510,15 +19903,15 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,66                              // jne           35bb <_sk_load_a8_avx+0x4c>
+  .byte  117,66                              // jne           3693 <_sk_load_a8_avx+0x4c>
   .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
-  .byte  197,249,219,5,185,55,0,0            // vpand         0x37b9(%rip),%xmm0,%xmm0        # 6d40 <_sk_callback_avx+0x602>
+  .byte  197,249,219,5,129,65,0,0            // vpand         0x4181(%rip),%xmm0,%xmm0        # 77e0 <_sk_callback_avx+0x672>
   .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .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,45,53,0,0         // vbroadcastss  0x352d(%rip),%ymm1        # 6ad4 <_sk_callback_avx+0x396>
+  .byte  196,226,125,24,13,157,62,0,0        // vbroadcastss  0x3e9d(%rip),%ymm1        # 751c <_sk_callback_avx+0x3ae>
   .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
@@ -18530,15 +19923,15 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,176                             // ja            357f <_sk_load_a8_avx+0x10>
+  .byte  119,176                             // ja            3657 <_sk_load_a8_avx+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 3654 <_sk_load_a8_avx+0xe5>
+  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 372c <_sk_load_a8_avx+0xe5>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,145                             // jmp           357f <_sk_load_a8_avx+0x10>
+  .byte  235,145                             // jmp           3657 <_sk_load_a8_avx+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -18546,7 +19939,7 @@
   .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          357f <_sk_load_a8_avx+0x10>
+  .byte  233,105,255,255,255                 // jmpq          3657 <_sk_load_a8_avx+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -18557,7 +19950,7 @@
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%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          357f <_sk_load_a8_avx+0x10>
+  .byte  233,46,255,255,255                  // jmpq          3657 <_sk_load_a8_avx+0x10>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  143                                 // (bad)
   .byte  255                                 // (bad)
@@ -18579,6 +19972,80 @@
   .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,66                              // jne           3794 <_sk_load_a8_dst_avx+0x4c>
+  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
+  .byte  197,217,219,37,144,64,0,0           // vpand         0x4090(%rip),%xmm4,%xmm4        # 77f0 <_sk_callback_avx+0x682>
+  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
+  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,160,61,0,0        // vbroadcastss  0x3da0(%rip),%ymm5        # 7520 <_sk_callback_avx+0x3b2>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,176                             // ja            3758 <_sk_load_a8_dst_avx+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 382c <_sk_load_a8_dst_avx+0xe4>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,145                             // jmp           3758 <_sk_load_a8_dst_avx+0x10>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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          3758 <_sk_load_a8_dst_avx+0x10>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%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          3758 <_sk_load_a8_dst_avx+0x10>
+  .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         ffffffffde00383c <_sk_callback_avx+0xffffffffddffc6ce>
+  .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_avx
 .globl _sk_gather_a8_avx
 FUNCTION(_sk_gather_a8_avx)
@@ -18623,7 +20090,7 @@
   .byte  196,226,121,49,192                  // vpmovzxbd     %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,156,51,0,0        // vbroadcastss  0x339c(%rip),%ymm1        # 6ad8 <_sk_callback_avx+0x39a>
+  .byte  196,226,125,24,13,16,60,0,0         // vbroadcastss  0x3c10(%rip),%ymm1        # 7524 <_sk_callback_avx+0x3b6>
   .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
@@ -18637,14 +20104,14 @@
 _sk_store_a8_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,126,51,0,0          // vbroadcastss  0x337e(%rip),%ymm8        # 6adc <_sk_callback_avx+0x39e>
+  .byte  196,98,125,24,5,242,59,0,0          // vbroadcastss  0x3bf2(%rip),%ymm8        # 7528 <_sk_callback_avx+0x3ba>
   .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%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  196,65,57,103,192                   // vpackuswb     %xmm8,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3787 <_sk_store_a8_avx+0x37>
+  .byte  117,10                              // jne           395f <_sk_store_a8_avx+0x37>
   .byte  196,65,123,17,4,19                  // vmovsd        %xmm8,(%r11,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -18652,25 +20119,25 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            3783 <_sk_store_a8_avx+0x33>
+  .byte  119,236                             // ja            395b <_sk_store_a8_avx+0x33>
   .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,85,0,0,0                  // lea           0x55(%rip),%r10        # 37fc <_sk_store_a8_avx+0xac>
+  .byte  76,141,21,85,0,0,0                  // lea           0x55(%rip),%r10        # 39d4 <_sk_store_a8_avx+0xac>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,202                             // jmp           3783 <_sk_store_a8_avx+0x33>
+  .byte  235,202                             // jmp           395b <_sk_store_a8_avx+0x33>
   .byte  196,67,121,20,68,19,2,4             // vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
-  .byte  196,98,57,0,5,134,53,0,0            // vpshufb       0x3586(%rip),%xmm8,%xmm8        # 6d50 <_sk_callback_avx+0x612>
+  .byte  196,98,57,0,5,94,62,0,0             // vpshufb       0x3e5e(%rip),%xmm8,%xmm8        # 7800 <_sk_callback_avx+0x692>
   .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,176                             // jmp           3783 <_sk_store_a8_avx+0x33>
+  .byte  235,176                             // jmp           395b <_sk_store_a8_avx+0x33>
   .byte  196,67,121,20,68,19,6,12            // vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,5,10            // vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,4,8             // vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
-  .byte  196,98,57,0,5,108,53,0,0            // vpshufb       0x356c(%rip),%xmm8,%xmm8        # 6d60 <_sk_callback_avx+0x622>
+  .byte  196,98,57,0,5,68,62,0,0             // vpshufb       0x3e44(%rip),%xmm8,%xmm8        # 7810 <_sk_callback_avx+0x6a2>
   .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
-  .byte  235,135                             // jmp           3783 <_sk_store_a8_avx+0x33>
+  .byte  235,135                             // jmp           395b <_sk_store_a8_avx+0x33>
   .byte  180,255                             // mov           $0xff,%ah
   .byte  255                                 // (bad)
   .byte  255,197                             // inc           %ebp
@@ -18698,18 +20165,18 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,71                              // jne           3869 <_sk_load_g8_avx+0x51>
+  .byte  117,71                              // jne           3a41 <_sk_load_g8_avx+0x51>
   .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
-  .byte  197,249,219,5,64,53,0,0             // vpand         0x3540(%rip),%xmm0,%xmm0        # 6d70 <_sk_callback_avx+0x632>
+  .byte  197,249,219,5,24,62,0,0             // vpand         0x3e18(%rip),%xmm0,%xmm0        # 7820 <_sk_callback_avx+0x6b2>
   .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .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,144,50,0,0        // vbroadcastss  0x3290(%rip),%ymm1        # 6ae0 <_sk_callback_avx+0x3a2>
+  .byte  196,226,125,24,13,4,59,0,0          // vbroadcastss  0x3b04(%rip),%ymm1        # 752c <_sk_callback_avx+0x3be>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,133,50,0,0        // vbroadcastss  0x3285(%rip),%ymm3        # 6ae4 <_sk_callback_avx+0x3a6>
+  .byte  196,226,125,24,29,249,58,0,0        // vbroadcastss  0x3af9(%rip),%ymm3        # 7530 <_sk_callback_avx+0x3c2>
   .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
   .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
   .byte  255,224                             // jmpq          *%rax
@@ -18718,15 +20185,15 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,171                             // ja            3828 <_sk_load_g8_avx+0x10>
+  .byte  119,171                             // ja            3a00 <_sk_load_g8_avx+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,120,0,0,0                 // lea           0x78(%rip),%r10        # 3900 <_sk_load_g8_avx+0xe8>
+  .byte  76,141,21,120,0,0,0                 // lea           0x78(%rip),%r10        # 3ad8 <_sk_load_g8_avx+0xe8>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,140                             // jmp           3828 <_sk_load_g8_avx+0x10>
+  .byte  235,140                             // jmp           3a00 <_sk_load_g8_avx+0x10>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -18734,7 +20201,7 @@
   .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,100,255,255,255                 // jmpq          3828 <_sk_load_g8_avx+0x10>
+  .byte  233,100,255,255,255                 // jmpq          3a00 <_sk_load_g8_avx+0x10>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -18745,7 +20212,7 @@
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%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,41,255,255,255                  // jmpq          3828 <_sk_load_g8_avx+0x10>
+  .byte  233,41,255,255,255                  // jmpq          3a00 <_sk_load_g8_avx+0x10>
   .byte  144                                 // nop
   .byte  145                                 // xchg          %eax,%ecx
   .byte  255                                 // (bad)
@@ -18754,7 +20221,81 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  233,255,255,255,222                 // jmpq          ffffffffdf003910 <_sk_callback_avx+0xffffffffdeffd1d2>
+  .byte  233,255,255,255,222                 // jmpq          ffffffffdf003ae8 <_sk_callback_avx+0xffffffffdeffc97a>
+  .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_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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,71                              // jne           3b45 <_sk_load_g8_dst_avx+0x51>
+  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
+  .byte  197,217,219,37,36,61,0,0            // vpand         0x3d24(%rip),%xmm4,%xmm4        # 7830 <_sk_callback_avx+0x6c2>
+  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
+  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,8,58,0,0          // vbroadcastss  0x3a08(%rip),%ymm5        # 7534 <_sk_callback_avx+0x3c6>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,253,57,0,0        // vbroadcastss  0x39fd(%rip),%ymm7        # 7538 <_sk_callback_avx+0x3ca>
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,171                             // ja            3b04 <_sk_load_g8_dst_avx+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,120,0,0,0                 // lea           0x78(%rip),%r10        # 3bdc <_sk_load_g8_dst_avx+0xe8>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,140                             // jmp           3b04 <_sk_load_g8_dst_avx+0x10>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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,100,255,255,255                 // jmpq          3b04 <_sk_load_g8_dst_avx+0x10>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%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,41,255,255,255                  // jmpq          3b04 <_sk_load_g8_dst_avx+0x10>
+  .byte  144                                 // nop
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,171,255,255,255,156             // ljmp          *-0x63000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,222                 // jmpq          ffffffffdf003bec <_sk_callback_avx+0xffffffffdeffca7e>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,211                             // callq         *%rbx
@@ -18809,10 +20350,10 @@
   .byte  196,226,121,49,192                  // vpmovzxbd     %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,0,49,0,0          // vbroadcastss  0x3100(%rip),%ymm1        # 6ae8 <_sk_callback_avx+0x3aa>
+  .byte  196,226,125,24,13,120,56,0,0        // vbroadcastss  0x3878(%rip),%ymm1        # 753c <_sk_callback_avx+0x3ce>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,245,48,0,0        // vbroadcastss  0x30f5(%rip),%ymm3        # 6aec <_sk_callback_avx+0x3ae>
+  .byte  196,226,125,24,29,109,56,0,0        // vbroadcastss  0x386d(%rip),%ymm3        # 7540 <_sk_callback_avx+0x3d2>
   .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
   .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
   .byte  255,224                             // jmpq          *%rax
@@ -18824,9 +20365,9 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,137,193                          // mov           %rax,%r9
   .byte  77,133,201                          // test          %r9,%r9
-  .byte  116,5                               // je            3a10 <_sk_gather_i8_avx+0xf>
+  .byte  116,5                               // je            3cec <_sk_gather_i8_avx+0xf>
   .byte  76,137,200                          // mov           %r9,%rax
-  .byte  235,2                               // jmp           3a12 <_sk_gather_i8_avx+0x11>
+  .byte  235,2                               // jmp           3cee <_sk_gather_i8_avx+0x11>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  83                                  // push          %rbx
   .byte  76,139,16                           // mov           (%rax),%r10
@@ -18884,10 +20425,10 @@
   .byte  72,193,235,30                       // shr           $0x1e,%rbx
   .byte  196,195,121,34,28,27,3              // vpinsrd       $0x3,(%r11,%rbx,1),%xmm0,%xmm3
   .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
-  .byte  197,124,40,21,208,50,0,0            // vmovaps       0x32d0(%rip),%ymm10        # 6e00 <_sk_callback_avx+0x6c2>
+  .byte  197,124,40,21,212,58,0,0            // vmovaps       0x3ad4(%rip),%ymm10        # 78e0 <_sk_callback_avx+0x772>
   .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,47,0,0         // vbroadcastss  0x2fae(%rip),%ymm9        # 6af0 <_sk_callback_avx+0x3b2>
+  .byte  196,98,125,24,13,38,55,0,0          // vbroadcastss  0x3726(%rip),%ymm9        # 7544 <_sk_callback_avx+0x3d6>
   .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
@@ -18917,56 +20458,133 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,128,0,0,0                    // jne           3c32 <_sk_load_565_avx+0x8e>
+  .byte  15,133,128,0,0,0                    // jne           3f0e <_sk_load_565_avx+0x8e>
   .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
   .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
-  .byte  196,226,125,24,5,32,47,0,0          // vbroadcastss  0x2f20(%rip),%ymm0        # 6af4 <_sk_callback_avx+0x3b6>
+  .byte  196,226,125,24,5,152,54,0,0         // vbroadcastss  0x3698(%rip),%ymm0        # 7548 <_sk_callback_avx+0x3da>
   .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,19,47,0,0         // vbroadcastss  0x2f13(%rip),%ymm1        # 6af8 <_sk_callback_avx+0x3ba>
+  .byte  196,226,125,24,13,139,54,0,0        // vbroadcastss  0x368b(%rip),%ymm1        # 754c <_sk_callback_avx+0x3de>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,24,13,10,47,0,0         // vbroadcastss  0x2f0a(%rip),%ymm1        # 6afc <_sk_callback_avx+0x3be>
+  .byte  196,226,125,24,13,130,54,0,0        // vbroadcastss  0x3682(%rip),%ymm1        # 7550 <_sk_callback_avx+0x3e2>
   .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,29,253,46,0,0        // vbroadcastss  0x2efd(%rip),%ymm3        # 6b00 <_sk_callback_avx+0x3c2>
+  .byte  196,226,125,24,29,117,54,0,0        // vbroadcastss  0x3675(%rip),%ymm3        # 7554 <_sk_callback_avx+0x3e6>
   .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
-  .byte  196,226,125,24,29,244,46,0,0        // vbroadcastss  0x2ef4(%rip),%ymm3        # 6b04 <_sk_callback_avx+0x3c6>
+  .byte  196,226,125,24,29,108,54,0,0        // vbroadcastss  0x366c(%rip),%ymm3        # 7558 <_sk_callback_avx+0x3ea>
   .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,226,125,24,29,231,46,0,0        // vbroadcastss  0x2ee7(%rip),%ymm3        # 6b08 <_sk_callback_avx+0x3ca>
+  .byte  196,226,125,24,29,95,54,0,0         // vbroadcastss  0x365f(%rip),%ymm3        # 755c <_sk_callback_avx+0x3ee>
   .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,220,46,0,0        // vbroadcastss  0x2edc(%rip),%ymm3        # 6b0c <_sk_callback_avx+0x3ce>
+  .byte  196,226,125,24,29,84,54,0,0         // vbroadcastss  0x3654(%rip),%ymm3        # 7560 <_sk_callback_avx+0x3f2>
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,110,255,255,255              // ja            3bb8 <_sk_load_565_avx+0x14>
+  .byte  15,135,110,255,255,255              // ja            3e94 <_sk_load_565_avx+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 3cb8 <_sk_load_565_avx+0x114>
+  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 3f94 <_sk_load_565_avx+0x114>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  233,76,255,255,255                  // jmpq          3bb8 <_sk_load_565_avx+0x14>
+  .byte  233,76,255,255,255                  // jmpq          3e94 <_sk_load_565_avx+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
   .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
-  .byte  233,47,255,255,255                  // jmpq          3bb8 <_sk_load_565_avx+0x14>
+  .byte  233,47,255,255,255                  // jmpq          3e94 <_sk_load_565_avx+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
   .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
-  .byte  233,2,255,255,255                   // jmpq          3bb8 <_sk_load_565_avx+0x14>
+  .byte  233,2,255,255,255                   // jmpq          3e94 <_sk_load_565_avx+0x14>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,180,255,255,255,237,255         // pushq         -0x120001(%rdi,%rdi,8)
+  .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,209                             // callq         *%rcx
+  .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,128,0,0,0                    // jne           403e <_sk_load_565_dst_avx+0x8e>
+  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
+  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
+  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,93,24,245,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm6
+  .byte  196,226,125,24,37,132,53,0,0        // vbroadcastss  0x3584(%rip),%ymm4        # 7564 <_sk_callback_avx+0x3f6>
+  .byte  197,204,84,228                      // vandps        %ymm4,%ymm6,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,119,53,0,0        // vbroadcastss  0x3577(%rip),%ymm5        # 7568 <_sk_callback_avx+0x3fa>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,24,45,110,53,0,0        // vbroadcastss  0x356e(%rip),%ymm5        # 756c <_sk_callback_avx+0x3fe>
+  .byte  197,204,84,237                      // vandps        %ymm5,%ymm6,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,61,97,53,0,0         // vbroadcastss  0x3561(%rip),%ymm7        # 7570 <_sk_callback_avx+0x402>
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  196,226,125,24,61,88,53,0,0         // vbroadcastss  0x3558(%rip),%ymm7        # 7574 <_sk_callback_avx+0x406>
+  .byte  197,204,84,247                      // vandps        %ymm7,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,226,125,24,61,75,53,0,0         // vbroadcastss  0x354b(%rip),%ymm7        # 7578 <_sk_callback_avx+0x40a>
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,64,53,0,0         // vbroadcastss  0x3540(%rip),%ymm7        # 757c <_sk_callback_avx+0x40e>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,110,255,255,255              // ja            3fc4 <_sk_load_565_dst_avx+0x14>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 40c4 <_sk_load_565_dst_avx+0x114>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,76,255,255,255                  // jmpq          3fc4 <_sk_load_565_dst_avx+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,47,255,255,255                  // jmpq          3fc4 <_sk_load_565_dst_avx+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,2,255,255,255                   // jmpq          3fc4 <_sk_load_565_dst_avx+0x14>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
   .byte  255                                 // (bad)
@@ -19035,23 +20653,23 @@
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
-  .byte  196,226,125,24,5,106,45,0,0         // vbroadcastss  0x2d6a(%rip),%ymm0        # 6b10 <_sk_callback_avx+0x3d2>
+  .byte  196,226,125,24,5,206,51,0,0         // vbroadcastss  0x33ce(%rip),%ymm0        # 7580 <_sk_callback_avx+0x412>
   .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,93,45,0,0         // vbroadcastss  0x2d5d(%rip),%ymm1        # 6b14 <_sk_callback_avx+0x3d6>
+  .byte  196,226,125,24,13,193,51,0,0        // vbroadcastss  0x33c1(%rip),%ymm1        # 7584 <_sk_callback_avx+0x416>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,24,13,84,45,0,0         // vbroadcastss  0x2d54(%rip),%ymm1        # 6b18 <_sk_callback_avx+0x3da>
+  .byte  196,226,125,24,13,184,51,0,0        // vbroadcastss  0x33b8(%rip),%ymm1        # 7588 <_sk_callback_avx+0x41a>
   .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,29,71,45,0,0         // vbroadcastss  0x2d47(%rip),%ymm3        # 6b1c <_sk_callback_avx+0x3de>
+  .byte  196,226,125,24,29,171,51,0,0        // vbroadcastss  0x33ab(%rip),%ymm3        # 758c <_sk_callback_avx+0x41e>
   .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
-  .byte  196,226,125,24,29,62,45,0,0         // vbroadcastss  0x2d3e(%rip),%ymm3        # 6b20 <_sk_callback_avx+0x3e2>
+  .byte  196,226,125,24,29,162,51,0,0        // vbroadcastss  0x33a2(%rip),%ymm3        # 7590 <_sk_callback_avx+0x422>
   .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,226,125,24,29,49,45,0,0         // vbroadcastss  0x2d31(%rip),%ymm3        # 6b24 <_sk_callback_avx+0x3e6>
+  .byte  196,226,125,24,29,149,51,0,0        // vbroadcastss  0x3395(%rip),%ymm3        # 7594 <_sk_callback_avx+0x426>
   .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,38,45,0,0         // vbroadcastss  0x2d26(%rip),%ymm3        # 6b28 <_sk_callback_avx+0x3ea>
+  .byte  196,226,125,24,29,138,51,0,0        // vbroadcastss  0x338a(%rip),%ymm3        # 7598 <_sk_callback_avx+0x42a>
   .byte  255,224                             // jmpq          *%rax
 
 HIDDEN _sk_store_565_avx
@@ -19060,14 +20678,14 @@
 _sk_store_565_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,26,45,0,0           // vbroadcastss  0x2d1a(%rip),%ymm8        # 6b2c <_sk_callback_avx+0x3ee>
+  .byte  196,98,125,24,5,126,51,0,0          // vbroadcastss  0x337e(%rip),%ymm8        # 759c <_sk_callback_avx+0x42e>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,193,41,114,241,11               // vpslld        $0xb,%xmm9,%xmm10
   .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,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
-  .byte  196,98,125,24,21,243,44,0,0         // vbroadcastss  0x2cf3(%rip),%ymm10        # 6b30 <_sk_callback_avx+0x3f2>
+  .byte  196,98,125,24,21,87,51,0,0          // vbroadcastss  0x3357(%rip),%ymm10        # 75a0 <_sk_callback_avx+0x432>
   .byte  196,65,116,89,210                   // vmulps        %ymm10,%ymm1,%ymm10
   .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
   .byte  196,193,33,114,242,5                // vpslld        $0x5,%xmm10,%xmm11
@@ -19081,7 +20699,7 @@
   .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
   .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3e8d <_sk_store_565_avx+0x89>
+  .byte  117,10                              // jne           4299 <_sk_store_565_avx+0x89>
   .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -19089,22 +20707,22 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            3e89 <_sk_store_565_avx+0x85>
+  .byte  119,236                             // ja            4295 <_sk_store_565_avx+0x85>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,68,0,0,0                  // lea           0x44(%rip),%r10        # 3eec <_sk_store_565_avx+0xe8>
+  .byte  76,141,21,68,0,0,0                  // lea           0x44(%rip),%r10        # 42f8 <_sk_store_565_avx+0xe8>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  .byte  235,207                             // jmp           3e89 <_sk_store_565_avx+0x85>
+  .byte  235,207                             // jmp           4295 <_sk_store_565_avx+0x85>
   .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
-  .byte  235,191                             // jmp           3e89 <_sk_store_565_avx+0x85>
+  .byte  235,191                             // jmp           4295 <_sk_store_565_avx+0x85>
   .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
-  .byte  235,159                             // jmp           3e89 <_sk_store_565_avx+0x85>
+  .byte  235,159                             // jmp           4295 <_sk_store_565_avx+0x85>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  197,255,255                         // (bad)
   .byte  255,214                             // callq         *%rsi
@@ -19135,31 +20753,31 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,152,0,0,0                    // jne           3fae <_sk_load_4444_avx+0xa6>
+  .byte  15,133,152,0,0,0                    // jne           43ba <_sk_load_4444_avx+0xa6>
   .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
   .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
-  .byte  196,226,125,24,5,252,43,0,0         // vbroadcastss  0x2bfc(%rip),%ymm0        # 6b34 <_sk_callback_avx+0x3f6>
+  .byte  196,226,125,24,5,96,50,0,0          // vbroadcastss  0x3260(%rip),%ymm0        # 75a4 <_sk_callback_avx+0x436>
   .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,239,43,0,0        // vbroadcastss  0x2bef(%rip),%ymm1        # 6b38 <_sk_callback_avx+0x3fa>
+  .byte  196,226,125,24,13,83,50,0,0         // vbroadcastss  0x3253(%rip),%ymm1        # 75a8 <_sk_callback_avx+0x43a>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,24,13,230,43,0,0        // vbroadcastss  0x2be6(%rip),%ymm1        # 6b3c <_sk_callback_avx+0x3fe>
+  .byte  196,226,125,24,13,74,50,0,0         // vbroadcastss  0x324a(%rip),%ymm1        # 75ac <_sk_callback_avx+0x43e>
   .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,21,217,43,0,0        // vbroadcastss  0x2bd9(%rip),%ymm2        # 6b40 <_sk_callback_avx+0x402>
+  .byte  196,226,125,24,21,61,50,0,0         // vbroadcastss  0x323d(%rip),%ymm2        # 75b0 <_sk_callback_avx+0x442>
   .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
-  .byte  196,226,125,24,21,208,43,0,0        // vbroadcastss  0x2bd0(%rip),%ymm2        # 6b44 <_sk_callback_avx+0x406>
+  .byte  196,226,125,24,21,52,50,0,0         // vbroadcastss  0x3234(%rip),%ymm2        # 75b4 <_sk_callback_avx+0x446>
   .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,98,125,24,5,195,43,0,0          // vbroadcastss  0x2bc3(%rip),%ymm8        # 6b48 <_sk_callback_avx+0x40a>
+  .byte  196,98,125,24,5,39,50,0,0           // vbroadcastss  0x3227(%rip),%ymm8        # 75b8 <_sk_callback_avx+0x44a>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,24,5,185,43,0,0          // vbroadcastss  0x2bb9(%rip),%ymm8        # 6b4c <_sk_callback_avx+0x40e>
+  .byte  196,98,125,24,5,29,50,0,0           // vbroadcastss  0x321d(%rip),%ymm8        # 75bc <_sk_callback_avx+0x44e>
   .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
   .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
-  .byte  196,98,125,24,5,171,43,0,0          // vbroadcastss  0x2bab(%rip),%ymm8        # 6b50 <_sk_callback_avx+0x412>
+  .byte  196,98,125,24,5,15,50,0,0           // vbroadcastss  0x320f(%rip),%ymm8        # 75c0 <_sk_callback_avx+0x452>
   .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -19168,27 +20786,108 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,86,255,255,255               // ja            3f1c <_sk_load_4444_avx+0x14>
+  .byte  15,135,86,255,255,255               // ja            4328 <_sk_load_4444_avx+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 4034 <_sk_load_4444_avx+0x12c>
+  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 4440 <_sk_load_4444_avx+0x12c>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  233,52,255,255,255                  // jmpq          3f1c <_sk_load_4444_avx+0x14>
+  .byte  233,52,255,255,255                  // jmpq          4328 <_sk_load_4444_avx+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
   .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
-  .byte  233,23,255,255,255                  // jmpq          3f1c <_sk_load_4444_avx+0x14>
+  .byte  233,23,255,255,255                  // jmpq          4328 <_sk_load_4444_avx+0x14>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
   .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
-  .byte  233,234,254,255,255                 // jmpq          3f1c <_sk_load_4444_avx+0x14>
+  .byte  233,234,254,255,255                 // jmpq          4328 <_sk_load_4444_avx+0x14>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,180,255,255,255,237,255         // pushq         -0x120001(%rdi,%rdi,8)
+  .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,209                             // callq         *%rcx
+  .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,152,0,0,0                    // jne           4502 <_sk_load_4444_dst_avx+0xa6>
+  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
+  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
+  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,93,24,253,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm7
+  .byte  196,226,125,24,37,56,49,0,0         // vbroadcastss  0x3138(%rip),%ymm4        # 75c4 <_sk_callback_avx+0x456>
+  .byte  197,196,84,228                      // vandps        %ymm4,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,43,49,0,0         // vbroadcastss  0x312b(%rip),%ymm5        # 75c8 <_sk_callback_avx+0x45a>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,24,45,34,49,0,0         // vbroadcastss  0x3122(%rip),%ymm5        # 75cc <_sk_callback_avx+0x45e>
+  .byte  197,196,84,237                      // vandps        %ymm5,%ymm7,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,53,21,49,0,0         // vbroadcastss  0x3115(%rip),%ymm6        # 75d0 <_sk_callback_avx+0x462>
+  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
+  .byte  196,226,125,24,53,12,49,0,0         // vbroadcastss  0x310c(%rip),%ymm6        # 75d4 <_sk_callback_avx+0x466>
+  .byte  197,196,84,246                      // vandps        %ymm6,%ymm7,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,98,125,24,5,255,48,0,0          // vbroadcastss  0x30ff(%rip),%ymm8        # 75d8 <_sk_callback_avx+0x46a>
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,98,125,24,5,245,48,0,0          // vbroadcastss  0x30f5(%rip),%ymm8        # 75dc <_sk_callback_avx+0x46e>
+  .byte  196,193,68,84,248                   // vandps        %ymm8,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,231,48,0,0          // vbroadcastss  0x30e7(%rip),%ymm8        # 75e0 <_sk_callback_avx+0x472>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,86,255,255,255               // ja            4470 <_sk_load_4444_dst_avx+0x14>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 4588 <_sk_load_4444_dst_avx+0x12c>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,52,255,255,255                  // jmpq          4470 <_sk_load_4444_dst_avx+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,23,255,255,255                  // jmpq          4470 <_sk_load_4444_dst_avx+0x14>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,234,254,255,255                 // jmpq          4470 <_sk_load_4444_dst_avx+0x14>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
   .byte  255                                 // (bad)
@@ -19257,25 +20956,25 @@
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
-  .byte  196,226,125,24,5,50,42,0,0          // vbroadcastss  0x2a32(%rip),%ymm0        # 6b54 <_sk_callback_avx+0x416>
+  .byte  196,226,125,24,5,110,47,0,0         // vbroadcastss  0x2f6e(%rip),%ymm0        # 75e4 <_sk_callback_avx+0x476>
   .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,226,125,24,13,37,42,0,0         // vbroadcastss  0x2a25(%rip),%ymm1        # 6b58 <_sk_callback_avx+0x41a>
+  .byte  196,226,125,24,13,97,47,0,0         // vbroadcastss  0x2f61(%rip),%ymm1        # 75e8 <_sk_callback_avx+0x47a>
   .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,24,13,28,42,0,0         // vbroadcastss  0x2a1c(%rip),%ymm1        # 6b5c <_sk_callback_avx+0x41e>
+  .byte  196,226,125,24,13,88,47,0,0         // vbroadcastss  0x2f58(%rip),%ymm1        # 75ec <_sk_callback_avx+0x47e>
   .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
   .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
-  .byte  196,226,125,24,21,15,42,0,0         // vbroadcastss  0x2a0f(%rip),%ymm2        # 6b60 <_sk_callback_avx+0x422>
+  .byte  196,226,125,24,21,75,47,0,0         // vbroadcastss  0x2f4b(%rip),%ymm2        # 75f0 <_sk_callback_avx+0x482>
   .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
-  .byte  196,226,125,24,21,6,42,0,0          // vbroadcastss  0x2a06(%rip),%ymm2        # 6b64 <_sk_callback_avx+0x426>
+  .byte  196,226,125,24,21,66,47,0,0         // vbroadcastss  0x2f42(%rip),%ymm2        # 75f4 <_sk_callback_avx+0x486>
   .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
-  .byte  196,98,125,24,5,249,41,0,0          // vbroadcastss  0x29f9(%rip),%ymm8        # 6b68 <_sk_callback_avx+0x42a>
+  .byte  196,98,125,24,5,53,47,0,0           // vbroadcastss  0x2f35(%rip),%ymm8        # 75f8 <_sk_callback_avx+0x48a>
   .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
-  .byte  196,98,125,24,5,239,41,0,0          // vbroadcastss  0x29ef(%rip),%ymm8        # 6b6c <_sk_callback_avx+0x42e>
+  .byte  196,98,125,24,5,43,47,0,0           // vbroadcastss  0x2f2b(%rip),%ymm8        # 75fc <_sk_callback_avx+0x48e>
   .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
   .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
-  .byte  196,98,125,24,5,225,41,0,0          // vbroadcastss  0x29e1(%rip),%ymm8        # 6b70 <_sk_callback_avx+0x432>
+  .byte  196,98,125,24,5,29,47,0,0           // vbroadcastss  0x2f1d(%rip),%ymm8        # 7600 <_sk_callback_avx+0x492>
   .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -19286,7 +20985,7 @@
 _sk_store_4444_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
-  .byte  196,98,125,24,5,206,41,0,0          // vbroadcastss  0x29ce(%rip),%ymm8        # 6b74 <_sk_callback_avx+0x436>
+  .byte  196,98,125,24,5,10,47,0,0           // vbroadcastss  0x2f0a(%rip),%ymm8        # 7604 <_sk_callback_avx+0x496>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,193,41,114,241,12               // vpslld        $0xc,%xmm9,%xmm10
@@ -19313,7 +21012,7 @@
   .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
   .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           423f <_sk_store_4444_avx+0xa7>
+  .byte  117,10                              // jne           4793 <_sk_store_4444_avx+0xa7>
   .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -19321,22 +21020,22 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            423b <_sk_store_4444_avx+0xa3>
+  .byte  119,236                             // ja            478f <_sk_store_4444_avx+0xa3>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,66,0,0,0                  // lea           0x42(%rip),%r10        # 429c <_sk_store_4444_avx+0x104>
+  .byte  76,141,21,66,0,0,0                  // lea           0x42(%rip),%r10        # 47f0 <_sk_store_4444_avx+0x104>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  .byte  235,207                             // jmp           423b <_sk_store_4444_avx+0xa3>
+  .byte  235,207                             // jmp           478f <_sk_store_4444_avx+0xa3>
   .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
-  .byte  235,191                             // jmp           423b <_sk_store_4444_avx+0xa3>
+  .byte  235,191                             // jmp           478f <_sk_store_4444_avx+0xa3>
   .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
-  .byte  235,159                             // jmp           423b <_sk_store_4444_avx+0xa3>
+  .byte  235,159                             // jmp           478f <_sk_store_4444_avx+0xa3>
   .byte  199                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -19354,7 +21053,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  232,255,255,255,224                 // callq         ffffffffe10042b4 <_sk_callback_avx+0xffffffffe0ffdb76>
+  .byte  232,255,255,255,224                 // callq         ffffffffe1004808 <_sk_callback_avx+0xffffffffe0ffd69a>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
@@ -19368,12 +21067,12 @@
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,137,0,0,0                    // jne           435a <_sk_load_8888_avx+0xa2>
+  .byte  15,133,137,0,0,0                    // jne           48ae <_sk_load_8888_avx+0xa2>
   .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
-  .byte  197,124,40,21,66,43,0,0             // vmovaps       0x2b42(%rip),%ymm10        # 6e20 <_sk_callback_avx+0x6e2>
+  .byte  197,124,40,21,206,48,0,0            // vmovaps       0x30ce(%rip),%ymm10        # 7900 <_sk_callback_avx+0x792>
   .byte  196,193,100,84,194                  // vandps        %ymm10,%ymm3,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,5,136,40,0,0          // vbroadcastss  0x2888(%rip),%ymm8        # 6b78 <_sk_callback_avx+0x43a>
+  .byte  196,98,125,24,5,196,45,0,0          // vbroadcastss  0x2dc4(%rip),%ymm8        # 7608 <_sk_callback_avx+0x49a>
   .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
   .byte  197,241,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm1
   .byte  196,195,125,25,217,1                // vextractf128  $0x1,%ymm3,%xmm9
@@ -19403,13 +21102,65 @@
   .byte  72,211,232                          // shr           %cl,%rax
   .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
   .byte  196,226,121,48,192                  // vpmovzxbw     %xmm0,%xmm0
-  .byte  196,226,121,0,13,254,41,0,0         // vpshufb       0x29fe(%rip),%xmm0,%xmm1        # 6d80 <_sk_callback_avx+0x642>
+  .byte  196,226,121,0,13,106,47,0,0         // vpshufb       0x2f6a(%rip),%xmm0,%xmm1        # 7840 <_sk_callback_avx+0x6d2>
   .byte  196,226,121,33,201                  // vpmovsxbd     %xmm1,%xmm1
-  .byte  196,226,121,0,5,0,42,0,0            // vpshufb       0x2a00(%rip),%xmm0,%xmm0        # 6d90 <_sk_callback_avx+0x652>
+  .byte  196,226,121,0,5,108,47,0,0          // vpshufb       0x2f6c(%rip),%xmm0,%xmm0        # 7850 <_sk_callback_avx+0x6e2>
   .byte  196,226,121,33,192                  // vpmovsxbd     %xmm0,%xmm0
   .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
   .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
-  .byte  233,49,255,255,255                  // jmpq          42d6 <_sk_load_8888_avx+0x1e>
+  .byte  233,49,255,255,255                  // jmpq          482a <_sk_load_8888_avx+0x1e>
+
+HIDDEN _sk_load_8888_dst_avx
+.globl _sk_load_8888_dst_avx
+FUNCTION(_sk_load_8888_dst_avx)
+_sk_load_8888_dst_avx:
+  .byte  73,137,201                          // mov           %rcx,%r9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
+  .byte  76,3,16                             // add           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,137,0,0,0                    // jne           499b <_sk_load_8888_dst_avx+0xa2>
+  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
+  .byte  197,124,40,21,1,48,0,0              // vmovaps       0x3001(%rip),%ymm10        # 7920 <_sk_callback_avx+0x7b2>
+  .byte  196,193,68,84,226                   // vandps        %ymm10,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,219,44,0,0          // vbroadcastss  0x2cdb(%rip),%ymm8        # 760c <_sk_callback_avx+0x49e>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,209,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm5
+  .byte  196,195,125,25,249,1                // vextractf128  $0x1,%ymm7,%xmm9
+  .byte  196,193,73,114,209,8                // vpsrld        $0x8,%xmm9,%xmm6
+  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  .byte  196,193,84,84,234                   // vandps        %ymm10,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  197,161,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm11
+  .byte  196,193,73,114,209,16               // vpsrld        $0x10,%xmm9,%xmm6
+  .byte  196,227,37,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
+  .byte  196,193,76,84,242                   // vandps        %ymm10,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  197,169,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm10
+  .byte  196,193,65,114,209,24               // vpsrld        $0x18,%xmm9,%xmm7
+  .byte  196,227,45,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm10,%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  76,137,201                          // mov           %r9,%rcx
+  .byte  255,224                             // jmpq          *%rax
+  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
+  .byte  68,41,193                           // sub           %r8d,%ecx
+  .byte  192,225,3                           // shl           $0x3,%cl
+  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
+  .byte  72,211,232                          // shr           %cl,%rax
+  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
+  .byte  196,226,121,48,228                  // vpmovzxbw     %xmm4,%xmm4
+  .byte  196,226,89,0,45,157,46,0,0          // vpshufb       0x2e9d(%rip),%xmm4,%xmm5        # 7860 <_sk_callback_avx+0x6f2>
+  .byte  196,226,121,33,237                  // vpmovsxbd     %xmm5,%xmm5
+  .byte  196,226,89,0,37,159,46,0,0          // vpshufb       0x2e9f(%rip),%xmm4,%xmm4        # 7870 <_sk_callback_avx+0x702>
+  .byte  196,226,121,33,228                  // vpmovsxbd     %xmm4,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
+  .byte  233,49,255,255,255                  // jmpq          4917 <_sk_load_8888_dst_avx+0x1e>
 
 HIDDEN _sk_gather_8888_avx
 .globl _sk_gather_8888_avx
@@ -19448,10 +21199,10 @@
   .byte  73,193,234,32                       // shr           $0x20,%r10
   .byte  196,131,121,34,28,145,3             // vpinsrd       $0x3,(%r9,%r10,4),%xmm0,%xmm3
   .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
-  .byte  197,124,40,21,240,41,0,0            // vmovaps       0x29f0(%rip),%ymm10        # 6e40 <_sk_callback_avx+0x702>
+  .byte  197,124,40,21,175,46,0,0            // vmovaps       0x2eaf(%rip),%ymm10        # 7940 <_sk_callback_avx+0x7d2>
   .byte  196,193,124,84,194                  // vandps        %ymm10,%ymm0,%ymm0
   .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
-  .byte  196,98,125,24,13,26,39,0,0          // vbroadcastss  0x271a(%rip),%ymm9        # 6b7c <_sk_callback_avx+0x43e>
+  .byte  196,98,125,24,13,109,43,0,0         // vbroadcastss  0x2b6d(%rip),%ymm9        # 7610 <_sk_callback_avx+0x4a2>
   .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
@@ -19481,7 +21232,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  76,3,16                             // add           (%rax),%r10
-  .byte  196,98,125,24,5,164,38,0,0          // vbroadcastss  0x26a4(%rip),%ymm8        # 6b80 <_sk_callback_avx+0x442>
+  .byte  196,98,125,24,5,247,42,0,0          // vbroadcastss  0x2af7(%rip),%ymm8        # 7614 <_sk_callback_avx+0x4a6>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
@@ -19506,7 +21257,7 @@
   .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
   .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,12                              // jne           456c <_sk_store_8888_avx+0xa9>
+  .byte  117,12                              // jne           4bad <_sk_store_8888_avx+0xa9>
   .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,137,201                          // mov           %r9,%rcx
@@ -19518,13 +21269,13 @@
   .byte  72,211,232                          // shr           %cl,%rax
   .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
   .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
-  .byte  196,98,49,0,21,12,40,0,0            // vpshufb       0x280c(%rip),%xmm9,%xmm10        # 6da0 <_sk_callback_avx+0x662>
+  .byte  196,98,49,0,21,171,44,0,0           // vpshufb       0x2cab(%rip),%xmm9,%xmm10        # 7880 <_sk_callback_avx+0x712>
   .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
-  .byte  196,98,49,0,13,14,40,0,0            // vpshufb       0x280e(%rip),%xmm9,%xmm9        # 6db0 <_sk_callback_avx+0x672>
+  .byte  196,98,49,0,13,173,44,0,0           // vpshufb       0x2cad(%rip),%xmm9,%xmm9        # 7890 <_sk_callback_avx+0x722>
   .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
   .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
   .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
-  .byte  235,177                             // jmp           4565 <_sk_store_8888_avx+0xa2>
+  .byte  235,177                             // jmp           4ba6 <_sk_store_8888_avx+0xa2>
 
 HIDDEN _sk_load_f16_avx
 .globl _sk_load_f16_avx
@@ -19538,7 +21289,7 @@
   .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
   .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
   .byte  197,254,127,100,36,128              // vmovdqu       %ymm4,-0x80(%rsp)
-  .byte  15,133,141,2,0,0                    // jne           486b <_sk_load_f16_avx+0x2b7>
+  .byte  15,133,141,2,0,0                    // jne           4eac <_sk_load_f16_avx+0x2b7>
   .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
   .byte  197,249,16,84,208,16                // vmovupd       0x10(%rax,%rdx,8),%xmm2
   .byte  197,249,16,76,208,32                // vmovupd       0x20(%rax,%rdx,8),%xmm1
@@ -19556,13 +21307,13 @@
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
-  .byte  196,98,125,24,37,77,37,0,0          // vbroadcastss  0x254d(%rip),%ymm12        # 6b84 <_sk_callback_avx+0x446>
+  .byte  196,98,125,24,37,160,41,0,0         // vbroadcastss  0x29a0(%rip),%ymm12        # 7618 <_sk_callback_avx+0x4aa>
   .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
   .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
   .byte  196,195,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm14
-  .byte  196,98,121,24,29,57,37,0,0          // vbroadcastss  0x2539(%rip),%xmm11        # 6b88 <_sk_callback_avx+0x44a>
+  .byte  196,98,121,24,29,140,41,0,0         // vbroadcastss  0x298c(%rip),%xmm11        # 761c <_sk_callback_avx+0x4ae>
   .byte  196,193,8,87,219                    // vxorps        %xmm11,%xmm14,%xmm3
-  .byte  196,98,121,24,45,47,37,0,0          // vbroadcastss  0x252f(%rip),%xmm13        # 6b8c <_sk_callback_avx+0x44e>
+  .byte  196,98,121,24,45,130,41,0,0         // vbroadcastss  0x2982(%rip),%xmm13        # 7620 <_sk_callback_avx+0x4b2>
   .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
   .byte  196,65,120,87,211                   // vxorps        %xmm11,%xmm0,%xmm10
   .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
@@ -19576,7 +21327,7 @@
   .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
   .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
   .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
-  .byte  196,226,121,24,29,229,36,0,0        // vbroadcastss  0x24e5(%rip),%xmm3        # 6b90 <_sk_callback_avx+0x452>
+  .byte  196,226,121,24,29,56,41,0,0         // vbroadcastss  0x2938(%rip),%xmm3        # 7624 <_sk_callback_avx+0x4b6>
   .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
   .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
   .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
@@ -19669,29 +21420,196 @@
   .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,79                              // je            48ca <_sk_load_f16_avx+0x316>
+  .byte  116,79                              // je            4f0b <_sk_load_f16_avx+0x316>
   .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,67                              // jb            48ca <_sk_load_f16_avx+0x316>
+  .byte  114,67                              // jb            4f0b <_sk_load_f16_avx+0x316>
   .byte  197,251,16,84,208,16                // vmovsd        0x10(%rax,%rdx,8),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,68                              // je            48d7 <_sk_load_f16_avx+0x323>
+  .byte  116,68                              // je            4f18 <_sk_load_f16_avx+0x323>
   .byte  197,233,22,84,208,24                // vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,56                              // jb            48d7 <_sk_load_f16_avx+0x323>
+  .byte  114,56                              // jb            4f18 <_sk_load_f16_avx+0x323>
   .byte  197,251,16,76,208,32                // vmovsd        0x20(%rax,%rdx,8),%xmm1
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,70,253,255,255               // je            45f5 <_sk_load_f16_avx+0x41>
+  .byte  15,132,70,253,255,255               // je            4c36 <_sk_load_f16_avx+0x41>
   .byte  197,241,22,76,208,40                // vmovhpd       0x28(%rax,%rdx,8),%xmm1,%xmm1
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,54,253,255,255               // jb            45f5 <_sk_load_f16_avx+0x41>
+  .byte  15,130,54,253,255,255               // jb            4c36 <_sk_load_f16_avx+0x41>
   .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
-  .byte  233,43,253,255,255                  // jmpq          45f5 <_sk_load_f16_avx+0x41>
+  .byte  233,43,253,255,255                  // jmpq          4c36 <_sk_load_f16_avx+0x41>
   .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
   .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
-  .byte  233,30,253,255,255                  // jmpq          45f5 <_sk_load_f16_avx+0x41>
+  .byte  233,30,253,255,255                  // jmpq          4c36 <_sk_load_f16_avx+0x41>
   .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
-  .byte  233,21,253,255,255                  // jmpq          45f5 <_sk_load_f16_avx+0x41>
+  .byte  233,21,253,255,255                  // jmpq          4c36 <_sk_load_f16_avx+0x41>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .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,254,127,68,36,128               // vmovdqu       %ymm0,-0x80(%rsp)
+  .byte  15,133,141,2,0,0                    // jne           51d8 <_sk_load_f16_dst_avx+0x2b7>
+  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
+  .byte  197,249,16,116,208,16               // vmovupd       0x10(%rax,%rdx,8),%xmm6
+  .byte  197,249,16,108,208,32               // vmovupd       0x20(%rax,%rdx,8),%xmm5
+  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%rdx,8),%xmm9
+  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
+  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
+  .byte  196,193,81,97,249                   // vpunpcklwd    %xmm9,%xmm5,%xmm7
+  .byte  196,193,81,105,233                  // vpunpckhwd    %xmm9,%xmm5,%xmm5
+  .byte  197,89,97,254                       // vpunpcklwd    %xmm6,%xmm4,%xmm15
+  .byte  197,89,105,198                      // vpunpckhwd    %xmm6,%xmm4,%xmm8
+  .byte  197,193,97,245                      // vpunpcklwd    %xmm5,%xmm7,%xmm6
+  .byte  197,65,105,205                      // vpunpckhwd    %xmm5,%xmm7,%xmm9
+  .byte  197,129,108,230                     // vpunpcklqdq   %xmm6,%xmm15,%xmm4
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,217,105,232                     // vpunpckhwd    %xmm0,%xmm4,%xmm5
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,98,125,24,37,132,38,0,0         // vbroadcastss  0x2684(%rip),%ymm12        # 7628 <_sk_callback_avx+0x4ba>
+  .byte  196,193,92,84,236                   // vandps        %ymm12,%ymm4,%ymm5
+  .byte  197,220,87,229                      // vxorps        %ymm5,%ymm4,%ymm4
+  .byte  196,195,125,25,230,1                // vextractf128  $0x1,%ymm4,%xmm14
+  .byte  196,98,121,24,29,112,38,0,0         // vbroadcastss  0x2670(%rip),%xmm11        # 762c <_sk_callback_avx+0x4be>
+  .byte  196,193,8,87,251                    // vxorps        %xmm11,%xmm14,%xmm7
+  .byte  196,98,121,24,45,102,38,0,0         // vbroadcastss  0x2666(%rip),%xmm13        # 7630 <_sk_callback_avx+0x4c2>
+  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
+  .byte  196,65,88,87,211                    // vxorps        %xmm11,%xmm4,%xmm10
+  .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
+  .byte  196,99,45,24,215,1                  // vinsertf128   $0x1,%xmm7,%ymm10,%ymm10
+  .byte  197,193,114,245,16                  // vpslld        $0x10,%xmm5,%xmm7
+  .byte  196,227,125,25,237,1                // vextractf128  $0x1,%ymm5,%xmm5
+  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
+  .byte  196,227,69,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm7,%ymm5
+  .byte  197,217,114,244,13                  // vpslld        $0xd,%xmm4,%xmm4
+  .byte  196,193,65,114,246,13               // vpslld        $0xd,%xmm14,%xmm7
+  .byte  196,227,93,24,231,1                 // vinsertf128   $0x1,%xmm7,%ymm4,%ymm4
+  .byte  197,220,86,229                      // vorps         %ymm5,%ymm4,%ymm4
+  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
+  .byte  196,226,121,24,61,28,38,0,0         // vbroadcastss  0x261c(%rip),%xmm7        # 7634 <_sk_callback_avx+0x4c6>
+  .byte  197,209,254,239                     // vpaddd        %xmm7,%xmm5,%xmm5
+  .byte  197,217,254,231                     // vpaddd        %xmm7,%xmm4,%xmm4
+  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,195,93,74,230,160               // vblendvps     %ymm10,%ymm14,%ymm4,%ymm4
+  .byte  197,129,109,238                     // vpunpckhqdq   %xmm6,%xmm15,%xmm5
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,209,105,240                     // vpunpckhwd    %xmm0,%xmm5,%xmm6
+  .byte  196,226,121,51,237                  // vpmovzxwd     %xmm5,%xmm5
+  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  .byte  196,193,84,84,244                   // vandps        %ymm12,%ymm5,%ymm6
+  .byte  197,212,87,238                      // vxorps        %ymm6,%ymm5,%ymm5
+  .byte  196,195,125,25,234,1                // vextractf128  $0x1,%ymm5,%xmm10
+  .byte  196,193,40,87,219                   // vxorps        %xmm11,%xmm10,%xmm3
+  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
+  .byte  196,193,80,87,211                   // vxorps        %xmm11,%xmm5,%xmm2
+  .byte  197,145,102,210                     // vpcmpgtd      %xmm2,%xmm13,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,225,114,246,16                  // vpslld        $0x10,%xmm6,%xmm3
+  .byte  196,227,125,25,246,1                // vextractf128  $0x1,%ymm6,%xmm6
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  196,227,101,24,222,1                // vinsertf128   $0x1,%xmm6,%ymm3,%ymm3
+  .byte  197,209,114,245,13                  // vpslld        $0xd,%xmm5,%xmm5
+  .byte  196,193,73,114,242,13               // vpslld        $0xd,%xmm10,%xmm6
+  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  .byte  197,212,86,219                      // vorps         %ymm3,%ymm5,%ymm3
+  .byte  196,227,125,25,221,1                // vextractf128  $0x1,%ymm3,%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,195,101,74,238,32               // vblendvps     %ymm2,%ymm14,%ymm3,%ymm5
+  .byte  196,193,57,108,209                  // vpunpcklqdq   %xmm9,%xmm8,%xmm2
+  .byte  197,233,105,216                     // vpunpckhwd    %xmm0,%xmm2,%xmm3
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,193,108,84,220                  // vandps        %ymm12,%ymm2,%ymm3
+  .byte  197,236,87,211                      // vxorps        %ymm3,%ymm2,%ymm2
+  .byte  196,227,125,25,214,1                // vextractf128  $0x1,%ymm2,%xmm6
+  .byte  196,193,72,87,203                   // vxorps        %xmm11,%xmm6,%xmm1
+  .byte  197,145,102,201                     // vpcmpgtd      %xmm1,%xmm13,%xmm1
+  .byte  196,193,104,87,195                  // vxorps        %xmm11,%xmm2,%xmm0
+  .byte  197,145,102,192                     // vpcmpgtd      %xmm0,%xmm13,%xmm0
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,241,114,243,16                  // vpslld        $0x10,%xmm3,%xmm1
+  .byte  196,227,125,25,219,1                // vextractf128  $0x1,%ymm3,%xmm3
+  .byte  197,225,114,243,16                  // vpslld        $0x10,%xmm3,%xmm3
+  .byte  196,227,117,24,203,1                // vinsertf128   $0x1,%xmm3,%ymm1,%ymm1
+  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
+  .byte  197,225,114,246,13                  // vpslld        $0xd,%xmm6,%xmm3
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,236,86,201                      // vorps         %ymm1,%ymm2,%ymm1
+  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
+  .byte  197,233,254,215                     // vpaddd        %xmm7,%xmm2,%xmm2
+  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,195,117,74,246,0                // vblendvps     %ymm0,%ymm14,%ymm1,%ymm6
+  .byte  196,193,57,109,193                  // vpunpckhqdq   %xmm9,%xmm8,%xmm0
+  .byte  196,193,121,105,202                 // vpunpckhwd    %xmm10,%xmm0,%xmm1
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
+  .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
+  .byte  196,227,125,25,194,1                // vextractf128  $0x1,%ymm0,%xmm2
+  .byte  196,193,104,87,219                  // vxorps        %xmm11,%xmm2,%xmm3
+  .byte  197,17,102,195                      // vpcmpgtd      %xmm3,%xmm13,%xmm8
+  .byte  196,193,120,87,219                  // vxorps        %xmm11,%xmm0,%xmm3
+  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
+  .byte  196,195,101,24,216,1                // vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
+  .byte  197,185,114,241,16                  // vpslld        $0x10,%xmm1,%xmm8
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
+  .byte  196,227,61,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
+  .byte  197,249,114,240,13                  // vpslld        $0xd,%xmm0,%xmm0
+  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
+  .byte  196,227,125,24,194,1                // vinsertf128   $0x1,%xmm2,%ymm0,%ymm0
+  .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
+  .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
+  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
+  .byte  197,249,254,199                     // vpaddd        %xmm7,%xmm0,%xmm0
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,195,125,74,254,48               // vblendvps     %ymm3,%ymm14,%ymm0,%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  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  116,79                              // je            5237 <_sk_load_f16_dst_avx+0x316>
+  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  114,67                              // jb            5237 <_sk_load_f16_dst_avx+0x316>
+  .byte  197,251,16,116,208,16               // vmovsd        0x10(%rax,%rdx,8),%xmm6
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  116,68                              // je            5244 <_sk_load_f16_dst_avx+0x323>
+  .byte  197,201,22,116,208,24               // vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
+  .byte  73,131,248,5                        // cmp           $0x5,%r8
+  .byte  114,56                              // jb            5244 <_sk_load_f16_dst_avx+0x323>
+  .byte  197,251,16,108,208,32               // vmovsd        0x20(%rax,%rdx,8),%xmm5
+  .byte  73,131,248,5                        // cmp           $0x5,%r8
+  .byte  15,132,70,253,255,255               // je            4f62 <_sk_load_f16_dst_avx+0x41>
+  .byte  197,209,22,108,208,40               // vmovhpd       0x28(%rax,%rdx,8),%xmm5,%xmm5
+  .byte  73,131,248,7                        // cmp           $0x7,%r8
+  .byte  15,130,54,253,255,255               // jb            4f62 <_sk_load_f16_dst_avx+0x41>
+  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
+  .byte  233,43,253,255,255                  // jmpq          4f62 <_sk_load_f16_dst_avx+0x41>
+  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
+  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
+  .byte  233,30,253,255,255                  // jmpq          4f62 <_sk_load_f16_dst_avx+0x41>
+  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
+  .byte  233,21,253,255,255                  // jmpq          4f62 <_sk_load_f16_dst_avx+0x41>
 
 HIDDEN _sk_gather_f16_avx
 .globl _sk_gather_f16_avx
@@ -19752,13 +21670,13 @@
   .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
-  .byte  196,98,125,24,37,170,33,0,0         // vbroadcastss  0x21aa(%rip),%ymm12        # 6b94 <_sk_callback_avx+0x456>
+  .byte  196,98,125,24,37,225,34,0,0         // vbroadcastss  0x22e1(%rip),%ymm12        # 7638 <_sk_callback_avx+0x4ca>
   .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
   .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
   .byte  196,195,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm14
-  .byte  196,98,121,24,29,150,33,0,0         // vbroadcastss  0x2196(%rip),%xmm11        # 6b98 <_sk_callback_avx+0x45a>
+  .byte  196,98,121,24,29,205,34,0,0         // vbroadcastss  0x22cd(%rip),%xmm11        # 763c <_sk_callback_avx+0x4ce>
   .byte  196,193,8,87,219                    // vxorps        %xmm11,%xmm14,%xmm3
-  .byte  196,98,121,24,45,140,33,0,0         // vbroadcastss  0x218c(%rip),%xmm13        # 6b9c <_sk_callback_avx+0x45e>
+  .byte  196,98,121,24,45,195,34,0,0         // vbroadcastss  0x22c3(%rip),%xmm13        # 7640 <_sk_callback_avx+0x4d2>
   .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
   .byte  196,65,120,87,211                   // vxorps        %xmm11,%xmm0,%xmm10
   .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
@@ -19772,7 +21690,7 @@
   .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
   .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
   .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
-  .byte  196,226,121,24,29,66,33,0,0         // vbroadcastss  0x2142(%rip),%xmm3        # 6ba0 <_sk_callback_avx+0x462>
+  .byte  196,226,121,24,29,121,34,0,0        // vbroadcastss  0x2279(%rip),%xmm3        # 7644 <_sk_callback_avx+0x4d6>
   .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
   .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
   .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
@@ -19872,12 +21790,12 @@
   .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  196,98,125,24,13,98,31,0,0          // vbroadcastss  0x1f62(%rip),%ymm9        # 6ba4 <_sk_callback_avx+0x466>
+  .byte  196,98,125,24,13,153,32,0,0         // vbroadcastss  0x2099(%rip),%ymm9        # 7648 <_sk_callback_avx+0x4da>
   .byte  196,65,124,84,209                   // vandps        %ymm9,%ymm0,%ymm10
   .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
   .byte  196,65,124,87,218                   // vxorps        %ymm10,%ymm0,%ymm11
   .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
-  .byte  196,98,121,24,5,71,31,0,0           // vbroadcastss  0x1f47(%rip),%xmm8        # 6ba8 <_sk_callback_avx+0x46a>
+  .byte  196,98,121,24,5,126,32,0,0          // vbroadcastss  0x207e(%rip),%xmm8        # 764c <_sk_callback_avx+0x4de>
   .byte  196,65,57,102,236                   // vpcmpgtd      %xmm12,%xmm8,%xmm13
   .byte  196,65,57,102,243                   // vpcmpgtd      %xmm11,%xmm8,%xmm14
   .byte  196,67,13,24,237,1                  // vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
@@ -19887,7 +21805,7 @@
   .byte  196,67,13,24,242,1                  // vinsertf128   $0x1,%xmm10,%ymm14,%ymm14
   .byte  196,193,33,114,211,13               // vpsrld        $0xd,%xmm11,%xmm11
   .byte  196,193,25,114,212,13               // vpsrld        $0xd,%xmm12,%xmm12
-  .byte  196,98,125,24,21,14,31,0,0          // vbroadcastss  0x1f0e(%rip),%ymm10        # 6bac <_sk_callback_avx+0x46e>
+  .byte  196,98,125,24,21,69,32,0,0          // vbroadcastss  0x2045(%rip),%ymm10        # 7650 <_sk_callback_avx+0x4e2>
   .byte  196,65,12,86,242                    // vorps         %ymm10,%ymm14,%ymm14
   .byte  196,67,125,25,247,1                 // vextractf128  $0x1,%ymm14,%xmm15
   .byte  196,65,1,254,228                    // vpaddd        %xmm12,%xmm15,%xmm12
@@ -19969,7 +21887,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,66                              // jne           4e7c <_sk_store_f16_avx+0x25e>
+  .byte  117,66                              // jne           57e9 <_sk_store_f16_avx+0x25e>
   .byte  197,120,17,28,208                   // vmovups       %xmm11,(%rax,%rdx,8)
   .byte  197,120,17,84,208,16                // vmovups       %xmm10,0x10(%rax,%rdx,8)
   .byte  197,120,17,76,208,32                // vmovups       %xmm9,0x20(%rax,%rdx,8)
@@ -19985,22 +21903,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  197,121,214,28,208                  // vmovq         %xmm11,(%rax,%rdx,8)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,202                             // je            4e51 <_sk_store_f16_avx+0x233>
+  .byte  116,202                             // je            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,23,92,208,8                 // vmovhpd       %xmm11,0x8(%rax,%rdx,8)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,190                             // jb            4e51 <_sk_store_f16_avx+0x233>
+  .byte  114,190                             // jb            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,214,84,208,16               // vmovq         %xmm10,0x10(%rax,%rdx,8)
-  .byte  116,182                             // je            4e51 <_sk_store_f16_avx+0x233>
+  .byte  116,182                             // je            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,23,84,208,24                // vmovhpd       %xmm10,0x18(%rax,%rdx,8)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,170                             // jb            4e51 <_sk_store_f16_avx+0x233>
+  .byte  114,170                             // jb            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,214,76,208,32               // vmovq         %xmm9,0x20(%rax,%rdx,8)
-  .byte  116,162                             // je            4e51 <_sk_store_f16_avx+0x233>
+  .byte  116,162                             // je            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,23,76,208,40                // vmovhpd       %xmm9,0x28(%rax,%rdx,8)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,150                             // jb            4e51 <_sk_store_f16_avx+0x233>
+  .byte  114,150                             // jb            57be <_sk_store_f16_avx+0x233>
   .byte  197,121,214,68,208,48               // vmovq         %xmm8,0x30(%rax,%rdx,8)
-  .byte  235,142                             // jmp           4e51 <_sk_store_f16_avx+0x233>
+  .byte  235,142                             // jmp           57be <_sk_store_f16_avx+0x233>
 
 HIDDEN _sk_load_u16_be_avx
 .globl _sk_load_u16_be_avx
@@ -20010,7 +21928,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,253,0,0,0                    // jne           4fd6 <_sk_load_u16_be_avx+0x113>
+  .byte  15,133,253,0,0,0                    // jne           5943 <_sk_load_u16_be_avx+0x113>
   .byte  196,65,121,16,4,65                  // vmovupd       (%r9,%rax,2),%xmm8
   .byte  196,193,121,16,84,65,16             // vmovupd       0x10(%r9,%rax,2),%xmm2
   .byte  196,193,121,16,92,65,32             // vmovupd       0x20(%r9,%rax,2),%xmm3
@@ -20032,7 +21950,7 @@
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .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,29,102,28,0,0         // vbroadcastss  0x1c66(%rip),%ymm11        # 6bb0 <_sk_callback_avx+0x472>
+  .byte  196,98,125,24,29,157,29,0,0         // vbroadcastss  0x1d9d(%rip),%ymm11        # 7654 <_sk_callback_avx+0x4e6>
   .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
   .byte  197,177,109,202                     // vpunpckhqdq   %xmm2,%xmm9,%xmm1
   .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
@@ -20066,29 +21984,29 @@
   .byte  196,65,123,16,4,65                  // vmovsd        (%r9,%rax,2),%xmm8
   .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,85                              // je            503c <_sk_load_u16_be_avx+0x179>
+  .byte  116,85                              // je            59a9 <_sk_load_u16_be_avx+0x179>
   .byte  196,65,57,22,68,65,8                // vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,72                              // jb            503c <_sk_load_u16_be_avx+0x179>
+  .byte  114,72                              // jb            59a9 <_sk_load_u16_be_avx+0x179>
   .byte  196,193,123,16,84,65,16             // vmovsd        0x10(%r9,%rax,2),%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  116,72                              // je            5049 <_sk_load_u16_be_avx+0x186>
+  .byte  116,72                              // je            59b6 <_sk_load_u16_be_avx+0x186>
   .byte  196,193,105,22,84,65,24             // vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,59                              // jb            5049 <_sk_load_u16_be_avx+0x186>
+  .byte  114,59                              // jb            59b6 <_sk_load_u16_be_avx+0x186>
   .byte  196,193,123,16,92,65,32             // vmovsd        0x20(%r9,%rax,2),%xmm3
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  15,132,213,254,255,255              // je            4ef4 <_sk_load_u16_be_avx+0x31>
+  .byte  15,132,213,254,255,255              // je            5861 <_sk_load_u16_be_avx+0x31>
   .byte  196,193,97,22,92,65,40              // vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  15,130,196,254,255,255              // jb            4ef4 <_sk_load_u16_be_avx+0x31>
+  .byte  15,130,196,254,255,255              // jb            5861 <_sk_load_u16_be_avx+0x31>
   .byte  196,65,122,126,76,65,48             // vmovq         0x30(%r9,%rax,2),%xmm9
-  .byte  233,184,254,255,255                 // jmpq          4ef4 <_sk_load_u16_be_avx+0x31>
+  .byte  233,184,254,255,255                 // jmpq          5861 <_sk_load_u16_be_avx+0x31>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
   .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
-  .byte  233,171,254,255,255                 // jmpq          4ef4 <_sk_load_u16_be_avx+0x31>
+  .byte  233,171,254,255,255                 // jmpq          5861 <_sk_load_u16_be_avx+0x31>
   .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
-  .byte  233,162,254,255,255                 // jmpq          4ef4 <_sk_load_u16_be_avx+0x31>
+  .byte  233,162,254,255,255                 // jmpq          5861 <_sk_load_u16_be_avx+0x31>
 
 HIDDEN _sk_load_rgb_u16_be_avx
 .globl _sk_load_rgb_u16_be_avx
@@ -20098,7 +22016,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,243,0,0,0                    // jne           5157 <_sk_load_rgb_u16_be_avx+0x105>
+  .byte  15,133,243,0,0,0                    // jne           5ac4 <_sk_load_rgb_u16_be_avx+0x105>
   .byte  196,193,122,111,4,65                // vmovdqu       (%r9,%rax,2),%xmm0
   .byte  196,193,122,111,84,65,12            // vmovdqu       0xc(%r9,%rax,2),%xmm2
   .byte  196,193,122,111,76,65,24            // vmovdqu       0x18(%r9,%rax,2),%xmm1
@@ -20125,7 +22043,7 @@
   .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
   .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,29,198,26,0,0         // vbroadcastss  0x1ac6(%rip),%ymm11        # 6bb4 <_sk_callback_avx+0x476>
+  .byte  196,98,125,24,29,253,27,0,0         // vbroadcastss  0x1bfd(%rip),%ymm11        # 7658 <_sk_callback_avx+0x4ea>
   .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
   .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
   .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
@@ -20146,41 +22064,41 @@
   .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
   .byte  196,193,108,89,211                  // vmulps        %ymm11,%ymm2,%ymm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,29,99,26,0,0         // vbroadcastss  0x1a63(%rip),%ymm3        # 6bb8 <_sk_callback_avx+0x47a>
+  .byte  196,226,125,24,29,154,27,0,0        // vbroadcastss  0x1b9a(%rip),%ymm3        # 765c <_sk_callback_avx+0x4ee>
   .byte  255,224                             // jmpq          *%rax
   .byte  196,193,121,110,4,65                // vmovd         (%r9,%rax,2),%xmm0
   .byte  196,193,121,196,68,65,4,2           // vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,5                               // jne           5170 <_sk_load_rgb_u16_be_avx+0x11e>
-  .byte  233,40,255,255,255                  // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  117,5                               // jne           5add <_sk_load_rgb_u16_be_avx+0x11e>
+  .byte  233,40,255,255,255                  // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
   .byte  196,193,121,110,76,65,6             // vmovd         0x6(%r9,%rax,2),%xmm1
   .byte  196,65,113,196,68,65,10,2           // vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,26                              // jb            519f <_sk_load_rgb_u16_be_avx+0x14d>
+  .byte  114,26                              // jb            5b0c <_sk_load_rgb_u16_be_avx+0x14d>
   .byte  196,193,121,110,76,65,12            // vmovd         0xc(%r9,%rax,2),%xmm1
   .byte  196,193,113,196,84,65,16,2          // vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  117,10                              // jne           51a4 <_sk_load_rgb_u16_be_avx+0x152>
-  .byte  233,249,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
-  .byte  233,244,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  117,10                              // jne           5b11 <_sk_load_rgb_u16_be_avx+0x152>
+  .byte  233,249,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  233,244,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
   .byte  196,193,121,110,76,65,18            // vmovd         0x12(%r9,%rax,2),%xmm1
   .byte  196,65,113,196,76,65,22,2           // vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,26                              // jb            51d3 <_sk_load_rgb_u16_be_avx+0x181>
+  .byte  114,26                              // jb            5b40 <_sk_load_rgb_u16_be_avx+0x181>
   .byte  196,193,121,110,76,65,24            // vmovd         0x18(%r9,%rax,2),%xmm1
   .byte  196,193,113,196,76,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  117,10                              // jne           51d8 <_sk_load_rgb_u16_be_avx+0x186>
-  .byte  233,197,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
-  .byte  233,192,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  117,10                              // jne           5b45 <_sk_load_rgb_u16_be_avx+0x186>
+  .byte  233,197,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  233,192,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
   .byte  196,193,121,110,92,65,30            // vmovd         0x1e(%r9,%rax,2),%xmm3
   .byte  196,65,97,196,92,65,34,2            // vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,20                              // jb            5201 <_sk_load_rgb_u16_be_avx+0x1af>
+  .byte  114,20                              // jb            5b6e <_sk_load_rgb_u16_be_avx+0x1af>
   .byte  196,193,121,110,92,65,36            // vmovd         0x24(%r9,%rax,2),%xmm3
   .byte  196,193,97,196,92,65,40,2           // vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
-  .byte  233,151,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
-  .byte  233,146,254,255,255                 // jmpq          5098 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  233,151,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
+  .byte  233,146,254,255,255                 // jmpq          5a05 <_sk_load_rgb_u16_be_avx+0x46>
 
 HIDDEN _sk_store_u16_be_avx
 .globl _sk_store_u16_be_avx
@@ -20189,7 +22107,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
-  .byte  196,98,125,24,5,160,25,0,0          // vbroadcastss  0x19a0(%rip),%ymm8        # 6bbc <_sk_callback_avx+0x47e>
+  .byte  196,98,125,24,5,215,26,0,0          // vbroadcastss  0x1ad7(%rip),%ymm8        # 7660 <_sk_callback_avx+0x4f2>
   .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
   .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
   .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
@@ -20227,7 +22145,7 @@
   .byte  196,65,17,98,200                    // vpunpckldq    %xmm8,%xmm13,%xmm9
   .byte  196,65,17,106,192                   // vpunpckhdq    %xmm8,%xmm13,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,31                              // jne           5300 <_sk_store_u16_be_avx+0xfa>
+  .byte  117,31                              // jne           5c6d <_sk_store_u16_be_avx+0xfa>
   .byte  196,65,120,17,28,65                 // vmovups       %xmm11,(%r9,%rax,2)
   .byte  196,65,120,17,84,65,16              // vmovups       %xmm10,0x10(%r9,%rax,2)
   .byte  196,65,120,17,76,65,32              // vmovups       %xmm9,0x20(%r9,%rax,2)
@@ -20236,22 +22154,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,214,28,65                // vmovq         %xmm11,(%r9,%rax,2)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  116,240                             // je            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,23,92,65,8               // vmovhpd       %xmm11,0x8(%r9,%rax,2)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  114,227                             // jb            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,214,84,65,16             // vmovq         %xmm10,0x10(%r9,%rax,2)
-  .byte  116,218                             // je            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  116,218                             // je            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,23,84,65,24              // vmovhpd       %xmm10,0x18(%r9,%rax,2)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,205                             // jb            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  114,205                             // jb            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,214,76,65,32             // vmovq         %xmm9,0x20(%r9,%rax,2)
-  .byte  116,196                             // je            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  116,196                             // je            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,23,76,65,40              // vmovhpd       %xmm9,0x28(%r9,%rax,2)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,183                             // jb            52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  114,183                             // jb            5c69 <_sk_store_u16_be_avx+0xf6>
   .byte  196,65,121,214,68,65,48             // vmovq         %xmm8,0x30(%r9,%rax,2)
-  .byte  235,174                             // jmp           52fc <_sk_store_u16_be_avx+0xf6>
+  .byte  235,174                             // jmp           5c69 <_sk_store_u16_be_avx+0xf6>
 
 HIDDEN _sk_load_f32_avx
 .globl _sk_load_f32_avx
@@ -20259,10 +22177,10 @@
 _sk_load_f32_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  119,110                             // ja            53c4 <_sk_load_f32_avx+0x76>
+  .byte  119,110                             // ja            5d31 <_sk_load_f32_avx+0x76>
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
-  .byte  76,141,29,132,0,0,0                 // lea           0x84(%rip),%r11        # 53ec <_sk_load_f32_avx+0x9e>
+  .byte  76,141,29,135,0,0,0                 // lea           0x87(%rip),%r11        # 5d5c <_sk_load_f32_avx+0xa1>
   .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
   .byte  76,1,216                            // add           %r11,%rax
   .byte  255,224                             // jmpq          *%rax
@@ -20288,19 +22206,73 @@
   .byte  196,193,101,21,216                  // vunpckhpd     %ymm8,%ymm3,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
-  .byte  133,255                             // test          %edi,%edi
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  130                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,204                             // dec           %esp
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  191,255,255,255,178                 // mov           $0xb2ffffff,%edi
+  .byte  188,255,255,255,175                 // mov           $0xafffffff,%esp
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,165,255,255,255,157             // jmpq          *-0x62000001(%rbp)
+  .byte  255,162,255,255,255,154             // jmpq          *-0x65000001(%rdx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,149,255,255,255,141             // callq         *-0x72000001(%rbp)
+  .byte  255,146,255,255,255,138             // callq         *-0x75000001(%rdx)
+  .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  73,131,248,7                        // cmp           $0x7,%r8
+  .byte  119,110                             // ja            5df2 <_sk_load_f32_dst_avx+0x76>
+  .byte  76,139,8                            // mov           (%rax),%r9
+  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
+  .byte  76,141,29,134,0,0,0                 // lea           0x86(%rip),%r11        # 5e1c <_sk_load_f32_dst_avx+0xa0>
+  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
+  .byte  196,131,125,24,124,145,96,1         // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
+  .byte  196,131,125,24,108,145,80,1         // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
+  .byte  196,131,125,24,116,145,64,1         // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
+  .byte  196,129,121,16,100,145,48           // vmovupd       0x30(%r9,%r10,4),%xmm4
+  .byte  196,195,93,13,224,12                // vblendpd      $0xc,%ymm8,%ymm4,%ymm4
+  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
+  .byte  196,99,61,13,207,12                 // vblendpd      $0xc,%ymm7,%ymm8,%ymm9
+  .byte  196,129,121,16,124,145,16           // vmovupd       0x10(%r9,%r10,4),%xmm7
+  .byte  196,99,69,13,213,12                 // vblendpd      $0xc,%ymm5,%ymm7,%ymm10
+  .byte  196,129,121,16,44,145               // vmovupd       (%r9,%r10,4),%xmm5
+  .byte  196,227,85,13,238,12                // vblendpd      $0xc,%ymm6,%ymm5,%ymm5
+  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
+  .byte  196,193,84,21,250                   // vunpckhps     %ymm10,%ymm5,%ymm7
+  .byte  197,180,20,236                      // vunpcklps     %ymm4,%ymm9,%ymm5
+  .byte  197,52,21,196                       // vunpckhps     %ymm4,%ymm9,%ymm8
+  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
+  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%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  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  131,255,255                         // cmp           $0xffffffff,%edi
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,176                 // mov           $0xb0ffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,147,255,255,255,139             // callq         *-0x74000001(%rbx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
@@ -20321,7 +22293,7 @@
   .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
   .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,55                              // jne           5479 <_sk_store_f32_avx+0x6d>
+  .byte  117,55                              // jne           5ea9 <_sk_store_f32_avx+0x6d>
   .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
@@ -20334,22 +22306,22 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,17,20,129                // vmovupd       %xmm10,(%r9,%rax,4)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            5475 <_sk_store_f32_avx+0x69>
+  .byte  116,240                             // je            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,65,121,17,76,129,16             // vmovupd       %xmm9,0x10(%r9,%rax,4)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            5475 <_sk_store_f32_avx+0x69>
+  .byte  114,227                             // jb            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,65,121,17,68,129,32             // vmovupd       %xmm8,0x20(%r9,%rax,4)
-  .byte  116,218                             // je            5475 <_sk_store_f32_avx+0x69>
+  .byte  116,218                             // je            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,65,121,17,92,129,48             // vmovupd       %xmm11,0x30(%r9,%rax,4)
   .byte  73,131,248,5                        // cmp           $0x5,%r8
-  .byte  114,205                             // jb            5475 <_sk_store_f32_avx+0x69>
+  .byte  114,205                             // jb            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,67,125,25,84,129,64,1           // vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
-  .byte  116,195                             // je            5475 <_sk_store_f32_avx+0x69>
+  .byte  116,195                             // je            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,67,125,25,76,129,80,1           // vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
   .byte  73,131,248,7                        // cmp           $0x7,%r8
-  .byte  114,181                             // jb            5475 <_sk_store_f32_avx+0x69>
+  .byte  114,181                             // jb            5ea5 <_sk_store_f32_avx+0x69>
   .byte  196,67,125,25,68,129,96,1           // vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
-  .byte  235,171                             // jmp           5475 <_sk_store_f32_avx+0x69>
+  .byte  235,171                             // jmp           5ea5 <_sk_store_f32_avx+0x69>
 
 HIDDEN _sk_clamp_x_avx
 .globl _sk_clamp_x_avx
@@ -20438,7 +22410,7 @@
   .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,211,21,0,0             // vmulss        0x15d3(%rip),%xmm9,%xmm0        # 6bc0 <_sk_callback_avx+0x482>
+  .byte  197,178,89,5,71,22,0,0              // vmulss        0x1647(%rip),%xmm9,%xmm0        # 7664 <_sk_callback_avx+0x4f6>
   .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
@@ -20471,7 +22443,7 @@
   .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,78,21,0,0             // vmulss        0x154e(%rip),%xmm9,%xmm1        # 6bc4 <_sk_callback_avx+0x486>
+  .byte  197,178,89,13,194,21,0,0            // vmulss        0x15c2(%rip),%xmm9,%xmm1        # 7668 <_sk_callback_avx+0x4fa>
   .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
@@ -20497,7 +22469,7 @@
 _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,236,20,0,0          // vbroadcastss  0x14ec(%rip),%ymm8        # 6bc8 <_sk_callback_avx+0x48a>
+  .byte  196,98,125,24,5,96,21,0,0           // vbroadcastss  0x1560(%rip),%ymm8        # 766c <_sk_callback_avx+0x4fe>
   .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -20515,9 +22487,9 @@
 .globl _sk_mirror_x_1_avx
 FUNCTION(_sk_mirror_x_1_avx)
 _sk_mirror_x_1_avx:
-  .byte  196,98,125,24,5,207,20,0,0          // vbroadcastss  0x14cf(%rip),%ymm8        # 6bcc <_sk_callback_avx+0x48e>
+  .byte  196,98,125,24,5,67,21,0,0           // vbroadcastss  0x1543(%rip),%ymm8        # 7670 <_sk_callback_avx+0x502>
   .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
-  .byte  196,98,125,24,13,197,20,0,0         // vbroadcastss  0x14c5(%rip),%ymm9        # 6bd0 <_sk_callback_avx+0x492>
+  .byte  196,98,125,24,13,57,21,0,0          // vbroadcastss  0x1539(%rip),%ymm9        # 7674 <_sk_callback_avx+0x506>
   .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
@@ -20533,12 +22505,12 @@
 .globl _sk_luminance_to_alpha_avx
 FUNCTION(_sk_luminance_to_alpha_avx)
 _sk_luminance_to_alpha_avx:
-  .byte  196,226,125,24,29,149,20,0,0        // vbroadcastss  0x1495(%rip),%ymm3        # 6bd4 <_sk_callback_avx+0x496>
+  .byte  196,226,125,24,29,9,21,0,0          // vbroadcastss  0x1509(%rip),%ymm3        # 7678 <_sk_callback_avx+0x50a>
   .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
-  .byte  196,226,125,24,29,140,20,0,0        // vbroadcastss  0x148c(%rip),%ymm3        # 6bd8 <_sk_callback_avx+0x49a>
+  .byte  196,226,125,24,29,0,21,0,0          // vbroadcastss  0x1500(%rip),%ymm3        # 767c <_sk_callback_avx+0x50e>
   .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
-  .byte  196,226,125,24,13,127,20,0,0        // vbroadcastss  0x147f(%rip),%ymm1        # 6bdc <_sk_callback_avx+0x49e>
+  .byte  196,226,125,24,13,243,20,0,0        // vbroadcastss  0x14f3(%rip),%ymm1        # 7680 <_sk_callback_avx+0x512>
   .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
@@ -20758,9 +22730,9 @@
   .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            5ab9 <_sk_evenly_spaced_gradient_avx+0x25>
+  .byte  120,7                               // js            64e9 <_sk_evenly_spaced_gradient_avx+0x25>
   .byte  196,225,242,42,203                  // vcvtsi2ss     %rbx,%xmm1,%xmm1
-  .byte  235,21                              // jmp           5ace <_sk_evenly_spaced_gradient_avx+0x3a>
+  .byte  235,21                              // jmp           64fe <_sk_evenly_spaced_gradient_avx+0x3a>
   .byte  73,137,217                          // mov           %rbx,%r9
   .byte  73,209,233                          // shr           %r9
   .byte  131,227,1                           // and           $0x1,%ebx
@@ -20918,18 +22890,18 @@
 .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,174,13,0,0         // vbroadcastss  0xdae(%rip),%ymm0        # 6be0 <_sk_callback_avx+0x4a2>
+  .byte  196,226,125,24,5,34,14,0,0          // vbroadcastss  0xe22(%rip),%ymm0        # 7684 <_sk_callback_avx+0x516>
   .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
-  .byte  196,226,125,24,13,165,13,0,0        // vbroadcastss  0xda5(%rip),%ymm1        # 6be4 <_sk_callback_avx+0x4a6>
+  .byte  196,226,125,24,13,25,14,0,0         // vbroadcastss  0xe19(%rip),%ymm1        # 7688 <_sk_callback_avx+0x51a>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
-  .byte  196,226,125,24,13,152,13,0,0        // vbroadcastss  0xd98(%rip),%ymm1        # 6be8 <_sk_callback_avx+0x4aa>
+  .byte  196,226,125,24,13,12,14,0,0         // vbroadcastss  0xe0c(%rip),%ymm1        # 768c <_sk_callback_avx+0x51e>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
-  .byte  196,226,125,24,13,139,13,0,0        // vbroadcastss  0xd8b(%rip),%ymm1        # 6bec <_sk_callback_avx+0x4ae>
+  .byte  196,226,125,24,13,255,13,0,0        // vbroadcastss  0xdff(%rip),%ymm1        # 7690 <_sk_callback_avx+0x522>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
-  .byte  196,226,125,24,13,126,13,0,0        // vbroadcastss  0xd7e(%rip),%ymm1        # 6bf0 <_sk_callback_avx+0x4b2>
+  .byte  196,226,125,24,13,242,13,0,0        // vbroadcastss  0xdf2(%rip),%ymm1        # 7694 <_sk_callback_avx+0x526>
   .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
@@ -20952,12 +22924,12 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
   .byte  73,131,249,2                        // cmp           $0x2,%r9
-  .byte  114,80                              // jb            5ef5 <_sk_gradient_avx+0x6f>
+  .byte  114,80                              // jb            6925 <_sk_gradient_avx+0x6f>
   .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
   .byte  73,255,201                          // dec           %r9
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
-  .byte  196,98,125,24,21,54,13,0,0          // vbroadcastss  0xd36(%rip),%ymm10        # 6bf4 <_sk_callback_avx+0x4b6>
+  .byte  196,98,125,24,21,170,13,0,0         // vbroadcastss  0xdaa(%rip),%ymm10        # 7698 <_sk_callback_avx+0x52a>
   .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
@@ -20969,7 +22941,7 @@
   .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  73,255,201                          // dec           %r9
-  .byte  117,205                             // jne           5ec2 <_sk_gradient_avx+0x3c>
+  .byte  117,205                             // jne           68f2 <_sk_gradient_avx+0x3c>
   .byte  196,195,249,22,201,1                // vpextrq       $0x1,%xmm1,%r9
   .byte  69,137,202                          // mov           %r9d,%r10d
   .byte  73,193,233,32                       // shr           $0x20,%r9
@@ -21152,27 +23124,27 @@
   .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,44,9,0,0           // vbroadcastss  0x92c(%rip),%ymm13        # 6bf8 <_sk_callback_avx+0x4ba>
+  .byte  196,98,125,24,45,160,9,0,0          // vbroadcastss  0x9a0(%rip),%ymm13        # 769c <_sk_callback_avx+0x52e>
   .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
-  .byte  196,98,125,24,53,34,9,0,0           // vbroadcastss  0x922(%rip),%ymm14        # 6bfc <_sk_callback_avx+0x4be>
+  .byte  196,98,125,24,53,150,9,0,0          // vbroadcastss  0x996(%rip),%ymm14        # 76a0 <_sk_callback_avx+0x532>
   .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,19,9,0,0           // vbroadcastss  0x913(%rip),%ymm14        # 6c00 <_sk_callback_avx+0x4c2>
+  .byte  196,98,125,24,53,135,9,0,0          // vbroadcastss  0x987(%rip),%ymm14        # 76a4 <_sk_callback_avx+0x536>
   .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,4,9,0,0            // vbroadcastss  0x904(%rip),%ymm13        # 6c04 <_sk_callback_avx+0x4c6>
+  .byte  196,98,125,24,45,120,9,0,0          // vbroadcastss  0x978(%rip),%ymm13        # 76a8 <_sk_callback_avx+0x53a>
   .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,239,8,0,0          // vbroadcastss  0x8ef(%rip),%ymm10        # 6c08 <_sk_callback_avx+0x4ca>
+  .byte  196,98,125,24,21,99,9,0,0           // vbroadcastss  0x963(%rip),%ymm10        # 76ac <_sk_callback_avx+0x53e>
   .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,217,8,0,0          // vbroadcastss  0x8d9(%rip),%ymm10        # 6c0c <_sk_callback_avx+0x4ce>
+  .byte  196,98,125,24,21,77,9,0,0           // vbroadcastss  0x94d(%rip),%ymm10        # 76b0 <_sk_callback_avx+0x542>
   .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,195,8,0,0          // vbroadcastss  0x8c3(%rip),%ymm10        # 6c10 <_sk_callback_avx+0x4d2>
+  .byte  196,98,125,24,21,55,9,0,0           // vbroadcastss  0x937(%rip),%ymm10        # 76b4 <_sk_callback_avx+0x546>
   .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
@@ -21196,7 +23168,7 @@
 FUNCTION(_sk_save_xy_avx)
 _sk_save_xy_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,141,8,0,0           // vbroadcastss  0x88d(%rip),%ymm8        # 6c14 <_sk_callback_avx+0x4d6>
+  .byte  196,98,125,24,5,1,9,0,0             // vbroadcastss  0x901(%rip),%ymm8        # 76b8 <_sk_callback_avx+0x54a>
   .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
@@ -21233,9 +23205,9 @@
 FUNCTION(_sk_bilinear_nx_avx)
 _sk_bilinear_nx_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,25,8,0,0           // vbroadcastss  0x819(%rip),%ymm0        # 6c18 <_sk_callback_avx+0x4da>
+  .byte  196,226,125,24,5,141,8,0,0          // vbroadcastss  0x88d(%rip),%ymm0        # 76bc <_sk_callback_avx+0x54e>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,16,8,0,0            // vbroadcastss  0x810(%rip),%ymm8        # 6c1c <_sk_callback_avx+0x4de>
+  .byte  196,98,125,24,5,132,8,0,0           // vbroadcastss  0x884(%rip),%ymm8        # 76c0 <_sk_callback_avx+0x552>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21246,7 +23218,7 @@
 FUNCTION(_sk_bilinear_px_avx)
 _sk_bilinear_px_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,248,7,0,0          // vbroadcastss  0x7f8(%rip),%ymm0        # 6c20 <_sk_callback_avx+0x4e2>
+  .byte  196,226,125,24,5,108,8,0,0          // vbroadcastss  0x86c(%rip),%ymm0        # 76c4 <_sk_callback_avx+0x556>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
   .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -21258,9 +23230,9 @@
 FUNCTION(_sk_bilinear_ny_avx)
 _sk_bilinear_ny_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,220,7,0,0         // vbroadcastss  0x7dc(%rip),%ymm1        # 6c24 <_sk_callback_avx+0x4e6>
+  .byte  196,226,125,24,13,80,8,0,0          // vbroadcastss  0x850(%rip),%ymm1        # 76c8 <_sk_callback_avx+0x55a>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,210,7,0,0           // vbroadcastss  0x7d2(%rip),%ymm8        # 6c28 <_sk_callback_avx+0x4ea>
+  .byte  196,98,125,24,5,70,8,0,0            // vbroadcastss  0x846(%rip),%ymm8        # 76cc <_sk_callback_avx+0x55e>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21271,7 +23243,7 @@
 FUNCTION(_sk_bilinear_py_avx)
 _sk_bilinear_py_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,186,7,0,0         // vbroadcastss  0x7ba(%rip),%ymm1        # 6c2c <_sk_callback_avx+0x4ee>
+  .byte  196,226,125,24,13,46,8,0,0          // vbroadcastss  0x82e(%rip),%ymm1        # 76d0 <_sk_callback_avx+0x562>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
   .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -21283,14 +23255,14 @@
 FUNCTION(_sk_bicubic_n3x_avx)
 _sk_bicubic_n3x_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,157,7,0,0          // vbroadcastss  0x79d(%rip),%ymm0        # 6c30 <_sk_callback_avx+0x4f2>
+  .byte  196,226,125,24,5,17,8,0,0           // vbroadcastss  0x811(%rip),%ymm0        # 76d4 <_sk_callback_avx+0x566>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,148,7,0,0           // vbroadcastss  0x794(%rip),%ymm8        # 6c34 <_sk_callback_avx+0x4f6>
+  .byte  196,98,125,24,5,8,8,0,0             // vbroadcastss  0x808(%rip),%ymm8        # 76d8 <_sk_callback_avx+0x56a>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,133,7,0,0          // vbroadcastss  0x785(%rip),%ymm10        # 6c38 <_sk_callback_avx+0x4fa>
+  .byte  196,98,125,24,21,249,7,0,0          // vbroadcastss  0x7f9(%rip),%ymm10        # 76dc <_sk_callback_avx+0x56e>
   .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
-  .byte  196,98,125,24,21,123,7,0,0          // vbroadcastss  0x77b(%rip),%ymm10        # 6c3c <_sk_callback_avx+0x4fe>
+  .byte  196,98,125,24,21,239,7,0,0          // vbroadcastss  0x7ef(%rip),%ymm10        # 76e0 <_sk_callback_avx+0x572>
   .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,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -21302,19 +23274,19 @@
 FUNCTION(_sk_bicubic_n1x_avx)
 _sk_bicubic_n1x_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,94,7,0,0           // vbroadcastss  0x75e(%rip),%ymm0        # 6c40 <_sk_callback_avx+0x502>
+  .byte  196,226,125,24,5,210,7,0,0          // vbroadcastss  0x7d2(%rip),%ymm0        # 76e4 <_sk_callback_avx+0x576>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
-  .byte  196,98,125,24,5,85,7,0,0            // vbroadcastss  0x755(%rip),%ymm8        # 6c44 <_sk_callback_avx+0x506>
+  .byte  196,98,125,24,5,201,7,0,0           // vbroadcastss  0x7c9(%rip),%ymm8        # 76e8 <_sk_callback_avx+0x57a>
   .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
-  .byte  196,98,125,24,13,75,7,0,0           // vbroadcastss  0x74b(%rip),%ymm9        # 6c48 <_sk_callback_avx+0x50a>
+  .byte  196,98,125,24,13,191,7,0,0          // vbroadcastss  0x7bf(%rip),%ymm9        # 76ec <_sk_callback_avx+0x57e>
   .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
-  .byte  196,98,125,24,21,65,7,0,0           // vbroadcastss  0x741(%rip),%ymm10        # 6c4c <_sk_callback_avx+0x50e>
+  .byte  196,98,125,24,21,181,7,0,0          // vbroadcastss  0x7b5(%rip),%ymm10        # 76f0 <_sk_callback_avx+0x582>
   .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,50,7,0,0           // vbroadcastss  0x732(%rip),%ymm10        # 6c50 <_sk_callback_avx+0x512>
+  .byte  196,98,125,24,21,166,7,0,0          // vbroadcastss  0x7a6(%rip),%ymm10        # 76f4 <_sk_callback_avx+0x586>
   .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,35,7,0,0           // vbroadcastss  0x723(%rip),%ymm9        # 6c54 <_sk_callback_avx+0x516>
+  .byte  196,98,125,24,13,151,7,0,0          // vbroadcastss  0x797(%rip),%ymm9        # 76f8 <_sk_callback_avx+0x58a>
   .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21325,17 +23297,17 @@
 FUNCTION(_sk_bicubic_p1x_avx)
 _sk_bicubic_p1x_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,11,7,0,0            // vbroadcastss  0x70b(%rip),%ymm8        # 6c58 <_sk_callback_avx+0x51a>
+  .byte  196,98,125,24,5,127,7,0,0           // vbroadcastss  0x77f(%rip),%ymm8        # 76fc <_sk_callback_avx+0x58e>
   .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
   .byte  197,124,16,72,64                    // vmovups       0x40(%rax),%ymm9
-  .byte  196,98,125,24,21,253,6,0,0          // vbroadcastss  0x6fd(%rip),%ymm10        # 6c5c <_sk_callback_avx+0x51e>
+  .byte  196,98,125,24,21,113,7,0,0          // vbroadcastss  0x771(%rip),%ymm10        # 7700 <_sk_callback_avx+0x592>
   .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
-  .byte  196,98,125,24,29,243,6,0,0          // vbroadcastss  0x6f3(%rip),%ymm11        # 6c60 <_sk_callback_avx+0x522>
+  .byte  196,98,125,24,29,103,7,0,0          // vbroadcastss  0x767(%rip),%ymm11        # 7704 <_sk_callback_avx+0x596>
   .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,218,6,0,0          // vbroadcastss  0x6da(%rip),%ymm9        # 6c64 <_sk_callback_avx+0x526>
+  .byte  196,98,125,24,13,78,7,0,0           // vbroadcastss  0x74e(%rip),%ymm9        # 7708 <_sk_callback_avx+0x59a>
   .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
   .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21346,13 +23318,13 @@
 FUNCTION(_sk_bicubic_p3x_avx)
 _sk_bicubic_p3x_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,5,194,6,0,0          // vbroadcastss  0x6c2(%rip),%ymm0        # 6c68 <_sk_callback_avx+0x52a>
+  .byte  196,226,125,24,5,54,7,0,0           // vbroadcastss  0x736(%rip),%ymm0        # 770c <_sk_callback_avx+0x59e>
   .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
   .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,175,6,0,0          // vbroadcastss  0x6af(%rip),%ymm10        # 6c6c <_sk_callback_avx+0x52e>
+  .byte  196,98,125,24,21,35,7,0,0           // vbroadcastss  0x723(%rip),%ymm10        # 7710 <_sk_callback_avx+0x5a2>
   .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
-  .byte  196,98,125,24,21,165,6,0,0          // vbroadcastss  0x6a5(%rip),%ymm10        # 6c70 <_sk_callback_avx+0x532>
+  .byte  196,98,125,24,21,25,7,0,0           // vbroadcastss  0x719(%rip),%ymm10        # 7714 <_sk_callback_avx+0x5a6>
   .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,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
@@ -21364,14 +23336,14 @@
 FUNCTION(_sk_bicubic_n3y_avx)
 _sk_bicubic_n3y_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,136,6,0,0         // vbroadcastss  0x688(%rip),%ymm1        # 6c74 <_sk_callback_avx+0x536>
+  .byte  196,226,125,24,13,252,6,0,0         // vbroadcastss  0x6fc(%rip),%ymm1        # 7718 <_sk_callback_avx+0x5aa>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,126,6,0,0           // vbroadcastss  0x67e(%rip),%ymm8        # 6c78 <_sk_callback_avx+0x53a>
+  .byte  196,98,125,24,5,242,6,0,0           // vbroadcastss  0x6f2(%rip),%ymm8        # 771c <_sk_callback_avx+0x5ae>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,111,6,0,0          // vbroadcastss  0x66f(%rip),%ymm10        # 6c7c <_sk_callback_avx+0x53e>
+  .byte  196,98,125,24,21,227,6,0,0          // vbroadcastss  0x6e3(%rip),%ymm10        # 7720 <_sk_callback_avx+0x5b2>
   .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
-  .byte  196,98,125,24,21,101,6,0,0          // vbroadcastss  0x665(%rip),%ymm10        # 6c80 <_sk_callback_avx+0x542>
+  .byte  196,98,125,24,21,217,6,0,0          // vbroadcastss  0x6d9(%rip),%ymm10        # 7724 <_sk_callback_avx+0x5b6>
   .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,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -21383,19 +23355,19 @@
 FUNCTION(_sk_bicubic_n1y_avx)
 _sk_bicubic_n1y_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,72,6,0,0          // vbroadcastss  0x648(%rip),%ymm1        # 6c84 <_sk_callback_avx+0x546>
+  .byte  196,226,125,24,13,188,6,0,0         // vbroadcastss  0x6bc(%rip),%ymm1        # 7728 <_sk_callback_avx+0x5ba>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
-  .byte  196,98,125,24,5,62,6,0,0            // vbroadcastss  0x63e(%rip),%ymm8        # 6c88 <_sk_callback_avx+0x54a>
+  .byte  196,98,125,24,5,178,6,0,0           // vbroadcastss  0x6b2(%rip),%ymm8        # 772c <_sk_callback_avx+0x5be>
   .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
-  .byte  196,98,125,24,13,52,6,0,0           // vbroadcastss  0x634(%rip),%ymm9        # 6c8c <_sk_callback_avx+0x54e>
+  .byte  196,98,125,24,13,168,6,0,0          // vbroadcastss  0x6a8(%rip),%ymm9        # 7730 <_sk_callback_avx+0x5c2>
   .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
-  .byte  196,98,125,24,21,42,6,0,0           // vbroadcastss  0x62a(%rip),%ymm10        # 6c90 <_sk_callback_avx+0x552>
+  .byte  196,98,125,24,21,158,6,0,0          // vbroadcastss  0x69e(%rip),%ymm10        # 7734 <_sk_callback_avx+0x5c6>
   .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,6,0,0           // vbroadcastss  0x61b(%rip),%ymm10        # 6c94 <_sk_callback_avx+0x556>
+  .byte  196,98,125,24,21,143,6,0,0          // vbroadcastss  0x68f(%rip),%ymm10        # 7738 <_sk_callback_avx+0x5ca>
   .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,12,6,0,0           // vbroadcastss  0x60c(%rip),%ymm9        # 6c98 <_sk_callback_avx+0x55a>
+  .byte  196,98,125,24,13,128,6,0,0          // vbroadcastss  0x680(%rip),%ymm9        # 773c <_sk_callback_avx+0x5ce>
   .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21406,17 +23378,17 @@
 FUNCTION(_sk_bicubic_p1y_avx)
 _sk_bicubic_p1y_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,98,125,24,5,244,5,0,0           // vbroadcastss  0x5f4(%rip),%ymm8        # 6c9c <_sk_callback_avx+0x55e>
+  .byte  196,98,125,24,5,104,6,0,0           // vbroadcastss  0x668(%rip),%ymm8        # 7740 <_sk_callback_avx+0x5d2>
   .byte  197,188,88,72,32                    // vaddps        0x20(%rax),%ymm8,%ymm1
   .byte  197,124,16,72,96                    // vmovups       0x60(%rax),%ymm9
-  .byte  196,98,125,24,21,229,5,0,0          // vbroadcastss  0x5e5(%rip),%ymm10        # 6ca0 <_sk_callback_avx+0x562>
+  .byte  196,98,125,24,21,89,6,0,0           // vbroadcastss  0x659(%rip),%ymm10        # 7744 <_sk_callback_avx+0x5d6>
   .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
-  .byte  196,98,125,24,29,219,5,0,0          // vbroadcastss  0x5db(%rip),%ymm11        # 6ca4 <_sk_callback_avx+0x566>
+  .byte  196,98,125,24,29,79,6,0,0           // vbroadcastss  0x64f(%rip),%ymm11        # 7748 <_sk_callback_avx+0x5da>
   .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,194,5,0,0          // vbroadcastss  0x5c2(%rip),%ymm9        # 6ca8 <_sk_callback_avx+0x56a>
+  .byte  196,98,125,24,13,54,6,0,0           // vbroadcastss  0x636(%rip),%ymm9        # 774c <_sk_callback_avx+0x5de>
   .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
   .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -21427,13 +23399,13 @@
 FUNCTION(_sk_bicubic_p3y_avx)
 _sk_bicubic_p3y_avx:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,24,13,170,5,0,0         // vbroadcastss  0x5aa(%rip),%ymm1        # 6cac <_sk_callback_avx+0x56e>
+  .byte  196,226,125,24,13,30,6,0,0          // vbroadcastss  0x61e(%rip),%ymm1        # 7750 <_sk_callback_avx+0x5e2>
   .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
   .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
   .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
-  .byte  196,98,125,24,21,150,5,0,0          // vbroadcastss  0x596(%rip),%ymm10        # 6cb0 <_sk_callback_avx+0x572>
+  .byte  196,98,125,24,21,10,6,0,0           // vbroadcastss  0x60a(%rip),%ymm10        # 7754 <_sk_callback_avx+0x5e6>
   .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
-  .byte  196,98,125,24,21,140,5,0,0          // vbroadcastss  0x58c(%rip),%ymm10        # 6cb4 <_sk_callback_avx+0x576>
+  .byte  196,98,125,24,21,0,6,0,0            // vbroadcastss  0x600(%rip),%ymm10        # 7758 <_sk_callback_avx+0x5ea>
   .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,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
@@ -21563,25 +23535,25 @@
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 6931 <.literal4+0xb1>
+  .byte  71,225,61                           // rex.RXB       loope 7361 <.literal4+0xb1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 6941 <.literal4+0xc1>
+  .byte  71,225,61                           // rex.RXB       loope 7371 <.literal4+0xc1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 6951 <.literal4+0xd1>
+  .byte  71,225,61                           // rex.RXB       loope 7381 <.literal4+0xd1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
   .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
-  .byte  71,225,61                           // rex.RXB       loope 6961 <.literal4+0xe1>
+  .byte  71,225,61                           // rex.RXB       loope 7391 <.literal4+0xe1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
@@ -21589,7 +23561,8 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
   .byte  63                                  // (bad)
-  .byte  145                                 // xchg          %eax,%ecx
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
   .byte  131,158,61,154,153,153,62           // sbbl          $0x3e,-0x666665c3(%rsi)
   .byte  92                                  // pop           %rsp
   .byte  143                                 // (bad)
@@ -21598,6 +23571,17 @@
   .byte  35,59                               // and           (%rbx),%edi
   .byte  174                                 // scas          %es:(%rdi),%al
   .byte  71,97                               // rex.RXB       (bad)
+  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
+  .byte  154                                 // (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,92                               // ds            pop %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .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  57,215                              // cmp           %edx,%edi
   .byte  32,187,186,159,98,60                // and           %bh,0x3c629fba(%rbx)
@@ -21633,7 +23617,7 @@
   .byte  190,129,128,128,59                  // mov           $0x3b808081,%esi
   .byte  129,128,128,59,0,248,0,0,8,33       // addl          $0x21080000,-0x7ffc480(%rax)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        69b5 <.literal4+0x135>
+  .byte  224,7                               // loopne        73fd <.literal4+0x14d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -21649,10 +23633,10 @@
   .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
   .byte  0,52,255                            // add           %dh,(%rdi,%rdi,8)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            69dc <.literal4+0x15c>
+  .byte  127,0                               // jg            7424 <.literal4+0x174>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            6a55 <.literal4+0x1d5>
+  .byte  119,115                             // ja            749d <.literal4+0x1ed>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -21666,10 +23650,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            6a10 <.literal4+0x190>
+  .byte  127,0                               // jg            7458 <.literal4+0x1a8>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            6a89 <.literal4+0x209>
+  .byte  119,115                             // ja            74d1 <.literal4+0x221>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -21683,10 +23667,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            6a44 <.literal4+0x1c4>
+  .byte  127,0                               // jg            748c <.literal4+0x1dc>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            6abd <.literal4+0x23d>
+  .byte  119,115                             // ja            7505 <.literal4+0x255>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -21700,10 +23684,10 @@
   .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            6a78 <.literal4+0x1f8>
+  .byte  127,0                               // jg            74c0 <.literal4+0x210>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            6af1 <.literal4+0x271>
+  .byte  119,115                             // ja            7539 <.literal4+0x289>
   .byte  248                                 // clc
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
@@ -21716,7 +23700,7 @@
   .byte  0,75,0                              // add           %cl,0x0(%rbx)
   .byte  0,128,63,0,0,200                    // add           %al,-0x37ffffc1(%rax)
   .byte  66,0,0                              // rex.X         add %al,(%rax)
-  .byte  127,67                              // jg            6aef <.literal4+0x26f>
+  .byte  127,67                              // jg            7537 <.literal4+0x287>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,195                               // add           %al,%bl
   .byte  0,0                                 // add           %al,(%rax)
@@ -21728,19 +23712,22 @@
   .byte  190,80,128,3,62                     // mov           $0x3e038050,%esi
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           6b0f <.literal4+0x28f>
+  .byte  118,63                              // jbe           7557 <.literal4+0x2a7>
   .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
-  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
-  .byte  127,67                              // jg            6b23 <.literal4+0x2a3>
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
+  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
+  .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  129,128,128,59,0,0,128,63,129,128   // addl          $0x80813f80,0x3b80(%rax)
   .byte  128,59,0                            // cmpb          $0x0,(%rbx)
   .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
   .byte  59,0                                // cmp           (%rax),%eax
+  .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
+  .byte  59,0                                // cmp           (%rax),%eax
   .byte  248                                 // clc
   .byte  0,0                                 // add           %al,(%rax)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        6b05 <.literal4+0x285>
+  .byte  224,7                               // loopne        7559 <.literal4+0x2a9>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -21752,7 +23739,19 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        6b21 <.literal4+0x2a1>
+  .byte  224,7                               // loopne        7575 <.literal4+0x2c5>
+  .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,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
+  .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        7591 <.literal4+0x2e1>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -21763,7 +23762,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  248                                 // clc
   .byte  65,0,0                              // add           %al,(%r8)
-  .byte  124,66                              // jl            6b76 <.literal4+0x2f6>
+  .byte  124,66                              // jl            75e6 <.literal4+0x336>
   .byte  0,240                               // add           %dh,%al
   .byte  0,0                                 // add           %al,(%rax)
   .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
@@ -21780,10 +23779,23 @@
   .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,240                // mov           %ecx,-0xfffc278(%rax)
+  .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            6bb9 <.literal4+0x339>
-  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
-  .byte  127,67                              // jg            6bc7 <.literal4+0x347>
+  .byte  112,65                              // jo            7649 <.literal4+0x399>
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
+  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
+  .byte  0,127,67                            // add           %bh,0x43(%rdi)
+  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
+  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,56                                // add           %bh,(%rax)
   .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
   .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -21799,7 +23811,7 @@
   .byte  0,128,55,0,0,128                    // add           %al,-0x7fffffc9(%rax)
   .byte  63                                  // (bad)
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            6c07 <.literal4+0x387>
+  .byte  127,71                              // jg            76ab <.literal4+0x3fb>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -21972,6 +23984,14 @@
   .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,2                                 // add           %al,(%rdx)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -21996,6 +24016,30 @@
   .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,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  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  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)
@@ -22110,6 +24154,22 @@
   .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  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
 BALIGN32
 
 HIDDEN _sk_start_pipeline_sse41
@@ -22186,7 +24246,7 @@
   .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,40,21,239,80,0,0                 // movaps        0x50ef(%rip),%xmm2        # 5190 <_sk_callback_sse41+0x100>
+  .byte  15,40,21,223,86,0,0                 // movaps        0x56df(%rip),%xmm2        # 5780 <_sk_callback_sse41+0xf4>
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  15,16,7                             // movups        (%rdi),%xmm0
   .byte  15,88,193                           // addps         %xmm1,%xmm0
@@ -22195,7 +24255,7 @@
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,21,222,80,0,0                 // movaps        0x50de(%rip),%xmm2        # 51a0 <_sk_callback_sse41+0x110>
+  .byte  15,40,21,206,86,0,0                 // movaps        0x56ce(%rip),%xmm2        # 5790 <_sk_callback_sse41+0x104>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  15,87,228                           // xorps         %xmm4,%xmm4
   .byte  15,87,237                           // xorps         %xmm5,%xmm5
@@ -22215,14 +24275,14 @@
   .byte  102,68,15,110,193                   // movd          %ecx,%xmm8
   .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
   .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
-  .byte  102,68,15,111,21,172,80,0,0         // movdqa        0x50ac(%rip),%xmm10        # 51b0 <_sk_callback_sse41+0x120>
+  .byte  102,68,15,111,21,156,86,0,0         // movdqa        0x569c(%rip),%xmm10        # 57a0 <_sk_callback_sse41+0x114>
   .byte  102,69,15,111,216                   // movdqa        %xmm8,%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,209                   // pand          %xmm9,%xmm10
   .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
-  .byte  102,68,15,111,37,152,80,0,0         // movdqa        0x5098(%rip),%xmm12        # 51c0 <_sk_callback_sse41+0x130>
-  .byte  102,68,15,111,45,159,80,0,0         // movdqa        0x509f(%rip),%xmm13        # 51d0 <_sk_callback_sse41+0x140>
+  .byte  102,68,15,111,37,136,86,0,0         // movdqa        0x5688(%rip),%xmm12        # 57b0 <_sk_callback_sse41+0x124>
+  .byte  102,68,15,111,45,143,86,0,0         // movdqa        0x568f(%rip),%xmm13        # 57c0 <_sk_callback_sse41+0x134>
   .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
   .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
   .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
@@ -22238,8 +24298,8 @@
   .byte  102,69,15,235,245                   // por           %xmm13,%xmm14
   .byte  102,69,15,235,240                   // por           %xmm8,%xmm14
   .byte  69,15,91,198                        // cvtdq2ps      %xmm14,%xmm8
-  .byte  68,15,89,5,90,80,0,0                // mulps         0x505a(%rip),%xmm8        # 51e0 <_sk_callback_sse41+0x150>
-  .byte  68,15,88,5,98,80,0,0                // addps         0x5062(%rip),%xmm8        # 51f0 <_sk_callback_sse41+0x160>
+  .byte  68,15,89,5,74,86,0,0                // mulps         0x564a(%rip),%xmm8        # 57d0 <_sk_callback_sse41+0x144>
+  .byte  68,15,88,5,82,86,0,0                // addps         0x5652(%rip),%xmm8        # 57e0 <_sk_callback_sse41+0x154>
   .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
@@ -22316,7 +24376,7 @@
 FUNCTION(_sk_srcatop_sse41)
 _sk_srcatop_sse41:
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
-  .byte  68,15,40,5,188,79,0,0               // movaps        0x4fbc(%rip),%xmm8        # 5200 <_sk_callback_sse41+0x170>
+  .byte  68,15,40,5,172,85,0,0               // movaps        0x55ac(%rip),%xmm8        # 57f0 <_sk_callback_sse41+0x164>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -22341,7 +24401,7 @@
 _sk_dstatop_sse41:
   .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
   .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
-  .byte  68,15,40,13,127,79,0,0              // movaps        0x4f7f(%rip),%xmm9        # 5210 <_sk_callback_sse41+0x180>
+  .byte  68,15,40,13,111,85,0,0              // movaps        0x556f(%rip),%xmm9        # 5800 <_sk_callback_sse41+0x174>
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
@@ -22388,7 +24448,7 @@
 .globl _sk_srcout_sse41
 FUNCTION(_sk_srcout_sse41)
 _sk_srcout_sse41:
-  .byte  68,15,40,5,35,79,0,0                // movaps        0x4f23(%rip),%xmm8        # 5220 <_sk_callback_sse41+0x190>
+  .byte  68,15,40,5,19,85,0,0                // movaps        0x5513(%rip),%xmm8        # 5810 <_sk_callback_sse41+0x184>
   .byte  68,15,92,199                        // subps         %xmm7,%xmm8
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
@@ -22401,7 +24461,7 @@
 .globl _sk_dstout_sse41
 FUNCTION(_sk_dstout_sse41)
 _sk_dstout_sse41:
-  .byte  68,15,40,5,19,79,0,0                // movaps        0x4f13(%rip),%xmm8        # 5230 <_sk_callback_sse41+0x1a0>
+  .byte  68,15,40,5,3,85,0,0                 // movaps        0x5503(%rip),%xmm8        # 5820 <_sk_callback_sse41+0x194>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
@@ -22418,7 +24478,7 @@
 .globl _sk_srcover_sse41
 FUNCTION(_sk_srcover_sse41)
 _sk_srcover_sse41:
-  .byte  68,15,40,5,246,78,0,0               // movaps        0x4ef6(%rip),%xmm8        # 5240 <_sk_callback_sse41+0x1b0>
+  .byte  68,15,40,5,230,84,0,0               // movaps        0x54e6(%rip),%xmm8        # 5830 <_sk_callback_sse41+0x1a4>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -22438,7 +24498,7 @@
 .globl _sk_dstover_sse41
 FUNCTION(_sk_dstover_sse41)
 _sk_dstover_sse41:
-  .byte  68,15,40,5,202,78,0,0               // movaps        0x4eca(%rip),%xmm8        # 5250 <_sk_callback_sse41+0x1c0>
+  .byte  68,15,40,5,186,84,0,0               // movaps        0x54ba(%rip),%xmm8        # 5840 <_sk_callback_sse41+0x1b4>
   .byte  68,15,92,199                        // subps         %xmm7,%xmm8
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -22466,7 +24526,7 @@
 .globl _sk_multiply_sse41
 FUNCTION(_sk_multiply_sse41)
 _sk_multiply_sse41:
-  .byte  68,15,40,5,158,78,0,0               // movaps        0x4e9e(%rip),%xmm8        # 5260 <_sk_callback_sse41+0x1d0>
+  .byte  68,15,40,5,142,84,0,0               // movaps        0x548e(%rip),%xmm8        # 5850 <_sk_callback_sse41+0x1c4>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
@@ -22541,7 +24601,7 @@
 FUNCTION(_sk_xor__sse41)
 _sk_xor__sse41:
   .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
-  .byte  15,40,29,211,77,0,0                 // movaps        0x4dd3(%rip),%xmm3        # 5270 <_sk_callback_sse41+0x1e0>
+  .byte  15,40,29,195,83,0,0                 // movaps        0x53c3(%rip),%xmm3        # 5860 <_sk_callback_sse41+0x1d4>
   .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
@@ -22589,7 +24649,7 @@
   .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,62,77,0,0                  // movaps        0x4d3e(%rip),%xmm2        # 5280 <_sk_callback_sse41+0x1f0>
+  .byte  15,40,21,46,83,0,0                  // movaps        0x532e(%rip),%xmm2        # 5870 <_sk_callback_sse41+0x1e4>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -22623,7 +24683,7 @@
   .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,227,76,0,0                 // movaps        0x4ce3(%rip),%xmm2        # 5290 <_sk_callback_sse41+0x200>
+  .byte  15,40,21,211,82,0,0                 // movaps        0x52d3(%rip),%xmm2        # 5880 <_sk_callback_sse41+0x1f4>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -22660,7 +24720,7 @@
   .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,125,76,0,0                 // movaps        0x4c7d(%rip),%xmm2        # 52a0 <_sk_callback_sse41+0x210>
+  .byte  15,40,21,109,82,0,0                 // movaps        0x526d(%rip),%xmm2        # 5890 <_sk_callback_sse41+0x204>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -22688,7 +24748,7 @@
   .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,61,76,0,0                  // movaps        0x4c3d(%rip),%xmm2        # 52b0 <_sk_callback_sse41+0x220>
+  .byte  15,40,21,45,82,0,0                  // movaps        0x522d(%rip),%xmm2        # 58a0 <_sk_callback_sse41+0x214>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -22701,7 +24761,7 @@
 FUNCTION(_sk_colorburn_sse41)
 _sk_colorburn_sse41:
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
-  .byte  68,15,40,21,48,76,0,0               // movaps        0x4c30(%rip),%xmm10        # 52c0 <_sk_callback_sse41+0x230>
+  .byte  68,15,40,21,32,82,0,0               // movaps        0x5220(%rip),%xmm10        # 58b0 <_sk_callback_sse41+0x224>
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
   .byte  68,15,92,223                        // subps         %xmm7,%xmm11
   .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
@@ -22783,7 +24843,7 @@
 FUNCTION(_sk_colordodge_sse41)
 _sk_colordodge_sse41:
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
-  .byte  68,15,40,21,14,75,0,0               // movaps        0x4b0e(%rip),%xmm10        # 52d0 <_sk_callback_sse41+0x240>
+  .byte  68,15,40,21,254,80,0,0              // movaps        0x50fe(%rip),%xmm10        # 58c0 <_sk_callback_sse41+0x234>
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
   .byte  68,15,92,223                        // subps         %xmm7,%xmm11
   .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
@@ -22865,7 +24925,7 @@
   .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,231,73,0,0              // movaps        0x49e7(%rip),%xmm10        # 52e0 <_sk_callback_sse41+0x250>
+  .byte  68,15,40,21,215,79,0,0              // movaps        0x4fd7(%rip),%xmm10        # 58d0 <_sk_callback_sse41+0x244>
   .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
   .byte  15,92,239                           // subps         %xmm7,%xmm5
   .byte  15,40,197                           // movaps        %xmm5,%xmm0
@@ -22948,7 +25008,7 @@
 _sk_overlay_sse41:
   .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
   .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
-  .byte  68,15,40,21,204,72,0,0              // movaps        0x48cc(%rip),%xmm10        # 52f0 <_sk_callback_sse41+0x260>
+  .byte  68,15,40,21,188,78,0,0              // movaps        0x4ebc(%rip),%xmm10        # 58e0 <_sk_callback_sse41+0x254>
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
   .byte  68,15,92,223                        // subps         %xmm7,%xmm11
   .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
@@ -23033,7 +25093,7 @@
   .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,163,71,0,0                 // movaps        0x47a3(%rip),%xmm1        # 5300 <_sk_callback_sse41+0x270>
+  .byte  15,40,13,147,77,0,0                 // movaps        0x4d93(%rip),%xmm1        # 58f0 <_sk_callback_sse41+0x264>
   .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
   .byte  68,15,92,208                        // subps         %xmm0,%xmm10
   .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
@@ -23046,10 +25106,10 @@
   .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,129,71,0,0              // movaps        0x4781(%rip),%xmm13        # 5310 <_sk_callback_sse41+0x280>
+  .byte  68,15,40,45,113,77,0,0              // movaps        0x4d71(%rip),%xmm13        # 5900 <_sk_callback_sse41+0x274>
   .byte  69,15,88,245                        // addps         %xmm13,%xmm14
   .byte  68,15,89,242                        // mulps         %xmm2,%xmm14
-  .byte  68,15,40,37,129,71,0,0              // movaps        0x4781(%rip),%xmm12        # 5320 <_sk_callback_sse41+0x290>
+  .byte  68,15,40,37,113,77,0,0              // movaps        0x4d71(%rip),%xmm12        # 5910 <_sk_callback_sse41+0x284>
   .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
   .byte  69,15,88,254                        // addps         %xmm14,%xmm15
   .byte  15,40,198                           // movaps        %xmm6,%xmm0
@@ -23235,12 +25295,12 @@
   .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,236,68,0,0                  // movaps        0x44ec(%rip),%xmm0        # 5330 <_sk_callback_sse41+0x2a0>
+  .byte  15,40,5,220,74,0,0                  // movaps        0x4adc(%rip),%xmm0        # 5920 <_sk_callback_sse41+0x294>
   .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
-  .byte  15,40,21,241,68,0,0                 // movaps        0x44f1(%rip),%xmm2        # 5340 <_sk_callback_sse41+0x2b0>
+  .byte  15,40,21,225,74,0,0                 // movaps        0x4ae1(%rip),%xmm2        # 5930 <_sk_callback_sse41+0x2a4>
   .byte  15,89,250                           // mulps         %xmm2,%xmm7
   .byte  65,15,88,252                        // addps         %xmm12,%xmm7
-  .byte  68,15,40,53,242,68,0,0              // movaps        0x44f2(%rip),%xmm14        # 5350 <_sk_callback_sse41+0x2c0>
+  .byte  68,15,40,53,226,74,0,0              // movaps        0x4ae2(%rip),%xmm14        # 5940 <_sk_callback_sse41+0x2b4>
   .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
   .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
   .byte  68,15,88,255                        // addps         %xmm7,%xmm15
@@ -23323,7 +25383,7 @@
   .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,182,67,0,0              // movaps        0x43b6(%rip),%xmm9        # 5360 <_sk_callback_sse41+0x2d0>
+  .byte  68,15,40,13,166,73,0,0              // movaps        0x49a6(%rip),%xmm9        # 5950 <_sk_callback_sse41+0x2c4>
   .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
@@ -23417,14 +25477,14 @@
   .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,112,66,0,0                 // movaps        0x4270(%rip),%xmm2        # 5370 <_sk_callback_sse41+0x2e0>
+  .byte  15,40,21,96,72,0,0                  // movaps        0x4860(%rip),%xmm2        # 5960 <_sk_callback_sse41+0x2d4>
   .byte  15,40,221                           // movaps        %xmm5,%xmm3
   .byte  15,89,218                           // mulps         %xmm2,%xmm3
-  .byte  15,40,13,115,66,0,0                 // movaps        0x4273(%rip),%xmm1        # 5380 <_sk_callback_sse41+0x2f0>
+  .byte  15,40,13,99,72,0,0                  // movaps        0x4863(%rip),%xmm1        # 5970 <_sk_callback_sse41+0x2e4>
   .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,114,66,0,0              // movaps        0x4272(%rip),%xmm13        # 5390 <_sk_callback_sse41+0x300>
+  .byte  68,15,40,45,98,72,0,0               // movaps        0x4862(%rip),%xmm13        # 5980 <_sk_callback_sse41+0x2f4>
   .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
   .byte  68,15,88,247                        // addps         %xmm7,%xmm14
   .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
@@ -23505,7 +25565,7 @@
   .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,56,65,0,0               // movaps        0x4138(%rip),%xmm9        # 53a0 <_sk_callback_sse41+0x310>
+  .byte  68,15,40,13,40,71,0,0               // movaps        0x4728(%rip),%xmm9        # 5990 <_sk_callback_sse41+0x304>
   .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
@@ -23560,14 +25620,14 @@
   .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,131,64,0,0              // movaps        0x4083(%rip),%xmm9        # 53b0 <_sk_callback_sse41+0x320>
+  .byte  68,15,40,13,115,70,0,0              // movaps        0x4673(%rip),%xmm9        # 59a0 <_sk_callback_sse41+0x314>
   .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
   .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
-  .byte  68,15,40,21,131,64,0,0              // movaps        0x4083(%rip),%xmm10        # 53c0 <_sk_callback_sse41+0x330>
+  .byte  68,15,40,21,115,70,0,0              // movaps        0x4673(%rip),%xmm10        # 59b0 <_sk_callback_sse41+0x324>
   .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,128,64,0,0              // movaps        0x4080(%rip),%xmm11        # 53d0 <_sk_callback_sse41+0x340>
+  .byte  68,15,40,29,112,70,0,0              // movaps        0x4670(%rip),%xmm11        # 59c0 <_sk_callback_sse41+0x334>
   .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
   .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
   .byte  68,15,88,235                        // addps         %xmm3,%xmm13
@@ -23652,7 +25712,7 @@
   .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,60,63,0,0               // movaps        0x3f3c(%rip),%xmm9        # 53e0 <_sk_callback_sse41+0x350>
+  .byte  68,15,40,13,44,69,0,0               // movaps        0x452c(%rip),%xmm9        # 59d0 <_sk_callback_sse41+0x344>
   .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
   .byte  15,92,196                           // subps         %xmm4,%xmm0
   .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
@@ -23704,13 +25764,13 @@
   .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,148,62,0,0               // movaps        0x3e94(%rip),%xmm8        # 53f0 <_sk_callback_sse41+0x360>
+  .byte  68,15,40,5,132,68,0,0               // movaps        0x4484(%rip),%xmm8        # 59e0 <_sk_callback_sse41+0x354>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
-  .byte  68,15,40,21,152,62,0,0              // movaps        0x3e98(%rip),%xmm10        # 5400 <_sk_callback_sse41+0x370>
+  .byte  68,15,40,21,136,68,0,0              // movaps        0x4488(%rip),%xmm10        # 59f0 <_sk_callback_sse41+0x364>
   .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,150,62,0,0              // movaps        0x3e96(%rip),%xmm12        # 5410 <_sk_callback_sse41+0x380>
+  .byte  68,15,40,37,134,68,0,0              // movaps        0x4486(%rip),%xmm12        # 5a00 <_sk_callback_sse41+0x374>
   .byte  68,15,40,242                        // movaps        %xmm2,%xmm14
   .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
   .byte  68,15,88,245                        // addps         %xmm5,%xmm14
@@ -23795,7 +25855,7 @@
   .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,76,61,0,0                   // movaps        0x3d4c(%rip),%xmm0        # 5420 <_sk_callback_sse41+0x390>
+  .byte  15,40,5,60,67,0,0                   // movaps        0x433c(%rip),%xmm0        # 5a10 <_sk_callback_sse41+0x384>
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  15,92,215                           // subps         %xmm7,%xmm2
   .byte  15,89,226                           // mulps         %xmm2,%xmm4
@@ -23838,20 +25898,20 @@
   .byte  15,133,217,0,0,0                    // jne           1828 <_sk_srcover_rgba_8888_sse41+0xe7>
   .byte  243,15,111,60,144                   // movdqu        (%rax,%rdx,4),%xmm7
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  102,15,111,37,209,60,0,0            // movdqa        0x3cd1(%rip),%xmm4        # 5430 <_sk_callback_sse41+0x3a0>
+  .byte  102,15,111,37,193,66,0,0            // movdqa        0x42c1(%rip),%xmm4        # 5a20 <_sk_callback_sse41+0x394>
   .byte  102,15,219,231                      // pand          %xmm7,%xmm4
   .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
   .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
-  .byte  102,15,56,0,45,205,60,0,0           // pshufb        0x3ccd(%rip),%xmm5        # 5440 <_sk_callback_sse41+0x3b0>
+  .byte  102,15,56,0,45,189,66,0,0           // pshufb        0x42bd(%rip),%xmm5        # 5a30 <_sk_callback_sse41+0x3a4>
   .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
   .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
-  .byte  102,15,56,0,53,205,60,0,0           // pshufb        0x3ccd(%rip),%xmm6        # 5450 <_sk_callback_sse41+0x3c0>
+  .byte  102,15,56,0,53,189,66,0,0           // pshufb        0x42bd(%rip),%xmm6        # 5a40 <_sk_callback_sse41+0x3b4>
   .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
   .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
   .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
-  .byte  68,15,40,5,202,60,0,0               // movaps        0x3cca(%rip),%xmm8        # 5460 <_sk_callback_sse41+0x3d0>
+  .byte  68,15,40,5,186,66,0,0               // movaps        0x42ba(%rip),%xmm8        # 5a50 <_sk_callback_sse41+0x3c4>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
-  .byte  68,15,40,37,206,60,0,0              // movaps        0x3cce(%rip),%xmm12        # 5470 <_sk_callback_sse41+0x3e0>
+  .byte  68,15,40,37,190,66,0,0              // movaps        0x42be(%rip),%xmm12        # 5a60 <_sk_callback_sse41+0x3d4>
   .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -23931,7 +25991,7 @@
 .globl _sk_clamp_1_sse41
 FUNCTION(_sk_clamp_1_sse41)
 _sk_clamp_1_sse41:
-  .byte  68,15,40,5,192,59,0,0               // movaps        0x3bc0(%rip),%xmm8        # 5480 <_sk_callback_sse41+0x3f0>
+  .byte  68,15,40,5,176,65,0,0               // movaps        0x41b0(%rip),%xmm8        # 5a70 <_sk_callback_sse41+0x3e4>
   .byte  65,15,93,192                        // minps         %xmm8,%xmm0
   .byte  65,15,93,200                        // minps         %xmm8,%xmm1
   .byte  65,15,93,208                        // minps         %xmm8,%xmm2
@@ -23943,13 +26003,24 @@
 .globl _sk_clamp_a_sse41
 FUNCTION(_sk_clamp_a_sse41)
 _sk_clamp_a_sse41:
-  .byte  15,93,29,181,59,0,0                 // minps         0x3bb5(%rip),%xmm3        # 5490 <_sk_callback_sse41+0x400>
+  .byte  15,93,29,165,65,0,0                 // minps         0x41a5(%rip),%xmm3        # 5a80 <_sk_callback_sse41+0x3f4>
   .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,161,65,0,0                 // minps         0x41a1(%rip),%xmm7        # 5a90 <_sk_callback_sse41+0x404>
+  .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)
@@ -23974,6 +26045,16 @@
   .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_sse41
+.globl _sk_swap_rb_dst_sse41
+FUNCTION(_sk_swap_rb_dst_sse41)
+_sk_swap_rb_dst_sse41:
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_sse41
 .globl _sk_swap_sse41
 FUNCTION(_sk_swap_sse41)
@@ -24030,7 +26111,7 @@
 FUNCTION(_sk_unpremul_sse41)
 _sk_unpremul_sse41:
   .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
-  .byte  68,15,40,13,32,59,0,0               // movaps        0x3b20(%rip),%xmm9        # 54a0 <_sk_callback_sse41+0x410>
+  .byte  68,15,40,13,253,64,0,0              // movaps        0x40fd(%rip),%xmm9        # 5aa0 <_sk_callback_sse41+0x414>
   .byte  68,15,94,203                        // divps         %xmm3,%xmm9
   .byte  68,15,194,195,4                     // cmpneqps      %xmm3,%xmm8
   .byte  69,15,84,193                        // andps         %xmm9,%xmm8
@@ -24044,20 +26125,20 @@
 .globl _sk_from_srgb_sse41
 FUNCTION(_sk_from_srgb_sse41)
 _sk_from_srgb_sse41:
-  .byte  68,15,40,29,11,59,0,0               // movaps        0x3b0b(%rip),%xmm11        # 54b0 <_sk_callback_sse41+0x420>
+  .byte  68,15,40,29,232,64,0,0              // movaps        0x40e8(%rip),%xmm11        # 5ab0 <_sk_callback_sse41+0x424>
   .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,3,59,0,0                // movaps        0x3b03(%rip),%xmm12        # 54c0 <_sk_callback_sse41+0x430>
+  .byte  68,15,40,37,224,64,0,0              // movaps        0x40e0(%rip),%xmm12        # 5ac0 <_sk_callback_sse41+0x434>
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
   .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
-  .byte  68,15,40,45,3,59,0,0                // movaps        0x3b03(%rip),%xmm13        # 54d0 <_sk_callback_sse41+0x440>
+  .byte  68,15,40,45,224,64,0,0              // movaps        0x40e0(%rip),%xmm13        # 5ad0 <_sk_callback_sse41+0x444>
   .byte  69,15,88,197                        // addps         %xmm13,%xmm8
   .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
-  .byte  68,15,40,53,3,59,0,0                // movaps        0x3b03(%rip),%xmm14        # 54e0 <_sk_callback_sse41+0x450>
+  .byte  68,15,40,53,224,64,0,0              // movaps        0x40e0(%rip),%xmm14        # 5ae0 <_sk_callback_sse41+0x454>
   .byte  69,15,88,198                        // addps         %xmm14,%xmm8
-  .byte  68,15,40,61,7,59,0,0                // movaps        0x3b07(%rip),%xmm15        # 54f0 <_sk_callback_sse41+0x460>
+  .byte  68,15,40,61,228,64,0,0              // movaps        0x40e4(%rip),%xmm15        # 5af0 <_sk_callback_sse41+0x464>
   .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
@@ -24088,6 +26169,56 @@
   .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,111,64,0,0              // movaps        0x406f(%rip),%xmm11        # 5b00 <_sk_callback_sse41+0x474>
+  .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,104,64,0,0              // movaps        0x4068(%rip),%xmm12        # 5b10 <_sk_callback_sse41+0x484>
+  .byte  65,15,89,228                        // mulps         %xmm12,%xmm4
+  .byte  68,15,40,45,108,64,0,0              // movaps        0x406c(%rip),%xmm13        # 5b20 <_sk_callback_sse41+0x494>
+  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  68,15,40,53,109,64,0,0              // movaps        0x406d(%rip),%xmm14        # 5b30 <_sk_callback_sse41+0x4a4>
+  .byte  65,15,88,230                        // addps         %xmm14,%xmm4
+  .byte  68,15,40,61,113,64,0,0              // movaps        0x4071(%rip),%xmm15        # 5b40 <_sk_callback_sse41+0x4b4>
+  .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)
@@ -24100,22 +26231,22 @@
   .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,127,58,0,0              // movaps        0x3a7f(%rip),%xmm11        # 5500 <_sk_callback_sse41+0x470>
+  .byte  68,15,40,29,229,63,0,0              // movaps        0x3fe5(%rip),%xmm11        # 5b50 <_sk_callback_sse41+0x4c4>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
-  .byte  68,15,40,37,127,58,0,0              // movaps        0x3a7f(%rip),%xmm12        # 5510 <_sk_callback_sse41+0x480>
+  .byte  68,15,40,37,229,63,0,0              // movaps        0x3fe5(%rip),%xmm12        # 5b60 <_sk_callback_sse41+0x4d4>
   .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
   .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
-  .byte  68,15,40,21,127,58,0,0              // movaps        0x3a7f(%rip),%xmm10        # 5520 <_sk_callback_sse41+0x490>
+  .byte  68,15,40,21,229,63,0,0              // movaps        0x3fe5(%rip),%xmm10        # 5b70 <_sk_callback_sse41+0x4e4>
   .byte  69,15,88,250                        // addps         %xmm10,%xmm15
   .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
-  .byte  68,15,40,45,127,58,0,0              // movaps        0x3a7f(%rip),%xmm13        # 5530 <_sk_callback_sse41+0x4a0>
+  .byte  68,15,40,45,229,63,0,0              // movaps        0x3fe5(%rip),%xmm13        # 5b80 <_sk_callback_sse41+0x4f4>
   .byte  69,15,88,253                        // addps         %xmm13,%xmm15
-  .byte  68,15,40,53,131,58,0,0              // movaps        0x3a83(%rip),%xmm14        # 5540 <_sk_callback_sse41+0x4b0>
+  .byte  68,15,40,53,233,63,0,0              // movaps        0x3fe9(%rip),%xmm14        # 5b90 <_sk_callback_sse41+0x504>
   .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,127,58,0,0              // movaps        0x3a7f(%rip),%xmm15        # 5550 <_sk_callback_sse41+0x4c0>
+  .byte  68,15,40,61,229,63,0,0              // movaps        0x3fe5(%rip),%xmm15        # 5ba0 <_sk_callback_sse41+0x514>
   .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
@@ -24168,7 +26299,7 @@
   .byte  68,15,93,226                        // minps         %xmm2,%xmm12
   .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
   .byte  65,15,92,204                        // subps         %xmm12,%xmm1
-  .byte  68,15,40,53,204,57,0,0              // movaps        0x39cc(%rip),%xmm14        # 5560 <_sk_callback_sse41+0x4d0>
+  .byte  68,15,40,53,50,63,0,0               // movaps        0x3f32(%rip),%xmm14        # 5bb0 <_sk_callback_sse41+0x524>
   .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
@@ -24177,27 +26308,27 @@
   .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,179,57,0,0              // andps         0x39b3(%rip),%xmm15        # 5570 <_sk_callback_sse41+0x4e0>
+  .byte  68,15,84,61,25,63,0,0               // andps         0x3f19(%rip),%xmm15        # 5bc0 <_sk_callback_sse41+0x534>
   .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,166,57,0,0              // movaps        0x39a6(%rip),%xmm13        # 5580 <_sk_callback_sse41+0x4f0>
+  .byte  68,15,40,45,12,63,0,0               // movaps        0x3f0c(%rip),%xmm13        # 5bd0 <_sk_callback_sse41+0x544>
   .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,162,57,0,0               // addps         0x39a2(%rip),%xmm8        # 5590 <_sk_callback_sse41+0x500>
+  .byte  68,15,88,5,8,63,0,0                 // addps         0x3f08(%rip),%xmm8        # 5be0 <_sk_callback_sse41+0x554>
   .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,154,57,0,0               // mulps         0x399a(%rip),%xmm8        # 55a0 <_sk_callback_sse41+0x510>
+  .byte  68,15,89,5,0,63,0,0                 // mulps         0x3f00(%rip),%xmm8        # 5bf0 <_sk_callback_sse41+0x564>
   .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,142,57,0,0                  // movaps        0x398e(%rip),%xmm0        # 55b0 <_sk_callback_sse41+0x520>
+  .byte  15,40,5,244,62,0,0                  // movaps        0x3ef4(%rip),%xmm0        # 5c00 <_sk_callback_sse41+0x574>
   .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
   .byte  15,89,208                           // mulps         %xmm0,%xmm2
   .byte  15,194,194,1                        // cmpltps       %xmm2,%xmm0
@@ -24219,7 +26350,7 @@
   .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,84,57,0,0               // movaps        0x3954(%rip),%xmm9        # 55c0 <_sk_callback_sse41+0x530>
+  .byte  68,15,40,13,186,62,0,0              // movaps        0x3eba(%rip),%xmm9        # 5c10 <_sk_callback_sse41+0x584>
   .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
   .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
   .byte  15,40,217                           // movaps        %xmm1,%xmm3
@@ -24232,19 +26363,19 @@
   .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,47,57,0,0               // movaps        0x392f(%rip),%xmm14        # 55d0 <_sk_callback_sse41+0x540>
+  .byte  68,15,40,53,149,62,0,0              // movaps        0x3e95(%rip),%xmm14        # 5c20 <_sk_callback_sse41+0x594>
   .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,40,57,0,0               // movaps        0x3928(%rip),%xmm11        # 55e0 <_sk_callback_sse41+0x550>
+  .byte  68,15,40,29,142,62,0,0              // movaps        0x3e8e(%rip),%xmm11        # 5c30 <_sk_callback_sse41+0x5a4>
   .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,33,57,0,0                  // movaps        0x3921(%rip),%xmm7        # 55f0 <_sk_callback_sse41+0x560>
+  .byte  15,40,61,135,62,0,0                 // movaps        0x3e87(%rip),%xmm7        # 5c40 <_sk_callback_sse41+0x5b4>
   .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
   .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
-  .byte  15,40,29,34,57,0,0                  // movaps        0x3922(%rip),%xmm3        # 5600 <_sk_callback_sse41+0x570>
+  .byte  15,40,29,136,62,0,0                 // movaps        0x3e88(%rip),%xmm3        # 5c50 <_sk_callback_sse41+0x5c4>
   .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
   .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
@@ -24254,7 +26385,7 @@
   .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,1,57,0,0                // movaps        0x3901(%rip),%xmm12        # 5610 <_sk_callback_sse41+0x580>
+  .byte  68,15,40,37,103,62,0,0              // movaps        0x3e67(%rip),%xmm12        # 5c60 <_sk_callback_sse41+0x5d4>
   .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
@@ -24288,7 +26419,7 @@
   .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,121,56,0,0              // addps         0x3879(%rip),%xmm10        # 5620 <_sk_callback_sse41+0x590>
+  .byte  68,15,88,21,223,61,0,0              // addps         0x3ddf(%rip),%xmm10        # 5c70 <_sk_callback_sse41+0x5e4>
   .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
@@ -24339,11 +26470,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,52                              // jne           1e80 <_sk_scale_u8_sse41+0x3e>
+  .byte  117,52                              // jne           1f6a <_sk_scale_u8_sse41+0x3e>
   .byte  102,69,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm8
-  .byte  102,68,15,219,5,212,55,0,0          // pand          0x37d4(%rip),%xmm8        # 5630 <_sk_callback_sse41+0x5a0>
+  .byte  102,68,15,219,5,58,61,0,0           // pand          0x3d3a(%rip),%xmm8        # 5c80 <_sk_callback_sse41+0x5f4>
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,216,55,0,0               // mulps         0x37d8(%rip),%xmm8        # 5640 <_sk_callback_sse41+0x5b0>
+  .byte  68,15,89,5,62,61,0,0                // mulps         0x3d3e(%rip),%xmm8        # 5c90 <_sk_callback_sse41+0x604>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
@@ -24354,12 +26485,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,59                              // je            1ec8 <_sk_scale_u8_sse41+0x86>
+  .byte  116,59                              // je            1fb2 <_sk_scale_u8_sse41+0x86>
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,23                              // je            1eaf <_sk_scale_u8_sse41+0x6d>
+  .byte  116,23                              // je            1f99 <_sk_scale_u8_sse41+0x6d>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,181                             // jne           1e53 <_sk_scale_u8_sse41+0x11>
+  .byte  117,181                             // jne           1f3d <_sk_scale_u8_sse41+0x11>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
@@ -24367,10 +26498,10 @@
   .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,139                             // jmp           1e53 <_sk_scale_u8_sse41+0x11>
+  .byte  235,139                             // jmp           1f3d <_sk_scale_u8_sse41+0x11>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  233,124,255,255,255                 // jmpq          1e53 <_sk_scale_u8_sse41+0x11>
+  .byte  233,124,255,255,255                 // jmpq          1f3d <_sk_scale_u8_sse41+0x11>
 
 HIDDEN _sk_lerp_1_float_sse41
 .globl _sk_lerp_1_float_sse41
@@ -24401,11 +26532,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,72                              // jne           1f61 <_sk_lerp_u8_sse41+0x52>
+  .byte  117,72                              // jne           204b <_sk_lerp_u8_sse41+0x52>
   .byte  102,69,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm8
-  .byte  102,68,15,219,5,39,55,0,0           // pand          0x3727(%rip),%xmm8        # 5650 <_sk_callback_sse41+0x5c0>
+  .byte  102,68,15,219,5,141,60,0,0          // pand          0x3c8d(%rip),%xmm8        # 5ca0 <_sk_callback_sse41+0x614>
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,43,55,0,0                // mulps         0x372b(%rip),%xmm8        # 5660 <_sk_callback_sse41+0x5d0>
+  .byte  68,15,89,5,145,60,0,0               // mulps         0x3c91(%rip),%xmm8        # 5cb0 <_sk_callback_sse41+0x624>
   .byte  15,92,196                           // subps         %xmm4,%xmm0
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -24423,12 +26554,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,62                              // je            1fac <_sk_lerp_u8_sse41+0x9d>
+  .byte  116,62                              // je            2096 <_sk_lerp_u8_sse41+0x9d>
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,23                              // je            1f90 <_sk_lerp_u8_sse41+0x81>
+  .byte  116,23                              // je            207a <_sk_lerp_u8_sse41+0x81>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,161                             // jne           1f20 <_sk_lerp_u8_sse41+0x11>
+  .byte  117,161                             // jne           200a <_sk_lerp_u8_sse41+0x11>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
@@ -24436,10 +26567,10 @@
   .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  233,116,255,255,255                 // jmpq          1f20 <_sk_lerp_u8_sse41+0x11>
+  .byte  233,116,255,255,255                 // jmpq          200a <_sk_lerp_u8_sse41+0x11>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  233,101,255,255,255                 // jmpq          1f20 <_sk_lerp_u8_sse41+0x11>
+  .byte  233,101,255,255,255                 // jmpq          200a <_sk_lerp_u8_sse41+0x11>
 
 HIDDEN _sk_lerp_565_sse41
 .globl _sk_lerp_565_sse41
@@ -24448,19 +26579,19 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,152,0,0,0                    // jne           2061 <_sk_lerp_565_sse41+0xa6>
+  .byte  15,133,152,0,0,0                    // jne           214b <_sk_lerp_565_sse41+0xa6>
   .byte  102,69,15,56,51,20,82               // pmovzxwd      (%r10,%rdx,2),%xmm10
-  .byte  102,68,15,111,5,151,54,0,0          // movdqa        0x3697(%rip),%xmm8        # 5670 <_sk_callback_sse41+0x5e0>
+  .byte  102,68,15,111,5,253,59,0,0          // movdqa        0x3bfd(%rip),%xmm8        # 5cc0 <_sk_callback_sse41+0x634>
   .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,150,54,0,0               // mulps         0x3696(%rip),%xmm8        # 5680 <_sk_callback_sse41+0x5f0>
-  .byte  102,68,15,111,13,157,54,0,0         // movdqa        0x369d(%rip),%xmm9        # 5690 <_sk_callback_sse41+0x600>
+  .byte  68,15,89,5,252,59,0,0               // mulps         0x3bfc(%rip),%xmm8        # 5cd0 <_sk_callback_sse41+0x644>
+  .byte  102,68,15,111,13,3,60,0,0           // movdqa        0x3c03(%rip),%xmm9        # 5ce0 <_sk_callback_sse41+0x654>
   .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
   .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
-  .byte  68,15,89,13,156,54,0,0              // mulps         0x369c(%rip),%xmm9        # 56a0 <_sk_callback_sse41+0x610>
-  .byte  102,68,15,219,21,163,54,0,0         // pand          0x36a3(%rip),%xmm10        # 56b0 <_sk_callback_sse41+0x620>
+  .byte  68,15,89,13,2,60,0,0                // mulps         0x3c02(%rip),%xmm9        # 5cf0 <_sk_callback_sse41+0x664>
+  .byte  102,68,15,219,21,9,60,0,0           // pand          0x3c09(%rip),%xmm10        # 5d00 <_sk_callback_sse41+0x674>
   .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
-  .byte  68,15,89,21,167,54,0,0              // mulps         0x36a7(%rip),%xmm10        # 56c0 <_sk_callback_sse41+0x630>
+  .byte  68,15,89,21,13,60,0,0               // mulps         0x3c0d(%rip),%xmm10        # 5d10 <_sk_callback_sse41+0x684>
   .byte  15,92,196                           // subps         %xmm4,%xmm0
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -24485,22 +26616,22 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,62                              // je            20ac <_sk_lerp_565_sse41+0xf1>
+  .byte  116,62                              // je            2196 <_sk_lerp_565_sse41+0xf1>
   .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,27                              // je            2094 <_sk_lerp_565_sse41+0xd9>
+  .byte  116,27                              // je            217e <_sk_lerp_565_sse41+0xd9>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  15,133,77,255,255,255               // jne           1fd0 <_sk_lerp_565_sse41+0x15>
+  .byte  15,133,77,255,255,255               // jne           20ba <_sk_lerp_565_sse41+0x15>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                  // movd          (%r10,%rdx,2),%xmm8
   .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
   .byte  102,69,15,58,14,208,15              // pblendw       $0xf,%xmm8,%xmm10
-  .byte  233,36,255,255,255                  // jmpq          1fd0 <_sk_lerp_565_sse41+0x15>
+  .byte  233,36,255,255,255                  // jmpq          20ba <_sk_lerp_565_sse41+0x15>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,68,15,110,208                   // movd          %eax,%xmm10
-  .byte  233,21,255,255,255                  // jmpq          1fd0 <_sk_lerp_565_sse41+0x15>
+  .byte  233,21,255,255,255                  // jmpq          20ba <_sk_lerp_565_sse41+0x15>
 
 HIDDEN _sk_load_tables_sse41
 .globl _sk_load_tables_sse41
@@ -24509,12 +26640,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,24,1,0,0                     // jne           21e1 <_sk_load_tables_sse41+0x126>
+  .byte  15,133,24,1,0,0                     // jne           22cb <_sk_load_tables_sse41+0x126>
   .byte  243,69,15,111,4,145                 // movdqu        (%r9,%rdx,4),%xmm8
   .byte  65,87                               // push          %r15
   .byte  65,86                               // push          %r14
   .byte  83                                  // push          %rbx
-  .byte  102,15,111,5,244,53,0,0             // movdqa        0x35f4(%rip),%xmm0        # 56d0 <_sk_callback_sse41+0x640>
+  .byte  102,15,111,5,90,59,0,0              // movdqa        0x3b5a(%rip),%xmm0        # 5d20 <_sk_callback_sse41+0x694>
   .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
   .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
   .byte  102,73,15,126,194                   // movq          %xmm0,%r10
@@ -24529,7 +26660,7 @@
   .byte  102,66,15,58,33,4,179,32            // insertps      $0x20,(%rbx,%r14,4),%xmm0
   .byte  102,66,15,58,33,4,11,48             // insertps      $0x30,(%rbx,%r9,1),%xmm0
   .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
-  .byte  102,15,56,0,13,175,53,0,0           // pshufb        0x35af(%rip),%xmm1        # 56e0 <_sk_callback_sse41+0x650>
+  .byte  102,15,56,0,13,21,59,0,0            // pshufb        0x3b15(%rip),%xmm1        # 5d30 <_sk_callback_sse41+0x6a4>
   .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
   .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
   .byte  68,15,182,211                       // movzbl        %bl,%r10d
@@ -24544,7 +26675,7 @@
   .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
   .byte  76,139,72,24                        // mov           0x18(%rax),%r9
   .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
-  .byte  102,15,56,0,21,107,53,0,0           // pshufb        0x356b(%rip),%xmm2        # 56f0 <_sk_callback_sse41+0x660>
+  .byte  102,15,56,0,21,209,58,0,0           // pshufb        0x3ad1(%rip),%xmm2        # 5d40 <_sk_callback_sse41+0x6b4>
   .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,208                       // movzbl        %al,%r10d
@@ -24559,7 +26690,7 @@
   .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,40,53,0,0                  // mulps         0x3528(%rip),%xmm3        # 5700 <_sk_callback_sse41+0x670>
+  .byte  15,89,29,142,58,0,0                 // mulps         0x3a8e(%rip),%xmm3        # 5d50 <_sk_callback_sse41+0x6c4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
@@ -24568,19 +26699,19 @@
   .byte  69,137,194                          // mov           %r8d,%r10d
   .byte  65,128,226,3                        // and           $0x3,%r10b
   .byte  65,128,250,1                        // cmp           $0x1,%r10b
-  .byte  116,52                              // je            2222 <_sk_load_tables_sse41+0x167>
+  .byte  116,52                              // je            230c <_sk_load_tables_sse41+0x167>
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,128,250,2                        // cmp           $0x2,%r10b
-  .byte  116,23                              // je            2210 <_sk_load_tables_sse41+0x155>
+  .byte  116,23                              // je            22fa <_sk_load_tables_sse41+0x155>
   .byte  65,128,250,3                        // cmp           $0x3,%r10b
-  .byte  15,133,204,254,255,255              // jne           20cf <_sk_load_tables_sse41+0x14>
+  .byte  15,133,204,254,255,255              // jne           21b9 <_sk_load_tables_sse41+0x14>
   .byte  102,65,15,110,68,145,8              // movd          0x8(%r9,%rdx,4),%xmm0
   .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
   .byte  243,65,15,126,4,145                 // movq          (%r9,%rdx,4),%xmm0
   .byte  102,68,15,58,14,192,15              // pblendw       $0xf,%xmm0,%xmm8
-  .byte  233,173,254,255,255                 // jmpq          20cf <_sk_load_tables_sse41+0x14>
+  .byte  233,173,254,255,255                 // jmpq          21b9 <_sk_load_tables_sse41+0x14>
   .byte  102,69,15,110,4,145                 // movd          (%r9,%rdx,4),%xmm8
-  .byte  233,162,254,255,255                 // jmpq          20cf <_sk_load_tables_sse41+0x14>
+  .byte  233,162,254,255,255                 // jmpq          21b9 <_sk_load_tables_sse41+0x14>
 
 HIDDEN _sk_load_tables_u16_be_sse41
 .globl _sk_load_tables_u16_be_sse41
@@ -24590,7 +26721,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,99,1,0,0                     // jne           23a6 <_sk_load_tables_u16_be_sse41+0x179>
+  .byte  15,133,99,1,0,0                     // jne           2490 <_sk_load_tables_u16_be_sse41+0x179>
   .byte  102,67,15,16,4,81                   // movupd        (%r9,%r10,2),%xmm0
   .byte  243,67,15,111,76,81,16              // movdqu        0x10(%r9,%r10,2),%xmm1
   .byte  65,87                               // push          %r15
@@ -24602,7 +26733,7 @@
   .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,150,52,0,0          // movdqa        0x3496(%rip),%xmm8        # 5710 <_sk_callback_sse41+0x680>
+  .byte  102,68,15,111,5,252,57,0,0          // movdqa        0x39fc(%rip),%xmm8        # 5d60 <_sk_callback_sse41+0x6d4>
   .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
@@ -24620,7 +26751,7 @@
   .byte  102,15,58,33,194,32                 // insertps      $0x20,%xmm2,%xmm0
   .byte  243,66,15,16,20,11                  // movss         (%rbx,%r9,1),%xmm2
   .byte  102,15,58,33,194,48                 // insertps      $0x30,%xmm2,%xmm0
-  .byte  102,15,56,0,13,69,52,0,0            // pshufb        0x3445(%rip),%xmm1        # 5720 <_sk_callback_sse41+0x690>
+  .byte  102,15,56,0,13,171,57,0,0           // pshufb        0x39ab(%rip),%xmm1        # 5d70 <_sk_callback_sse41+0x6e4>
   .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
   .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
   .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
@@ -24656,7 +26787,7 @@
   .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,147,51,0,0                 // mulps         0x3393(%rip),%xmm3        # 5730 <_sk_callback_sse41+0x6a0>
+  .byte  15,89,29,249,56,0,0                 // mulps         0x38f9(%rip),%xmm3        # 5d80 <_sk_callback_sse41+0x6f4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
@@ -24664,16 +26795,16 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,67,15,16,4,81                   // movsd         (%r9,%r10,2),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,13                              // jne           23bf <_sk_load_tables_u16_be_sse41+0x192>
+  .byte  117,13                              // jne           24a9 <_sk_load_tables_u16_be_sse41+0x192>
   .byte  243,15,126,192                      // movq          %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,145,254,255,255                 // jmpq          2250 <_sk_load_tables_u16_be_sse41+0x23>
+  .byte  233,145,254,255,255                 // jmpq          233a <_sk_load_tables_u16_be_sse41+0x23>
   .byte  102,67,15,22,68,81,8                // movhpd        0x8(%r9,%r10,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,124,254,255,255              // jb            2250 <_sk_load_tables_u16_be_sse41+0x23>
+  .byte  15,130,124,254,255,255              // jb            233a <_sk_load_tables_u16_be_sse41+0x23>
   .byte  243,67,15,126,76,81,16              // movq          0x10(%r9,%r10,2),%xmm1
-  .byte  233,112,254,255,255                 // jmpq          2250 <_sk_load_tables_u16_be_sse41+0x23>
+  .byte  233,112,254,255,255                 // jmpq          233a <_sk_load_tables_u16_be_sse41+0x23>
 
 HIDDEN _sk_load_tables_rgb_u16_be_sse41
 .globl _sk_load_tables_rgb_u16_be_sse41
@@ -24683,7 +26814,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,83,1,0,0                     // jne           2545 <_sk_load_tables_rgb_u16_be_sse41+0x165>
+  .byte  15,133,83,1,0,0                     // jne           262f <_sk_load_tables_rgb_u16_be_sse41+0x165>
   .byte  243,67,15,111,20,81                 // movdqu        (%r9,%r10,2),%xmm2
   .byte  243,67,15,111,76,81,8               // movdqu        0x8(%r9,%r10,2),%xmm1
   .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
@@ -24698,7 +26829,7 @@
   .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
   .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
   .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
-  .byte  102,68,15,111,5,8,51,0,0            // movdqa        0x3308(%rip),%xmm8        # 5740 <_sk_callback_sse41+0x6b0>
+  .byte  102,68,15,111,5,110,56,0,0          // movdqa        0x386e(%rip),%xmm8        # 5d90 <_sk_callback_sse41+0x704>
   .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
@@ -24716,7 +26847,7 @@
   .byte  102,15,58,33,195,32                 // insertps      $0x20,%xmm3,%xmm0
   .byte  243,66,15,16,28,11                  // movss         (%rbx,%r9,1),%xmm3
   .byte  102,15,58,33,195,48                 // insertps      $0x30,%xmm3,%xmm0
-  .byte  102,15,56,0,13,183,50,0,0           // pshufb        0x32b7(%rip),%xmm1        # 5750 <_sk_callback_sse41+0x6c0>
+  .byte  102,15,56,0,13,29,56,0,0            // pshufb        0x381d(%rip),%xmm1        # 5da0 <_sk_callback_sse41+0x714>
   .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
   .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
   .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
@@ -24747,7 +26878,7 @@
   .byte  243,65,15,16,28,25                  // movss         (%r9,%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,34,50,0,0                  // movaps        0x3222(%rip),%xmm3        # 5760 <_sk_callback_sse41+0x6d0>
+  .byte  15,40,29,136,55,0,0                 // movaps        0x3788(%rip),%xmm3        # 5db0 <_sk_callback_sse41+0x724>
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
   .byte  65,95                               // pop           %r15
@@ -24756,21 +26887,21 @@
   .byte  102,67,15,196,84,81,4,2             // pinsrw        $0x2,0x4(%r9,%r10,2),%xmm2
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,14                              // jne           256b <_sk_load_tables_rgb_u16_be_sse41+0x18b>
+  .byte  117,14                              // jne           2655 <_sk_load_tables_rgb_u16_be_sse41+0x18b>
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
-  .byte  233,173,254,255,255                 // jmpq          2418 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  .byte  233,173,254,255,255                 // jmpq          2502 <_sk_load_tables_rgb_u16_be_sse41+0x38>
   .byte  102,71,15,110,76,81,6               // movd          0x6(%r9,%r10,2),%xmm9
   .byte  102,71,15,196,76,81,10,2            // pinsrw        $0x2,0xa(%r9,%r10,2),%xmm9
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,24                              // jb            259c <_sk_load_tables_rgb_u16_be_sse41+0x1bc>
+  .byte  114,24                              // jb            2686 <_sk_load_tables_rgb_u16_be_sse41+0x1bc>
   .byte  102,67,15,110,76,81,12              // movd          0xc(%r9,%r10,2),%xmm1
   .byte  102,67,15,196,76,81,16,2            // pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,124,254,255,255                 // jmpq          2418 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  .byte  233,124,254,255,255                 // jmpq          2502 <_sk_load_tables_rgb_u16_be_sse41+0x38>
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,115,254,255,255                 // jmpq          2418 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  .byte  233,115,254,255,255                 // jmpq          2502 <_sk_load_tables_rgb_u16_be_sse41+0x38>
 
 HIDDEN _sk_byte_tables_sse41
 .globl _sk_byte_tables_sse41
@@ -24781,7 +26912,7 @@
   .byte  65,84                               // push          %r12
   .byte  83                                  // push          %rbx
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,186,49,0,0               // movaps        0x31ba(%rip),%xmm8        # 5770 <_sk_callback_sse41+0x6e0>
+  .byte  68,15,40,5,32,55,0,0                // movaps        0x3720(%rip),%xmm8        # 5dc0 <_sk_callback_sse41+0x734>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
   .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
@@ -24800,7 +26931,7 @@
   .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
   .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,13,107,49,0,0              // movaps        0x316b(%rip),%xmm9        # 5780 <_sk_callback_sse41+0x6f0>
+  .byte  68,15,40,13,209,54,0,0              // movaps        0x36d1(%rip),%xmm9        # 5dd0 <_sk_callback_sse41+0x744>
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
@@ -24896,7 +27027,7 @@
   .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
   .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,13,227,47,0,0              // movaps        0x2fe3(%rip),%xmm9        # 5790 <_sk_callback_sse41+0x700>
+  .byte  68,15,40,13,73,53,0,0               // movaps        0x3549(%rip),%xmm9        # 5de0 <_sk_callback_sse41+0x754>
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
@@ -25083,31 +27214,31 @@
   .byte  69,15,88,208                        // addps         %xmm8,%xmm10
   .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
   .byte  69,15,91,194                        // cvtdq2ps      %xmm10,%xmm8
-  .byte  68,15,89,5,43,45,0,0                // mulps         0x2d2b(%rip),%xmm8        # 57a0 <_sk_callback_sse41+0x710>
-  .byte  68,15,84,21,51,45,0,0               // andps         0x2d33(%rip),%xmm10        # 57b0 <_sk_callback_sse41+0x720>
-  .byte  68,15,86,21,59,45,0,0               // orps          0x2d3b(%rip),%xmm10        # 57c0 <_sk_callback_sse41+0x730>
-  .byte  68,15,88,5,67,45,0,0                // addps         0x2d43(%rip),%xmm8        # 57d0 <_sk_callback_sse41+0x740>
-  .byte  68,15,40,37,75,45,0,0               // movaps        0x2d4b(%rip),%xmm12        # 57e0 <_sk_callback_sse41+0x750>
+  .byte  68,15,89,5,145,50,0,0               // mulps         0x3291(%rip),%xmm8        # 5df0 <_sk_callback_sse41+0x764>
+  .byte  68,15,84,21,153,50,0,0              // andps         0x3299(%rip),%xmm10        # 5e00 <_sk_callback_sse41+0x774>
+  .byte  68,15,86,21,161,50,0,0              // orps          0x32a1(%rip),%xmm10        # 5e10 <_sk_callback_sse41+0x784>
+  .byte  68,15,88,5,169,50,0,0               // addps         0x32a9(%rip),%xmm8        # 5e20 <_sk_callback_sse41+0x794>
+  .byte  68,15,40,37,177,50,0,0              // movaps        0x32b1(%rip),%xmm12        # 5e30 <_sk_callback_sse41+0x7a4>
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  69,15,92,196                        // subps         %xmm12,%xmm8
-  .byte  68,15,88,21,75,45,0,0               // addps         0x2d4b(%rip),%xmm10        # 57f0 <_sk_callback_sse41+0x760>
-  .byte  68,15,40,37,83,45,0,0               // movaps        0x2d53(%rip),%xmm12        # 5800 <_sk_callback_sse41+0x770>
+  .byte  68,15,88,21,177,50,0,0              // addps         0x32b1(%rip),%xmm10        # 5e40 <_sk_callback_sse41+0x7b4>
+  .byte  68,15,40,37,185,50,0,0              // movaps        0x32b9(%rip),%xmm12        # 5e50 <_sk_callback_sse41+0x7c4>
   .byte  69,15,94,226                        // divps         %xmm10,%xmm12
   .byte  69,15,92,196                        // subps         %xmm12,%xmm8
   .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
   .byte  102,69,15,58,8,208,1                // roundps       $0x1,%xmm8,%xmm10
   .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
-  .byte  68,15,88,5,64,45,0,0                // addps         0x2d40(%rip),%xmm8        # 5810 <_sk_callback_sse41+0x780>
-  .byte  68,15,40,21,72,45,0,0               // movaps        0x2d48(%rip),%xmm10        # 5820 <_sk_callback_sse41+0x790>
+  .byte  68,15,88,5,166,50,0,0               // addps         0x32a6(%rip),%xmm8        # 5e60 <_sk_callback_sse41+0x7d4>
+  .byte  68,15,40,21,174,50,0,0              // movaps        0x32ae(%rip),%xmm10        # 5e70 <_sk_callback_sse41+0x7e4>
   .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
   .byte  69,15,92,194                        // subps         %xmm10,%xmm8
-  .byte  68,15,40,21,72,45,0,0               // movaps        0x2d48(%rip),%xmm10        # 5830 <_sk_callback_sse41+0x7a0>
+  .byte  68,15,40,21,174,50,0,0              // movaps        0x32ae(%rip),%xmm10        # 5e80 <_sk_callback_sse41+0x7f4>
   .byte  69,15,92,211                        // subps         %xmm11,%xmm10
-  .byte  68,15,40,29,76,45,0,0               // movaps        0x2d4c(%rip),%xmm11        # 5840 <_sk_callback_sse41+0x7b0>
+  .byte  68,15,40,29,178,50,0,0              // movaps        0x32b2(%rip),%xmm11        # 5e90 <_sk_callback_sse41+0x804>
   .byte  69,15,94,218                        // divps         %xmm10,%xmm11
   .byte  69,15,88,216                        // addps         %xmm8,%xmm11
-  .byte  68,15,89,29,76,45,0,0               // mulps         0x2d4c(%rip),%xmm11        # 5850 <_sk_callback_sse41+0x7c0>
+  .byte  68,15,89,29,178,50,0,0              // mulps         0x32b2(%rip),%xmm11        # 5ea0 <_sk_callback_sse41+0x814>
   .byte  102,69,15,91,211                    // cvtps2dq      %xmm11,%xmm10
   .byte  243,68,15,16,64,20                  // movss         0x14(%rax),%xmm8
   .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
@@ -25115,7 +27246,7 @@
   .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
-  .byte  68,15,93,5,51,45,0,0                // minps         0x2d33(%rip),%xmm8        # 5860 <_sk_callback_sse41+0x7d0>
+  .byte  68,15,93,5,153,50,0,0               // minps         0x3299(%rip),%xmm8        # 5eb0 <_sk_callback_sse41+0x824>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -25145,31 +27276,31 @@
   .byte  68,15,88,217                        // addps         %xmm1,%xmm11
   .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
   .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
-  .byte  68,15,89,37,212,44,0,0              // mulps         0x2cd4(%rip),%xmm12        # 5870 <_sk_callback_sse41+0x7e0>
-  .byte  68,15,84,29,220,44,0,0              // andps         0x2cdc(%rip),%xmm11        # 5880 <_sk_callback_sse41+0x7f0>
-  .byte  68,15,86,29,228,44,0,0              // orps          0x2ce4(%rip),%xmm11        # 5890 <_sk_callback_sse41+0x800>
-  .byte  68,15,88,37,236,44,0,0              // addps         0x2cec(%rip),%xmm12        # 58a0 <_sk_callback_sse41+0x810>
-  .byte  15,40,13,245,44,0,0                 // movaps        0x2cf5(%rip),%xmm1        # 58b0 <_sk_callback_sse41+0x820>
+  .byte  68,15,89,37,58,50,0,0               // mulps         0x323a(%rip),%xmm12        # 5ec0 <_sk_callback_sse41+0x834>
+  .byte  68,15,84,29,66,50,0,0               // andps         0x3242(%rip),%xmm11        # 5ed0 <_sk_callback_sse41+0x844>
+  .byte  68,15,86,29,74,50,0,0               // orps          0x324a(%rip),%xmm11        # 5ee0 <_sk_callback_sse41+0x854>
+  .byte  68,15,88,37,82,50,0,0               // addps         0x3252(%rip),%xmm12        # 5ef0 <_sk_callback_sse41+0x864>
+  .byte  15,40,13,91,50,0,0                  // movaps        0x325b(%rip),%xmm1        # 5f00 <_sk_callback_sse41+0x874>
   .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
   .byte  68,15,92,225                        // subps         %xmm1,%xmm12
-  .byte  68,15,88,29,245,44,0,0              // addps         0x2cf5(%rip),%xmm11        # 58c0 <_sk_callback_sse41+0x830>
-  .byte  15,40,13,254,44,0,0                 // movaps        0x2cfe(%rip),%xmm1        # 58d0 <_sk_callback_sse41+0x840>
+  .byte  68,15,88,29,91,50,0,0               // addps         0x325b(%rip),%xmm11        # 5f10 <_sk_callback_sse41+0x884>
+  .byte  15,40,13,100,50,0,0                 // movaps        0x3264(%rip),%xmm1        # 5f20 <_sk_callback_sse41+0x894>
   .byte  65,15,94,203                        // divps         %xmm11,%xmm1
   .byte  68,15,92,225                        // subps         %xmm1,%xmm12
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
   .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
-  .byte  68,15,88,37,235,44,0,0              // addps         0x2ceb(%rip),%xmm12        # 58e0 <_sk_callback_sse41+0x850>
-  .byte  15,40,13,244,44,0,0                 // movaps        0x2cf4(%rip),%xmm1        # 58f0 <_sk_callback_sse41+0x860>
+  .byte  68,15,88,37,81,50,0,0               // addps         0x3251(%rip),%xmm12        # 5f30 <_sk_callback_sse41+0x8a4>
+  .byte  15,40,13,90,50,0,0                  // movaps        0x325a(%rip),%xmm1        # 5f40 <_sk_callback_sse41+0x8b4>
   .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
   .byte  68,15,92,225                        // subps         %xmm1,%xmm12
-  .byte  68,15,40,21,244,44,0,0              // movaps        0x2cf4(%rip),%xmm10        # 5900 <_sk_callback_sse41+0x870>
+  .byte  68,15,40,21,90,50,0,0               // movaps        0x325a(%rip),%xmm10        # 5f50 <_sk_callback_sse41+0x8c4>
   .byte  69,15,92,211                        // subps         %xmm11,%xmm10
-  .byte  15,40,13,249,44,0,0                 // movaps        0x2cf9(%rip),%xmm1        # 5910 <_sk_callback_sse41+0x880>
+  .byte  15,40,13,95,50,0,0                  // movaps        0x325f(%rip),%xmm1        # 5f60 <_sk_callback_sse41+0x8d4>
   .byte  65,15,94,202                        // divps         %xmm10,%xmm1
   .byte  65,15,88,204                        // addps         %xmm12,%xmm1
-  .byte  15,89,13,250,44,0,0                 // mulps         0x2cfa(%rip),%xmm1        # 5920 <_sk_callback_sse41+0x890>
+  .byte  15,89,13,96,50,0,0                  // mulps         0x3260(%rip),%xmm1        # 5f70 <_sk_callback_sse41+0x8e4>
   .byte  102,68,15,91,209                    // cvtps2dq      %xmm1,%xmm10
   .byte  243,15,16,72,20                     // movss         0x14(%rax),%xmm1
   .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
@@ -25177,7 +27308,7 @@
   .byte  102,65,15,56,20,201                 // blendvps      %xmm0,%xmm9,%xmm1
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  15,95,200                           // maxps         %xmm0,%xmm1
-  .byte  15,93,13,229,44,0,0                 // minps         0x2ce5(%rip),%xmm1        # 5930 <_sk_callback_sse41+0x8a0>
+  .byte  15,93,13,75,50,0,0                  // minps         0x324b(%rip),%xmm1        # 5f80 <_sk_callback_sse41+0x8f4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -25207,31 +27338,31 @@
   .byte  68,15,88,218                        // addps         %xmm2,%xmm11
   .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
   .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
-  .byte  68,15,89,37,134,44,0,0              // mulps         0x2c86(%rip),%xmm12        # 5940 <_sk_callback_sse41+0x8b0>
-  .byte  68,15,84,29,142,44,0,0              // andps         0x2c8e(%rip),%xmm11        # 5950 <_sk_callback_sse41+0x8c0>
-  .byte  68,15,86,29,150,44,0,0              // orps          0x2c96(%rip),%xmm11        # 5960 <_sk_callback_sse41+0x8d0>
-  .byte  68,15,88,37,158,44,0,0              // addps         0x2c9e(%rip),%xmm12        # 5970 <_sk_callback_sse41+0x8e0>
-  .byte  15,40,21,167,44,0,0                 // movaps        0x2ca7(%rip),%xmm2        # 5980 <_sk_callback_sse41+0x8f0>
+  .byte  68,15,89,37,236,49,0,0              // mulps         0x31ec(%rip),%xmm12        # 5f90 <_sk_callback_sse41+0x904>
+  .byte  68,15,84,29,244,49,0,0              // andps         0x31f4(%rip),%xmm11        # 5fa0 <_sk_callback_sse41+0x914>
+  .byte  68,15,86,29,252,49,0,0              // orps          0x31fc(%rip),%xmm11        # 5fb0 <_sk_callback_sse41+0x924>
+  .byte  68,15,88,37,4,50,0,0                // addps         0x3204(%rip),%xmm12        # 5fc0 <_sk_callback_sse41+0x934>
+  .byte  15,40,21,13,50,0,0                  // movaps        0x320d(%rip),%xmm2        # 5fd0 <_sk_callback_sse41+0x944>
   .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
   .byte  68,15,92,226                        // subps         %xmm2,%xmm12
-  .byte  68,15,88,29,167,44,0,0              // addps         0x2ca7(%rip),%xmm11        # 5990 <_sk_callback_sse41+0x900>
-  .byte  15,40,21,176,44,0,0                 // movaps        0x2cb0(%rip),%xmm2        # 59a0 <_sk_callback_sse41+0x910>
+  .byte  68,15,88,29,13,50,0,0               // addps         0x320d(%rip),%xmm11        # 5fe0 <_sk_callback_sse41+0x954>
+  .byte  15,40,21,22,50,0,0                  // movaps        0x3216(%rip),%xmm2        # 5ff0 <_sk_callback_sse41+0x964>
   .byte  65,15,94,211                        // divps         %xmm11,%xmm2
   .byte  68,15,92,226                        // subps         %xmm2,%xmm12
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
   .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
-  .byte  68,15,88,37,157,44,0,0              // addps         0x2c9d(%rip),%xmm12        # 59b0 <_sk_callback_sse41+0x920>
-  .byte  15,40,21,166,44,0,0                 // movaps        0x2ca6(%rip),%xmm2        # 59c0 <_sk_callback_sse41+0x930>
+  .byte  68,15,88,37,3,50,0,0                // addps         0x3203(%rip),%xmm12        # 6000 <_sk_callback_sse41+0x974>
+  .byte  15,40,21,12,50,0,0                  // movaps        0x320c(%rip),%xmm2        # 6010 <_sk_callback_sse41+0x984>
   .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
   .byte  68,15,92,226                        // subps         %xmm2,%xmm12
-  .byte  68,15,40,21,166,44,0,0              // movaps        0x2ca6(%rip),%xmm10        # 59d0 <_sk_callback_sse41+0x940>
+  .byte  68,15,40,21,12,50,0,0               // movaps        0x320c(%rip),%xmm10        # 6020 <_sk_callback_sse41+0x994>
   .byte  69,15,92,211                        // subps         %xmm11,%xmm10
-  .byte  15,40,21,171,44,0,0                 // movaps        0x2cab(%rip),%xmm2        # 59e0 <_sk_callback_sse41+0x950>
+  .byte  15,40,21,17,50,0,0                  // movaps        0x3211(%rip),%xmm2        # 6030 <_sk_callback_sse41+0x9a4>
   .byte  65,15,94,210                        // divps         %xmm10,%xmm2
   .byte  65,15,88,212                        // addps         %xmm12,%xmm2
-  .byte  15,89,21,172,44,0,0                 // mulps         0x2cac(%rip),%xmm2        # 59f0 <_sk_callback_sse41+0x960>
+  .byte  15,89,21,18,50,0,0                  // mulps         0x3212(%rip),%xmm2        # 6040 <_sk_callback_sse41+0x9b4>
   .byte  102,68,15,91,210                    // cvtps2dq      %xmm2,%xmm10
   .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
   .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
@@ -25239,7 +27370,7 @@
   .byte  102,65,15,56,20,209                 // blendvps      %xmm0,%xmm9,%xmm2
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  15,95,208                           // maxps         %xmm0,%xmm2
-  .byte  15,93,21,151,44,0,0                 // minps         0x2c97(%rip),%xmm2        # 5a00 <_sk_callback_sse41+0x970>
+  .byte  15,93,21,253,49,0,0                 // minps         0x31fd(%rip),%xmm2        # 6050 <_sk_callback_sse41+0x9c4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -25269,31 +27400,31 @@
   .byte  68,15,88,219                        // addps         %xmm3,%xmm11
   .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
   .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
-  .byte  68,15,89,37,56,44,0,0               // mulps         0x2c38(%rip),%xmm12        # 5a10 <_sk_callback_sse41+0x980>
-  .byte  68,15,84,29,64,44,0,0               // andps         0x2c40(%rip),%xmm11        # 5a20 <_sk_callback_sse41+0x990>
-  .byte  68,15,86,29,72,44,0,0               // orps          0x2c48(%rip),%xmm11        # 5a30 <_sk_callback_sse41+0x9a0>
-  .byte  68,15,88,37,80,44,0,0               // addps         0x2c50(%rip),%xmm12        # 5a40 <_sk_callback_sse41+0x9b0>
-  .byte  15,40,29,89,44,0,0                  // movaps        0x2c59(%rip),%xmm3        # 5a50 <_sk_callback_sse41+0x9c0>
+  .byte  68,15,89,37,158,49,0,0              // mulps         0x319e(%rip),%xmm12        # 6060 <_sk_callback_sse41+0x9d4>
+  .byte  68,15,84,29,166,49,0,0              // andps         0x31a6(%rip),%xmm11        # 6070 <_sk_callback_sse41+0x9e4>
+  .byte  68,15,86,29,174,49,0,0              // orps          0x31ae(%rip),%xmm11        # 6080 <_sk_callback_sse41+0x9f4>
+  .byte  68,15,88,37,182,49,0,0              // addps         0x31b6(%rip),%xmm12        # 6090 <_sk_callback_sse41+0xa04>
+  .byte  15,40,29,191,49,0,0                 // movaps        0x31bf(%rip),%xmm3        # 60a0 <_sk_callback_sse41+0xa14>
   .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
   .byte  68,15,92,227                        // subps         %xmm3,%xmm12
-  .byte  68,15,88,29,89,44,0,0               // addps         0x2c59(%rip),%xmm11        # 5a60 <_sk_callback_sse41+0x9d0>
-  .byte  15,40,29,98,44,0,0                  // movaps        0x2c62(%rip),%xmm3        # 5a70 <_sk_callback_sse41+0x9e0>
+  .byte  68,15,88,29,191,49,0,0              // addps         0x31bf(%rip),%xmm11        # 60b0 <_sk_callback_sse41+0xa24>
+  .byte  15,40,29,200,49,0,0                 // movaps        0x31c8(%rip),%xmm3        # 60c0 <_sk_callback_sse41+0xa34>
   .byte  65,15,94,219                        // divps         %xmm11,%xmm3
   .byte  68,15,92,227                        // subps         %xmm3,%xmm12
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
   .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
-  .byte  68,15,88,37,79,44,0,0               // addps         0x2c4f(%rip),%xmm12        # 5a80 <_sk_callback_sse41+0x9f0>
-  .byte  15,40,29,88,44,0,0                  // movaps        0x2c58(%rip),%xmm3        # 5a90 <_sk_callback_sse41+0xa00>
+  .byte  68,15,88,37,181,49,0,0              // addps         0x31b5(%rip),%xmm12        # 60d0 <_sk_callback_sse41+0xa44>
+  .byte  15,40,29,190,49,0,0                 // movaps        0x31be(%rip),%xmm3        # 60e0 <_sk_callback_sse41+0xa54>
   .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
   .byte  68,15,92,227                        // subps         %xmm3,%xmm12
-  .byte  68,15,40,21,88,44,0,0               // movaps        0x2c58(%rip),%xmm10        # 5aa0 <_sk_callback_sse41+0xa10>
+  .byte  68,15,40,21,190,49,0,0              // movaps        0x31be(%rip),%xmm10        # 60f0 <_sk_callback_sse41+0xa64>
   .byte  69,15,92,211                        // subps         %xmm11,%xmm10
-  .byte  15,40,29,93,44,0,0                  // movaps        0x2c5d(%rip),%xmm3        # 5ab0 <_sk_callback_sse41+0xa20>
+  .byte  15,40,29,195,49,0,0                 // movaps        0x31c3(%rip),%xmm3        # 6100 <_sk_callback_sse41+0xa74>
   .byte  65,15,94,218                        // divps         %xmm10,%xmm3
   .byte  65,15,88,220                        // addps         %xmm12,%xmm3
-  .byte  15,89,29,94,44,0,0                  // mulps         0x2c5e(%rip),%xmm3        # 5ac0 <_sk_callback_sse41+0xa30>
+  .byte  15,89,29,196,49,0,0                 // mulps         0x31c4(%rip),%xmm3        # 6110 <_sk_callback_sse41+0xa84>
   .byte  102,68,15,91,211                    // cvtps2dq      %xmm3,%xmm10
   .byte  243,15,16,88,20                     // movss         0x14(%rax),%xmm3
   .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
@@ -25301,7 +27432,7 @@
   .byte  102,65,15,56,20,217                 // blendvps      %xmm0,%xmm9,%xmm3
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  15,95,216                           // maxps         %xmm0,%xmm3
-  .byte  15,93,29,73,44,0,0                  // minps         0x2c49(%rip),%xmm3        # 5ad0 <_sk_callback_sse41+0xa40>
+  .byte  15,93,29,175,49,0,0                 // minps         0x31af(%rip),%xmm3        # 6120 <_sk_callback_sse41+0xa94>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -25311,29 +27442,29 @@
 FUNCTION(_sk_lab_to_xyz_sse41)
 _sk_lab_to_xyz_sse41:
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
-  .byte  68,15,89,5,69,44,0,0                // mulps         0x2c45(%rip),%xmm8        # 5ae0 <_sk_callback_sse41+0xa50>
-  .byte  68,15,40,13,77,44,0,0               // movaps        0x2c4d(%rip),%xmm9        # 5af0 <_sk_callback_sse41+0xa60>
+  .byte  68,15,89,5,171,49,0,0               // mulps         0x31ab(%rip),%xmm8        # 6130 <_sk_callback_sse41+0xaa4>
+  .byte  68,15,40,13,179,49,0,0              // movaps        0x31b3(%rip),%xmm9        # 6140 <_sk_callback_sse41+0xab4>
   .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
-  .byte  15,40,5,82,44,0,0                   // movaps        0x2c52(%rip),%xmm0        # 5b00 <_sk_callback_sse41+0xa70>
+  .byte  15,40,5,184,49,0,0                  // movaps        0x31b8(%rip),%xmm0        # 6150 <_sk_callback_sse41+0xac4>
   .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,80,44,0,0                // addps         0x2c50(%rip),%xmm8        # 5b10 <_sk_callback_sse41+0xa80>
-  .byte  68,15,89,5,88,44,0,0                // mulps         0x2c58(%rip),%xmm8        # 5b20 <_sk_callback_sse41+0xa90>
-  .byte  15,89,13,97,44,0,0                  // mulps         0x2c61(%rip),%xmm1        # 5b30 <_sk_callback_sse41+0xaa0>
+  .byte  68,15,88,5,182,49,0,0               // addps         0x31b6(%rip),%xmm8        # 6160 <_sk_callback_sse41+0xad4>
+  .byte  68,15,89,5,190,49,0,0               // mulps         0x31be(%rip),%xmm8        # 6170 <_sk_callback_sse41+0xae4>
+  .byte  15,89,13,199,49,0,0                 // mulps         0x31c7(%rip),%xmm1        # 6180 <_sk_callback_sse41+0xaf4>
   .byte  65,15,88,200                        // addps         %xmm8,%xmm1
-  .byte  15,89,21,102,44,0,0                 // mulps         0x2c66(%rip),%xmm2        # 5b40 <_sk_callback_sse41+0xab0>
+  .byte  15,89,21,204,49,0,0                 // mulps         0x31cc(%rip),%xmm2        # 6190 <_sk_callback_sse41+0xb04>
   .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,90,44,0,0               // movaps        0x2c5a(%rip),%xmm9        # 5b50 <_sk_callback_sse41+0xac0>
+  .byte  68,15,40,13,192,49,0,0              // movaps        0x31c0(%rip),%xmm9        # 61a0 <_sk_callback_sse41+0xb14>
   .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
   .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
-  .byte  15,40,21,90,44,0,0                  // movaps        0x2c5a(%rip),%xmm2        # 5b60 <_sk_callback_sse41+0xad0>
+  .byte  15,40,21,192,49,0,0                 // movaps        0x31c0(%rip),%xmm2        # 61b0 <_sk_callback_sse41+0xb24>
   .byte  15,88,202                           // addps         %xmm2,%xmm1
-  .byte  68,15,40,37,95,44,0,0               // movaps        0x2c5f(%rip),%xmm12        # 5b70 <_sk_callback_sse41+0xae0>
+  .byte  68,15,40,37,197,49,0,0              // movaps        0x31c5(%rip),%xmm12        # 61c0 <_sk_callback_sse41+0xb34>
   .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
@@ -25352,8 +27483,8 @@
   .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,24,44,0,0                  // mulps         0x2c18(%rip),%xmm1        # 5b80 <_sk_callback_sse41+0xaf0>
-  .byte  15,89,21,33,44,0,0                  // mulps         0x2c21(%rip),%xmm2        # 5b90 <_sk_callback_sse41+0xb00>
+  .byte  15,89,13,126,49,0,0                 // mulps         0x317e(%rip),%xmm1        # 61d0 <_sk_callback_sse41+0xb44>
+  .byte  15,89,21,135,49,0,0                 // mulps         0x3187(%rip),%xmm2        # 61e0 <_sk_callback_sse41+0xb54>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,40,193                           // movaps        %xmm1,%xmm0
   .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
@@ -25366,11 +27497,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,39                              // jne           2fab <_sk_load_a8_sse41+0x31>
+  .byte  117,39                              // jne           3095 <_sk_load_a8_sse41+0x31>
   .byte  102,65,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm0
-  .byte  102,15,219,5,13,44,0,0              // pand          0x2c0d(%rip),%xmm0        # 5ba0 <_sk_callback_sse41+0xb10>
+  .byte  102,15,219,5,115,49,0,0             // pand          0x3173(%rip),%xmm0        # 61f0 <_sk_callback_sse41+0xb64>
   .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
-  .byte  15,89,29,19,44,0,0                  // mulps         0x2c13(%rip),%xmm3        # 5bb0 <_sk_callback_sse41+0xb20>
+  .byte  15,89,29,121,49,0,0                 // mulps         0x3179(%rip),%xmm3        # 6200 <_sk_callback_sse41+0xb74>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
@@ -25379,12 +27510,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,53                              // je            2fed <_sk_load_a8_sse41+0x73>
+  .byte  116,53                              // je            30d7 <_sk_load_a8_sse41+0x73>
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            2fd7 <_sk_load_a8_sse41+0x5d>
+  .byte  116,21                              // je            30c1 <_sk_load_a8_sse41+0x5d>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,195                             // jne           2f8b <_sk_load_a8_sse41+0x11>
+  .byte  117,195                             // jne           3075 <_sk_load_a8_sse41+0x11>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
   .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
@@ -25392,10 +27523,48 @@
   .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,158                             // jmp           2f8b <_sk_load_a8_sse41+0x11>
+  .byte  235,158                             // jmp           3075 <_sk_load_a8_sse41+0x11>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
-  .byte  235,147                             // jmp           2f8b <_sk_load_a8_sse41+0x11>
+  .byte  235,147                             // jmp           3075 <_sk_load_a8_sse41+0x11>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,39                              // jne           3113 <_sk_load_a8_dst_sse41+0x31>
+  .byte  102,65,15,56,49,36,18               // pmovzxbd      (%r10,%rdx,1),%xmm4
+  .byte  102,15,219,37,21,49,0,0             // pand          0x3115(%rip),%xmm4        # 6210 <_sk_callback_sse41+0xb84>
+  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
+  .byte  15,89,61,27,49,0,0                  // mulps         0x311b(%rip),%xmm7        # 6220 <_sk_callback_sse41+0xb94>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,53                              // je            3155 <_sk_load_a8_dst_sse41+0x73>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            313f <_sk_load_a8_dst_sse41+0x5d>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,195                             // jne           30f3 <_sk_load_a8_dst_sse41+0x11>
+  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%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,18                      // movzwl        (%r10,%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,158                             // jmp           30f3 <_sk_load_a8_dst_sse41+0x11>
+  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,147                             // jmp           30f3 <_sk_load_a8_dst_sse41+0x11>
 
 HIDDEN _sk_gather_a8_sse41
 .globl _sk_gather_a8_sse41
@@ -25424,7 +27593,7 @@
   .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,88,43,0,0                  // mulps         0x2b58(%rip),%xmm3        # 5bc0 <_sk_callback_sse41+0xb30>
+  .byte  15,89,29,96,48,0,0                  // mulps         0x3060(%rip),%xmm3        # 6230 <_sk_callback_sse41+0xba4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
@@ -25438,13 +27607,13 @@
 _sk_store_a8_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
-  .byte  68,15,40,5,75,43,0,0                // movaps        0x2b4b(%rip),%xmm8        # 5bd0 <_sk_callback_sse41+0xb40>
+  .byte  68,15,40,5,83,48,0,0                // movaps        0x3053(%rip),%xmm8        # 6240 <_sk_callback_sse41+0xbb4>
   .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
   .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
   .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
   .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,13                              // jne           30ab <_sk_store_a8_sse41+0x33>
+  .byte  117,13                              // jne           3213 <_sk_store_a8_sse41+0x33>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  65,137,4,18                         // mov           %eax,(%r10,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -25453,17 +27622,17 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,41                              // je            30e7 <_sk_store_a8_sse41+0x6f>
+  .byte  116,41                              // je            324f <_sk_store_a8_sse41+0x6f>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,15                              // je            30d3 <_sk_store_a8_sse41+0x5b>
+  .byte  116,15                              // je            323b <_sk_store_a8_sse41+0x5b>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,221                             // jne           30a7 <_sk_store_a8_sse41+0x2f>
+  .byte  117,221                             // jne           320f <_sk_store_a8_sse41+0x2f>
   .byte  102,69,15,58,20,68,18,2,8           // pextrb        $0x8,%xmm8,0x2(%r10,%rdx,1)
-  .byte  102,68,15,56,0,5,3,43,0,0           // pshufb        0x2b03(%rip),%xmm8        # 5be0 <_sk_callback_sse41+0xb50>
+  .byte  102,68,15,56,0,5,11,48,0,0          // pshufb        0x300b(%rip),%xmm8        # 6250 <_sk_callback_sse41+0xbc4>
   .byte  102,69,15,58,21,4,18,0              // pextrw        $0x0,%xmm8,(%r10,%rdx,1)
-  .byte  235,192                             // jmp           30a7 <_sk_store_a8_sse41+0x2f>
+  .byte  235,192                             // jmp           320f <_sk_store_a8_sse41+0x2f>
   .byte  102,69,15,58,20,4,18,0              // pextrb        $0x0,%xmm8,(%r10,%rdx,1)
-  .byte  235,182                             // jmp           30a7 <_sk_store_a8_sse41+0x2f>
+  .byte  235,182                             // jmp           320f <_sk_store_a8_sse41+0x2f>
 
 HIDDEN _sk_load_g8_sse41
 .globl _sk_load_g8_sse41
@@ -25472,25 +27641,25 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,42                              // jne           3125 <_sk_load_g8_sse41+0x34>
+  .byte  117,42                              // jne           328d <_sk_load_g8_sse41+0x34>
   .byte  102,65,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm0
-  .byte  102,15,219,5,230,42,0,0             // pand          0x2ae6(%rip),%xmm0        # 5bf0 <_sk_callback_sse41+0xb60>
+  .byte  102,15,219,5,238,47,0,0             // pand          0x2fee(%rip),%xmm0        # 6260 <_sk_callback_sse41+0xbd4>
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,236,42,0,0                  // mulps         0x2aec(%rip),%xmm0        # 5c00 <_sk_callback_sse41+0xb70>
+  .byte  15,89,5,244,47,0,0                  // mulps         0x2ff4(%rip),%xmm0        # 6270 <_sk_callback_sse41+0xbe4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,243,42,0,0                 // movaps        0x2af3(%rip),%xmm3        # 5c10 <_sk_callback_sse41+0xb80>
+  .byte  15,40,29,251,47,0,0                 // movaps        0x2ffb(%rip),%xmm3        # 6280 <_sk_callback_sse41+0xbf4>
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,53                              // je            3167 <_sk_load_g8_sse41+0x76>
+  .byte  116,53                              // je            32cf <_sk_load_g8_sse41+0x76>
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            3151 <_sk_load_g8_sse41+0x60>
+  .byte  116,21                              // je            32b9 <_sk_load_g8_sse41+0x60>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,192                             // jne           3102 <_sk_load_g8_sse41+0x11>
+  .byte  117,192                             // jne           326a <_sk_load_g8_sse41+0x11>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
   .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
@@ -25498,10 +27667,48 @@
   .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,155                             // jmp           3102 <_sk_load_g8_sse41+0x11>
+  .byte  235,155                             // jmp           326a <_sk_load_g8_sse41+0x11>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
-  .byte  235,144                             // jmp           3102 <_sk_load_g8_sse41+0x11>
+  .byte  235,144                             // jmp           326a <_sk_load_g8_sse41+0x11>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,42                              // jne           330e <_sk_load_g8_dst_sse41+0x34>
+  .byte  102,65,15,56,49,36,18               // pmovzxbd      (%r10,%rdx,1),%xmm4
+  .byte  102,15,219,37,157,47,0,0            // pand          0x2f9d(%rip),%xmm4        # 6290 <_sk_callback_sse41+0xc04>
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,163,47,0,0                 // mulps         0x2fa3(%rip),%xmm4        # 62a0 <_sk_callback_sse41+0xc14>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,170,47,0,0                 // movaps        0x2faa(%rip),%xmm7        # 62b0 <_sk_callback_sse41+0xc24>
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,53                              // je            3350 <_sk_load_g8_dst_sse41+0x76>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            333a <_sk_load_g8_dst_sse41+0x60>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,192                             // jne           32eb <_sk_load_g8_dst_sse41+0x11>
+  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%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,18                      // movzwl        (%r10,%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,155                             // jmp           32eb <_sk_load_g8_dst_sse41+0x11>
+  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,144                             // jmp           32eb <_sk_load_g8_dst_sse41+0x11>
 
 HIDDEN _sk_gather_g8_sse41
 .globl _sk_gather_g8_sse41
@@ -25530,9 +27737,9 @@
   .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,62,42,0,0                   // mulps         0x2a3e(%rip),%xmm0        # 5c20 <_sk_callback_sse41+0xb90>
+  .byte  15,89,5,245,46,0,0                  // mulps         0x2ef5(%rip),%xmm0        # 62c0 <_sk_callback_sse41+0xc34>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,69,42,0,0                  // movaps        0x2a45(%rip),%xmm3        # 5c30 <_sk_callback_sse41+0xba0>
+  .byte  15,40,29,252,46,0,0                 // movaps        0x2efc(%rip),%xmm3        # 62d0 <_sk_callback_sse41+0xc44>
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  91                                  // pop           %rbx
@@ -25545,9 +27752,9 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,137,193                          // mov           %rax,%r9
   .byte  77,133,201                          // test          %r9,%r9
-  .byte  116,5                               // je            3203 <_sk_gather_i8_sse41+0xf>
+  .byte  116,5                               // je            33ec <_sk_gather_i8_sse41+0xf>
   .byte  76,137,200                          // mov           %r9,%rax
-  .byte  235,2                               // jmp           3205 <_sk_gather_i8_sse41+0x11>
+  .byte  235,2                               // jmp           33ee <_sk_gather_i8_sse41+0x11>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,86                               // push          %r14
   .byte  83                                  // push          %rbx
@@ -25580,17 +27787,17 @@
   .byte  102,15,58,34,28,24,1                // pinsrd        $0x1,(%rax,%rbx,1),%xmm3
   .byte  102,66,15,58,34,28,152,2            // pinsrd        $0x2,(%rax,%r11,4),%xmm3
   .byte  102,66,15,58,34,28,16,3             // pinsrd        $0x3,(%rax,%r10,1),%xmm3
-  .byte  102,15,111,5,152,41,0,0             // movdqa        0x2998(%rip),%xmm0        # 5c40 <_sk_callback_sse41+0xbb0>
+  .byte  102,15,111,5,79,46,0,0              // movdqa        0x2e4f(%rip),%xmm0        # 62e0 <_sk_callback_sse41+0xc54>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,5,153,41,0,0               // movaps        0x2999(%rip),%xmm8        # 5c50 <_sk_callback_sse41+0xbc0>
+  .byte  68,15,40,5,80,46,0,0                // movaps        0x2e50(%rip),%xmm8        # 62f0 <_sk_callback_sse41+0xc64>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
-  .byte  102,15,56,0,13,152,41,0,0           // pshufb        0x2998(%rip),%xmm1        # 5c60 <_sk_callback_sse41+0xbd0>
+  .byte  102,15,56,0,13,79,46,0,0            // pshufb        0x2e4f(%rip),%xmm1        # 6300 <_sk_callback_sse41+0xc74>
   .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,148,41,0,0           // pshufb        0x2994(%rip),%xmm2        # 5c70 <_sk_callback_sse41+0xbe0>
+  .byte  102,15,56,0,21,75,46,0,0            // pshufb        0x2e4b(%rip),%xmm2        # 6310 <_sk_callback_sse41+0xc84>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
   .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
@@ -25608,41 +27815,84 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,80                              // jne           3350 <_sk_load_565_sse41+0x5a>
+  .byte  117,80                              // jne           3539 <_sk_load_565_sse41+0x5a>
   .byte  102,65,15,56,51,20,82               // pmovzxwd      (%r10,%rdx,2),%xmm2
-  .byte  102,15,111,5,113,41,0,0             // movdqa        0x2971(%rip),%xmm0        # 5c80 <_sk_callback_sse41+0xbf0>
+  .byte  102,15,111,5,40,46,0,0              // movdqa        0x2e28(%rip),%xmm0        # 6320 <_sk_callback_sse41+0xc94>
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,115,41,0,0                  // mulps         0x2973(%rip),%xmm0        # 5c90 <_sk_callback_sse41+0xc00>
-  .byte  102,15,111,13,123,41,0,0            // movdqa        0x297b(%rip),%xmm1        # 5ca0 <_sk_callback_sse41+0xc10>
+  .byte  15,89,5,42,46,0,0                   // mulps         0x2e2a(%rip),%xmm0        # 6330 <_sk_callback_sse41+0xca4>
+  .byte  102,15,111,13,50,46,0,0             // movdqa        0x2e32(%rip),%xmm1        # 6340 <_sk_callback_sse41+0xcb4>
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,125,41,0,0                 // mulps         0x297d(%rip),%xmm1        # 5cb0 <_sk_callback_sse41+0xc20>
-  .byte  102,15,219,21,133,41,0,0            // pand          0x2985(%rip),%xmm2        # 5cc0 <_sk_callback_sse41+0xc30>
+  .byte  15,89,13,52,46,0,0                  // mulps         0x2e34(%rip),%xmm1        # 6350 <_sk_callback_sse41+0xcc4>
+  .byte  102,15,219,21,60,46,0,0             // pand          0x2e3c(%rip),%xmm2        # 6360 <_sk_callback_sse41+0xcd4>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,139,41,0,0                 // mulps         0x298b(%rip),%xmm2        # 5cd0 <_sk_callback_sse41+0xc40>
+  .byte  15,89,21,66,46,0,0                  // mulps         0x2e42(%rip),%xmm2        # 6370 <_sk_callback_sse41+0xce4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,146,41,0,0                 // movaps        0x2992(%rip),%xmm3        # 5ce0 <_sk_callback_sse41+0xc50>
+  .byte  15,40,29,73,46,0,0                  // movaps        0x2e49(%rip),%xmm3        # 6380 <_sk_callback_sse41+0xcf4>
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,53                              // je            3392 <_sk_load_565_sse41+0x9c>
+  .byte  116,53                              // je            357b <_sk_load_565_sse41+0x9c>
   .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            337c <_sk_load_565_sse41+0x86>
+  .byte  116,21                              // je            3565 <_sk_load_565_sse41+0x86>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,154                             // jne           3307 <_sk_load_565_sse41+0x11>
+  .byte  117,154                             // jne           34f0 <_sk_load_565_sse41+0x11>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                  // movd          (%r10,%rdx,2),%xmm0
   .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
   .byte  102,15,58,14,208,15                 // pblendw       $0xf,%xmm0,%xmm2
-  .byte  233,117,255,255,255                 // jmpq          3307 <_sk_load_565_sse41+0x11>
+  .byte  233,117,255,255,255                 // jmpq          34f0 <_sk_load_565_sse41+0x11>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,15,110,208                      // movd          %eax,%xmm2
-  .byte  233,103,255,255,255                 // jmpq          3307 <_sk_load_565_sse41+0x11>
+  .byte  233,103,255,255,255                 // jmpq          34f0 <_sk_load_565_sse41+0x11>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,80                              // jne           35e3 <_sk_load_565_dst_sse41+0x5a>
+  .byte  102,65,15,56,51,52,82               // pmovzxwd      (%r10,%rdx,2),%xmm6
+  .byte  102,15,111,37,238,45,0,0            // movdqa        0x2dee(%rip),%xmm4        # 6390 <_sk_callback_sse41+0xd04>
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,240,45,0,0                 // mulps         0x2df0(%rip),%xmm4        # 63a0 <_sk_callback_sse41+0xd14>
+  .byte  102,15,111,45,248,45,0,0            // movdqa        0x2df8(%rip),%xmm5        # 63b0 <_sk_callback_sse41+0xd24>
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,250,45,0,0                 // mulps         0x2dfa(%rip),%xmm5        # 63c0 <_sk_callback_sse41+0xd34>
+  .byte  102,15,219,53,2,46,0,0              // pand          0x2e02(%rip),%xmm6        # 63d0 <_sk_callback_sse41+0xd44>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,8,46,0,0                   // mulps         0x2e08(%rip),%xmm6        # 63e0 <_sk_callback_sse41+0xd54>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,15,46,0,0                  // movaps        0x2e0f(%rip),%xmm7        # 63f0 <_sk_callback_sse41+0xd64>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,53                              // je            3625 <_sk_load_565_dst_sse41+0x9c>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            360f <_sk_load_565_dst_sse41+0x86>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,154                             // jne           359a <_sk_load_565_dst_sse41+0x11>
+  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                 // movd          (%r10,%rdx,2),%xmm4
+  .byte  102,15,56,51,228                    // pmovzxwd      %xmm4,%xmm4
+  .byte  102,15,58,14,244,15                 // pblendw       $0xf,%xmm4,%xmm6
+  .byte  233,117,255,255,255                 // jmpq          359a <_sk_load_565_dst_sse41+0x11>
+  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
+  .byte  102,15,110,240                      // movd          %eax,%xmm6
+  .byte  233,103,255,255,255                 // jmpq          359a <_sk_load_565_dst_sse41+0x11>
 
 HIDDEN _sk_gather_565_sse41
 .globl _sk_gather_565_sse41
@@ -25670,19 +27920,19 @@
   .byte  65,15,183,4,65                      // movzwl        (%r9,%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,230,40,0,0             // movdqa        0x28e6(%rip),%xmm0        # 5cf0 <_sk_callback_sse41+0xc60>
+  .byte  102,15,111,5,99,45,0,0              // movdqa        0x2d63(%rip),%xmm0        # 6400 <_sk_callback_sse41+0xd74>
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,232,40,0,0                  // mulps         0x28e8(%rip),%xmm0        # 5d00 <_sk_callback_sse41+0xc70>
-  .byte  102,15,111,13,240,40,0,0            // movdqa        0x28f0(%rip),%xmm1        # 5d10 <_sk_callback_sse41+0xc80>
+  .byte  15,89,5,101,45,0,0                  // mulps         0x2d65(%rip),%xmm0        # 6410 <_sk_callback_sse41+0xd84>
+  .byte  102,15,111,13,109,45,0,0            // movdqa        0x2d6d(%rip),%xmm1        # 6420 <_sk_callback_sse41+0xd94>
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,242,40,0,0                 // mulps         0x28f2(%rip),%xmm1        # 5d20 <_sk_callback_sse41+0xc90>
-  .byte  102,15,219,21,250,40,0,0            // pand          0x28fa(%rip),%xmm2        # 5d30 <_sk_callback_sse41+0xca0>
+  .byte  15,89,13,111,45,0,0                 // mulps         0x2d6f(%rip),%xmm1        # 6430 <_sk_callback_sse41+0xda4>
+  .byte  102,15,219,21,119,45,0,0            // pand          0x2d77(%rip),%xmm2        # 6440 <_sk_callback_sse41+0xdb4>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,0,41,0,0                   // mulps         0x2900(%rip),%xmm2        # 5d40 <_sk_callback_sse41+0xcb0>
+  .byte  15,89,21,125,45,0,0                 // mulps         0x2d7d(%rip),%xmm2        # 6450 <_sk_callback_sse41+0xdc4>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,7,41,0,0                   // movaps        0x2907(%rip),%xmm3        # 5d50 <_sk_callback_sse41+0xcc0>
+  .byte  15,40,29,132,45,0,0                 // movaps        0x2d84(%rip),%xmm3        # 6460 <_sk_callback_sse41+0xdd4>
   .byte  91                                  // pop           %rbx
   .byte  255,224                             // jmpq          *%rax
 
@@ -25692,12 +27942,12 @@
 _sk_store_565_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  68,15,40,5,7,41,0,0                 // movaps        0x2907(%rip),%xmm8        # 5d60 <_sk_callback_sse41+0xcd0>
+  .byte  68,15,40,5,132,45,0,0               // movaps        0x2d84(%rip),%xmm8        # 6470 <_sk_callback_sse41+0xde4>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
   .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
-  .byte  68,15,40,21,252,40,0,0              // movaps        0x28fc(%rip),%xmm10        # 5d70 <_sk_callback_sse41+0xce0>
+  .byte  68,15,40,21,121,45,0,0              // movaps        0x2d79(%rip),%xmm10        # 6480 <_sk_callback_sse41+0xdf4>
   .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
   .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
   .byte  102,65,15,114,242,5                 // pslld         $0x5,%xmm10
@@ -25707,7 +27957,7 @@
   .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
   .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           34ab <_sk_store_565_sse41+0x5f>
+  .byte  117,10                              // jne           373e <_sk_store_565_sse41+0x5f>
   .byte  242,68,15,17,4,80                   // movsd         %xmm8,(%rax,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -25715,17 +27965,17 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,35                              // je            34e1 <_sk_store_565_sse41+0x95>
+  .byte  116,35                              // je            3774 <_sk_store_565_sse41+0x95>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,15                              // je            34d3 <_sk_store_565_sse41+0x87>
+  .byte  116,15                              // je            3766 <_sk_store_565_sse41+0x87>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,221                             // jne           34a7 <_sk_store_565_sse41+0x5b>
+  .byte  117,221                             // jne           373a <_sk_store_565_sse41+0x5b>
   .byte  102,68,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
   .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
   .byte  102,68,15,126,4,80                  // movd          %xmm8,(%rax,%rdx,2)
-  .byte  235,198                             // jmp           34a7 <_sk_store_565_sse41+0x5b>
+  .byte  235,198                             // jmp           373a <_sk_store_565_sse41+0x5b>
   .byte  102,68,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%rax,%rdx,2)
-  .byte  235,188                             // jmp           34a7 <_sk_store_565_sse41+0x5b>
+  .byte  235,188                             // jmp           373a <_sk_store_565_sse41+0x5b>
 
 HIDDEN _sk_load_4444_sse41
 .globl _sk_load_4444_sse41
@@ -25734,44 +27984,90 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,95                              // jne           3554 <_sk_load_4444_sse41+0x69>
+  .byte  117,95                              // jne           37e7 <_sk_load_4444_sse41+0x69>
   .byte  102,65,15,56,51,28,82               // pmovzxwd      (%r10,%rdx,2),%xmm3
-  .byte  102,15,111,5,124,40,0,0             // movdqa        0x287c(%rip),%xmm0        # 5d80 <_sk_callback_sse41+0xcf0>
+  .byte  102,15,111,5,249,44,0,0             // movdqa        0x2cf9(%rip),%xmm0        # 6490 <_sk_callback_sse41+0xe04>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,126,40,0,0                  // mulps         0x287e(%rip),%xmm0        # 5d90 <_sk_callback_sse41+0xd00>
-  .byte  102,15,111,13,134,40,0,0            // movdqa        0x2886(%rip),%xmm1        # 5da0 <_sk_callback_sse41+0xd10>
+  .byte  15,89,5,251,44,0,0                  // mulps         0x2cfb(%rip),%xmm0        # 64a0 <_sk_callback_sse41+0xe14>
+  .byte  102,15,111,13,3,45,0,0              // movdqa        0x2d03(%rip),%xmm1        # 64b0 <_sk_callback_sse41+0xe24>
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,136,40,0,0                 // mulps         0x2888(%rip),%xmm1        # 5db0 <_sk_callback_sse41+0xd20>
-  .byte  102,15,111,21,144,40,0,0            // movdqa        0x2890(%rip),%xmm2        # 5dc0 <_sk_callback_sse41+0xd30>
+  .byte  15,89,13,5,45,0,0                   // mulps         0x2d05(%rip),%xmm1        # 64c0 <_sk_callback_sse41+0xe34>
+  .byte  102,15,111,21,13,45,0,0             // movdqa        0x2d0d(%rip),%xmm2        # 64d0 <_sk_callback_sse41+0xe44>
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,146,40,0,0                 // mulps         0x2892(%rip),%xmm2        # 5dd0 <_sk_callback_sse41+0xd40>
-  .byte  102,15,219,29,154,40,0,0            // pand          0x289a(%rip),%xmm3        # 5de0 <_sk_callback_sse41+0xd50>
+  .byte  15,89,21,15,45,0,0                  // mulps         0x2d0f(%rip),%xmm2        # 64e0 <_sk_callback_sse41+0xe54>
+  .byte  102,15,219,29,23,45,0,0             // pand          0x2d17(%rip),%xmm3        # 64f0 <_sk_callback_sse41+0xe64>
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,29,160,40,0,0                 // mulps         0x28a0(%rip),%xmm3        # 5df0 <_sk_callback_sse41+0xd60>
+  .byte  15,89,29,29,45,0,0                  // mulps         0x2d1d(%rip),%xmm3        # 6500 <_sk_callback_sse41+0xe74>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,53                              // je            3596 <_sk_load_4444_sse41+0xab>
+  .byte  116,53                              // je            3829 <_sk_load_4444_sse41+0xab>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            3580 <_sk_load_4444_sse41+0x95>
+  .byte  116,21                              // je            3813 <_sk_load_4444_sse41+0x95>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,139                             // jne           34fc <_sk_load_4444_sse41+0x11>
+  .byte  117,139                             // jne           378f <_sk_load_4444_sse41+0x11>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                  // movd          (%r10,%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,102,255,255,255                 // jmpq          34fc <_sk_load_4444_sse41+0x11>
+  .byte  233,102,255,255,255                 // jmpq          378f <_sk_load_4444_sse41+0x11>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,15,110,216                      // movd          %eax,%xmm3
-  .byte  233,88,255,255,255                  // jmpq          34fc <_sk_load_4444_sse41+0x11>
+  .byte  233,88,255,255,255                  // jmpq          378f <_sk_load_4444_sse41+0x11>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,95                              // jne           38a0 <_sk_load_4444_dst_sse41+0x69>
+  .byte  102,65,15,56,51,60,82               // pmovzxwd      (%r10,%rdx,2),%xmm7
+  .byte  102,15,111,37,192,44,0,0            // movdqa        0x2cc0(%rip),%xmm4        # 6510 <_sk_callback_sse41+0xe84>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,194,44,0,0                 // mulps         0x2cc2(%rip),%xmm4        # 6520 <_sk_callback_sse41+0xe94>
+  .byte  102,15,111,45,202,44,0,0            // movdqa        0x2cca(%rip),%xmm5        # 6530 <_sk_callback_sse41+0xea4>
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,204,44,0,0                 // mulps         0x2ccc(%rip),%xmm5        # 6540 <_sk_callback_sse41+0xeb4>
+  .byte  102,15,111,53,212,44,0,0            // movdqa        0x2cd4(%rip),%xmm6        # 6550 <_sk_callback_sse41+0xec4>
+  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,214,44,0,0                 // mulps         0x2cd6(%rip),%xmm6        # 6560 <_sk_callback_sse41+0xed4>
+  .byte  102,15,219,61,222,44,0,0            // pand          0x2cde(%rip),%xmm7        # 6570 <_sk_callback_sse41+0xee4>
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,61,228,44,0,0                 // mulps         0x2ce4(%rip),%xmm7        # 6580 <_sk_callback_sse41+0xef4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,53                              // je            38e2 <_sk_load_4444_dst_sse41+0xab>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            38cc <_sk_load_4444_dst_sse41+0x95>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,139                             // jne           3848 <_sk_load_4444_dst_sse41+0x11>
+  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                 // movd          (%r10,%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,102,255,255,255                 // jmpq          3848 <_sk_load_4444_dst_sse41+0x11>
+  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  233,88,255,255,255                  // jmpq          3848 <_sk_load_4444_dst_sse41+0x11>
 
 HIDDEN _sk_gather_4444_sse41
 .globl _sk_gather_4444_sse41
@@ -25799,21 +28095,21 @@
   .byte  65,15,183,4,65                      // movzwl        (%r9,%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,242,39,0,0             // movdqa        0x27f2(%rip),%xmm0        # 5e00 <_sk_callback_sse41+0xd70>
+  .byte  102,15,111,5,54,44,0,0              // movdqa        0x2c36(%rip),%xmm0        # 6590 <_sk_callback_sse41+0xf04>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,244,39,0,0                  // mulps         0x27f4(%rip),%xmm0        # 5e10 <_sk_callback_sse41+0xd80>
-  .byte  102,15,111,13,252,39,0,0            // movdqa        0x27fc(%rip),%xmm1        # 5e20 <_sk_callback_sse41+0xd90>
+  .byte  15,89,5,56,44,0,0                   // mulps         0x2c38(%rip),%xmm0        # 65a0 <_sk_callback_sse41+0xf14>
+  .byte  102,15,111,13,64,44,0,0             // movdqa        0x2c40(%rip),%xmm1        # 65b0 <_sk_callback_sse41+0xf24>
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,254,39,0,0                 // mulps         0x27fe(%rip),%xmm1        # 5e30 <_sk_callback_sse41+0xda0>
-  .byte  102,15,111,21,6,40,0,0              // movdqa        0x2806(%rip),%xmm2        # 5e40 <_sk_callback_sse41+0xdb0>
+  .byte  15,89,13,66,44,0,0                  // mulps         0x2c42(%rip),%xmm1        # 65c0 <_sk_callback_sse41+0xf34>
+  .byte  102,15,111,21,74,44,0,0             // movdqa        0x2c4a(%rip),%xmm2        # 65d0 <_sk_callback_sse41+0xf44>
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,8,40,0,0                   // mulps         0x2808(%rip),%xmm2        # 5e50 <_sk_callback_sse41+0xdc0>
-  .byte  102,15,219,29,16,40,0,0             // pand          0x2810(%rip),%xmm3        # 5e60 <_sk_callback_sse41+0xdd0>
+  .byte  15,89,21,76,44,0,0                  // mulps         0x2c4c(%rip),%xmm2        # 65e0 <_sk_callback_sse41+0xf54>
+  .byte  102,15,219,29,84,44,0,0             // pand          0x2c54(%rip),%xmm3        # 65f0 <_sk_callback_sse41+0xf64>
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,29,22,40,0,0                  // mulps         0x2816(%rip),%xmm3        # 5e70 <_sk_callback_sse41+0xde0>
+  .byte  15,89,29,90,44,0,0                  // mulps         0x2c5a(%rip),%xmm3        # 6600 <_sk_callback_sse41+0xf74>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  255,224                             // jmpq          *%rax
@@ -25824,7 +28120,7 @@
 _sk_store_4444_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  68,15,40,5,20,40,0,0                // movaps        0x2814(%rip),%xmm8        # 5e80 <_sk_callback_sse41+0xdf0>
+  .byte  68,15,40,5,88,44,0,0                // movaps        0x2c58(%rip),%xmm8        # 6610 <_sk_callback_sse41+0xf84>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
@@ -25844,7 +28140,7 @@
   .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
   .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           36d2 <_sk_store_4444_sse41+0x73>
+  .byte  117,10                              // jne           3a1e <_sk_store_4444_sse41+0x73>
   .byte  242,68,15,17,4,80                   // movsd         %xmm8,(%rax,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -25852,17 +28148,17 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,35                              // je            3708 <_sk_store_4444_sse41+0xa9>
+  .byte  116,35                              // je            3a54 <_sk_store_4444_sse41+0xa9>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,15                              // je            36fa <_sk_store_4444_sse41+0x9b>
+  .byte  116,15                              // je            3a46 <_sk_store_4444_sse41+0x9b>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,221                             // jne           36ce <_sk_store_4444_sse41+0x6f>
+  .byte  117,221                             // jne           3a1a <_sk_store_4444_sse41+0x6f>
   .byte  102,68,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
   .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
   .byte  102,68,15,126,4,80                  // movd          %xmm8,(%rax,%rdx,2)
-  .byte  235,198                             // jmp           36ce <_sk_store_4444_sse41+0x6f>
+  .byte  235,198                             // jmp           3a1a <_sk_store_4444_sse41+0x6f>
   .byte  102,68,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%rax,%rdx,2)
-  .byte  235,188                             // jmp           36ce <_sk_store_4444_sse41+0x6f>
+  .byte  235,188                             // jmp           3a1a <_sk_store_4444_sse41+0x6f>
 
 HIDDEN _sk_load_8888_sse41
 .globl _sk_load_8888_sse41
@@ -25871,19 +28167,19 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,88                              // jne           3774 <_sk_load_8888_sse41+0x62>
+  .byte  117,88                              // jne           3ac0 <_sk_load_8888_sse41+0x62>
   .byte  243,15,111,28,144                   // movdqu        (%rax,%rdx,4),%xmm3
-  .byte  102,15,111,5,103,39,0,0             // movdqa        0x2767(%rip),%xmm0        # 5e90 <_sk_callback_sse41+0xe00>
+  .byte  102,15,111,5,171,43,0,0             // movdqa        0x2bab(%rip),%xmm0        # 6620 <_sk_callback_sse41+0xf94>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,5,104,39,0,0               // movaps        0x2768(%rip),%xmm8        # 5ea0 <_sk_callback_sse41+0xe10>
+  .byte  68,15,40,5,172,43,0,0               // movaps        0x2bac(%rip),%xmm8        # 6630 <_sk_callback_sse41+0xfa4>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
-  .byte  102,15,56,0,13,103,39,0,0           // pshufb        0x2767(%rip),%xmm1        # 5eb0 <_sk_callback_sse41+0xe20>
+  .byte  102,15,56,0,13,171,43,0,0           // pshufb        0x2bab(%rip),%xmm1        # 6640 <_sk_callback_sse41+0xfb4>
   .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,99,39,0,0            // pshufb        0x2763(%rip),%xmm2        # 5ec0 <_sk_callback_sse41+0xe30>
+  .byte  102,15,56,0,21,167,43,0,0           // pshufb        0x2ba7(%rip),%xmm2        # 6650 <_sk_callback_sse41+0xfc4>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
   .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
@@ -25894,19 +28190,63 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,43                              // je            37ac <_sk_load_8888_sse41+0x9a>
+  .byte  116,43                              // je            3af8 <_sk_load_8888_sse41+0x9a>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,17                              // je            379c <_sk_load_8888_sse41+0x8a>
+  .byte  116,17                              // je            3ae8 <_sk_load_8888_sse41+0x8a>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,144                             // jne           3721 <_sk_load_8888_sse41+0xf>
+  .byte  117,144                             // jne           3a6d <_sk_load_8888_sse41+0xf>
   .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
   .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
   .byte  243,15,126,4,144                    // movq          (%rax,%rdx,4),%xmm0
   .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
-  .byte  233,117,255,255,255                 // jmpq          3721 <_sk_load_8888_sse41+0xf>
+  .byte  233,117,255,255,255                 // jmpq          3a6d <_sk_load_8888_sse41+0xf>
   .byte  102,15,110,28,144                   // movd          (%rax,%rdx,4),%xmm3
-  .byte  233,107,255,255,255                 // jmpq          3721 <_sk_load_8888_sse41+0xf>
+  .byte  233,107,255,255,255                 // jmpq          3a6d <_sk_load_8888_sse41+0xf>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,88                              // jne           3b64 <_sk_load_8888_dst_sse41+0x62>
+  .byte  243,15,111,60,144                   // movdqu        (%rax,%rdx,4),%xmm7
+  .byte  102,15,111,37,71,43,0,0             // movdqa        0x2b47(%rip),%xmm4        # 6660 <_sk_callback_sse41+0xfd4>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  68,15,40,5,72,43,0,0                // movaps        0x2b48(%rip),%xmm8        # 6670 <_sk_callback_sse41+0xfe4>
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,15,56,0,45,71,43,0,0            // pshufb        0x2b47(%rip),%xmm5        # 6680 <_sk_callback_sse41+0xff4>
+  .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,67,43,0,0            // pshufb        0x2b43(%rip),%xmm6        # 6690 <_sk_callback_sse41+0x1004>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,43                              // je            3b9c <_sk_load_8888_dst_sse41+0x9a>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,17                              // je            3b8c <_sk_load_8888_dst_sse41+0x8a>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,144                             // jne           3b11 <_sk_load_8888_dst_sse41+0xf>
+  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  243,15,126,36,144                   // movq          (%rax,%rdx,4),%xmm4
+  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
+  .byte  233,117,255,255,255                 // jmpq          3b11 <_sk_load_8888_dst_sse41+0xf>
+  .byte  102,15,110,60,144                   // movd          (%rax,%rdx,4),%xmm7
+  .byte  233,107,255,255,255                 // jmpq          3b11 <_sk_load_8888_dst_sse41+0xf>
 
 HIDDEN _sk_gather_8888_sse41
 .globl _sk_gather_8888_sse41
@@ -25931,17 +28271,17 @@
   .byte  102,65,15,58,34,28,129,1            // pinsrd        $0x1,(%r9,%rax,4),%xmm3
   .byte  102,65,15,58,34,28,153,2            // pinsrd        $0x2,(%r9,%rbx,4),%xmm3
   .byte  102,67,15,58,34,28,153,3            // pinsrd        $0x3,(%r9,%r11,4),%xmm3
-  .byte  102,15,111,5,185,38,0,0             // movdqa        0x26b9(%rip),%xmm0        # 5ed0 <_sk_callback_sse41+0xe40>
+  .byte  102,15,111,5,153,42,0,0             // movdqa        0x2a99(%rip),%xmm0        # 66a0 <_sk_callback_sse41+0x1014>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,5,186,38,0,0               // movaps        0x26ba(%rip),%xmm8        # 5ee0 <_sk_callback_sse41+0xe50>
+  .byte  68,15,40,5,154,42,0,0               // movaps        0x2a9a(%rip),%xmm8        # 66b0 <_sk_callback_sse41+0x1024>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
-  .byte  102,15,56,0,13,185,38,0,0           // pshufb        0x26b9(%rip),%xmm1        # 5ef0 <_sk_callback_sse41+0xe60>
+  .byte  102,15,56,0,13,153,42,0,0           // pshufb        0x2a99(%rip),%xmm1        # 66c0 <_sk_callback_sse41+0x1034>
   .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,181,38,0,0           // pshufb        0x26b5(%rip),%xmm2        # 5f00 <_sk_callback_sse41+0xe70>
+  .byte  102,15,56,0,21,149,42,0,0           // pshufb        0x2a95(%rip),%xmm2        # 66d0 <_sk_callback_sse41+0x1044>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
   .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
@@ -25957,7 +28297,7 @@
 _sk_store_8888_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  68,15,40,5,160,38,0,0               // movaps        0x26a0(%rip),%xmm8        # 5f10 <_sk_callback_sse41+0xe80>
+  .byte  68,15,40,5,128,42,0,0               // movaps        0x2a80(%rip),%xmm8        # 66e0 <_sk_callback_sse41+0x1054>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
@@ -25976,23 +28316,23 @@
   .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
   .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           38d0 <_sk_store_8888_sse41+0x6d>
+  .byte  117,10                              // jne           3cc0 <_sk_store_8888_sse41+0x6d>
   .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,29                              // je            38fa <_sk_store_8888_sse41+0x97>
+  .byte  116,29                              // je            3cea <_sk_store_8888_sse41+0x97>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,15                              // je            38f2 <_sk_store_8888_sse41+0x8f>
+  .byte  116,15                              // je            3ce2 <_sk_store_8888_sse41+0x8f>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,227                             // jne           38cc <_sk_store_8888_sse41+0x69>
+  .byte  117,227                             // jne           3cbc <_sk_store_8888_sse41+0x69>
   .byte  102,68,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%rax,%rdx,4)
   .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
-  .byte  235,210                             // jmp           38cc <_sk_store_8888_sse41+0x69>
+  .byte  235,210                             // jmp           3cbc <_sk_store_8888_sse41+0x69>
   .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
-  .byte  235,202                             // jmp           38cc <_sk_store_8888_sse41+0x69>
+  .byte  235,202                             // jmp           3cbc <_sk_store_8888_sse41+0x69>
 
 HIDDEN _sk_load_f16_sse41
 .globl _sk_load_f16_sse41
@@ -26001,7 +28341,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,60,1,0,0                     // jne           3a4c <_sk_load_f16_sse41+0x14a>
+  .byte  15,133,60,1,0,0                     // jne           3e3c <_sk_load_f16_sse41+0x14a>
   .byte  102,15,16,4,208                     // movupd        (%rax,%rdx,8),%xmm0
   .byte  243,15,111,76,208,16                // movdqu        0x10(%rax,%rdx,8),%xmm1
   .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
@@ -26011,18 +28351,18 @@
   .byte  102,68,15,97,216                    // punpcklwd     %xmm0,%xmm11
   .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
   .byte  102,65,15,56,51,203                 // pmovzxwd      %xmm11,%xmm1
-  .byte  102,68,15,111,5,217,37,0,0          // movdqa        0x25d9(%rip),%xmm8        # 5f20 <_sk_callback_sse41+0xe90>
+  .byte  102,68,15,111,5,185,41,0,0          // movdqa        0x29b9(%rip),%xmm8        # 66f0 <_sk_callback_sse41+0x1064>
   .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
   .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
   .byte  102,15,239,202                      // pxor          %xmm2,%xmm1
-  .byte  102,15,111,29,212,37,0,0            // movdqa        0x25d4(%rip),%xmm3        # 5f30 <_sk_callback_sse41+0xea0>
+  .byte  102,15,111,29,180,41,0,0            // movdqa        0x29b4(%rip),%xmm3        # 6700 <_sk_callback_sse41+0x1074>
   .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
   .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
   .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
   .byte  102,15,118,193                      // pcmpeqd       %xmm1,%xmm0
   .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
   .byte  102,15,235,202                      // por           %xmm2,%xmm1
-  .byte  102,68,15,111,21,192,37,0,0         // movdqa        0x25c0(%rip),%xmm10        # 5f40 <_sk_callback_sse41+0xeb0>
+  .byte  102,68,15,111,21,160,41,0,0         // movdqa        0x29a0(%rip),%xmm10        # 6710 <_sk_callback_sse41+0x1084>
   .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
   .byte  102,15,219,193                      // pand          %xmm1,%xmm0
   .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
@@ -26065,16 +28405,98 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,15,16,4,208                     // movsd         (%rax,%rdx,8),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,13                              // jne           3a64 <_sk_load_f16_sse41+0x162>
+  .byte  117,13                              // jne           3e54 <_sk_load_f16_sse41+0x162>
   .byte  243,15,126,192                      // movq          %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,183,254,255,255                 // jmpq          391b <_sk_load_f16_sse41+0x19>
+  .byte  233,183,254,255,255                 // jmpq          3d0b <_sk_load_f16_sse41+0x19>
   .byte  102,15,22,68,208,8                  // movhpd        0x8(%rax,%rdx,8),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,163,254,255,255              // jb            391b <_sk_load_f16_sse41+0x19>
+  .byte  15,130,163,254,255,255              // jb            3d0b <_sk_load_f16_sse41+0x19>
   .byte  243,15,126,76,208,16                // movq          0x10(%rax,%rdx,8),%xmm1
-  .byte  233,152,254,255,255                 // jmpq          391b <_sk_load_f16_sse41+0x19>
+  .byte  233,152,254,255,255                 // jmpq          3d0b <_sk_load_f16_sse41+0x19>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,60,1,0,0                     // jne           3fbd <_sk_load_f16_dst_sse41+0x14a>
+  .byte  102,15,16,36,208                    // movupd        (%rax,%rdx,8),%xmm4
+  .byte  243,15,111,108,208,16               // movdqu        0x10(%rax,%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,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,97,220                    // punpcklwd     %xmm4,%xmm11
+  .byte  102,68,15,105,204                   // punpckhwd     %xmm4,%xmm9
+  .byte  102,65,15,56,51,235                 // pmovzxwd      %xmm11,%xmm5
+  .byte  102,68,15,111,5,104,40,0,0          // movdqa        0x2868(%rip),%xmm8        # 6720 <_sk_callback_sse41+0x1094>
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,65,15,219,240                   // pand          %xmm8,%xmm6
+  .byte  102,15,239,238                      // pxor          %xmm6,%xmm5
+  .byte  102,15,111,61,99,40,0,0             // movdqa        0x2863(%rip),%xmm7        # 6730 <_sk_callback_sse41+0x10a4>
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,56,63,231                    // pmaxud        %xmm7,%xmm4
+  .byte  102,15,118,229                      // pcmpeqd       %xmm5,%xmm4
+  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
+  .byte  102,15,235,238                      // por           %xmm6,%xmm5
+  .byte  102,68,15,111,21,79,40,0,0          // movdqa        0x284f(%rip),%xmm10        # 6740 <_sk_callback_sse41+0x10b4>
+  .byte  102,65,15,254,234                   // paddd         %xmm10,%xmm5
+  .byte  102,15,219,229                      // pand          %xmm5,%xmm4
+  .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
+  .byte  102,69,15,56,51,219                 // pmovzxwd      %xmm11,%xmm11
+  .byte  102,65,15,111,243                   // movdqa        %xmm11,%xmm6
+  .byte  102,65,15,219,240                   // pand          %xmm8,%xmm6
+  .byte  102,68,15,239,222                   // pxor          %xmm6,%xmm11
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,65,15,111,235                   // movdqa        %xmm11,%xmm5
+  .byte  102,15,56,63,239                    // pmaxud        %xmm7,%xmm5
+  .byte  102,65,15,118,235                   // pcmpeqd       %xmm11,%xmm5
+  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
+  .byte  102,68,15,235,222                   // por           %xmm6,%xmm11
+  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
+  .byte  102,65,15,219,235                   // pand          %xmm11,%xmm5
+  .byte  102,69,15,56,51,217                 // pmovzxwd      %xmm9,%xmm11
+  .byte  102,69,15,111,227                   // movdqa        %xmm11,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,65,15,111,243                   // movdqa        %xmm11,%xmm6
+  .byte  102,15,56,63,247                    // pmaxud        %xmm7,%xmm6
+  .byte  102,65,15,118,243                   // pcmpeqd       %xmm11,%xmm6
+  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
+  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
+  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
+  .byte  102,65,15,219,243                   // pand          %xmm11,%xmm6
+  .byte  102,65,15,115,217,8                 // psrldq        $0x8,%xmm9
+  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
+  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%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,202                   // paddd         %xmm10,%xmm9
+  .byte  102,65,15,219,249                   // pand          %xmm9,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,15,16,36,208                    // movsd         (%rax,%rdx,8),%xmm4
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  117,13                              // jne           3fd5 <_sk_load_f16_dst_sse41+0x162>
+  .byte  243,15,126,228                      // movq          %xmm4,%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  233,183,254,255,255                 // jmpq          3e8c <_sk_load_f16_dst_sse41+0x19>
+  .byte  102,15,22,100,208,8                 // movhpd        0x8(%rax,%rdx,8),%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  15,130,163,254,255,255              // jb            3e8c <_sk_load_f16_dst_sse41+0x19>
+  .byte  243,15,126,108,208,16               // movq          0x10(%rax,%rdx,8),%xmm5
+  .byte  233,152,254,255,255                 // jmpq          3e8c <_sk_load_f16_dst_sse41+0x19>
 
 HIDDEN _sk_gather_f16_sse41
 .globl _sk_gather_f16_sse41
@@ -26108,18 +28530,18 @@
   .byte  102,68,15,97,218                    // punpcklwd     %xmm2,%xmm11
   .byte  102,68,15,105,202                   // punpckhwd     %xmm2,%xmm9
   .byte  102,65,15,56,51,203                 // pmovzxwd      %xmm11,%xmm1
-  .byte  102,68,15,111,5,70,36,0,0           // movdqa        0x2446(%rip),%xmm8        # 5f50 <_sk_callback_sse41+0xec0>
+  .byte  102,68,15,111,5,213,38,0,0          // movdqa        0x26d5(%rip),%xmm8        # 6750 <_sk_callback_sse41+0x10c4>
   .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
   .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
   .byte  102,15,239,202                      // pxor          %xmm2,%xmm1
-  .byte  102,15,111,29,65,36,0,0             // movdqa        0x2441(%rip),%xmm3        # 5f60 <_sk_callback_sse41+0xed0>
+  .byte  102,15,111,29,208,38,0,0            // movdqa        0x26d0(%rip),%xmm3        # 6760 <_sk_callback_sse41+0x10d4>
   .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
   .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
   .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
   .byte  102,15,118,193                      // pcmpeqd       %xmm1,%xmm0
   .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
   .byte  102,15,235,202                      // por           %xmm2,%xmm1
-  .byte  102,68,15,111,21,45,36,0,0          // movdqa        0x242d(%rip),%xmm10        # 5f70 <_sk_callback_sse41+0xee0>
+  .byte  102,68,15,111,21,188,38,0,0         // movdqa        0x26bc(%rip),%xmm10        # 6770 <_sk_callback_sse41+0x10e4>
   .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
   .byte  102,15,219,193                      // pand          %xmm1,%xmm0
   .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
@@ -26168,17 +28590,17 @@
 _sk_store_f16_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  102,68,15,111,21,98,35,0,0          // movdqa        0x2362(%rip),%xmm10        # 5f80 <_sk_callback_sse41+0xef0>
+  .byte  102,68,15,111,21,241,37,0,0         // movdqa        0x25f1(%rip),%xmm10        # 6780 <_sk_callback_sse41+0x10f4>
   .byte  102,68,15,111,216                   // movdqa        %xmm0,%xmm11
   .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
   .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
   .byte  102,69,15,239,235                   // pxor          %xmm11,%xmm13
-  .byte  102,68,15,111,13,85,35,0,0          // movdqa        0x2355(%rip),%xmm9        # 5f90 <_sk_callback_sse41+0xf00>
+  .byte  102,68,15,111,13,228,37,0,0         // movdqa        0x25e4(%rip),%xmm9        # 6790 <_sk_callback_sse41+0x1104>
   .byte  102,65,15,114,211,16                // psrld         $0x10,%xmm11
   .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
   .byte  102,69,15,102,197                   // pcmpgtd       %xmm13,%xmm8
   .byte  102,65,15,114,213,13                // psrld         $0xd,%xmm13
-  .byte  102,68,15,111,37,70,35,0,0          // movdqa        0x2346(%rip),%xmm12        # 5fa0 <_sk_callback_sse41+0xf10>
+  .byte  102,68,15,111,37,213,37,0,0         // movdqa        0x25d5(%rip),%xmm12        # 67a0 <_sk_callback_sse41+0x1114>
   .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
   .byte  102,69,15,254,221                   // paddd         %xmm13,%xmm11
   .byte  102,69,15,223,195                   // pandn         %xmm11,%xmm8
@@ -26222,7 +28644,7 @@
   .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
   .byte  102,69,15,98,203                    // punpckldq     %xmm11,%xmm9
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,21                              // jne           3d50 <_sk_store_f16_sse41+0x140>
+  .byte  117,21                              // jne           42c1 <_sk_store_f16_sse41+0x140>
   .byte  68,15,17,12,208                     // movups        %xmm9,(%rax,%rdx,8)
   .byte  102,69,15,106,195                   // punpckhdq     %xmm11,%xmm8
   .byte  243,68,15,127,68,208,16             // movdqu        %xmm8,0x10(%rax,%rdx,8)
@@ -26230,13 +28652,13 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  102,68,15,214,12,208                // movq          %xmm9,(%rax,%rdx,8)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            3d4c <_sk_store_f16_sse41+0x13c>
+  .byte  116,240                             // je            42bd <_sk_store_f16_sse41+0x13c>
   .byte  102,68,15,23,76,208,8               // movhpd        %xmm9,0x8(%rax,%rdx,8)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            3d4c <_sk_store_f16_sse41+0x13c>
+  .byte  114,227                             // jb            42bd <_sk_store_f16_sse41+0x13c>
   .byte  102,69,15,106,195                   // punpckhdq     %xmm11,%xmm8
   .byte  102,68,15,214,68,208,16             // movq          %xmm8,0x10(%rax,%rdx,8)
-  .byte  235,213                             // jmp           3d4c <_sk_store_f16_sse41+0x13c>
+  .byte  235,213                             // jmp           42bd <_sk_store_f16_sse41+0x13c>
 
 HIDDEN _sk_load_u16_be_sse41
 .globl _sk_load_u16_be_sse41
@@ -26246,7 +28668,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,185,0,0,0                    // jne           3e46 <_sk_load_u16_be_sse41+0xcf>
+  .byte  15,133,185,0,0,0                    // jne           43b7 <_sk_load_u16_be_sse41+0xcf>
   .byte  102,65,15,16,4,65                   // movupd        (%r9,%rax,2),%xmm0
   .byte  243,65,15,111,76,65,16              // movdqu        0x10(%r9,%rax,2),%xmm1
   .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
@@ -26262,7 +28684,7 @@
   .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,215,33,0,0               // movaps        0x21d7(%rip),%xmm8        # 5fb0 <_sk_callback_sse41+0xf20>
+  .byte  68,15,40,5,102,36,0,0               // movaps        0x2466(%rip),%xmm8        # 67b0 <_sk_callback_sse41+0x1124>
   .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
@@ -26290,16 +28712,16 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,65,15,16,4,65                   // movsd         (%r9,%rax,2),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,13                              // jne           3e5f <_sk_load_u16_be_sse41+0xe8>
+  .byte  117,13                              // jne           43d0 <_sk_load_u16_be_sse41+0xe8>
   .byte  243,15,126,192                      // movq          %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,59,255,255,255                  // jmpq          3d9a <_sk_load_u16_be_sse41+0x23>
+  .byte  233,59,255,255,255                  // jmpq          430b <_sk_load_u16_be_sse41+0x23>
   .byte  102,65,15,22,68,65,8                // movhpd        0x8(%r9,%rax,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,38,255,255,255               // jb            3d9a <_sk_load_u16_be_sse41+0x23>
+  .byte  15,130,38,255,255,255               // jb            430b <_sk_load_u16_be_sse41+0x23>
   .byte  243,65,15,126,76,65,16              // movq          0x10(%r9,%rax,2),%xmm1
-  .byte  233,26,255,255,255                  // jmpq          3d9a <_sk_load_u16_be_sse41+0x23>
+  .byte  233,26,255,255,255                  // jmpq          430b <_sk_load_u16_be_sse41+0x23>
 
 HIDDEN _sk_load_rgb_u16_be_sse41
 .globl _sk_load_rgb_u16_be_sse41
@@ -26309,7 +28731,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,170,0,0,0                    // jne           3f3c <_sk_load_rgb_u16_be_sse41+0xbc>
+  .byte  15,133,170,0,0,0                    // jne           44ad <_sk_load_rgb_u16_be_sse41+0xbc>
   .byte  243,65,15,111,20,65                 // movdqu        (%r9,%rax,2),%xmm2
   .byte  243,65,15,111,92,65,8               // movdqu        0x8(%r9,%rax,2),%xmm3
   .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
@@ -26329,7 +28751,7 @@
   .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,207,32,0,0               // movaps        0x20cf(%rip),%xmm8        # 5fc0 <_sk_callback_sse41+0xf30>
+  .byte  68,15,40,5,94,35,0,0                // movaps        0x235e(%rip),%xmm8        # 67c0 <_sk_callback_sse41+0x1134>
   .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
@@ -26346,27 +28768,27 @@
   .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,150,32,0,0                 // movaps        0x2096(%rip),%xmm3        # 5fd0 <_sk_callback_sse41+0xf40>
+  .byte  15,40,29,37,35,0,0                  // movaps        0x2325(%rip),%xmm3        # 67d0 <_sk_callback_sse41+0x1144>
   .byte  255,224                             // jmpq          *%rax
   .byte  102,65,15,110,20,65                 // movd          (%r9,%rax,2),%xmm2
   .byte  102,65,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,13                              // jne           3f61 <_sk_load_rgb_u16_be_sse41+0xe1>
+  .byte  117,13                              // jne           44d2 <_sk_load_rgb_u16_be_sse41+0xe1>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,85,255,255,255                  // jmpq          3eb6 <_sk_load_rgb_u16_be_sse41+0x36>
+  .byte  233,85,255,255,255                  // jmpq          4427 <_sk_load_rgb_u16_be_sse41+0x36>
   .byte  102,65,15,110,68,65,6               // movd          0x6(%r9,%rax,2),%xmm0
   .byte  102,65,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,24                              // jb            3f92 <_sk_load_rgb_u16_be_sse41+0x112>
+  .byte  114,24                              // jb            4503 <_sk_load_rgb_u16_be_sse41+0x112>
   .byte  102,65,15,110,92,65,12              // movd          0xc(%r9,%rax,2),%xmm3
   .byte  102,65,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,36,255,255,255                  // jmpq          3eb6 <_sk_load_rgb_u16_be_sse41+0x36>
+  .byte  233,36,255,255,255                  // jmpq          4427 <_sk_load_rgb_u16_be_sse41+0x36>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
-  .byte  233,27,255,255,255                  // jmpq          3eb6 <_sk_load_rgb_u16_be_sse41+0x36>
+  .byte  233,27,255,255,255                  // jmpq          4427 <_sk_load_rgb_u16_be_sse41+0x36>
 
 HIDDEN _sk_store_u16_be_sse41
 .globl _sk_store_u16_be_sse41
@@ -26375,7 +28797,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
-  .byte  68,15,40,21,48,32,0,0               // movaps        0x2030(%rip),%xmm10        # 5fe0 <_sk_callback_sse41+0xf50>
+  .byte  68,15,40,21,191,34,0,0              // movaps        0x22bf(%rip),%xmm10        # 67e0 <_sk_callback_sse41+0x1154>
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
   .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
   .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
@@ -26412,7 +28834,7 @@
   .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
   .byte  102,69,15,98,209                    // punpckldq     %xmm9,%xmm10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,21                              // jne           407e <_sk_store_u16_be_sse41+0xe3>
+  .byte  117,21                              // jne           45ef <_sk_store_u16_be_sse41+0xe3>
   .byte  69,15,17,20,65                      // movups        %xmm10,(%r9,%rax,2)
   .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
   .byte  243,69,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%rax,2)
@@ -26420,13 +28842,13 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  102,69,15,214,20,65                 // movq          %xmm10,(%r9,%rax,2)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            407a <_sk_store_u16_be_sse41+0xdf>
+  .byte  116,240                             // je            45eb <_sk_store_u16_be_sse41+0xdf>
   .byte  102,69,15,23,84,65,8                // movhpd        %xmm10,0x8(%r9,%rax,2)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            407a <_sk_store_u16_be_sse41+0xdf>
+  .byte  114,227                             // jb            45eb <_sk_store_u16_be_sse41+0xdf>
   .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
   .byte  102,69,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%rax,2)
-  .byte  235,213                             // jmp           407a <_sk_store_u16_be_sse41+0xdf>
+  .byte  235,213                             // jmp           45eb <_sk_store_u16_be_sse41+0xdf>
 
 HIDDEN _sk_load_f32_sse41
 .globl _sk_load_f32_sse41
@@ -26439,7 +28861,7 @@
   .byte  72,193,224,4                        // shl           $0x4,%rax
   .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,66                              // jne           4105 <_sk_load_f32_sse41+0x60>
+  .byte  117,66                              // jne           4676 <_sk_load_f32_sse41+0x60>
   .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
   .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
   .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
@@ -26459,17 +28881,60 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,8                               // jne           4117 <_sk_load_f32_sse41+0x72>
+  .byte  117,8                               // jne           4688 <_sk_load_f32_sse41+0x72>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
-  .byte  235,190                             // jmp           40d5 <_sk_load_f32_sse41+0x30>
+  .byte  235,190                             // jmp           4646 <_sk_load_f32_sse41+0x30>
   .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,8                               // jb            412b <_sk_load_f32_sse41+0x86>
+  .byte  114,8                               // jb            469c <_sk_load_f32_sse41+0x86>
   .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
-  .byte  235,170                             // jmp           40d5 <_sk_load_f32_sse41+0x30>
+  .byte  235,170                             // jmp           4646 <_sk_load_f32_sse41+0x30>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
-  .byte  235,165                             // jmp           40d5 <_sk_load_f32_sse41+0x30>
+  .byte  235,165                             // jmp           4646 <_sk_load_f32_sse41+0x30>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,66                              // jne           4701 <_sk_load_f32_dst_sse41+0x60>
+  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
+  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
+  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,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  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  117,8                               // jne           4713 <_sk_load_f32_dst_sse41+0x72>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  235,190                             // jmp           46d1 <_sk_load_f32_dst_sse41+0x30>
+  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  114,8                               // jb            4727 <_sk_load_f32_dst_sse41+0x86>
+  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
+  .byte  235,170                             // jmp           46d1 <_sk_load_f32_dst_sse41+0x30>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,165                             // jmp           46d1 <_sk_load_f32_dst_sse41+0x30>
 
 HIDDEN _sk_store_f32_sse41
 .globl _sk_store_f32_sse41
@@ -26495,7 +28960,7 @@
   .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
   .byte  102,69,15,17,36,2                   // movupd        %xmm12,(%r10,%rax,1)
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,29                              // jne           41a2 <_sk_store_f32_sse41+0x72>
+  .byte  117,29                              // jne           479e <_sk_store_f32_sse41+0x72>
   .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
   .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
   .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
@@ -26503,12 +28968,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,246                             // je            419e <_sk_store_f32_sse41+0x6e>
+  .byte  116,246                             // je            479a <_sk_store_f32_sse41+0x6e>
   .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,234                             // jb            419e <_sk_store_f32_sse41+0x6e>
+  .byte  114,234                             // jb            479a <_sk_store_f32_sse41+0x6e>
   .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
-  .byte  235,225                             // jmp           419e <_sk_store_f32_sse41+0x6e>
+  .byte  235,225                             // jmp           479a <_sk_store_f32_sse41+0x6e>
 
 HIDDEN _sk_clamp_x_sse41
 .globl _sk_clamp_x_sse41
@@ -26592,7 +29057,7 @@
   .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,252,32,0,0          // mulss         0x20fc(%rip),%xmm9        # 63b0 <_sk_callback_sse41+0x1320>
+  .byte  243,68,15,89,13,0,35,0,0            // mulss         0x2300(%rip),%xmm9        # 6bb0 <_sk_callback_sse41+0x1524>
   .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
@@ -26620,7 +29085,7 @@
   .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,153,32,0,0          // mulss         0x2099(%rip),%xmm9        # 63b4 <_sk_callback_sse41+0x1324>
+  .byte  243,68,15,89,13,157,34,0,0          // mulss         0x229d(%rip),%xmm9        # 6bb4 <_sk_callback_sse41+0x1528>
   .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
@@ -26642,7 +29107,7 @@
 _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,139,28,0,0               // minps         0x1c8b(%rip),%xmm8        # 5ff0 <_sk_callback_sse41+0xf60>
+  .byte  68,15,93,5,143,30,0,0               // minps         0x1e8f(%rip),%xmm8        # 67f0 <_sk_callback_sse41+0x1164>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -26660,9 +29125,9 @@
 .globl _sk_mirror_x_1_sse41
 FUNCTION(_sk_mirror_x_1_sse41)
 _sk_mirror_x_1_sse41:
-  .byte  68,15,40,5,124,28,0,0               // movaps        0x1c7c(%rip),%xmm8        # 6000 <_sk_callback_sse41+0xf70>
+  .byte  68,15,40,5,128,30,0,0               // movaps        0x1e80(%rip),%xmm8        # 6800 <_sk_callback_sse41+0x1174>
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
-  .byte  68,15,40,13,128,28,0,0              // movaps        0x1c80(%rip),%xmm9        # 6010 <_sk_callback_sse41+0xf80>
+  .byte  68,15,40,13,132,30,0,0              // movaps        0x1e84(%rip),%xmm9        # 6810 <_sk_callback_sse41+0x1184>
   .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
@@ -26679,10 +29144,10 @@
 FUNCTION(_sk_luminance_to_alpha_sse41)
 _sk_luminance_to_alpha_sse41:
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
-  .byte  15,89,5,95,28,0,0                   // mulps         0x1c5f(%rip),%xmm0        # 6020 <_sk_callback_sse41+0xf90>
-  .byte  15,89,13,104,28,0,0                 // mulps         0x1c68(%rip),%xmm1        # 6030 <_sk_callback_sse41+0xfa0>
+  .byte  15,89,5,99,30,0,0                   // mulps         0x1e63(%rip),%xmm0        # 6820 <_sk_callback_sse41+0x1194>
+  .byte  15,89,13,108,30,0,0                 // mulps         0x1e6c(%rip),%xmm1        # 6830 <_sk_callback_sse41+0x11a4>
   .byte  15,88,200                           // addps         %xmm0,%xmm1
-  .byte  15,89,29,110,28,0,0                 // mulps         0x1c6e(%rip),%xmm3        # 6040 <_sk_callback_sse41+0xfb0>
+  .byte  15,89,29,114,30,0,0                 // mulps         0x1e72(%rip),%xmm3        # 6840 <_sk_callback_sse41+0x11b4>
   .byte  15,88,217                           // addps         %xmm1,%xmm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
@@ -26961,9 +29426,9 @@
   .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            4810 <_sk_evenly_spaced_gradient_sse41+0x1a>
+  .byte  120,7                               // js            4e0c <_sk_evenly_spaced_gradient_sse41+0x1a>
   .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
-  .byte  235,21                              // jmp           4825 <_sk_evenly_spaced_gradient_sse41+0x2f>
+  .byte  235,21                              // jmp           4e21 <_sk_evenly_spaced_gradient_sse41+0x2f>
   .byte  73,137,217                          // mov           %rbx,%r9
   .byte  73,209,233                          // shr           %r9
   .byte  131,227,1                           // and           $0x1,%ebx
@@ -27053,15 +29518,15 @@
 .globl _sk_gauss_a_to_rgba_sse41
 FUNCTION(_sk_gauss_a_to_rgba_sse41)
 _sk_gauss_a_to_rgba_sse41:
-  .byte  15,40,5,125,22,0,0                  // movaps        0x167d(%rip),%xmm0        # 6050 <_sk_callback_sse41+0xfc0>
+  .byte  15,40,5,129,24,0,0                  // movaps        0x1881(%rip),%xmm0        # 6850 <_sk_callback_sse41+0x11c4>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,131,22,0,0                  // addps         0x1683(%rip),%xmm0        # 6060 <_sk_callback_sse41+0xfd0>
+  .byte  15,88,5,135,24,0,0                  // addps         0x1887(%rip),%xmm0        # 6860 <_sk_callback_sse41+0x11d4>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,137,22,0,0                  // addps         0x1689(%rip),%xmm0        # 6070 <_sk_callback_sse41+0xfe0>
+  .byte  15,88,5,141,24,0,0                  // addps         0x188d(%rip),%xmm0        # 6870 <_sk_callback_sse41+0x11e4>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,143,22,0,0                  // addps         0x168f(%rip),%xmm0        # 6080 <_sk_callback_sse41+0xff0>
+  .byte  15,88,5,147,24,0,0                  // addps         0x1893(%rip),%xmm0        # 6880 <_sk_callback_sse41+0x11f4>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,149,22,0,0                  // addps         0x1695(%rip),%xmm0        # 6090 <_sk_callback_sse41+0x1000>
+  .byte  15,88,5,153,24,0,0                  // addps         0x1899(%rip),%xmm0        # 6890 <_sk_callback_sse41+0x1204>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
@@ -27079,12 +29544,12 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,249,2                        // cmp           $0x2,%r9
-  .byte  114,50                              // jb            4a4e <_sk_gradient_sse41+0x46>
+  .byte  114,50                              // jb            504a <_sk_gradient_sse41+0x46>
   .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
   .byte  73,255,201                          // dec           %r9
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  15,40,21,110,22,0,0                 // movaps        0x166e(%rip),%xmm2        # 60a0 <_sk_callback_sse41+0x1010>
+  .byte  15,40,21,114,24,0,0                 // movaps        0x1872(%rip),%xmm2        # 68a0 <_sk_callback_sse41+0x1214>
   .byte  243,15,16,27                        // movss         (%rbx),%xmm3
   .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
   .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
@@ -27092,7 +29557,7 @@
   .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  73,255,201                          // dec           %r9
-  .byte  117,228                             // jne           4a32 <_sk_gradient_sse41+0x2a>
+  .byte  117,228                             // jne           502e <_sk_gradient_sse41+0x2a>
   .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
   .byte  69,137,202                          // mov           %r9d,%r10d
   .byte  73,193,233,32                       // shr           $0x20,%r9
@@ -27222,26 +29687,26 @@
   .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,15,20,0,0               // movaps        0x140f(%rip),%xmm10        # 60b0 <_sk_callback_sse41+0x1020>
+  .byte  68,15,40,21,19,22,0,0               // movaps        0x1613(%rip),%xmm10        # 68b0 <_sk_callback_sse41+0x1224>
   .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
-  .byte  68,15,88,21,19,20,0,0               // addps         0x1413(%rip),%xmm10        # 60c0 <_sk_callback_sse41+0x1030>
+  .byte  68,15,88,21,23,22,0,0               // addps         0x1617(%rip),%xmm10        # 68c0 <_sk_callback_sse41+0x1234>
   .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
-  .byte  68,15,88,21,23,20,0,0               // addps         0x1417(%rip),%xmm10        # 60d0 <_sk_callback_sse41+0x1040>
+  .byte  68,15,88,21,27,22,0,0               // addps         0x161b(%rip),%xmm10        # 68d0 <_sk_callback_sse41+0x1244>
   .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
-  .byte  68,15,88,21,27,20,0,0               // addps         0x141b(%rip),%xmm10        # 60e0 <_sk_callback_sse41+0x1050>
+  .byte  68,15,88,21,31,22,0,0               // addps         0x161f(%rip),%xmm10        # 68e0 <_sk_callback_sse41+0x1254>
   .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
   .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
-  .byte  68,15,40,29,26,20,0,0               // movaps        0x141a(%rip),%xmm11        # 60f0 <_sk_callback_sse41+0x1060>
+  .byte  68,15,40,29,30,22,0,0               // movaps        0x161e(%rip),%xmm11        # 68f0 <_sk_callback_sse41+0x1264>
   .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,19,20,0,0               // movaps        0x1413(%rip),%xmm11        # 6100 <_sk_callback_sse41+0x1070>
+  .byte  68,15,40,29,23,22,0,0               // movaps        0x1617(%rip),%xmm11        # 6900 <_sk_callback_sse41+0x1274>
   .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,5,20,0,0                // movaps        0x1405(%rip),%xmm9        # 6110 <_sk_callback_sse41+0x1080>
+  .byte  68,15,40,13,9,22,0,0                // movaps        0x1609(%rip),%xmm9        # 6910 <_sk_callback_sse41+0x1284>
   .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
@@ -27267,7 +29732,7 @@
 FUNCTION(_sk_save_xy_sse41)
 _sk_save_xy_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,217,19,0,0               // movaps        0x13d9(%rip),%xmm8        # 6120 <_sk_callback_sse41+0x1090>
+  .byte  68,15,40,5,221,21,0,0               // movaps        0x15dd(%rip),%xmm8        # 6920 <_sk_callback_sse41+0x1294>
   .byte  15,17,0                             // movups        %xmm0,(%rax)
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,88,200                        // addps         %xmm8,%xmm9
@@ -27311,8 +29776,8 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,91,19,0,0                   // addps         0x135b(%rip),%xmm0        # 6130 <_sk_callback_sse41+0x10a0>
-  .byte  68,15,40,13,99,19,0,0               // movaps        0x1363(%rip),%xmm9        # 6140 <_sk_callback_sse41+0x10b0>
+  .byte  15,88,5,95,21,0,0                   // addps         0x155f(%rip),%xmm0        # 6930 <_sk_callback_sse41+0x12a4>
+  .byte  68,15,40,13,103,21,0,0              // movaps        0x1567(%rip),%xmm9        # 6940 <_sk_callback_sse41+0x12b4>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
   .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27325,7 +29790,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,82,19,0,0                   // addps         0x1352(%rip),%xmm0        # 6150 <_sk_callback_sse41+0x10c0>
+  .byte  15,88,5,86,21,0,0                   // addps         0x1556(%rip),%xmm0        # 6950 <_sk_callback_sse41+0x12c4>
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27337,8 +29802,8 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,68,19,0,0                  // addps         0x1344(%rip),%xmm1        # 6160 <_sk_callback_sse41+0x10d0>
-  .byte  68,15,40,13,76,19,0,0               // movaps        0x134c(%rip),%xmm9        # 6170 <_sk_callback_sse41+0x10e0>
+  .byte  15,88,13,72,21,0,0                  // addps         0x1548(%rip),%xmm1        # 6960 <_sk_callback_sse41+0x12d4>
+  .byte  68,15,40,13,80,21,0,0               // movaps        0x1550(%rip),%xmm9        # 6970 <_sk_callback_sse41+0x12e4>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
   .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27351,7 +29816,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,58,19,0,0                  // addps         0x133a(%rip),%xmm1        # 6180 <_sk_callback_sse41+0x10f0>
+  .byte  15,88,13,62,21,0,0                  // addps         0x153e(%rip),%xmm1        # 6980 <_sk_callback_sse41+0x12f4>
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27363,13 +29828,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,45,19,0,0                   // addps         0x132d(%rip),%xmm0        # 6190 <_sk_callback_sse41+0x1100>
-  .byte  68,15,40,13,53,19,0,0               // movaps        0x1335(%rip),%xmm9        # 61a0 <_sk_callback_sse41+0x1110>
+  .byte  15,88,5,49,21,0,0                   // addps         0x1531(%rip),%xmm0        # 6990 <_sk_callback_sse41+0x1304>
+  .byte  68,15,40,13,57,21,0,0               // movaps        0x1539(%rip),%xmm9        # 69a0 <_sk_callback_sse41+0x1314>
   .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,49,19,0,0               // mulps         0x1331(%rip),%xmm9        # 61b0 <_sk_callback_sse41+0x1120>
-  .byte  68,15,88,13,57,19,0,0               // addps         0x1339(%rip),%xmm9        # 61c0 <_sk_callback_sse41+0x1130>
+  .byte  68,15,89,13,53,21,0,0               // mulps         0x1535(%rip),%xmm9        # 69b0 <_sk_callback_sse41+0x1324>
+  .byte  68,15,88,13,61,21,0,0               // addps         0x153d(%rip),%xmm9        # 69c0 <_sk_callback_sse41+0x1334>
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27382,16 +29847,16 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,40,19,0,0                   // addps         0x1328(%rip),%xmm0        # 61d0 <_sk_callback_sse41+0x1140>
-  .byte  68,15,40,13,48,19,0,0               // movaps        0x1330(%rip),%xmm9        # 61e0 <_sk_callback_sse41+0x1150>
+  .byte  15,88,5,44,21,0,0                   // addps         0x152c(%rip),%xmm0        # 69d0 <_sk_callback_sse41+0x1344>
+  .byte  68,15,40,13,52,21,0,0               // movaps        0x1534(%rip),%xmm9        # 69e0 <_sk_callback_sse41+0x1354>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
-  .byte  68,15,40,5,52,19,0,0                // movaps        0x1334(%rip),%xmm8        # 61f0 <_sk_callback_sse41+0x1160>
+  .byte  68,15,40,5,56,21,0,0                // movaps        0x1538(%rip),%xmm8        # 69f0 <_sk_callback_sse41+0x1364>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,56,19,0,0                // addps         0x1338(%rip),%xmm8        # 6200 <_sk_callback_sse41+0x1170>
+  .byte  68,15,88,5,60,21,0,0                // addps         0x153c(%rip),%xmm8        # 6a00 <_sk_callback_sse41+0x1374>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,60,19,0,0                // addps         0x133c(%rip),%xmm8        # 6210 <_sk_callback_sse41+0x1180>
+  .byte  68,15,88,5,64,21,0,0                // addps         0x1540(%rip),%xmm8        # 6a10 <_sk_callback_sse41+0x1384>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,64,19,0,0                // addps         0x1340(%rip),%xmm8        # 6220 <_sk_callback_sse41+0x1190>
+  .byte  68,15,88,5,68,21,0,0                // addps         0x1544(%rip),%xmm8        # 6a20 <_sk_callback_sse41+0x1394>
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27401,17 +29866,17 @@
 FUNCTION(_sk_bicubic_p1x_sse41)
 _sk_bicubic_p1x_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,58,19,0,0                // movaps        0x133a(%rip),%xmm8        # 6230 <_sk_callback_sse41+0x11a0>
+  .byte  68,15,40,5,62,21,0,0                // movaps        0x153e(%rip),%xmm8        # 6a30 <_sk_callback_sse41+0x13a4>
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,72,64                      // movups        0x40(%rax),%xmm9
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
-  .byte  68,15,40,21,54,19,0,0               // movaps        0x1336(%rip),%xmm10        # 6240 <_sk_callback_sse41+0x11b0>
+  .byte  68,15,40,21,58,21,0,0               // movaps        0x153a(%rip),%xmm10        # 6a40 <_sk_callback_sse41+0x13b4>
   .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
-  .byte  68,15,88,21,58,19,0,0               // addps         0x133a(%rip),%xmm10        # 6250 <_sk_callback_sse41+0x11c0>
+  .byte  68,15,88,21,62,21,0,0               // addps         0x153e(%rip),%xmm10        # 6a50 <_sk_callback_sse41+0x13c4>
   .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,54,19,0,0               // addps         0x1336(%rip),%xmm10        # 6260 <_sk_callback_sse41+0x11d0>
+  .byte  68,15,88,21,58,21,0,0               // addps         0x153a(%rip),%xmm10        # 6a60 <_sk_callback_sse41+0x13d4>
   .byte  68,15,17,144,128,0,0,0              // movups        %xmm10,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27423,11 +29888,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,41,19,0,0                   // addps         0x1329(%rip),%xmm0        # 6270 <_sk_callback_sse41+0x11e0>
+  .byte  15,88,5,45,21,0,0                   // addps         0x152d(%rip),%xmm0        # 6a70 <_sk_callback_sse41+0x13e4>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
-  .byte  68,15,89,5,41,19,0,0                // mulps         0x1329(%rip),%xmm8        # 6280 <_sk_callback_sse41+0x11f0>
-  .byte  68,15,88,5,49,19,0,0                // addps         0x1331(%rip),%xmm8        # 6290 <_sk_callback_sse41+0x1200>
+  .byte  68,15,89,5,45,21,0,0                // mulps         0x152d(%rip),%xmm8        # 6a80 <_sk_callback_sse41+0x13f4>
+  .byte  68,15,88,5,53,21,0,0                // addps         0x1535(%rip),%xmm8        # 6a90 <_sk_callback_sse41+0x1404>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27440,13 +29905,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,31,19,0,0                  // addps         0x131f(%rip),%xmm1        # 62a0 <_sk_callback_sse41+0x1210>
-  .byte  68,15,40,13,39,19,0,0               // movaps        0x1327(%rip),%xmm9        # 62b0 <_sk_callback_sse41+0x1220>
+  .byte  15,88,13,35,21,0,0                  // addps         0x1523(%rip),%xmm1        # 6aa0 <_sk_callback_sse41+0x1414>
+  .byte  68,15,40,13,43,21,0,0               // movaps        0x152b(%rip),%xmm9        # 6ab0 <_sk_callback_sse41+0x1424>
   .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,19,0,0               // mulps         0x1323(%rip),%xmm9        # 62c0 <_sk_callback_sse41+0x1230>
-  .byte  68,15,88,13,43,19,0,0               // addps         0x132b(%rip),%xmm9        # 62d0 <_sk_callback_sse41+0x1240>
+  .byte  68,15,89,13,39,21,0,0               // mulps         0x1527(%rip),%xmm9        # 6ac0 <_sk_callback_sse41+0x1434>
+  .byte  68,15,88,13,47,21,0,0               // addps         0x152f(%rip),%xmm9        # 6ad0 <_sk_callback_sse41+0x1444>
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27459,16 +29924,16 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,25,19,0,0                  // addps         0x1319(%rip),%xmm1        # 62e0 <_sk_callback_sse41+0x1250>
-  .byte  68,15,40,13,33,19,0,0               // movaps        0x1321(%rip),%xmm9        # 62f0 <_sk_callback_sse41+0x1260>
+  .byte  15,88,13,29,21,0,0                  // addps         0x151d(%rip),%xmm1        # 6ae0 <_sk_callback_sse41+0x1454>
+  .byte  68,15,40,13,37,21,0,0               // movaps        0x1525(%rip),%xmm9        # 6af0 <_sk_callback_sse41+0x1464>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
-  .byte  68,15,40,5,37,19,0,0                // movaps        0x1325(%rip),%xmm8        # 6300 <_sk_callback_sse41+0x1270>
+  .byte  68,15,40,5,41,21,0,0                // movaps        0x1529(%rip),%xmm8        # 6b00 <_sk_callback_sse41+0x1474>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,41,19,0,0                // addps         0x1329(%rip),%xmm8        # 6310 <_sk_callback_sse41+0x1280>
+  .byte  68,15,88,5,45,21,0,0                // addps         0x152d(%rip),%xmm8        # 6b10 <_sk_callback_sse41+0x1484>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,45,19,0,0                // addps         0x132d(%rip),%xmm8        # 6320 <_sk_callback_sse41+0x1290>
+  .byte  68,15,88,5,49,21,0,0                // addps         0x1531(%rip),%xmm8        # 6b20 <_sk_callback_sse41+0x1494>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,49,19,0,0                // addps         0x1331(%rip),%xmm8        # 6330 <_sk_callback_sse41+0x12a0>
+  .byte  68,15,88,5,53,21,0,0                // addps         0x1535(%rip),%xmm8        # 6b30 <_sk_callback_sse41+0x14a4>
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27478,17 +29943,17 @@
 FUNCTION(_sk_bicubic_p1y_sse41)
 _sk_bicubic_p1y_sse41:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,43,19,0,0                // movaps        0x132b(%rip),%xmm8        # 6340 <_sk_callback_sse41+0x12b0>
+  .byte  68,15,40,5,47,21,0,0                // movaps        0x152f(%rip),%xmm8        # 6b40 <_sk_callback_sse41+0x14b4>
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,72,96                      // movups        0x60(%rax),%xmm9
   .byte  65,15,88,200                        // addps         %xmm8,%xmm1
-  .byte  68,15,40,21,38,19,0,0               // movaps        0x1326(%rip),%xmm10        # 6350 <_sk_callback_sse41+0x12c0>
+  .byte  68,15,40,21,42,21,0,0               // movaps        0x152a(%rip),%xmm10        # 6b50 <_sk_callback_sse41+0x14c4>
   .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
-  .byte  68,15,88,21,42,19,0,0               // addps         0x132a(%rip),%xmm10        # 6360 <_sk_callback_sse41+0x12d0>
+  .byte  68,15,88,21,46,21,0,0               // addps         0x152e(%rip),%xmm10        # 6b60 <_sk_callback_sse41+0x14d4>
   .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,38,19,0,0               // addps         0x1326(%rip),%xmm10        # 6370 <_sk_callback_sse41+0x12e0>
+  .byte  68,15,88,21,42,21,0,0               // addps         0x152a(%rip),%xmm10        # 6b70 <_sk_callback_sse41+0x14e4>
   .byte  68,15,17,144,160,0,0,0              // movups        %xmm10,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -27500,11 +29965,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,24,19,0,0                  // addps         0x1318(%rip),%xmm1        # 6380 <_sk_callback_sse41+0x12f0>
+  .byte  15,88,13,28,21,0,0                  // addps         0x151c(%rip),%xmm1        # 6b80 <_sk_callback_sse41+0x14f4>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
-  .byte  68,15,89,5,24,19,0,0                // mulps         0x1318(%rip),%xmm8        # 6390 <_sk_callback_sse41+0x1300>
-  .byte  68,15,88,5,32,19,0,0                // addps         0x1320(%rip),%xmm8        # 63a0 <_sk_callback_sse41+0x1310>
+  .byte  68,15,89,5,28,21,0,0                // mulps         0x151c(%rip),%xmm8        # 6b90 <_sk_callback_sse41+0x1504>
+  .byte  68,15,88,5,36,21,0,0                // addps         0x1524(%rip),%xmm8        # 6ba0 <_sk_callback_sse41+0x1514>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -27734,11 +30199,11 @@
   .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%rdi)
   .byte  0,224                               // add           %ah,%al
   .byte  64,0,0                              // add           %al,(%rax)
-  .byte  224,64                              // loopne        5368 <.literal16+0x1d8>
+  .byte  224,64                              // loopne        5958 <.literal16+0x1d8>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,64                              // loopne        536c <.literal16+0x1dc>
+  .byte  224,64                              // loopne        595c <.literal16+0x1dc>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,64                              // loopne        5370 <.literal16+0x1e0>
+  .byte  224,64                              // loopne        5960 <.literal16+0x1e0>
   .byte  154                                 // (bad)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
@@ -27758,13 +30223,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5391 <.literal16+0x201>
+  .byte  71,225,61                           // rex.RXB       loope 5981 <.literal16+0x201>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5395 <.literal16+0x205>
+  .byte  71,225,61                           // rex.RXB       loope 5985 <.literal16+0x205>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5399 <.literal16+0x209>
+  .byte  71,225,61                           // rex.RXB       loope 5989 <.literal16+0x209>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 539d <.literal16+0x20d>
+  .byte  71,225,61                           // rex.RXB       loope 598d <.literal16+0x20d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -27789,13 +30254,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 53d1 <.literal16+0x241>
+  .byte  71,225,61                           // rex.RXB       loope 59c1 <.literal16+0x241>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 53d5 <.literal16+0x245>
+  .byte  71,225,61                           // rex.RXB       loope 59c5 <.literal16+0x245>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 53d9 <.literal16+0x249>
+  .byte  71,225,61                           // rex.RXB       loope 59c9 <.literal16+0x249>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 53dd <.literal16+0x24d>
+  .byte  71,225,61                           // rex.RXB       loope 59cd <.literal16+0x24d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -27820,13 +30285,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5411 <.literal16+0x281>
+  .byte  71,225,61                           // rex.RXB       loope 5a01 <.literal16+0x281>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5415 <.literal16+0x285>
+  .byte  71,225,61                           // rex.RXB       loope 5a05 <.literal16+0x285>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5419 <.literal16+0x289>
+  .byte  71,225,61                           // rex.RXB       loope 5a09 <.literal16+0x289>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 541d <.literal16+0x28d>
+  .byte  71,225,61                           // rex.RXB       loope 5a0d <.literal16+0x28d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -27851,13 +30316,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5451 <.literal16+0x2c1>
+  .byte  71,225,61                           // rex.RXB       loope 5a41 <.literal16+0x2c1>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5455 <.literal16+0x2c5>
+  .byte  71,225,61                           // rex.RXB       loope 5a45 <.literal16+0x2c5>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5459 <.literal16+0x2c9>
+  .byte  71,225,61                           // rex.RXB       loope 5a49 <.literal16+0x2c9>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 545d <.literal16+0x2cd>
+  .byte  71,225,61                           // rex.RXB       loope 5a4d <.literal16+0x2cd>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -27874,10 +30339,10 @@
   .byte  0,1                                 // add           %al,(%rcx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005448 <_sk_callback_sse41+0xa0003b8>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005a38 <_sk_callback_sse41+0xa0003ac>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005450 <_sk_callback_sse41+0x30003c0>
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005a40 <_sk_callback_sse41+0x30003b4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -27896,11 +30361,11 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
   .byte  67,0,0                              // rex.XB        add %al,(%r8)
-  .byte  127,67                              // jg            54bb <.literal16+0x32b>
+  .byte  127,67                              // jg            5aab <.literal16+0x32b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            54bf <.literal16+0x32f>
+  .byte  127,67                              // jg            5aaf <.literal16+0x32f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            54c3 <.literal16+0x333>
+  .byte  127,67                              // jg            5ab3 <.literal16+0x333>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -27917,6 +30382,53 @@
   .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,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,145                          // cmpb          $0x91,(%rdi)
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
+  .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,92                               // ds            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  145                                 // xchg          %eax,%ecx
   .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
   .byte  145                                 // xchg          %eax,%ecx
@@ -28135,13 +30647,13 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        5699 <.literal16+0x509>
+  .byte  224,7                               // loopne        5ce9 <.literal16+0x569>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        569d <.literal16+0x50d>
+  .byte  224,7                               // loopne        5ced <.literal16+0x56d>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        56a1 <.literal16+0x511>
+  .byte  224,7                               // loopne        5cf1 <.literal16+0x571>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        56a5 <.literal16+0x515>
+  .byte  224,7                               // loopne        5cf5 <.literal16+0x575>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -28175,10 +30687,10 @@
   .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)        # a0056e8 <_sk_callback_sse41+0xa000658>
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005d38 <_sk_callback_sse41+0xa0006ac>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 30056f0 <_sk_callback_sse41+0x3000660>
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005d40 <_sk_callback_sse41+0x30006b4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -28233,11 +30745,11 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            57bb <.literal16+0x62b>
+  .byte  127,67                              // jg            5e0b <.literal16+0x68b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            57bf <.literal16+0x62f>
+  .byte  127,67                              // jg            5e0f <.literal16+0x68f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            57c3 <.literal16+0x633>
+  .byte  127,67                              // jg            5e13 <.literal16+0x693>
   .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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
@@ -28252,16 +30764,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            57b4 <.literal16+0x624>
+  .byte  127,0                               // jg            5e04 <.literal16+0x684>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            57b8 <.literal16+0x628>
+  .byte  127,0                               // jg            5e08 <.literal16+0x688>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            57bc <.literal16+0x62c>
+  .byte  127,0                               // jg            5e0c <.literal16+0x68c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            57c0 <.literal16+0x630>
+  .byte  127,0                               // jg            5e10 <.literal16+0x690>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -28270,7 +30782,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5845 <.literal16+0x6b5>
+  .byte  119,115                             // ja            5e95 <.literal16+0x715>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -28281,7 +30793,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           57a9 <.literal16+0x619>
+  .byte  117,191                             // jne           5df9 <.literal16+0x679>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -28293,7 +30805,7 @@
   .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          ffffffffe9a397ea <_sk_callback_sse41+0xffffffffe9a3475a>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a39e3a <_sk_callback_sse41+0xffffffffe9a347ae>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  81                                  // push          %rcx
   .byte  140,242                             // mov           %?,%edx
@@ -28348,16 +30860,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5884 <.literal16+0x6f4>
+  .byte  127,0                               // jg            5ed4 <.literal16+0x754>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5888 <.literal16+0x6f8>
+  .byte  127,0                               // jg            5ed8 <.literal16+0x758>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            588c <.literal16+0x6fc>
+  .byte  127,0                               // jg            5edc <.literal16+0x75c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5890 <.literal16+0x700>
+  .byte  127,0                               // jg            5ee0 <.literal16+0x760>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -28366,7 +30878,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5915 <.literal16+0x785>
+  .byte  119,115                             // ja            5f65 <.literal16+0x7e5>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -28377,7 +30889,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5879 <.literal16+0x6e9>
+  .byte  117,191                             // jne           5ec9 <.literal16+0x749>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -28389,7 +30901,7 @@
   .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          ffffffffe9a398ba <_sk_callback_sse41+0xffffffffe9a3482a>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a39f0a <_sk_callback_sse41+0xffffffffe9a3487e>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  81                                  // push          %rcx
   .byte  140,242                             // mov           %?,%edx
@@ -28444,16 +30956,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5954 <.literal16+0x7c4>
+  .byte  127,0                               // jg            5fa4 <.literal16+0x824>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5958 <.literal16+0x7c8>
+  .byte  127,0                               // jg            5fa8 <.literal16+0x828>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            595c <.literal16+0x7cc>
+  .byte  127,0                               // jg            5fac <.literal16+0x82c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5960 <.literal16+0x7d0>
+  .byte  127,0                               // jg            5fb0 <.literal16+0x830>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -28462,7 +30974,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            59e5 <.literal16+0x855>
+  .byte  119,115                             // ja            6035 <.literal16+0x8b5>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -28473,7 +30985,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5949 <.literal16+0x7b9>
+  .byte  117,191                             // jne           5f99 <.literal16+0x819>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -28485,7 +30997,7 @@
   .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          ffffffffe9a3998a <_sk_callback_sse41+0xffffffffe9a348fa>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a39fda <_sk_callback_sse41+0xffffffffe9a3494e>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  81                                  // push          %rcx
   .byte  140,242                             // mov           %?,%edx
@@ -28540,16 +31052,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5a24 <.literal16+0x894>
+  .byte  127,0                               // jg            6074 <.literal16+0x8f4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5a28 <.literal16+0x898>
+  .byte  127,0                               // jg            6078 <.literal16+0x8f8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5a2c <.literal16+0x89c>
+  .byte  127,0                               // jg            607c <.literal16+0x8fc>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5a30 <.literal16+0x8a0>
+  .byte  127,0                               // jg            6080 <.literal16+0x900>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -28558,7 +31070,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5ab5 <.literal16+0x925>
+  .byte  119,115                             // ja            6105 <.literal16+0x985>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -28569,7 +31081,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5a19 <.literal16+0x889>
+  .byte  117,191                             // jne           6069 <.literal16+0x8e9>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -28581,7 +31093,7 @@
   .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          ffffffffe9a39a5a <_sk_callback_sse41+0xffffffffe9a349ca>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a0aa <_sk_callback_sse41+0xffffffffe9a34a1e>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  81                                  // push          %rcx
   .byte  140,242                             // mov           %?,%edx
@@ -28632,13 +31144,13 @@
   .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  127,67                              // jg            5b37 <.literal16+0x9a7>
+  .byte  127,67                              // jg            6187 <.literal16+0xa07>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5b3b <.literal16+0x9ab>
+  .byte  127,67                              // jg            618b <.literal16+0xa0b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5b3f <.literal16+0x9af>
+  .byte  127,67                              // jg            618f <.literal16+0xa0f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5b43 <.literal16+0x9b3>
+  .byte  127,67                              // jg            6193 <.literal16+0xa13>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,195                               // add           %al,%bl
   .byte  0,0                                 // add           %al,(%rax)
@@ -28685,16 +31197,16 @@
   .byte  128,3,62                            // addb          $0x3e,(%rbx)
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           5bc3 <.literal16+0xa33>
+  .byte  118,63                              // jbe           6213 <.literal16+0xa93>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           5bc7 <.literal16+0xa37>
+  .byte  118,63                              // jbe           6217 <.literal16+0xa97>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           5bcb <.literal16+0xa3b>
+  .byte  118,63                              // jbe           621b <.literal16+0xa9b>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           5bcf <.literal16+0xa3f>
+  .byte  118,63                              // jbe           621f <.literal16+0xa9f>
   .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)
@@ -28709,16 +31221,25 @@
   .byte  0,0                                 // add           %al,(%rax)
   .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,255,0,0,0                // addb          $0x0,0xff3b(%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  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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
   .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
   .byte  128,59,0                            // cmpb          $0x0,(%rbx)
   .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c1b <.literal16+0xa8b>
+  .byte  127,67                              // jg            628b <.literal16+0xb0b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c1f <.literal16+0xa8f>
+  .byte  127,67                              // jg            628f <.literal16+0xb0f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c23 <.literal16+0xa93>
+  .byte  127,67                              // jg            6293 <.literal16+0xb13>
   .byte  0,4,0                               // add           %al,(%rax,%rax,1)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -28740,6 +31261,21 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
   .byte  63                                  // (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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
+  .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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
@@ -28761,7 +31297,7 @@
   .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005c70 <_sk_callback_sse41+0x3000be0>
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006310 <_sk_callback_sse41+0x3000c84>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -28790,13 +31326,13 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        5ca9 <.literal16+0xb19>
+  .byte  224,7                               // loopne        6349 <.literal16+0xbc9>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5cad <.literal16+0xb1d>
+  .byte  224,7                               // loopne        634d <.literal16+0xbcd>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5cb1 <.literal16+0xb21>
+  .byte  224,7                               // loopne        6351 <.literal16+0xbd1>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5cb5 <.literal16+0xb25>
+  .byte  224,7                               // loopne        6355 <.literal16+0xbd5>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -28842,13 +31378,65 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        5d19 <.literal16+0xb89>
+  .byte  224,7                               // loopne        63b9 <.literal16+0xc39>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5d1d <.literal16+0xb8d>
+  .byte  224,7                               // loopne        63bd <.literal16+0xc3d>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5d21 <.literal16+0xb91>
+  .byte  224,7                               // loopne        63c1 <.literal16+0xc41>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5d25 <.literal16+0xb95>
+  .byte  224,7                               // loopne        63c5 <.literal16+0xc45>
+  .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  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,0                            // cmpb          $0x0,(%rdi)
+  .byte  248                                 // clc
+  .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  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        6429 <.literal16+0xca9>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        642d <.literal16+0xcad>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        6431 <.literal16+0xcb1>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        6435 <.literal16+0xcb5>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -28886,13 +31474,57 @@
   .byte  65,0,0                              // add           %al,(%r8)
   .byte  248                                 // clc
   .byte  65,0,0                              // add           %al,(%r8)
-  .byte  124,66                              // jl            5db6 <.literal16+0xc26>
+  .byte  124,66                              // jl            64c6 <.literal16+0xd46>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            5dba <.literal16+0xc2a>
+  .byte  124,66                              // jl            64ca <.literal16+0xd4a>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            5dbe <.literal16+0xc2e>
+  .byte  124,66                              // jl            64ce <.literal16+0xd4e>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            5dc2 <.literal16+0xc32>
+  .byte  124,66                              // jl            64d2 <.literal16+0xd52>
+  .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,240                               // add           %dh,%al
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,240                               // add           %dh,%al
@@ -28982,13 +31614,13 @@
   .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            5ec5 <.literal16+0xd35>
+  .byte  112,65                              // jo            6655 <.literal16+0xed5>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            5ec9 <.literal16+0xd39>
+  .byte  112,65                              // jo            6659 <.literal16+0xed9>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            5ecd <.literal16+0xd3d>
+  .byte  112,65                              // jo            665d <.literal16+0xedd>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            5ed1 <.literal16+0xd41>
+  .byte  112,65                              // jo            6661 <.literal16+0xee1>
   .byte  255,0                               // incl          (%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  255,0                               // incl          (%rax)
@@ -29003,7 +31635,7 @@
   .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005ec0 <_sk_callback_sse41+0x3000e30>
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006650 <_sk_callback_sse41+0x3000fc4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -29030,7 +31662,34 @@
   .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005f00 <_sk_callback_sse41+0x3000e70>
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006690 <_sk_callback_sse41+0x3001004>
+  .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                                 // (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  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,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
+  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 30066d0 <_sk_callback_sse41+0x3001044>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,6                               // incl          (%rsi)
@@ -29045,11 +31704,11 @@
   .byte  255,0                               // incl          (%rax)
   .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5f5b <.literal16+0xdcb>
+  .byte  127,67                              // jg            672b <.literal16+0xfab>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5f5f <.literal16+0xdcf>
+  .byte  127,67                              // jg            672f <.literal16+0xfaf>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5f63 <.literal16+0xdd3>
+  .byte  127,67                              // jg            6733 <.literal16+0xfb3>
   .byte  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)
@@ -29089,6 +31748,25 @@
   .byte  56,0                                // cmp           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  56,0                                // cmp           %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,0,0,0,4                       // add           %al,0x4000000(%rax)
+  .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  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)
@@ -29125,13 +31803,13 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  255                                 // (bad)
-  .byte  127,71                              // jg            602b <.literal16+0xe9b>
+  .byte  127,71                              // jg            682b <.literal16+0x10ab>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            602f <.literal16+0xe9f>
+  .byte  127,71                              // jg            682f <.literal16+0x10af>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            6033 <.literal16+0xea3>
+  .byte  127,71                              // jg            6833 <.literal16+0x10b3>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            6037 <.literal16+0xea7>
+  .byte  127,71                              // jg            6837 <.literal16+0x10b7>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -29177,10 +31855,10 @@
   .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
   .byte  152                                 // cwtl
   .byte  221,147,61,45,16,17                 // fstl          0x11102d3d(%rbx)
-  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc0716a <_sk_callback_sse41+0x2dc020da>
+  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc0796a <_sk_callback_sse41+0x2dc022de>
   .byte  17,192                              // adc           %eax,%eax
   .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
-  .byte  120,57                              // js            609c <.literal16+0xf0c>
+  .byte  120,57                              // js            689c <.literal16+0x111c>
   .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
@@ -29302,11 +31980,11 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,114                          // cmpb          $0x72,(%rdi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         61d2 <.literal16+0x1042>
+  .byte  62,114,28                           // jb,pt         69d2 <.literal16+0x1252>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         61d6 <.literal16+0x1046>
+  .byte  62,114,28                           // jb,pt         69d6 <.literal16+0x1256>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         61da <.literal16+0x104a>
+  .byte  62,114,28                           // jb,pt         69da <.literal16+0x125a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -29350,7 +32028,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
-  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f065 <_sk_callback_sse41+0x3d639fd5>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f865 <_sk_callback_sse41+0x3d63a1d9>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -29376,7 +32054,7 @@
   .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        # 3d63f0a5 <_sk_callback_sse41+0x3d63a015>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f8a5 <_sk_callback_sse41+0x3d63a219>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
@@ -29385,13 +32063,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // (bad)
-  .byte  114,28                              // jb            629e <.literal16+0x110e>
+  .byte  114,28                              // jb            6a9e <.literal16+0x131e>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         62a2 <.literal16+0x1112>
+  .byte  62,114,28                           // jb,pt         6aa2 <.literal16+0x1322>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         62a6 <.literal16+0x1116>
+  .byte  62,114,28                           // jb,pt         6aa6 <.literal16+0x1326>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         62aa <.literal16+0x111a>
+  .byte  62,114,28                           // jb,pt         6aaa <.literal16+0x132a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -29412,11 +32090,11 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,114                          // cmpb          $0x72,(%rdi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         62e2 <.literal16+0x1152>
+  .byte  62,114,28                           // jb,pt         6ae2 <.literal16+0x1362>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         62e6 <.literal16+0x1156>
+  .byte  62,114,28                           // jb,pt         6ae6 <.literal16+0x1366>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         62ea <.literal16+0x115a>
+  .byte  62,114,28                           // jb,pt         6aea <.literal16+0x136a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -29460,7 +32138,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
-  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f175 <_sk_callback_sse41+0x3d63a0e5>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f975 <_sk_callback_sse41+0x3d63a2e9>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -29486,7 +32164,7 @@
   .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        # 3d63f1b5 <_sk_callback_sse41+0x3d63a125>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f9b5 <_sk_callback_sse41+0x3d63a329>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
@@ -29495,13 +32173,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // (bad)
-  .byte  114,28                              // jb            63ae <.literal16+0x121e>
+  .byte  114,28                              // jb            6bae <.literal16+0x142e>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         63b2 <_sk_callback_sse41+0x1322>
+  .byte  62,114,28                           // jb,pt         6bb2 <_sk_callback_sse41+0x1526>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         63b6 <_sk_callback_sse41+0x1326>
+  .byte  62,114,28                           // jb,pt         6bb6 <_sk_callback_sse41+0x152a>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         63ba <_sk_callback_sse41+0x132a>
+  .byte  62,114,28                           // jb,pt         6bba <_sk_callback_sse41+0x152e>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -29593,7 +32271,7 @@
   .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,40,21,159,85,0,0                 // movaps        0x559f(%rip),%xmm2        # 5640 <_sk_callback_sse2+0xfd>
+  .byte  15,40,21,207,91,0,0                 // movaps        0x5bcf(%rip),%xmm2        # 5c70 <_sk_callback_sse2+0xf5>
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  15,16,7                             // movups        (%rdi),%xmm0
   .byte  15,88,193                           // addps         %xmm1,%xmm0
@@ -29602,7 +32280,7 @@
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,21,142,85,0,0                 // movaps        0x558e(%rip),%xmm2        # 5650 <_sk_callback_sse2+0x10d>
+  .byte  15,40,21,190,91,0,0                 // movaps        0x5bbe(%rip),%xmm2        # 5c80 <_sk_callback_sse2+0x105>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  15,87,228                           // xorps         %xmm4,%xmm4
   .byte  15,87,237                           // xorps         %xmm5,%xmm5
@@ -29622,14 +32300,14 @@
   .byte  102,68,15,110,193                   // movd          %ecx,%xmm8
   .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
   .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
-  .byte  102,68,15,111,21,92,85,0,0          // movdqa        0x555c(%rip),%xmm10        # 5660 <_sk_callback_sse2+0x11d>
+  .byte  102,68,15,111,21,140,91,0,0         // movdqa        0x5b8c(%rip),%xmm10        # 5c90 <_sk_callback_sse2+0x115>
   .byte  102,69,15,111,216                   // movdqa        %xmm8,%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,209                   // pand          %xmm9,%xmm10
   .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
-  .byte  102,68,15,111,37,72,85,0,0          // movdqa        0x5548(%rip),%xmm12        # 5670 <_sk_callback_sse2+0x12d>
-  .byte  102,68,15,111,45,79,85,0,0          // movdqa        0x554f(%rip),%xmm13        # 5680 <_sk_callback_sse2+0x13d>
+  .byte  102,68,15,111,37,120,91,0,0         // movdqa        0x5b78(%rip),%xmm12        # 5ca0 <_sk_callback_sse2+0x125>
+  .byte  102,68,15,111,45,127,91,0,0         // movdqa        0x5b7f(%rip),%xmm13        # 5cb0 <_sk_callback_sse2+0x135>
   .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
   .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
   .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
@@ -29645,8 +32323,8 @@
   .byte  102,69,15,235,245                   // por           %xmm13,%xmm14
   .byte  102,69,15,235,240                   // por           %xmm8,%xmm14
   .byte  69,15,91,198                        // cvtdq2ps      %xmm14,%xmm8
-  .byte  68,15,89,5,10,85,0,0                // mulps         0x550a(%rip),%xmm8        # 5690 <_sk_callback_sse2+0x14d>
-  .byte  68,15,88,5,18,85,0,0                // addps         0x5512(%rip),%xmm8        # 56a0 <_sk_callback_sse2+0x15d>
+  .byte  68,15,89,5,58,91,0,0                // mulps         0x5b3a(%rip),%xmm8        # 5cc0 <_sk_callback_sse2+0x145>
+  .byte  68,15,88,5,66,91,0,0                // addps         0x5b42(%rip),%xmm8        # 5cd0 <_sk_callback_sse2+0x155>
   .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
@@ -29723,7 +32401,7 @@
 FUNCTION(_sk_srcatop_sse2)
 _sk_srcatop_sse2:
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
-  .byte  68,15,40,5,108,84,0,0               // movaps        0x546c(%rip),%xmm8        # 56b0 <_sk_callback_sse2+0x16d>
+  .byte  68,15,40,5,156,90,0,0               // movaps        0x5a9c(%rip),%xmm8        # 5ce0 <_sk_callback_sse2+0x165>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -29748,7 +32426,7 @@
 _sk_dstatop_sse2:
   .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
   .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
-  .byte  68,15,40,13,47,84,0,0               // movaps        0x542f(%rip),%xmm9        # 56c0 <_sk_callback_sse2+0x17d>
+  .byte  68,15,40,13,95,90,0,0               // movaps        0x5a5f(%rip),%xmm9        # 5cf0 <_sk_callback_sse2+0x175>
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
@@ -29795,7 +32473,7 @@
 .globl _sk_srcout_sse2
 FUNCTION(_sk_srcout_sse2)
 _sk_srcout_sse2:
-  .byte  68,15,40,5,211,83,0,0               // movaps        0x53d3(%rip),%xmm8        # 56d0 <_sk_callback_sse2+0x18d>
+  .byte  68,15,40,5,3,90,0,0                 // movaps        0x5a03(%rip),%xmm8        # 5d00 <_sk_callback_sse2+0x185>
   .byte  68,15,92,199                        // subps         %xmm7,%xmm8
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
@@ -29808,7 +32486,7 @@
 .globl _sk_dstout_sse2
 FUNCTION(_sk_dstout_sse2)
 _sk_dstout_sse2:
-  .byte  68,15,40,5,195,83,0,0               // movaps        0x53c3(%rip),%xmm8        # 56e0 <_sk_callback_sse2+0x19d>
+  .byte  68,15,40,5,243,89,0,0               // movaps        0x59f3(%rip),%xmm8        # 5d10 <_sk_callback_sse2+0x195>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
@@ -29825,7 +32503,7 @@
 .globl _sk_srcover_sse2
 FUNCTION(_sk_srcover_sse2)
 _sk_srcover_sse2:
-  .byte  68,15,40,5,166,83,0,0               // movaps        0x53a6(%rip),%xmm8        # 56f0 <_sk_callback_sse2+0x1ad>
+  .byte  68,15,40,5,214,89,0,0               // movaps        0x59d6(%rip),%xmm8        # 5d20 <_sk_callback_sse2+0x1a5>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -29845,7 +32523,7 @@
 .globl _sk_dstover_sse2
 FUNCTION(_sk_dstover_sse2)
 _sk_dstover_sse2:
-  .byte  68,15,40,5,122,83,0,0               // movaps        0x537a(%rip),%xmm8        # 5700 <_sk_callback_sse2+0x1bd>
+  .byte  68,15,40,5,170,89,0,0               // movaps        0x59aa(%rip),%xmm8        # 5d30 <_sk_callback_sse2+0x1b5>
   .byte  68,15,92,199                        // subps         %xmm7,%xmm8
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -29873,7 +32551,7 @@
 .globl _sk_multiply_sse2
 FUNCTION(_sk_multiply_sse2)
 _sk_multiply_sse2:
-  .byte  68,15,40,5,78,83,0,0                // movaps        0x534e(%rip),%xmm8        # 5710 <_sk_callback_sse2+0x1cd>
+  .byte  68,15,40,5,126,89,0,0               // movaps        0x597e(%rip),%xmm8        # 5d40 <_sk_callback_sse2+0x1c5>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
@@ -29948,7 +32626,7 @@
 FUNCTION(_sk_xor__sse2)
 _sk_xor__sse2:
   .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
-  .byte  15,40,29,131,82,0,0                 // movaps        0x5283(%rip),%xmm3        # 5720 <_sk_callback_sse2+0x1dd>
+  .byte  15,40,29,179,88,0,0                 // movaps        0x58b3(%rip),%xmm3        # 5d50 <_sk_callback_sse2+0x1d5>
   .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
@@ -29996,7 +32674,7 @@
   .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,238,81,0,0                 // movaps        0x51ee(%rip),%xmm2        # 5730 <_sk_callback_sse2+0x1ed>
+  .byte  15,40,21,30,88,0,0                  // movaps        0x581e(%rip),%xmm2        # 5d60 <_sk_callback_sse2+0x1e5>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -30030,7 +32708,7 @@
   .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,147,81,0,0                 // movaps        0x5193(%rip),%xmm2        # 5740 <_sk_callback_sse2+0x1fd>
+  .byte  15,40,21,195,87,0,0                 // movaps        0x57c3(%rip),%xmm2        # 5d70 <_sk_callback_sse2+0x1f5>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -30067,7 +32745,7 @@
   .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,45,81,0,0                  // movaps        0x512d(%rip),%xmm2        # 5750 <_sk_callback_sse2+0x20d>
+  .byte  15,40,21,93,87,0,0                  // movaps        0x575d(%rip),%xmm2        # 5d80 <_sk_callback_sse2+0x205>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -30095,7 +32773,7 @@
   .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,237,80,0,0                 // movaps        0x50ed(%rip),%xmm2        # 5760 <_sk_callback_sse2+0x21d>
+  .byte  15,40,21,29,87,0,0                  // movaps        0x571d(%rip),%xmm2        # 5d90 <_sk_callback_sse2+0x215>
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,89,215                           // mulps         %xmm7,%xmm2
   .byte  15,88,218                           // addps         %xmm2,%xmm3
@@ -30108,7 +32786,7 @@
 FUNCTION(_sk_colorburn_sse2)
 _sk_colorburn_sse2:
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
-  .byte  68,15,40,21,224,80,0,0              // movaps        0x50e0(%rip),%xmm10        # 5770 <_sk_callback_sse2+0x22d>
+  .byte  68,15,40,21,16,87,0,0               // movaps        0x5710(%rip),%xmm10        # 5da0 <_sk_callback_sse2+0x225>
   .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
   .byte  68,15,92,207                        // subps         %xmm7,%xmm9
   .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
@@ -30202,7 +32880,7 @@
 FUNCTION(_sk_colordodge_sse2)
 _sk_colordodge_sse2:
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
-  .byte  68,15,40,21,150,79,0,0              // movaps        0x4f96(%rip),%xmm10        # 5780 <_sk_callback_sse2+0x23d>
+  .byte  68,15,40,21,198,85,0,0              // movaps        0x55c6(%rip),%xmm10        # 5db0 <_sk_callback_sse2+0x235>
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
   .byte  68,15,92,223                        // subps         %xmm7,%xmm11
   .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
@@ -30296,7 +32974,7 @@
   .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,75,78,0,0               // movaps        0x4e4b(%rip),%xmm11        # 5790 <_sk_callback_sse2+0x24d>
+  .byte  68,15,40,29,123,84,0,0              // movaps        0x547b(%rip),%xmm11        # 5dc0 <_sk_callback_sse2+0x245>
   .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
   .byte  68,15,92,215                        // subps         %xmm7,%xmm10
   .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
@@ -30384,7 +33062,7 @@
 _sk_overlay_sse2:
   .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
   .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
-  .byte  68,15,40,13,25,77,0,0               // movaps        0x4d19(%rip),%xmm9        # 57a0 <_sk_callback_sse2+0x25d>
+  .byte  68,15,40,13,73,83,0,0               // movaps        0x5349(%rip),%xmm9        # 5dd0 <_sk_callback_sse2+0x255>
   .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
   .byte  68,15,92,215                        // subps         %xmm7,%xmm10
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
@@ -30475,7 +33153,7 @@
   .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,214,75,0,0              // movaps        0x4bd6(%rip),%xmm9        # 57b0 <_sk_callback_sse2+0x26d>
+  .byte  68,15,40,13,6,82,0,0                // movaps        0x5206(%rip),%xmm9        # 5de0 <_sk_callback_sse2+0x265>
   .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
   .byte  69,15,92,250                        // subps         %xmm10,%xmm15
   .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
@@ -30488,10 +33166,10 @@
   .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,176,75,0,0              // movaps        0x4bb0(%rip),%xmm14        # 57c0 <_sk_callback_sse2+0x27d>
+  .byte  68,15,40,53,224,81,0,0              // movaps        0x51e0(%rip),%xmm14        # 5df0 <_sk_callback_sse2+0x275>
   .byte  69,15,88,222                        // addps         %xmm14,%xmm11
   .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
-  .byte  68,15,40,21,176,75,0,0              // movaps        0x4bb0(%rip),%xmm10        # 57d0 <_sk_callback_sse2+0x28d>
+  .byte  68,15,40,21,224,81,0,0              // movaps        0x51e0(%rip),%xmm10        # 5e00 <_sk_callback_sse2+0x285>
   .byte  69,15,89,234                        // mulps         %xmm10,%xmm13
   .byte  69,15,88,235                        // addps         %xmm11,%xmm13
   .byte  15,88,228                           // addps         %xmm4,%xmm4
@@ -30636,7 +33314,7 @@
   .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,243,73,0,0               // movaps        0x49f3(%rip),%xmm8        # 5810 <_sk_callback_sse2+0x2cd>
+  .byte  68,15,40,5,35,80,0,0                // movaps        0x5023(%rip),%xmm8        # 5e40 <_sk_callback_sse2+0x2c5>
   .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
   .byte  15,40,207                           // movaps        %xmm7,%xmm1
   .byte  68,15,92,217                        // subps         %xmm1,%xmm11
@@ -30684,12 +33362,12 @@
   .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,0,73,0,0                // movaps        0x4900(%rip),%xmm15        # 57e0 <_sk_callback_sse2+0x29d>
+  .byte  68,15,40,61,48,79,0,0               // movaps        0x4f30(%rip),%xmm15        # 5e10 <_sk_callback_sse2+0x295>
   .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
-  .byte  15,40,5,5,73,0,0                    // movaps        0x4905(%rip),%xmm0        # 57f0 <_sk_callback_sse2+0x2ad>
+  .byte  15,40,5,53,79,0,0                   // movaps        0x4f35(%rip),%xmm0        # 5e20 <_sk_callback_sse2+0x2a5>
   .byte  15,89,240                           // mulps         %xmm0,%xmm6
   .byte  15,88,244                           // addps         %xmm4,%xmm6
-  .byte  68,15,40,53,7,73,0,0                // movaps        0x4907(%rip),%xmm14        # 5800 <_sk_callback_sse2+0x2bd>
+  .byte  68,15,40,53,55,79,0,0               // movaps        0x4f37(%rip),%xmm14        # 5e30 <_sk_callback_sse2+0x2b5>
   .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
   .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
   .byte  68,15,88,238                        // addps         %xmm6,%xmm13
@@ -30867,14 +33545,14 @@
   .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,153,70,0,0               // movaps        0x4699(%rip),%xmm8        # 5820 <_sk_callback_sse2+0x2dd>
+  .byte  68,15,40,5,201,76,0,0               // movaps        0x4cc9(%rip),%xmm8        # 5e50 <_sk_callback_sse2+0x2d5>
   .byte  15,40,214                           // movaps        %xmm6,%xmm2
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
-  .byte  15,40,13,155,70,0,0                 // movaps        0x469b(%rip),%xmm1        # 5830 <_sk_callback_sse2+0x2ed>
+  .byte  15,40,13,203,76,0,0                 // movaps        0x4ccb(%rip),%xmm1        # 5e60 <_sk_callback_sse2+0x2e5>
   .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,154,70,0,0              // movaps        0x469a(%rip),%xmm12        # 5840 <_sk_callback_sse2+0x2fd>
+  .byte  68,15,40,37,202,76,0,0              // movaps        0x4cca(%rip),%xmm12        # 5e70 <_sk_callback_sse2+0x2f5>
   .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
   .byte  68,15,88,235                        // addps         %xmm3,%xmm13
   .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
@@ -30919,7 +33597,7 @@
   .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,255,69,0,0               // movaps        0x45ff(%rip),%xmm8        # 5850 <_sk_callback_sse2+0x30d>
+  .byte  68,15,40,5,47,76,0,0                // movaps        0x4c2f(%rip),%xmm8        # 5e80 <_sk_callback_sse2+0x305>
   .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
   .byte  68,15,92,199                        // subps         %xmm7,%xmm8
   .byte  15,88,253                           // addps         %xmm5,%xmm7
@@ -31020,14 +33698,14 @@
   .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,157,68,0,0              // movaps        0x449d(%rip),%xmm13        # 5860 <_sk_callback_sse2+0x31d>
+  .byte  68,15,40,45,205,74,0,0              // movaps        0x4acd(%rip),%xmm13        # 5e90 <_sk_callback_sse2+0x315>
   .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
   .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
-  .byte  68,15,40,53,157,68,0,0              // movaps        0x449d(%rip),%xmm14        # 5870 <_sk_callback_sse2+0x32d>
+  .byte  68,15,40,53,205,74,0,0              // movaps        0x4acd(%rip),%xmm14        # 5ea0 <_sk_callback_sse2+0x325>
   .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,153,68,0,0              // movaps        0x4499(%rip),%xmm11        # 5880 <_sk_callback_sse2+0x33d>
+  .byte  68,15,40,29,201,74,0,0              // movaps        0x4ac9(%rip),%xmm11        # 5eb0 <_sk_callback_sse2+0x335>
   .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
   .byte  68,15,88,224                        // addps         %xmm0,%xmm12
   .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
@@ -31035,7 +33713,7 @@
   .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,133,68,0,0               // movaps        0x4485(%rip),%xmm8        # 5890 <_sk_callback_sse2+0x34d>
+  .byte  68,15,40,5,181,74,0,0               // movaps        0x4ab5(%rip),%xmm8        # 5ec0 <_sk_callback_sse2+0x345>
   .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
   .byte  15,92,226                           // subps         %xmm2,%xmm4
   .byte  15,89,252                           // mulps         %xmm4,%xmm7
@@ -31171,15 +33849,15 @@
   .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,156,66,0,0              // movaps        0x429c(%rip),%xmm12        # 58a0 <_sk_callback_sse2+0x35d>
+  .byte  68,15,40,37,204,72,0,0              // movaps        0x48cc(%rip),%xmm12        # 5ed0 <_sk_callback_sse2+0x355>
   .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
   .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
-  .byte  68,15,40,45,156,66,0,0              // movaps        0x429c(%rip),%xmm13        # 58b0 <_sk_callback_sse2+0x36d>
+  .byte  68,15,40,45,204,72,0,0              // movaps        0x48cc(%rip),%xmm13        # 5ee0 <_sk_callback_sse2+0x365>
   .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,152,66,0,0              // movaps        0x4298(%rip),%xmm11        # 58c0 <_sk_callback_sse2+0x37d>
-  .byte  68,15,40,5,160,66,0,0               // movaps        0x42a0(%rip),%xmm8        # 58d0 <_sk_callback_sse2+0x38d>
+  .byte  68,15,40,29,200,72,0,0              // movaps        0x48c8(%rip),%xmm11        # 5ef0 <_sk_callback_sse2+0x375>
+  .byte  68,15,40,5,208,72,0,0               // movaps        0x48d0(%rip),%xmm8        # 5f00 <_sk_callback_sse2+0x385>
   .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
   .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
   .byte  68,15,92,248                        // subps         %xmm0,%xmm15
@@ -31318,7 +33996,7 @@
   .byte  15,133,227,0,0,0                    // jne           1908 <_sk_srcover_rgba_8888_sse2+0xf1>
   .byte  243,68,15,111,4,144                 // movdqu        (%rax,%rdx,4),%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  102,15,111,53,170,64,0,0            // movdqa        0x40aa(%rip),%xmm6        # 58e0 <_sk_callback_sse2+0x39d>
+  .byte  102,15,111,53,218,70,0,0            // movdqa        0x46da(%rip),%xmm6        # 5f10 <_sk_callback_sse2+0x395>
   .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
   .byte  102,15,219,230                      // pand          %xmm6,%xmm4
   .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
@@ -31332,9 +34010,9 @@
   .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
   .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
   .byte  65,15,91,248                        // cvtdq2ps      %xmm8,%xmm7
-  .byte  68,15,40,5,122,64,0,0               // movaps        0x407a(%rip),%xmm8        # 58f0 <_sk_callback_sse2+0x3ad>
+  .byte  68,15,40,5,170,70,0,0               // movaps        0x46aa(%rip),%xmm8        # 5f20 <_sk_callback_sse2+0x3a5>
   .byte  68,15,92,195                        // subps         %xmm3,%xmm8
-  .byte  68,15,40,37,126,64,0,0              // movaps        0x407e(%rip),%xmm12        # 5900 <_sk_callback_sse2+0x3bd>
+  .byte  68,15,40,37,174,70,0,0              // movaps        0x46ae(%rip),%xmm12        # 5f30 <_sk_callback_sse2+0x3b5>
   .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
@@ -31414,7 +34092,7 @@
 .globl _sk_clamp_1_sse2
 FUNCTION(_sk_clamp_1_sse2)
 _sk_clamp_1_sse2:
-  .byte  68,15,40,5,111,63,0,0               // movaps        0x3f6f(%rip),%xmm8        # 5910 <_sk_callback_sse2+0x3cd>
+  .byte  68,15,40,5,159,69,0,0               // movaps        0x459f(%rip),%xmm8        # 5f40 <_sk_callback_sse2+0x3c5>
   .byte  65,15,93,192                        // minps         %xmm8,%xmm0
   .byte  65,15,93,200                        // minps         %xmm8,%xmm1
   .byte  65,15,93,208                        // minps         %xmm8,%xmm2
@@ -31426,13 +34104,24 @@
 .globl _sk_clamp_a_sse2
 FUNCTION(_sk_clamp_a_sse2)
 _sk_clamp_a_sse2:
-  .byte  15,93,29,100,63,0,0                 // minps         0x3f64(%rip),%xmm3        # 5920 <_sk_callback_sse2+0x3dd>
+  .byte  15,93,29,148,69,0,0                 // minps         0x4594(%rip),%xmm3        # 5f50 <_sk_callback_sse2+0x3d5>
   .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,144,69,0,0                 // minps         0x4590(%rip),%xmm7        # 5f60 <_sk_callback_sse2+0x3e5>
+  .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)
@@ -31457,6 +34146,16 @@
   .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_sse2
+.globl _sk_swap_rb_dst_sse2
+FUNCTION(_sk_swap_rb_dst_sse2)
+_sk_swap_rb_dst_sse2:
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_sse2
 .globl _sk_swap_sse2
 FUNCTION(_sk_swap_sse2)
@@ -31513,7 +34212,7 @@
 FUNCTION(_sk_unpremul_sse2)
 _sk_unpremul_sse2:
   .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
-  .byte  68,15,40,13,207,62,0,0              // movaps        0x3ecf(%rip),%xmm9        # 5930 <_sk_callback_sse2+0x3ed>
+  .byte  68,15,40,13,236,68,0,0              // movaps        0x44ec(%rip),%xmm9        # 5f70 <_sk_callback_sse2+0x3f5>
   .byte  68,15,94,203                        // divps         %xmm3,%xmm9
   .byte  68,15,194,195,4                     // cmpneqps      %xmm3,%xmm8
   .byte  69,15,84,193                        // andps         %xmm9,%xmm8
@@ -31527,20 +34226,20 @@
 .globl _sk_from_srgb_sse2
 FUNCTION(_sk_from_srgb_sse2)
 _sk_from_srgb_sse2:
-  .byte  68,15,40,5,186,62,0,0               // movaps        0x3eba(%rip),%xmm8        # 5940 <_sk_callback_sse2+0x3fd>
+  .byte  68,15,40,5,215,68,0,0               // movaps        0x44d7(%rip),%xmm8        # 5f80 <_sk_callback_sse2+0x405>
   .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,178,62,0,0              // movaps        0x3eb2(%rip),%xmm9        # 5950 <_sk_callback_sse2+0x40d>
+  .byte  68,15,40,13,207,68,0,0              // movaps        0x44cf(%rip),%xmm9        # 5f90 <_sk_callback_sse2+0x415>
   .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
   .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
-  .byte  68,15,40,21,178,62,0,0              // movaps        0x3eb2(%rip),%xmm10        # 5960 <_sk_callback_sse2+0x41d>
+  .byte  68,15,40,21,207,68,0,0              // movaps        0x44cf(%rip),%xmm10        # 5fa0 <_sk_callback_sse2+0x425>
   .byte  69,15,88,242                        // addps         %xmm10,%xmm14
   .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
-  .byte  68,15,40,29,178,62,0,0              // movaps        0x3eb2(%rip),%xmm11        # 5970 <_sk_callback_sse2+0x42d>
+  .byte  68,15,40,29,207,68,0,0              // movaps        0x44cf(%rip),%xmm11        # 5fb0 <_sk_callback_sse2+0x435>
   .byte  69,15,88,243                        // addps         %xmm11,%xmm14
-  .byte  68,15,40,37,182,62,0,0              // movaps        0x3eb6(%rip),%xmm12        # 5980 <_sk_callback_sse2+0x43d>
+  .byte  68,15,40,37,211,68,0,0              // movaps        0x44d3(%rip),%xmm12        # 5fc0 <_sk_callback_sse2+0x445>
   .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
@@ -31572,27 +34271,76 @@
   .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,100,68,0,0               // movaps        0x4464(%rip),%xmm8        # 5fd0 <_sk_callback_sse2+0x455>
+  .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,92,68,0,0               // movaps        0x445c(%rip),%xmm9        # 5fe0 <_sk_callback_sse2+0x465>
+  .byte  68,15,40,244                        // movaps        %xmm4,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  68,15,40,21,92,68,0,0               // movaps        0x445c(%rip),%xmm10        # 5ff0 <_sk_callback_sse2+0x475>
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
+  .byte  68,15,40,29,92,68,0,0               // movaps        0x445c(%rip),%xmm11        # 6000 <_sk_callback_sse2+0x485>
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,40,37,96,68,0,0               // movaps        0x4460(%rip),%xmm12        # 6010 <_sk_callback_sse2+0x495>
+  .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,67,62,0,0                // movaps        0x3e43(%rip),%xmm8        # 5990 <_sk_callback_sse2+0x44d>
+  .byte  68,15,40,5,237,67,0,0               // movaps        0x43ed(%rip),%xmm8        # 6020 <_sk_callback_sse2+0x4a5>
   .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
   .byte  69,15,89,240                        // mulps         %xmm8,%xmm14
-  .byte  68,15,40,13,67,62,0,0               // movaps        0x3e43(%rip),%xmm9        # 59a0 <_sk_callback_sse2+0x45d>
+  .byte  68,15,40,13,237,67,0,0              // movaps        0x43ed(%rip),%xmm9        # 6030 <_sk_callback_sse2+0x4b5>
   .byte  69,15,40,253                        // movaps        %xmm13,%xmm15
   .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
-  .byte  68,15,40,21,67,62,0,0               // movaps        0x3e43(%rip),%xmm10        # 59b0 <_sk_callback_sse2+0x46d>
+  .byte  68,15,40,21,237,67,0,0              // movaps        0x43ed(%rip),%xmm10        # 6040 <_sk_callback_sse2+0x4c5>
   .byte  69,15,88,250                        // addps         %xmm10,%xmm15
   .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
-  .byte  68,15,40,29,67,62,0,0               // movaps        0x3e43(%rip),%xmm11        # 59c0 <_sk_callback_sse2+0x47d>
+  .byte  68,15,40,29,237,67,0,0              // movaps        0x43ed(%rip),%xmm11        # 6050 <_sk_callback_sse2+0x4d5>
   .byte  69,15,88,251                        // addps         %xmm11,%xmm15
-  .byte  68,15,40,37,71,62,0,0               // movaps        0x3e47(%rip),%xmm12        # 59d0 <_sk_callback_sse2+0x48d>
+  .byte  68,15,40,37,241,67,0,0              // movaps        0x43f1(%rip),%xmm12        # 6060 <_sk_callback_sse2+0x4e5>
   .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,67,62,0,0               // movaps        0x3e43(%rip),%xmm15        # 59e0 <_sk_callback_sse2+0x49d>
+  .byte  68,15,40,61,237,67,0,0              // movaps        0x43ed(%rip),%xmm15        # 6070 <_sk_callback_sse2+0x4f5>
   .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
@@ -31642,7 +34390,7 @@
   .byte  68,15,93,218                        // minps         %xmm2,%xmm11
   .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
   .byte  65,15,92,203                        // subps         %xmm11,%xmm1
-  .byte  68,15,40,45,156,61,0,0              // movaps        0x3d9c(%rip),%xmm13        # 59f0 <_sk_callback_sse2+0x4ad>
+  .byte  68,15,40,45,70,67,0,0               // movaps        0x4346(%rip),%xmm13        # 6080 <_sk_callback_sse2+0x505>
   .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
@@ -31651,30 +34399,30 @@
   .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,130,61,0,0              // andps         0x3d82(%rip),%xmm14        # 5a00 <_sk_callback_sse2+0x4bd>
+  .byte  68,15,84,53,44,67,0,0               // andps         0x432c(%rip),%xmm14        # 6090 <_sk_callback_sse2+0x515>
   .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,117,61,0,0              // movaps        0x3d75(%rip),%xmm12        # 5a10 <_sk_callback_sse2+0x4cd>
+  .byte  68,15,40,37,31,67,0,0               // movaps        0x431f(%rip),%xmm12        # 60a0 <_sk_callback_sse2+0x525>
   .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,113,61,0,0               // addps         0x3d71(%rip),%xmm8        # 5a20 <_sk_callback_sse2+0x4dd>
+  .byte  68,15,88,5,27,67,0,0                // addps         0x431b(%rip),%xmm8        # 60b0 <_sk_callback_sse2+0x535>
   .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,98,61,0,0                   // mulps         0x3d62(%rip),%xmm0        # 5a30 <_sk_callback_sse2+0x4ed>
+  .byte  15,89,5,12,67,0,0                   // mulps         0x430c(%rip),%xmm0        # 60c0 <_sk_callback_sse2+0x545>
   .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,85,61,0,0               // movaps        0x3d55(%rip),%xmm9        # 5a40 <_sk_callback_sse2+0x4fd>
+  .byte  68,15,40,13,255,66,0,0              // movaps        0x42ff(%rip),%xmm9        # 60d0 <_sk_callback_sse2+0x555>
   .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
@@ -31698,7 +34446,7 @@
   .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,20,61,0,0               // movaps        0x3d14(%rip),%xmm9        # 5a50 <_sk_callback_sse2+0x50d>
+  .byte  68,15,40,13,190,66,0,0              // movaps        0x42be(%rip),%xmm9        # 60e0 <_sk_callback_sse2+0x565>
   .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
   .byte  69,15,194,211,2                     // cmpleps       %xmm11,%xmm10
   .byte  15,40,193                           // movaps        %xmm1,%xmm0
@@ -31715,28 +34463,28 @@
   .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,221,60,0,0                  // movaps        0x3cdd(%rip),%xmm0        # 5a60 <_sk_callback_sse2+0x51d>
+  .byte  15,40,5,135,66,0,0                  // movaps        0x4287(%rip),%xmm0        # 60f0 <_sk_callback_sse2+0x575>
   .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,213,60,0,0                 // andps         0x3cd5(%rip),%xmm3        # 5a70 <_sk_callback_sse2+0x52d>
+  .byte  15,84,29,127,66,0,0                 // andps         0x427f(%rip),%xmm3        # 6100 <_sk_callback_sse2+0x585>
   .byte  15,92,203                           // subps         %xmm3,%xmm1
   .byte  15,92,193                           // subps         %xmm1,%xmm0
-  .byte  68,15,40,45,215,60,0,0              // movaps        0x3cd7(%rip),%xmm13        # 5a80 <_sk_callback_sse2+0x53d>
+  .byte  68,15,40,45,129,66,0,0              // movaps        0x4281(%rip),%xmm13        # 6110 <_sk_callback_sse2+0x595>
   .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,60,0,0                 // movaps        0x3ce7(%rip),%xmm2        # 5ab0 <_sk_callback_sse2+0x56d>
+  .byte  15,40,21,145,66,0,0                 // movaps        0x4291(%rip),%xmm2        # 6140 <_sk_callback_sse2+0x5c5>
   .byte  68,15,40,250                        // movaps        %xmm2,%xmm15
   .byte  68,15,194,248,2                     // cmpleps       %xmm0,%xmm15
-  .byte  15,40,13,183,60,0,0                 // movaps        0x3cb7(%rip),%xmm1        # 5a90 <_sk_callback_sse2+0x54d>
+  .byte  15,40,13,97,66,0,0                  // movaps        0x4261(%rip),%xmm1        # 6120 <_sk_callback_sse2+0x5a5>
   .byte  15,89,193                           // mulps         %xmm1,%xmm0
-  .byte  15,40,45,189,60,0,0                 // movaps        0x3cbd(%rip),%xmm5        # 5aa0 <_sk_callback_sse2+0x55d>
+  .byte  15,40,45,103,66,0,0                 // movaps        0x4267(%rip),%xmm5        # 6130 <_sk_callback_sse2+0x5b5>
   .byte  15,40,229                           // movaps        %xmm5,%xmm4
   .byte  15,92,224                           // subps         %xmm0,%xmm4
   .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
@@ -31759,7 +34507,7 @@
   .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,50,60,0,0                  // andps         0x3c32(%rip),%xmm3        # 5a70 <_sk_callback_sse2+0x52d>
+  .byte  15,84,29,220,65,0,0                 // andps         0x41dc(%rip),%xmm3        # 6100 <_sk_callback_sse2+0x585>
   .byte  15,92,195                           // subps         %xmm3,%xmm0
   .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
   .byte  68,15,92,224                        // subps         %xmm0,%xmm12
@@ -31789,12 +34537,12 @@
   .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,10,60,0,0                  // addps         0x3c0a(%rip),%xmm6        # 5ac0 <_sk_callback_sse2+0x57d>
+  .byte  15,88,53,180,65,0,0                 // addps         0x41b4(%rip),%xmm6        # 6150 <_sk_callback_sse2+0x5d5>
   .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,165,59,0,0                 // andps         0x3ba5(%rip),%xmm3        # 5a70 <_sk_callback_sse2+0x52d>
+  .byte  15,84,29,79,65,0,0                  // andps         0x414f(%rip),%xmm3        # 6100 <_sk_callback_sse2+0x585>
   .byte  15,92,195                           // subps         %xmm3,%xmm0
   .byte  15,92,240                           // subps         %xmm0,%xmm6
   .byte  15,89,206                           // mulps         %xmm6,%xmm1
@@ -31854,13 +34602,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,61                              // jne           1fbe <_sk_scale_u8_sse2+0x47>
+  .byte  117,61                              // jne           20a4 <_sk_scale_u8_sse2+0x47>
   .byte  102,69,15,110,4,18                  // movd          (%r10,%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,54,59,0,0           // pand          0x3b36(%rip),%xmm8        # 5ad0 <_sk_callback_sse2+0x58d>
+  .byte  102,68,15,219,5,224,64,0,0          // pand          0x40e0(%rip),%xmm8        # 6160 <_sk_callback_sse2+0x5e5>
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,58,59,0,0                // mulps         0x3b3a(%rip),%xmm8        # 5ae0 <_sk_callback_sse2+0x59d>
+  .byte  68,15,89,5,228,64,0,0               // mulps         0x40e4(%rip),%xmm8        # 6170 <_sk_callback_sse2+0x5f5>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
@@ -31871,12 +34619,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,61                              // je            2008 <_sk_scale_u8_sse2+0x91>
+  .byte  116,61                              // je            20ee <_sk_scale_u8_sse2+0x91>
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,23                              // je            1fed <_sk_scale_u8_sse2+0x76>
+  .byte  116,23                              // je            20d3 <_sk_scale_u8_sse2+0x76>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,181                             // jne           1f91 <_sk_scale_u8_sse2+0x1a>
+  .byte  117,181                             // jne           2077 <_sk_scale_u8_sse2+0x1a>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
@@ -31885,10 +34633,10 @@
   .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,137                             // jmp           1f91 <_sk_scale_u8_sse2+0x1a>
+  .byte  235,137                             // jmp           2077 <_sk_scale_u8_sse2+0x1a>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  233,122,255,255,255                 // jmpq          1f91 <_sk_scale_u8_sse2+0x1a>
+  .byte  233,122,255,255,255                 // jmpq          2077 <_sk_scale_u8_sse2+0x1a>
 
 HIDDEN _sk_lerp_1_float_sse2
 .globl _sk_lerp_1_float_sse2
@@ -31919,13 +34667,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,81                              // jne           20aa <_sk_lerp_u8_sse2+0x5b>
+  .byte  117,81                              // jne           2190 <_sk_lerp_u8_sse2+0x5b>
   .byte  102,69,15,110,4,18                  // movd          (%r10,%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,126,58,0,0          // pand          0x3a7e(%rip),%xmm8        # 5af0 <_sk_callback_sse2+0x5ad>
+  .byte  102,68,15,219,5,40,64,0,0           // pand          0x4028(%rip),%xmm8        # 6180 <_sk_callback_sse2+0x605>
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,130,58,0,0               // mulps         0x3a82(%rip),%xmm8        # 5b00 <_sk_callback_sse2+0x5bd>
+  .byte  68,15,89,5,44,64,0,0                // mulps         0x402c(%rip),%xmm8        # 6190 <_sk_callback_sse2+0x615>
   .byte  15,92,196                           // subps         %xmm4,%xmm0
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -31943,12 +34691,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,64                              // je            20f7 <_sk_lerp_u8_sse2+0xa8>
+  .byte  116,64                              // je            21dd <_sk_lerp_u8_sse2+0xa8>
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,23                              // je            20d9 <_sk_lerp_u8_sse2+0x8a>
+  .byte  116,23                              // je            21bf <_sk_lerp_u8_sse2+0x8a>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,161                             // jne           2069 <_sk_lerp_u8_sse2+0x1a>
+  .byte  117,161                             // jne           214f <_sk_lerp_u8_sse2+0x1a>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
@@ -31957,10 +34705,10 @@
   .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,114,255,255,255                 // jmpq          2069 <_sk_lerp_u8_sse2+0x1a>
+  .byte  233,114,255,255,255                 // jmpq          214f <_sk_lerp_u8_sse2+0x1a>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  233,99,255,255,255                  // jmpq          2069 <_sk_lerp_u8_sse2+0x1a>
+  .byte  233,99,255,255,255                  // jmpq          214f <_sk_lerp_u8_sse2+0x1a>
 
 HIDDEN _sk_lerp_565_sse2
 .globl _sk_lerp_565_sse2
@@ -31969,20 +34717,20 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,156,0,0,0                    // jne           21b0 <_sk_lerp_565_sse2+0xaa>
+  .byte  15,133,156,0,0,0                    // jne           2296 <_sk_lerp_565_sse2+0xaa>
   .byte  243,69,15,126,12,82                 // movq          (%r10,%rdx,2),%xmm9
   .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
-  .byte  102,68,15,111,5,232,57,0,0          // movdqa        0x39e8(%rip),%xmm8        # 5b10 <_sk_callback_sse2+0x5cd>
+  .byte  102,68,15,111,5,146,63,0,0          // movdqa        0x3f92(%rip),%xmm8        # 61a0 <_sk_callback_sse2+0x625>
   .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
-  .byte  68,15,89,5,231,57,0,0               // mulps         0x39e7(%rip),%xmm8        # 5b20 <_sk_callback_sse2+0x5dd>
-  .byte  102,68,15,111,21,238,57,0,0         // movdqa        0x39ee(%rip),%xmm10        # 5b30 <_sk_callback_sse2+0x5ed>
+  .byte  68,15,89,5,145,63,0,0               // mulps         0x3f91(%rip),%xmm8        # 61b0 <_sk_callback_sse2+0x635>
+  .byte  102,68,15,111,21,152,63,0,0         // movdqa        0x3f98(%rip),%xmm10        # 61c0 <_sk_callback_sse2+0x645>
   .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
   .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
-  .byte  68,15,89,21,237,57,0,0              // mulps         0x39ed(%rip),%xmm10        # 5b40 <_sk_callback_sse2+0x5fd>
-  .byte  102,68,15,219,13,244,57,0,0         // pand          0x39f4(%rip),%xmm9        # 5b50 <_sk_callback_sse2+0x60d>
+  .byte  68,15,89,21,151,63,0,0              // mulps         0x3f97(%rip),%xmm10        # 61d0 <_sk_callback_sse2+0x655>
+  .byte  102,68,15,219,13,158,63,0,0         // pand          0x3f9e(%rip),%xmm9        # 61e0 <_sk_callback_sse2+0x665>
   .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
-  .byte  68,15,89,13,248,57,0,0              // mulps         0x39f8(%rip),%xmm9        # 5b60 <_sk_callback_sse2+0x61d>
+  .byte  68,15,89,13,162,63,0,0              // mulps         0x3fa2(%rip),%xmm9        # 61f0 <_sk_callback_sse2+0x675>
   .byte  15,92,196                           // subps         %xmm4,%xmm0
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
@@ -32007,22 +34755,22 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,59                              // je            21f8 <_sk_lerp_565_sse2+0xf2>
+  .byte  116,59                              // je            22de <_sk_lerp_565_sse2+0xf2>
   .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,27                              // je            21e3 <_sk_lerp_565_sse2+0xdd>
+  .byte  116,27                              // je            22c9 <_sk_lerp_565_sse2+0xdd>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  15,133,77,255,255,255               // jne           211f <_sk_lerp_565_sse2+0x19>
+  .byte  15,133,77,255,255,255               // jne           2205 <_sk_lerp_565_sse2+0x19>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  102,69,15,112,200,69                // pshufd        $0x45,%xmm8,%xmm9
   .byte  102,69,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm8
   .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
   .byte  242,69,15,16,200                    // movsd         %xmm8,%xmm9
-  .byte  233,39,255,255,255                  // jmpq          211f <_sk_lerp_565_sse2+0x19>
+  .byte  233,39,255,255,255                  // jmpq          2205 <_sk_lerp_565_sse2+0x19>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,68,15,110,200                   // movd          %eax,%xmm9
-  .byte  233,24,255,255,255                  // jmpq          211f <_sk_lerp_565_sse2+0x19>
+  .byte  233,24,255,255,255                  // jmpq          2205 <_sk_lerp_565_sse2+0x19>
 
 HIDDEN _sk_load_tables_sse2
 .globl _sk_load_tables_sse2
@@ -32031,12 +34779,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,36,1,0,0                     // jne           2339 <_sk_load_tables_sse2+0x132>
+  .byte  15,133,36,1,0,0                     // jne           241f <_sk_load_tables_sse2+0x132>
   .byte  243,69,15,111,12,145                // movdqu        (%r9,%rdx,4),%xmm9
   .byte  65,87                               // push          %r15
   .byte  65,86                               // push          %r14
   .byte  83                                  // push          %rbx
-  .byte  102,68,15,111,5,71,57,0,0           // movdqa        0x3947(%rip),%xmm8        # 5b70 <_sk_callback_sse2+0x62d>
+  .byte  102,68,15,111,5,241,62,0,0          // movdqa        0x3ef1(%rip),%xmm8        # 6200 <_sk_callback_sse2+0x685>
   .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
@@ -32092,7 +34840,7 @@
   .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
   .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
   .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
-  .byte  15,89,29,80,56,0,0                  // mulps         0x3850(%rip),%xmm3        # 5b80 <_sk_callback_sse2+0x63d>
+  .byte  15,89,29,250,61,0,0                 // mulps         0x3dfa(%rip),%xmm3        # 6210 <_sk_callback_sse2+0x695>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
@@ -32101,18 +34849,18 @@
   .byte  69,137,194                          // mov           %r8d,%r10d
   .byte  65,128,226,3                        // and           $0x3,%r10b
   .byte  65,128,250,1                        // cmp           $0x1,%r10b
-  .byte  116,45                              // je            2373 <_sk_load_tables_sse2+0x16c>
+  .byte  116,45                              // je            2459 <_sk_load_tables_sse2+0x16c>
   .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
   .byte  65,128,250,2                        // cmp           $0x2,%r10b
-  .byte  116,23                              // je            2368 <_sk_load_tables_sse2+0x161>
+  .byte  116,23                              // je            244e <_sk_load_tables_sse2+0x161>
   .byte  65,128,250,3                        // cmp           $0x3,%r10b
-  .byte  15,133,192,254,255,255              // jne           221b <_sk_load_tables_sse2+0x14>
+  .byte  15,133,192,254,255,255              // jne           2301 <_sk_load_tables_sse2+0x14>
   .byte  102,65,15,110,68,145,8              // movd          0x8(%r9,%rdx,4),%xmm0
   .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
   .byte  102,69,15,18,12,145                 // movlpd        (%r9,%rdx,4),%xmm9
-  .byte  233,168,254,255,255                 // jmpq          221b <_sk_load_tables_sse2+0x14>
+  .byte  233,168,254,255,255                 // jmpq          2301 <_sk_load_tables_sse2+0x14>
   .byte  102,69,15,110,12,145                // movd          (%r9,%rdx,4),%xmm9
-  .byte  233,157,254,255,255                 // jmpq          221b <_sk_load_tables_sse2+0x14>
+  .byte  233,157,254,255,255                 // jmpq          2301 <_sk_load_tables_sse2+0x14>
 
 HIDDEN _sk_load_tables_u16_be_sse2
 .globl _sk_load_tables_u16_be_sse2
@@ -32122,7 +34870,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,101,1,0,0                    // jne           24f9 <_sk_load_tables_u16_be_sse2+0x17b>
+  .byte  15,133,101,1,0,0                    // jne           25df <_sk_load_tables_u16_be_sse2+0x17b>
   .byte  102,67,15,16,4,81                   // movupd        (%r9,%r10,2),%xmm0
   .byte  102,67,15,16,76,81,16               // movupd        0x10(%r9,%r10,2),%xmm1
   .byte  65,87                               // push          %r15
@@ -32134,7 +34882,7 @@
   .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,21,197,55,0,0         // movdqa        0x37c5(%rip),%xmm10        # 5b90 <_sk_callback_sse2+0x64d>
+  .byte  102,68,15,111,21,111,61,0,0         // movdqa        0x3d6f(%rip),%xmm10        # 6220 <_sk_callback_sse2+0x6a5>
   .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
   .byte  102,65,15,219,194                   // pand          %xmm10,%xmm0
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
@@ -32196,7 +34944,7 @@
   .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,176,54,0,0                 // mulps         0x36b0(%rip),%xmm3        # 5ba0 <_sk_callback_sse2+0x65d>
+  .byte  15,89,29,90,60,0,0                  // mulps         0x3c5a(%rip),%xmm3        # 6230 <_sk_callback_sse2+0x6b5>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
@@ -32204,17 +34952,17 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,67,15,16,4,81                   // movsd         (%r9,%r10,2),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,17                              // jne           2516 <_sk_load_tables_u16_be_sse2+0x198>
+  .byte  117,17                              // jne           25fc <_sk_load_tables_u16_be_sse2+0x198>
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
-  .byte  233,139,254,255,255                 // jmpq          23a1 <_sk_load_tables_u16_be_sse2+0x23>
+  .byte  233,139,254,255,255                 // jmpq          2487 <_sk_load_tables_u16_be_sse2+0x23>
   .byte  102,67,15,22,68,81,8                // movhpd        0x8(%r9,%r10,2),%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,118,254,255,255              // jb            23a1 <_sk_load_tables_u16_be_sse2+0x23>
+  .byte  15,130,118,254,255,255              // jb            2487 <_sk_load_tables_u16_be_sse2+0x23>
   .byte  242,67,15,16,76,81,16               // movsd         0x10(%r9,%r10,2),%xmm1
-  .byte  233,106,254,255,255                 // jmpq          23a1 <_sk_load_tables_u16_be_sse2+0x23>
+  .byte  233,106,254,255,255                 // jmpq          2487 <_sk_load_tables_u16_be_sse2+0x23>
 
 HIDDEN _sk_load_tables_rgb_u16_be_sse2
 .globl _sk_load_tables_rgb_u16_be_sse2
@@ -32224,7 +34972,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,84,1,0,0                     // jne           269d <_sk_load_tables_rgb_u16_be_sse2+0x166>
+  .byte  15,133,84,1,0,0                     // jne           2783 <_sk_load_tables_rgb_u16_be_sse2+0x166>
   .byte  243,71,15,111,28,81                 // movdqu        (%r9,%r10,2),%xmm11
   .byte  243,67,15,111,76,81,8               // movdqu        0x8(%r9,%r10,2),%xmm1
   .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
@@ -32239,7 +34987,7 @@
   .byte  102,68,15,97,208                    // punpcklwd     %xmm0,%xmm10
   .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
   .byte  102,65,15,97,194                    // punpcklwd     %xmm10,%xmm0
-  .byte  102,68,15,111,5,31,54,0,0           // movdqa        0x361f(%rip),%xmm8        # 5bb0 <_sk_callback_sse2+0x66d>
+  .byte  102,68,15,111,5,201,59,0,0          // movdqa        0x3bc9(%rip),%xmm8        # 6240 <_sk_callback_sse2+0x6c5>
   .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
   .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
   .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
@@ -32295,7 +35043,7 @@
   .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
   .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,42,53,0,0                  // movaps        0x352a(%rip),%xmm3        # 5bc0 <_sk_callback_sse2+0x67d>
+  .byte  15,40,29,212,58,0,0                 // movaps        0x3ad4(%rip),%xmm3        # 6250 <_sk_callback_sse2+0x6d5>
   .byte  91                                  // pop           %rbx
   .byte  65,94                               // pop           %r14
   .byte  65,95                               // pop           %r15
@@ -32304,21 +35052,21 @@
   .byte  102,71,15,196,92,81,4,2             // pinsrw        $0x2,0x4(%r9,%r10,2),%xmm11
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,14                              // jne           26c3 <_sk_load_tables_rgb_u16_be_sse2+0x18c>
+  .byte  117,14                              // jne           27a9 <_sk_load_tables_rgb_u16_be_sse2+0x18c>
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
-  .byte  233,172,254,255,255                 // jmpq          256f <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  .byte  233,172,254,255,255                 // jmpq          2655 <_sk_load_tables_rgb_u16_be_sse2+0x38>
   .byte  102,71,15,110,84,81,6               // movd          0x6(%r9,%r10,2),%xmm10
   .byte  102,71,15,196,84,81,10,2            // pinsrw        $0x2,0xa(%r9,%r10,2),%xmm10
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,24                              // jb            26f4 <_sk_load_tables_rgb_u16_be_sse2+0x1bd>
+  .byte  114,24                              // jb            27da <_sk_load_tables_rgb_u16_be_sse2+0x1bd>
   .byte  102,67,15,110,76,81,12              // movd          0xc(%r9,%r10,2),%xmm1
   .byte  102,67,15,196,76,81,16,2            // pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,123,254,255,255                 // jmpq          256f <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  .byte  233,123,254,255,255                 // jmpq          2655 <_sk_load_tables_rgb_u16_be_sse2+0x38>
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,114,254,255,255                 // jmpq          256f <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  .byte  233,114,254,255,255                 // jmpq          2655 <_sk_load_tables_rgb_u16_be_sse2+0x38>
 
 HIDDEN _sk_byte_tables_sse2
 .globl _sk_byte_tables_sse2
@@ -32329,7 +35077,7 @@
   .byte  65,86                               // push          %r14
   .byte  83                                  // push          %rbx
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,195,52,0,0               // movaps        0x34c3(%rip),%xmm8        # 5bd0 <_sk_callback_sse2+0x68d>
+  .byte  68,15,40,5,109,58,0,0               // movaps        0x3a6d(%rip),%xmm8        # 6260 <_sk_callback_sse2+0x6e5>
   .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
   .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
   .byte  102,73,15,126,193                   // movq          %xmm0,%r9
@@ -32357,7 +35105,7 @@
   .byte  102,65,15,96,193                    // punpcklbw     %xmm9,%xmm0
   .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,21,93,52,0,0               // movaps        0x345d(%rip),%xmm10        # 5be0 <_sk_callback_sse2+0x69d>
+  .byte  68,15,40,21,7,58,0,0                // movaps        0x3a07(%rip),%xmm10        # 6270 <_sk_callback_sse2+0x6f5>
   .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
@@ -32478,7 +35226,7 @@
   .byte  102,65,15,96,193                    // punpcklbw     %xmm9,%xmm0
   .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  68,15,40,21,165,50,0,0              // movaps        0x32a5(%rip),%xmm10        # 5bf0 <_sk_callback_sse2+0x6ad>
+  .byte  68,15,40,21,79,56,0,0               // movaps        0x384f(%rip),%xmm10        # 6280 <_sk_callback_sse2+0x705>
   .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
@@ -32685,15 +35433,15 @@
   .byte  69,15,88,209                        // addps         %xmm9,%xmm10
   .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
   .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
-  .byte  68,15,89,13,217,47,0,0              // mulps         0x2fd9(%rip),%xmm9        # 5c00 <_sk_callback_sse2+0x6bd>
-  .byte  68,15,84,21,225,47,0,0              // andps         0x2fe1(%rip),%xmm10        # 5c10 <_sk_callback_sse2+0x6cd>
-  .byte  68,15,86,21,233,47,0,0              // orps          0x2fe9(%rip),%xmm10        # 5c20 <_sk_callback_sse2+0x6dd>
-  .byte  68,15,88,13,241,47,0,0              // addps         0x2ff1(%rip),%xmm9        # 5c30 <_sk_callback_sse2+0x6ed>
-  .byte  68,15,40,37,249,47,0,0              // movaps        0x2ff9(%rip),%xmm12        # 5c40 <_sk_callback_sse2+0x6fd>
+  .byte  68,15,89,13,131,53,0,0              // mulps         0x3583(%rip),%xmm9        # 6290 <_sk_callback_sse2+0x715>
+  .byte  68,15,84,21,139,53,0,0              // andps         0x358b(%rip),%xmm10        # 62a0 <_sk_callback_sse2+0x725>
+  .byte  68,15,86,21,147,53,0,0              // orps          0x3593(%rip),%xmm10        # 62b0 <_sk_callback_sse2+0x735>
+  .byte  68,15,88,13,155,53,0,0              // addps         0x359b(%rip),%xmm9        # 62c0 <_sk_callback_sse2+0x745>
+  .byte  68,15,40,37,163,53,0,0              // movaps        0x35a3(%rip),%xmm12        # 62d0 <_sk_callback_sse2+0x755>
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,88,21,249,47,0,0              // addps         0x2ff9(%rip),%xmm10        # 5c50 <_sk_callback_sse2+0x70d>
-  .byte  68,15,40,37,1,48,0,0                // movaps        0x3001(%rip),%xmm12        # 5c60 <_sk_callback_sse2+0x71d>
+  .byte  68,15,88,21,163,53,0,0              // addps         0x35a3(%rip),%xmm10        # 62e0 <_sk_callback_sse2+0x765>
+  .byte  68,15,40,37,171,53,0,0              // movaps        0x35ab(%rip),%xmm12        # 62f0 <_sk_callback_sse2+0x775>
   .byte  69,15,94,226                        // divps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
   .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
@@ -32701,22 +35449,22 @@
   .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
-  .byte  68,15,40,21,235,47,0,0              // movaps        0x2feb(%rip),%xmm10        # 5c70 <_sk_callback_sse2+0x72d>
+  .byte  68,15,40,21,149,53,0,0              // movaps        0x3595(%rip),%xmm10        # 6300 <_sk_callback_sse2+0x785>
   .byte  69,15,84,234                        // andps         %xmm10,%xmm13
   .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,92,236                        // subps         %xmm12,%xmm13
-  .byte  68,15,88,13,223,47,0,0              // addps         0x2fdf(%rip),%xmm9        # 5c80 <_sk_callback_sse2+0x73d>
-  .byte  68,15,40,37,231,47,0,0              // movaps        0x2fe7(%rip),%xmm12        # 5c90 <_sk_callback_sse2+0x74d>
+  .byte  68,15,88,13,137,53,0,0              // addps         0x3589(%rip),%xmm9        # 6310 <_sk_callback_sse2+0x795>
+  .byte  68,15,40,37,145,53,0,0              // movaps        0x3591(%rip),%xmm12        # 6320 <_sk_callback_sse2+0x7a5>
   .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,40,37,231,47,0,0              // movaps        0x2fe7(%rip),%xmm12        # 5ca0 <_sk_callback_sse2+0x75d>
+  .byte  68,15,40,37,145,53,0,0              // movaps        0x3591(%rip),%xmm12        # 6330 <_sk_callback_sse2+0x7b5>
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
-  .byte  68,15,40,45,235,47,0,0              // movaps        0x2feb(%rip),%xmm13        # 5cb0 <_sk_callback_sse2+0x76d>
+  .byte  68,15,40,45,149,53,0,0              // movaps        0x3595(%rip),%xmm13        # 6340 <_sk_callback_sse2+0x7c5>
   .byte  69,15,94,236                        // divps         %xmm12,%xmm13
   .byte  69,15,88,233                        // addps         %xmm9,%xmm13
-  .byte  68,15,89,45,235,47,0,0              // mulps         0x2feb(%rip),%xmm13        # 5cc0 <_sk_callback_sse2+0x77d>
+  .byte  68,15,89,45,149,53,0,0              // mulps         0x3595(%rip),%xmm13        # 6350 <_sk_callback_sse2+0x7d5>
   .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
   .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
   .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
@@ -32752,15 +35500,15 @@
   .byte  69,15,88,209                        // addps         %xmm9,%xmm10
   .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
   .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
-  .byte  68,15,89,13,107,47,0,0              // mulps         0x2f6b(%rip),%xmm9        # 5cd0 <_sk_callback_sse2+0x78d>
-  .byte  68,15,84,21,115,47,0,0              // andps         0x2f73(%rip),%xmm10        # 5ce0 <_sk_callback_sse2+0x79d>
-  .byte  68,15,86,21,123,47,0,0              // orps          0x2f7b(%rip),%xmm10        # 5cf0 <_sk_callback_sse2+0x7ad>
-  .byte  68,15,88,13,131,47,0,0              // addps         0x2f83(%rip),%xmm9        # 5d00 <_sk_callback_sse2+0x7bd>
-  .byte  68,15,40,37,139,47,0,0              // movaps        0x2f8b(%rip),%xmm12        # 5d10 <_sk_callback_sse2+0x7cd>
+  .byte  68,15,89,13,21,53,0,0               // mulps         0x3515(%rip),%xmm9        # 6360 <_sk_callback_sse2+0x7e5>
+  .byte  68,15,84,21,29,53,0,0               // andps         0x351d(%rip),%xmm10        # 6370 <_sk_callback_sse2+0x7f5>
+  .byte  68,15,86,21,37,53,0,0               // orps          0x3525(%rip),%xmm10        # 6380 <_sk_callback_sse2+0x805>
+  .byte  68,15,88,13,45,53,0,0               // addps         0x352d(%rip),%xmm9        # 6390 <_sk_callback_sse2+0x815>
+  .byte  68,15,40,37,53,53,0,0               // movaps        0x3535(%rip),%xmm12        # 63a0 <_sk_callback_sse2+0x825>
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,88,21,139,47,0,0              // addps         0x2f8b(%rip),%xmm10        # 5d20 <_sk_callback_sse2+0x7dd>
-  .byte  68,15,40,37,147,47,0,0              // movaps        0x2f93(%rip),%xmm12        # 5d30 <_sk_callback_sse2+0x7ed>
+  .byte  68,15,88,21,53,53,0,0               // addps         0x3535(%rip),%xmm10        # 63b0 <_sk_callback_sse2+0x835>
+  .byte  68,15,40,37,61,53,0,0               // movaps        0x353d(%rip),%xmm12        # 63c0 <_sk_callback_sse2+0x845>
   .byte  69,15,94,226                        // divps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
   .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
@@ -32768,22 +35516,22 @@
   .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
-  .byte  68,15,40,21,125,47,0,0              // movaps        0x2f7d(%rip),%xmm10        # 5d40 <_sk_callback_sse2+0x7fd>
+  .byte  68,15,40,21,39,53,0,0               // movaps        0x3527(%rip),%xmm10        # 63d0 <_sk_callback_sse2+0x855>
   .byte  69,15,84,234                        // andps         %xmm10,%xmm13
   .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,92,236                        // subps         %xmm12,%xmm13
-  .byte  68,15,88,13,113,47,0,0              // addps         0x2f71(%rip),%xmm9        # 5d50 <_sk_callback_sse2+0x80d>
-  .byte  68,15,40,37,121,47,0,0              // movaps        0x2f79(%rip),%xmm12        # 5d60 <_sk_callback_sse2+0x81d>
+  .byte  68,15,88,13,27,53,0,0               // addps         0x351b(%rip),%xmm9        # 63e0 <_sk_callback_sse2+0x865>
+  .byte  68,15,40,37,35,53,0,0               // movaps        0x3523(%rip),%xmm12        # 63f0 <_sk_callback_sse2+0x875>
   .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,40,37,121,47,0,0              // movaps        0x2f79(%rip),%xmm12        # 5d70 <_sk_callback_sse2+0x82d>
+  .byte  68,15,40,37,35,53,0,0               // movaps        0x3523(%rip),%xmm12        # 6400 <_sk_callback_sse2+0x885>
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
-  .byte  68,15,40,45,125,47,0,0              // movaps        0x2f7d(%rip),%xmm13        # 5d80 <_sk_callback_sse2+0x83d>
+  .byte  68,15,40,45,39,53,0,0               // movaps        0x3527(%rip),%xmm13        # 6410 <_sk_callback_sse2+0x895>
   .byte  69,15,94,236                        // divps         %xmm12,%xmm13
   .byte  69,15,88,233                        // addps         %xmm9,%xmm13
-  .byte  68,15,89,45,125,47,0,0              // mulps         0x2f7d(%rip),%xmm13        # 5d90 <_sk_callback_sse2+0x84d>
+  .byte  68,15,89,45,39,53,0,0               // mulps         0x3527(%rip),%xmm13        # 6420 <_sk_callback_sse2+0x8a5>
   .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
   .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
   .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
@@ -32819,15 +35567,15 @@
   .byte  69,15,88,209                        // addps         %xmm9,%xmm10
   .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
   .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
-  .byte  68,15,89,13,253,46,0,0              // mulps         0x2efd(%rip),%xmm9        # 5da0 <_sk_callback_sse2+0x85d>
-  .byte  68,15,84,21,5,47,0,0                // andps         0x2f05(%rip),%xmm10        # 5db0 <_sk_callback_sse2+0x86d>
-  .byte  68,15,86,21,13,47,0,0               // orps          0x2f0d(%rip),%xmm10        # 5dc0 <_sk_callback_sse2+0x87d>
-  .byte  68,15,88,13,21,47,0,0               // addps         0x2f15(%rip),%xmm9        # 5dd0 <_sk_callback_sse2+0x88d>
-  .byte  68,15,40,37,29,47,0,0               // movaps        0x2f1d(%rip),%xmm12        # 5de0 <_sk_callback_sse2+0x89d>
+  .byte  68,15,89,13,167,52,0,0              // mulps         0x34a7(%rip),%xmm9        # 6430 <_sk_callback_sse2+0x8b5>
+  .byte  68,15,84,21,175,52,0,0              // andps         0x34af(%rip),%xmm10        # 6440 <_sk_callback_sse2+0x8c5>
+  .byte  68,15,86,21,183,52,0,0              // orps          0x34b7(%rip),%xmm10        # 6450 <_sk_callback_sse2+0x8d5>
+  .byte  68,15,88,13,191,52,0,0              // addps         0x34bf(%rip),%xmm9        # 6460 <_sk_callback_sse2+0x8e5>
+  .byte  68,15,40,37,199,52,0,0              // movaps        0x34c7(%rip),%xmm12        # 6470 <_sk_callback_sse2+0x8f5>
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,88,21,29,47,0,0               // addps         0x2f1d(%rip),%xmm10        # 5df0 <_sk_callback_sse2+0x8ad>
-  .byte  68,15,40,37,37,47,0,0               // movaps        0x2f25(%rip),%xmm12        # 5e00 <_sk_callback_sse2+0x8bd>
+  .byte  68,15,88,21,199,52,0,0              // addps         0x34c7(%rip),%xmm10        # 6480 <_sk_callback_sse2+0x905>
+  .byte  68,15,40,37,207,52,0,0              // movaps        0x34cf(%rip),%xmm12        # 6490 <_sk_callback_sse2+0x915>
   .byte  69,15,94,226                        // divps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
   .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
@@ -32835,22 +35583,22 @@
   .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
-  .byte  68,15,40,21,15,47,0,0               // movaps        0x2f0f(%rip),%xmm10        # 5e10 <_sk_callback_sse2+0x8cd>
+  .byte  68,15,40,21,185,52,0,0              // movaps        0x34b9(%rip),%xmm10        # 64a0 <_sk_callback_sse2+0x925>
   .byte  69,15,84,234                        // andps         %xmm10,%xmm13
   .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,92,236                        // subps         %xmm12,%xmm13
-  .byte  68,15,88,13,3,47,0,0                // addps         0x2f03(%rip),%xmm9        # 5e20 <_sk_callback_sse2+0x8dd>
-  .byte  68,15,40,37,11,47,0,0               // movaps        0x2f0b(%rip),%xmm12        # 5e30 <_sk_callback_sse2+0x8ed>
+  .byte  68,15,88,13,173,52,0,0              // addps         0x34ad(%rip),%xmm9        # 64b0 <_sk_callback_sse2+0x935>
+  .byte  68,15,40,37,181,52,0,0              // movaps        0x34b5(%rip),%xmm12        # 64c0 <_sk_callback_sse2+0x945>
   .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,40,37,11,47,0,0               // movaps        0x2f0b(%rip),%xmm12        # 5e40 <_sk_callback_sse2+0x8fd>
+  .byte  68,15,40,37,181,52,0,0              // movaps        0x34b5(%rip),%xmm12        # 64d0 <_sk_callback_sse2+0x955>
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
-  .byte  68,15,40,45,15,47,0,0               // movaps        0x2f0f(%rip),%xmm13        # 5e50 <_sk_callback_sse2+0x90d>
+  .byte  68,15,40,45,185,52,0,0              // movaps        0x34b9(%rip),%xmm13        # 64e0 <_sk_callback_sse2+0x965>
   .byte  69,15,94,236                        // divps         %xmm12,%xmm13
   .byte  69,15,88,233                        // addps         %xmm9,%xmm13
-  .byte  68,15,89,45,15,47,0,0               // mulps         0x2f0f(%rip),%xmm13        # 5e60 <_sk_callback_sse2+0x91d>
+  .byte  68,15,89,45,185,52,0,0              // mulps         0x34b9(%rip),%xmm13        # 64f0 <_sk_callback_sse2+0x975>
   .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
   .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
   .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
@@ -32886,15 +35634,15 @@
   .byte  69,15,88,209                        // addps         %xmm9,%xmm10
   .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
   .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
-  .byte  68,15,89,13,143,46,0,0              // mulps         0x2e8f(%rip),%xmm9        # 5e70 <_sk_callback_sse2+0x92d>
-  .byte  68,15,84,21,151,46,0,0              // andps         0x2e97(%rip),%xmm10        # 5e80 <_sk_callback_sse2+0x93d>
-  .byte  68,15,86,21,159,46,0,0              // orps          0x2e9f(%rip),%xmm10        # 5e90 <_sk_callback_sse2+0x94d>
-  .byte  68,15,88,13,167,46,0,0              // addps         0x2ea7(%rip),%xmm9        # 5ea0 <_sk_callback_sse2+0x95d>
-  .byte  68,15,40,37,175,46,0,0              // movaps        0x2eaf(%rip),%xmm12        # 5eb0 <_sk_callback_sse2+0x96d>
+  .byte  68,15,89,13,57,52,0,0               // mulps         0x3439(%rip),%xmm9        # 6500 <_sk_callback_sse2+0x985>
+  .byte  68,15,84,21,65,52,0,0               // andps         0x3441(%rip),%xmm10        # 6510 <_sk_callback_sse2+0x995>
+  .byte  68,15,86,21,73,52,0,0               // orps          0x3449(%rip),%xmm10        # 6520 <_sk_callback_sse2+0x9a5>
+  .byte  68,15,88,13,81,52,0,0               // addps         0x3451(%rip),%xmm9        # 6530 <_sk_callback_sse2+0x9b5>
+  .byte  68,15,40,37,89,52,0,0               // movaps        0x3459(%rip),%xmm12        # 6540 <_sk_callback_sse2+0x9c5>
   .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,88,21,175,46,0,0              // addps         0x2eaf(%rip),%xmm10        # 5ec0 <_sk_callback_sse2+0x97d>
-  .byte  68,15,40,37,183,46,0,0              // movaps        0x2eb7(%rip),%xmm12        # 5ed0 <_sk_callback_sse2+0x98d>
+  .byte  68,15,88,21,89,52,0,0               // addps         0x3459(%rip),%xmm10        # 6550 <_sk_callback_sse2+0x9d5>
+  .byte  68,15,40,37,97,52,0,0               // movaps        0x3461(%rip),%xmm12        # 6560 <_sk_callback_sse2+0x9e5>
   .byte  69,15,94,226                        // divps         %xmm10,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
   .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
@@ -32902,22 +35650,22 @@
   .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
-  .byte  68,15,40,21,161,46,0,0              // movaps        0x2ea1(%rip),%xmm10        # 5ee0 <_sk_callback_sse2+0x99d>
+  .byte  68,15,40,21,75,52,0,0               // movaps        0x344b(%rip),%xmm10        # 6570 <_sk_callback_sse2+0x9f5>
   .byte  69,15,84,234                        // andps         %xmm10,%xmm13
   .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
   .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
   .byte  69,15,92,236                        // subps         %xmm12,%xmm13
-  .byte  68,15,88,13,149,46,0,0              // addps         0x2e95(%rip),%xmm9        # 5ef0 <_sk_callback_sse2+0x9ad>
-  .byte  68,15,40,37,157,46,0,0              // movaps        0x2e9d(%rip),%xmm12        # 5f00 <_sk_callback_sse2+0x9bd>
+  .byte  68,15,88,13,63,52,0,0               // addps         0x343f(%rip),%xmm9        # 6580 <_sk_callback_sse2+0xa05>
+  .byte  68,15,40,37,71,52,0,0               // movaps        0x3447(%rip),%xmm12        # 6590 <_sk_callback_sse2+0xa15>
   .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
   .byte  69,15,92,204                        // subps         %xmm12,%xmm9
-  .byte  68,15,40,37,157,46,0,0              // movaps        0x2e9d(%rip),%xmm12        # 5f10 <_sk_callback_sse2+0x9cd>
+  .byte  68,15,40,37,71,52,0,0               // movaps        0x3447(%rip),%xmm12        # 65a0 <_sk_callback_sse2+0xa25>
   .byte  69,15,92,229                        // subps         %xmm13,%xmm12
-  .byte  68,15,40,45,161,46,0,0              // movaps        0x2ea1(%rip),%xmm13        # 5f20 <_sk_callback_sse2+0x9dd>
+  .byte  68,15,40,45,75,52,0,0               // movaps        0x344b(%rip),%xmm13        # 65b0 <_sk_callback_sse2+0xa35>
   .byte  69,15,94,236                        // divps         %xmm12,%xmm13
   .byte  69,15,88,233                        // addps         %xmm9,%xmm13
-  .byte  68,15,89,45,161,46,0,0              // mulps         0x2ea1(%rip),%xmm13        # 5f30 <_sk_callback_sse2+0x9ed>
+  .byte  68,15,89,45,75,52,0,0               // mulps         0x344b(%rip),%xmm13        # 65c0 <_sk_callback_sse2+0xa45>
   .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
   .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
   .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
@@ -32934,29 +35682,29 @@
 .globl _sk_lab_to_xyz_sse2
 FUNCTION(_sk_lab_to_xyz_sse2)
 _sk_lab_to_xyz_sse2:
-  .byte  15,89,5,126,46,0,0                  // mulps         0x2e7e(%rip),%xmm0        # 5f40 <_sk_callback_sse2+0x9fd>
-  .byte  68,15,40,5,134,46,0,0               // movaps        0x2e86(%rip),%xmm8        # 5f50 <_sk_callback_sse2+0xa0d>
+  .byte  15,89,5,40,52,0,0                   // mulps         0x3428(%rip),%xmm0        # 65d0 <_sk_callback_sse2+0xa55>
+  .byte  68,15,40,5,48,52,0,0                // movaps        0x3430(%rip),%xmm8        # 65e0 <_sk_callback_sse2+0xa65>
   .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
-  .byte  68,15,40,13,138,46,0,0              // movaps        0x2e8a(%rip),%xmm9        # 5f60 <_sk_callback_sse2+0xa1d>
+  .byte  68,15,40,13,52,52,0,0               // movaps        0x3434(%rip),%xmm9        # 65f0 <_sk_callback_sse2+0xa75>
   .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,135,46,0,0                  // addps         0x2e87(%rip),%xmm0        # 5f70 <_sk_callback_sse2+0xa2d>
-  .byte  15,89,5,144,46,0,0                  // mulps         0x2e90(%rip),%xmm0        # 5f80 <_sk_callback_sse2+0xa3d>
-  .byte  15,89,13,153,46,0,0                 // mulps         0x2e99(%rip),%xmm1        # 5f90 <_sk_callback_sse2+0xa4d>
+  .byte  15,88,5,49,52,0,0                   // addps         0x3431(%rip),%xmm0        # 6600 <_sk_callback_sse2+0xa85>
+  .byte  15,89,5,58,52,0,0                   // mulps         0x343a(%rip),%xmm0        # 6610 <_sk_callback_sse2+0xa95>
+  .byte  15,89,13,67,52,0,0                  // mulps         0x3443(%rip),%xmm1        # 6620 <_sk_callback_sse2+0xaa5>
   .byte  15,88,200                           // addps         %xmm0,%xmm1
-  .byte  15,89,21,159,46,0,0                 // mulps         0x2e9f(%rip),%xmm2        # 5fa0 <_sk_callback_sse2+0xa5d>
+  .byte  15,89,21,73,52,0,0                  // mulps         0x3449(%rip),%xmm2        # 6630 <_sk_callback_sse2+0xab5>
   .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,148,46,0,0                 // movaps        0x2e94(%rip),%xmm2        # 5fb0 <_sk_callback_sse2+0xa6d>
+  .byte  15,40,21,62,52,0,0                  // movaps        0x343e(%rip),%xmm2        # 6640 <_sk_callback_sse2+0xac5>
   .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
   .byte  69,15,194,196,1                     // cmpltps       %xmm12,%xmm8
-  .byte  68,15,40,21,147,46,0,0              // movaps        0x2e93(%rip),%xmm10        # 5fc0 <_sk_callback_sse2+0xa7d>
+  .byte  68,15,40,21,61,52,0,0               // movaps        0x343d(%rip),%xmm10        # 6650 <_sk_callback_sse2+0xad5>
   .byte  65,15,88,202                        // addps         %xmm10,%xmm1
-  .byte  68,15,40,29,151,46,0,0              // movaps        0x2e97(%rip),%xmm11        # 5fd0 <_sk_callback_sse2+0xa8d>
+  .byte  68,15,40,29,65,52,0,0               // movaps        0x3441(%rip),%xmm11        # 6660 <_sk_callback_sse2+0xae5>
   .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
   .byte  69,15,84,224                        // andps         %xmm8,%xmm12
   .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
@@ -32980,8 +35728,8 @@
   .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,71,46,0,0                // mulps         0x2e47(%rip),%xmm8        # 5fe0 <_sk_callback_sse2+0xa9d>
-  .byte  15,89,21,80,46,0,0                  // mulps         0x2e50(%rip),%xmm2        # 5ff0 <_sk_callback_sse2+0xaad>
+  .byte  68,15,89,5,241,51,0,0               // mulps         0x33f1(%rip),%xmm8        # 6670 <_sk_callback_sse2+0xaf5>
+  .byte  15,89,21,250,51,0,0                 // mulps         0x33fa(%rip),%xmm2        # 6680 <_sk_callback_sse2+0xb05>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -32993,13 +35741,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,46                              // jne           31e0 <_sk_load_a8_sse2+0x38>
+  .byte  117,46                              // jne           32c6 <_sk_load_a8_sse2+0x38>
   .byte  102,65,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm0
   .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
-  .byte  102,15,219,5,56,46,0,0              // pand          0x2e38(%rip),%xmm0        # 6000 <_sk_callback_sse2+0xabd>
+  .byte  102,15,219,5,226,51,0,0             // pand          0x33e2(%rip),%xmm0        # 6690 <_sk_callback_sse2+0xb15>
   .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
-  .byte  15,89,29,62,46,0,0                  // mulps         0x2e3e(%rip),%xmm3        # 6010 <_sk_callback_sse2+0xacd>
+  .byte  15,89,29,232,51,0,0                 // mulps         0x33e8(%rip),%xmm3        # 66a0 <_sk_callback_sse2+0xb25>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
@@ -33008,12 +35756,12 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,54                              // je            3223 <_sk_load_a8_sse2+0x7b>
+  .byte  116,54                              // je            3309 <_sk_load_a8_sse2+0x7b>
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            320c <_sk_load_a8_sse2+0x64>
+  .byte  116,21                              // je            32f2 <_sk_load_a8_sse2+0x64>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,195                             // jne           31c0 <_sk_load_a8_sse2+0x18>
+  .byte  117,195                             // jne           32a6 <_sk_load_a8_sse2+0x18>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
   .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
@@ -33022,10 +35770,51 @@
   .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,157                             // jmp           31c0 <_sk_load_a8_sse2+0x18>
+  .byte  235,157                             // jmp           32a6 <_sk_load_a8_sse2+0x18>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
-  .byte  235,146                             // jmp           31c0 <_sk_load_a8_sse2+0x18>
+  .byte  235,146                             // jmp           32a6 <_sk_load_a8_sse2+0x18>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,46                              // jne           334c <_sk_load_a8_dst_sse2+0x38>
+  .byte  102,65,15,110,36,18                 // movd          (%r10,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,37,124,51,0,0            // pand          0x337c(%rip),%xmm4        # 66b0 <_sk_callback_sse2+0xb35>
+  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
+  .byte  15,89,61,130,51,0,0                 // mulps         0x3382(%rip),%xmm7        # 66c0 <_sk_callback_sse2+0xb45>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,54                              // je            338f <_sk_load_a8_dst_sse2+0x7b>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            3378 <_sk_load_a8_dst_sse2+0x64>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,195                             // jne           332c <_sk_load_a8_dst_sse2+0x18>
+  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%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,18                      // movzwl        (%r10,%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,157                             // jmp           332c <_sk_load_a8_dst_sse2+0x18>
+  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,146                             // jmp           332c <_sk_load_a8_dst_sse2+0x18>
 
 HIDDEN _sk_gather_a8_sse2
 .globl _sk_gather_a8_sse2
@@ -33067,7 +35856,7 @@
   .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,29,95,45,0,0                  // mulps         0x2d5f(%rip),%xmm3        # 6020 <_sk_callback_sse2+0xadd>
+  .byte  15,89,29,163,50,0,0                 // mulps         0x32a3(%rip),%xmm3        # 66d0 <_sk_callback_sse2+0xb55>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
@@ -33082,7 +35871,7 @@
 _sk_store_a8_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
-  .byte  68,15,40,5,81,45,0,0                // movaps        0x2d51(%rip),%xmm8        # 6030 <_sk_callback_sse2+0xaed>
+  .byte  68,15,40,5,149,50,0,0               // movaps        0x3295(%rip),%xmm8        # 66e0 <_sk_callback_sse2+0xb65>
   .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
   .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
   .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
@@ -33090,7 +35879,7 @@
   .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
   .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,13                              // jne           3310 <_sk_store_a8_sse2+0x3e>
+  .byte  117,13                              // jne           347c <_sk_store_a8_sse2+0x3e>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  65,137,4,18                         // mov           %eax,(%r10,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -33100,24 +35889,24 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,59                              // je            3362 <_sk_store_a8_sse2+0x90>
+  .byte  116,59                              // je            34ce <_sk_store_a8_sse2+0x90>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,22                              // je            3343 <_sk_store_a8_sse2+0x71>
+  .byte  116,22                              // je            34af <_sk_store_a8_sse2+0x71>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,217                             // jne           330c <_sk_store_a8_sse2+0x3a>
+  .byte  117,217                             // jne           3478 <_sk_store_a8_sse2+0x3a>
   .byte  102,68,15,127,68,36,232             // movdqa        %xmm8,-0x18(%rsp)
   .byte  138,68,36,240                       // mov           -0x10(%rsp),%al
   .byte  65,136,68,18,2                      // mov           %al,0x2(%r10,%rdx,1)
-  .byte  102,68,15,219,5,244,44,0,0          // pand          0x2cf4(%rip),%xmm8        # 6040 <_sk_callback_sse2+0xafd>
+  .byte  102,68,15,219,5,56,50,0,0           // pand          0x3238(%rip),%xmm8        # 66f0 <_sk_callback_sse2+0xb75>
   .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,18                     // mov           %ax,(%r10,%rdx,1)
-  .byte  235,170                             // jmp           330c <_sk_store_a8_sse2+0x3a>
+  .byte  235,170                             // jmp           3478 <_sk_store_a8_sse2+0x3a>
   .byte  102,68,15,127,68,36,216             // movdqa        %xmm8,-0x28(%rsp)
   .byte  138,68,36,216                       // mov           -0x28(%rsp),%al
   .byte  65,136,4,18                         // mov           %al,(%r10,%rdx,1)
-  .byte  235,153                             // jmp           330c <_sk_store_a8_sse2+0x3a>
+  .byte  235,153                             // jmp           3478 <_sk_store_a8_sse2+0x3a>
 
 HIDDEN _sk_load_g8_sse2
 .globl _sk_load_g8_sse2
@@ -33126,27 +35915,27 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,49                              // jne           33ae <_sk_load_g8_sse2+0x3b>
+  .byte  117,49                              // jne           351a <_sk_load_g8_sse2+0x3b>
   .byte  102,65,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm0
   .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
-  .byte  102,15,219,5,189,44,0,0             // pand          0x2cbd(%rip),%xmm0        # 6050 <_sk_callback_sse2+0xb0d>
+  .byte  102,15,219,5,1,50,0,0               // pand          0x3201(%rip),%xmm0        # 6700 <_sk_callback_sse2+0xb85>
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,195,44,0,0                  // mulps         0x2cc3(%rip),%xmm0        # 6060 <_sk_callback_sse2+0xb1d>
+  .byte  15,89,5,7,50,0,0                    // mulps         0x3207(%rip),%xmm0        # 6710 <_sk_callback_sse2+0xb95>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,202,44,0,0                 // movaps        0x2cca(%rip),%xmm3        # 6070 <_sk_callback_sse2+0xb2d>
+  .byte  15,40,29,14,50,0,0                  // movaps        0x320e(%rip),%xmm3        # 6720 <_sk_callback_sse2+0xba5>
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,54                              // je            33f1 <_sk_load_g8_sse2+0x7e>
+  .byte  116,54                              // je            355d <_sk_load_g8_sse2+0x7e>
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            33da <_sk_load_g8_sse2+0x67>
+  .byte  116,21                              // je            3546 <_sk_load_g8_sse2+0x67>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,192                             // jne           338b <_sk_load_g8_sse2+0x18>
+  .byte  117,192                             // jne           34f7 <_sk_load_g8_sse2+0x18>
   .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
   .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
@@ -33155,10 +35944,51 @@
   .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,154                             // jmp           338b <_sk_load_g8_sse2+0x18>
+  .byte  235,154                             // jmp           34f7 <_sk_load_g8_sse2+0x18>
   .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
-  .byte  235,143                             // jmp           338b <_sk_load_g8_sse2+0x18>
+  .byte  235,143                             // jmp           34f7 <_sk_load_g8_sse2+0x18>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,49                              // jne           35a3 <_sk_load_g8_dst_sse2+0x3b>
+  .byte  102,65,15,110,36,18                 // movd          (%r10,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,37,168,49,0,0            // pand          0x31a8(%rip),%xmm4        # 6730 <_sk_callback_sse2+0xbb5>
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,174,49,0,0                 // mulps         0x31ae(%rip),%xmm4        # 6740 <_sk_callback_sse2+0xbc5>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,181,49,0,0                 // movaps        0x31b5(%rip),%xmm7        # 6750 <_sk_callback_sse2+0xbd5>
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,54                              // je            35e6 <_sk_load_g8_dst_sse2+0x7e>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            35cf <_sk_load_g8_dst_sse2+0x67>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,192                             // jne           3580 <_sk_load_g8_dst_sse2+0x18>
+  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%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,18                      // movzwl        (%r10,%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,154                             // jmp           3580 <_sk_load_g8_dst_sse2+0x18>
+  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,143                             // jmp           3580 <_sk_load_g8_dst_sse2+0x18>
 
 HIDDEN _sk_gather_g8_sse2
 .globl _sk_gather_g8_sse2
@@ -33200,9 +36030,9 @@
   .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,5,241,43,0,0                  // mulps         0x2bf1(%rip),%xmm0        # 6080 <_sk_callback_sse2+0xb3d>
+  .byte  15,89,5,220,48,0,0                  // mulps         0x30dc(%rip),%xmm0        # 6760 <_sk_callback_sse2+0xbe5>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,248,43,0,0                 // movaps        0x2bf8(%rip),%xmm3        # 6090 <_sk_callback_sse2+0xb4d>
+  .byte  15,40,29,227,48,0,0                 // movaps        0x30e3(%rip),%xmm3        # 6770 <_sk_callback_sse2+0xbf5>
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  91                                  // pop           %rbx
@@ -33216,9 +36046,9 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  73,137,193                          // mov           %rax,%r9
   .byte  77,133,201                          // test          %r9,%r9
-  .byte  116,5                               // je            34b1 <_sk_gather_i8_sse2+0xf>
+  .byte  116,5                               // je            36a6 <_sk_gather_i8_sse2+0xf>
   .byte  76,137,200                          // mov           %r9,%rax
-  .byte  235,2                               // jmp           34b3 <_sk_gather_i8_sse2+0x11>
+  .byte  235,2                               // jmp           36a8 <_sk_gather_i8_sse2+0x11>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  85                                  // push          %rbp
   .byte  65,86                               // push          %r14
@@ -33270,11 +36100,11 @@
   .byte  102,66,15,110,76,149,0              // movd          0x0(%rbp,%r10,4),%xmm1
   .byte  102,68,15,98,201                    // punpckldq     %xmm1,%xmm9
   .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
-  .byte  102,15,111,21,17,43,0,0             // movdqa        0x2b11(%rip),%xmm2        # 60a0 <_sk_callback_sse2+0xb5d>
+  .byte  102,15,111,21,252,47,0,0            // movdqa        0x2ffc(%rip),%xmm2        # 6780 <_sk_callback_sse2+0xc05>
   .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,13,43,0,0                // movaps        0x2b0d(%rip),%xmm8        # 60b0 <_sk_callback_sse2+0xb6d>
+  .byte  68,15,40,5,248,47,0,0               // movaps        0x2ff8(%rip),%xmm8        # 6790 <_sk_callback_sse2+0xc15>
   .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
@@ -33302,42 +36132,86 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,83                              // jne           3644 <_sk_load_565_sse2+0x5d>
+  .byte  117,83                              // jne           3839 <_sk_load_565_sse2+0x5d>
   .byte  243,65,15,126,20,82                 // movq          (%r10,%rdx,2),%xmm2
   .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
-  .byte  102,15,111,5,189,42,0,0             // movdqa        0x2abd(%rip),%xmm0        # 60c0 <_sk_callback_sse2+0xb7d>
+  .byte  102,15,111,5,168,47,0,0             // movdqa        0x2fa8(%rip),%xmm0        # 67a0 <_sk_callback_sse2+0xc25>
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,191,42,0,0                  // mulps         0x2abf(%rip),%xmm0        # 60d0 <_sk_callback_sse2+0xb8d>
-  .byte  102,15,111,13,199,42,0,0            // movdqa        0x2ac7(%rip),%xmm1        # 60e0 <_sk_callback_sse2+0xb9d>
+  .byte  15,89,5,170,47,0,0                  // mulps         0x2faa(%rip),%xmm0        # 67b0 <_sk_callback_sse2+0xc35>
+  .byte  102,15,111,13,178,47,0,0            // movdqa        0x2fb2(%rip),%xmm1        # 67c0 <_sk_callback_sse2+0xc45>
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,201,42,0,0                 // mulps         0x2ac9(%rip),%xmm1        # 60f0 <_sk_callback_sse2+0xbad>
-  .byte  102,15,219,21,209,42,0,0            // pand          0x2ad1(%rip),%xmm2        # 6100 <_sk_callback_sse2+0xbbd>
+  .byte  15,89,13,180,47,0,0                 // mulps         0x2fb4(%rip),%xmm1        # 67d0 <_sk_callback_sse2+0xc55>
+  .byte  102,15,219,21,188,47,0,0            // pand          0x2fbc(%rip),%xmm2        # 67e0 <_sk_callback_sse2+0xc65>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,215,42,0,0                 // mulps         0x2ad7(%rip),%xmm2        # 6110 <_sk_callback_sse2+0xbcd>
+  .byte  15,89,21,194,47,0,0                 // mulps         0x2fc2(%rip),%xmm2        # 67f0 <_sk_callback_sse2+0xc75>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,222,42,0,0                 // movaps        0x2ade(%rip),%xmm3        # 6120 <_sk_callback_sse2+0xbdd>
+  .byte  15,40,29,201,47,0,0                 // movaps        0x2fc9(%rip),%xmm3        # 6800 <_sk_callback_sse2+0xc85>
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,50                              // je            3683 <_sk_load_565_sse2+0x9c>
+  .byte  116,50                              // je            3878 <_sk_load_565_sse2+0x9c>
   .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            3670 <_sk_load_565_sse2+0x89>
+  .byte  116,21                              // je            3865 <_sk_load_565_sse2+0x89>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,154                             // jne           35fb <_sk_load_565_sse2+0x14>
+  .byte  117,154                             // jne           37f0 <_sk_load_565_sse2+0x14>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                  // movd          (%r10,%rdx,2),%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
   .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
-  .byte  233,120,255,255,255                 // jmpq          35fb <_sk_load_565_sse2+0x14>
+  .byte  233,120,255,255,255                 // jmpq          37f0 <_sk_load_565_sse2+0x14>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,15,110,208                      // movd          %eax,%xmm2
-  .byte  233,106,255,255,255                 // jmpq          35fb <_sk_load_565_sse2+0x14>
+  .byte  233,106,255,255,255                 // jmpq          37f0 <_sk_load_565_sse2+0x14>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,83                              // jne           38e3 <_sk_load_565_dst_sse2+0x5d>
+  .byte  243,65,15,126,52,82                 // movq          (%r10,%rdx,2),%xmm6
+  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  102,15,111,37,110,47,0,0            // movdqa        0x2f6e(%rip),%xmm4        # 6810 <_sk_callback_sse2+0xc95>
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,112,47,0,0                 // mulps         0x2f70(%rip),%xmm4        # 6820 <_sk_callback_sse2+0xca5>
+  .byte  102,15,111,45,120,47,0,0            // movdqa        0x2f78(%rip),%xmm5        # 6830 <_sk_callback_sse2+0xcb5>
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,122,47,0,0                 // mulps         0x2f7a(%rip),%xmm5        # 6840 <_sk_callback_sse2+0xcc5>
+  .byte  102,15,219,53,130,47,0,0            // pand          0x2f82(%rip),%xmm6        # 6850 <_sk_callback_sse2+0xcd5>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,136,47,0,0                 // mulps         0x2f88(%rip),%xmm6        # 6860 <_sk_callback_sse2+0xce5>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,143,47,0,0                 // movaps        0x2f8f(%rip),%xmm7        # 6870 <_sk_callback_sse2+0xcf5>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,50                              // je            3922 <_sk_load_565_dst_sse2+0x9c>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            390f <_sk_load_565_dst_sse2+0x89>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,154                             // jne           389a <_sk_load_565_dst_sse2+0x14>
+  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                 // movd          (%r10,%rdx,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
+  .byte  233,120,255,255,255                 // jmpq          389a <_sk_load_565_dst_sse2+0x14>
+  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
+  .byte  102,15,110,240                      // movd          %eax,%xmm6
+  .byte  233,106,255,255,255                 // jmpq          389a <_sk_load_565_dst_sse2+0x14>
 
 HIDDEN _sk_gather_565_sse2
 .globl _sk_gather_565_sse2
@@ -33372,19 +36246,19 @@
   .byte  102,15,196,208,3                    // pinsrw        $0x3,%eax,%xmm2
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
-  .byte  102,15,111,5,25,42,0,0              // movdqa        0x2a19(%rip),%xmm0        # 6130 <_sk_callback_sse2+0xbed>
+  .byte  102,15,111,5,202,46,0,0             // movdqa        0x2eca(%rip),%xmm0        # 6880 <_sk_callback_sse2+0xd05>
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,27,42,0,0                   // mulps         0x2a1b(%rip),%xmm0        # 6140 <_sk_callback_sse2+0xbfd>
-  .byte  102,15,111,13,35,42,0,0             // movdqa        0x2a23(%rip),%xmm1        # 6150 <_sk_callback_sse2+0xc0d>
+  .byte  15,89,5,204,46,0,0                  // mulps         0x2ecc(%rip),%xmm0        # 6890 <_sk_callback_sse2+0xd15>
+  .byte  102,15,111,13,212,46,0,0            // movdqa        0x2ed4(%rip),%xmm1        # 68a0 <_sk_callback_sse2+0xd25>
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,37,42,0,0                  // mulps         0x2a25(%rip),%xmm1        # 6160 <_sk_callback_sse2+0xc1d>
-  .byte  102,15,219,21,45,42,0,0             // pand          0x2a2d(%rip),%xmm2        # 6170 <_sk_callback_sse2+0xc2d>
+  .byte  15,89,13,214,46,0,0                 // mulps         0x2ed6(%rip),%xmm1        # 68b0 <_sk_callback_sse2+0xd35>
+  .byte  102,15,219,21,222,46,0,0            // pand          0x2ede(%rip),%xmm2        # 68c0 <_sk_callback_sse2+0xd45>
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,51,42,0,0                  // mulps         0x2a33(%rip),%xmm2        # 6180 <_sk_callback_sse2+0xc3d>
+  .byte  15,89,21,228,46,0,0                 // mulps         0x2ee4(%rip),%xmm2        # 68d0 <_sk_callback_sse2+0xd55>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,58,42,0,0                  // movaps        0x2a3a(%rip),%xmm3        # 6190 <_sk_callback_sse2+0xc4d>
+  .byte  15,40,29,235,46,0,0                 // movaps        0x2eeb(%rip),%xmm3        # 68e0 <_sk_callback_sse2+0xd65>
   .byte  91                                  // pop           %rbx
   .byte  255,224                             // jmpq          *%rax
 
@@ -33394,12 +36268,12 @@
 _sk_store_565_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
-  .byte  68,15,40,5,58,42,0,0                // movaps        0x2a3a(%rip),%xmm8        # 61a0 <_sk_callback_sse2+0xc5d>
+  .byte  68,15,40,5,235,46,0,0               // movaps        0x2eeb(%rip),%xmm8        # 68f0 <_sk_callback_sse2+0xd75>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
   .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
-  .byte  68,15,40,21,47,42,0,0               // movaps        0x2a2f(%rip),%xmm10        # 61b0 <_sk_callback_sse2+0xc6d>
+  .byte  68,15,40,21,224,46,0,0              // movaps        0x2ee0(%rip),%xmm10        # 6900 <_sk_callback_sse2+0xd85>
   .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
   .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
   .byte  102,65,15,114,242,5                 // pslld         $0x5,%xmm10
@@ -33411,7 +36285,7 @@
   .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
   .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           37c3 <_sk_store_565_sse2+0x6a>
+  .byte  117,10                              // jne           3a62 <_sk_store_565_sse2+0x6a>
   .byte  242,69,15,17,4,82                   // movsd         %xmm8,(%r10,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -33419,19 +36293,19 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,38                              // je            37fb <_sk_store_565_sse2+0xa2>
+  .byte  116,38                              // je            3a9a <_sk_store_565_sse2+0xa2>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,18                              // je            37ed <_sk_store_565_sse2+0x94>
+  .byte  116,18                              // je            3a8c <_sk_store_565_sse2+0x94>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,222                             // jne           37bf <_sk_store_565_sse2+0x66>
+  .byte  117,222                             // jne           3a5e <_sk_store_565_sse2+0x66>
   .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
   .byte  102,65,137,68,82,4                  // mov           %ax,0x4(%r10,%rdx,2)
   .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
   .byte  102,69,15,126,4,82                  // movd          %xmm8,(%r10,%rdx,2)
-  .byte  235,196                             // jmp           37bf <_sk_store_565_sse2+0x66>
+  .byte  235,196                             // jmp           3a5e <_sk_store_565_sse2+0x66>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  102,65,137,4,82                     // mov           %ax,(%r10,%rdx,2)
-  .byte  235,184                             // jmp           37bf <_sk_store_565_sse2+0x66>
+  .byte  235,184                             // jmp           3a5e <_sk_store_565_sse2+0x66>
 
 HIDDEN _sk_load_4444_sse2
 .globl _sk_load_4444_sse2
@@ -33440,45 +36314,92 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,98                              // jne           3873 <_sk_load_4444_sse2+0x6c>
+  .byte  117,98                              // jne           3b12 <_sk_load_4444_sse2+0x6c>
   .byte  243,65,15,126,28,82                 // movq          (%r10,%rdx,2),%xmm3
   .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
-  .byte  102,15,111,5,157,41,0,0             // movdqa        0x299d(%rip),%xmm0        # 61c0 <_sk_callback_sse2+0xc7d>
+  .byte  102,15,111,5,78,46,0,0              // movdqa        0x2e4e(%rip),%xmm0        # 6910 <_sk_callback_sse2+0xd95>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,159,41,0,0                  // mulps         0x299f(%rip),%xmm0        # 61d0 <_sk_callback_sse2+0xc8d>
-  .byte  102,15,111,13,167,41,0,0            // movdqa        0x29a7(%rip),%xmm1        # 61e0 <_sk_callback_sse2+0xc9d>
+  .byte  15,89,5,80,46,0,0                   // mulps         0x2e50(%rip),%xmm0        # 6920 <_sk_callback_sse2+0xda5>
+  .byte  102,15,111,13,88,46,0,0             // movdqa        0x2e58(%rip),%xmm1        # 6930 <_sk_callback_sse2+0xdb5>
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,169,41,0,0                 // mulps         0x29a9(%rip),%xmm1        # 61f0 <_sk_callback_sse2+0xcad>
-  .byte  102,15,111,21,177,41,0,0            // movdqa        0x29b1(%rip),%xmm2        # 6200 <_sk_callback_sse2+0xcbd>
+  .byte  15,89,13,90,46,0,0                  // mulps         0x2e5a(%rip),%xmm1        # 6940 <_sk_callback_sse2+0xdc5>
+  .byte  102,15,111,21,98,46,0,0             // movdqa        0x2e62(%rip),%xmm2        # 6950 <_sk_callback_sse2+0xdd5>
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,179,41,0,0                 // mulps         0x29b3(%rip),%xmm2        # 6210 <_sk_callback_sse2+0xccd>
-  .byte  102,15,219,29,187,41,0,0            // pand          0x29bb(%rip),%xmm3        # 6220 <_sk_callback_sse2+0xcdd>
+  .byte  15,89,21,100,46,0,0                 // mulps         0x2e64(%rip),%xmm2        # 6960 <_sk_callback_sse2+0xde5>
+  .byte  102,15,219,29,108,46,0,0            // pand          0x2e6c(%rip),%xmm3        # 6970 <_sk_callback_sse2+0xdf5>
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,29,193,41,0,0                 // mulps         0x29c1(%rip),%xmm3        # 6230 <_sk_callback_sse2+0xced>
+  .byte  15,89,29,114,46,0,0                 // mulps         0x2e72(%rip),%xmm3        # 6980 <_sk_callback_sse2+0xe05>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,50                              // je            38b2 <_sk_load_4444_sse2+0xab>
+  .byte  116,50                              // je            3b51 <_sk_load_4444_sse2+0xab>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,21                              // je            389f <_sk_load_4444_sse2+0x98>
+  .byte  116,21                              // je            3b3e <_sk_load_4444_sse2+0x98>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,139                             // jne           381b <_sk_load_4444_sse2+0x14>
+  .byte  117,139                             // jne           3aba <_sk_load_4444_sse2+0x14>
   .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                  // movd          (%r10,%rdx,2),%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
   .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
-  .byte  233,105,255,255,255                 // jmpq          381b <_sk_load_4444_sse2+0x14>
+  .byte  233,105,255,255,255                 // jmpq          3aba <_sk_load_4444_sse2+0x14>
   .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
   .byte  102,15,110,216                      // movd          %eax,%xmm3
-  .byte  233,91,255,255,255                  // jmpq          381b <_sk_load_4444_sse2+0x14>
+  .byte  233,91,255,255,255                  // jmpq          3aba <_sk_load_4444_sse2+0x14>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,98                              // jne           3bcb <_sk_load_4444_dst_sse2+0x6c>
+  .byte  243,65,15,126,60,82                 // movq          (%r10,%rdx,2),%xmm7
+  .byte  102,15,97,248                       // punpcklwd     %xmm0,%xmm7
+  .byte  102,15,111,37,21,46,0,0             // movdqa        0x2e15(%rip),%xmm4        # 6990 <_sk_callback_sse2+0xe15>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,23,46,0,0                  // mulps         0x2e17(%rip),%xmm4        # 69a0 <_sk_callback_sse2+0xe25>
+  .byte  102,15,111,45,31,46,0,0             // movdqa        0x2e1f(%rip),%xmm5        # 69b0 <_sk_callback_sse2+0xe35>
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,33,46,0,0                  // mulps         0x2e21(%rip),%xmm5        # 69c0 <_sk_callback_sse2+0xe45>
+  .byte  102,15,111,53,41,46,0,0             // movdqa        0x2e29(%rip),%xmm6        # 69d0 <_sk_callback_sse2+0xe55>
+  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,43,46,0,0                  // mulps         0x2e2b(%rip),%xmm6        # 69e0 <_sk_callback_sse2+0xe65>
+  .byte  102,15,219,61,51,46,0,0             // pand          0x2e33(%rip),%xmm7        # 69f0 <_sk_callback_sse2+0xe75>
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,61,57,46,0,0                  // mulps         0x2e39(%rip),%xmm7        # 6a00 <_sk_callback_sse2+0xe85>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,50                              // je            3c0a <_sk_load_4444_dst_sse2+0xab>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,21                              // je            3bf7 <_sk_load_4444_dst_sse2+0x98>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,139                             // jne           3b73 <_sk_load_4444_dst_sse2+0x14>
+  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%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,82                 // movd          (%r10,%rdx,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
+  .byte  233,105,255,255,255                 // jmpq          3b73 <_sk_load_4444_dst_sse2+0x14>
+  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  233,91,255,255,255                  // jmpq          3b73 <_sk_load_4444_dst_sse2+0x14>
 
 HIDDEN _sk_gather_4444_sse2
 .globl _sk_gather_4444_sse2
@@ -33513,21 +36434,21 @@
   .byte  102,15,196,216,3                    // pinsrw        $0x3,%eax,%xmm3
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
-  .byte  102,15,111,5,250,40,0,0             // movdqa        0x28fa(%rip),%xmm0        # 6240 <_sk_callback_sse2+0xcfd>
+  .byte  102,15,111,5,114,45,0,0             // movdqa        0x2d72(%rip),%xmm0        # 6a10 <_sk_callback_sse2+0xe95>
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,5,252,40,0,0                  // mulps         0x28fc(%rip),%xmm0        # 6250 <_sk_callback_sse2+0xd0d>
-  .byte  102,15,111,13,4,41,0,0              // movdqa        0x2904(%rip),%xmm1        # 6260 <_sk_callback_sse2+0xd1d>
+  .byte  15,89,5,116,45,0,0                  // mulps         0x2d74(%rip),%xmm0        # 6a20 <_sk_callback_sse2+0xea5>
+  .byte  102,15,111,13,124,45,0,0            // movdqa        0x2d7c(%rip),%xmm1        # 6a30 <_sk_callback_sse2+0xeb5>
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,13,6,41,0,0                   // mulps         0x2906(%rip),%xmm1        # 6270 <_sk_callback_sse2+0xd2d>
-  .byte  102,15,111,21,14,41,0,0             // movdqa        0x290e(%rip),%xmm2        # 6280 <_sk_callback_sse2+0xd3d>
+  .byte  15,89,13,126,45,0,0                 // mulps         0x2d7e(%rip),%xmm1        # 6a40 <_sk_callback_sse2+0xec5>
+  .byte  102,15,111,21,134,45,0,0            // movdqa        0x2d86(%rip),%xmm2        # 6a50 <_sk_callback_sse2+0xed5>
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,21,16,41,0,0                  // mulps         0x2910(%rip),%xmm2        # 6290 <_sk_callback_sse2+0xd4d>
-  .byte  102,15,219,29,24,41,0,0             // pand          0x2918(%rip),%xmm3        # 62a0 <_sk_callback_sse2+0xd5d>
+  .byte  15,89,21,136,45,0,0                 // mulps         0x2d88(%rip),%xmm2        # 6a60 <_sk_callback_sse2+0xee5>
+  .byte  102,15,219,29,144,45,0,0            // pand          0x2d90(%rip),%xmm3        # 6a70 <_sk_callback_sse2+0xef5>
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,29,30,41,0,0                  // mulps         0x291e(%rip),%xmm3        # 62b0 <_sk_callback_sse2+0xd6d>
+  .byte  15,89,29,150,45,0,0                 // mulps         0x2d96(%rip),%xmm3        # 6a80 <_sk_callback_sse2+0xf05>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  91                                  // pop           %rbx
   .byte  255,224                             // jmpq          *%rax
@@ -33538,7 +36459,7 @@
 _sk_store_4444_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,16                           // mov           (%rax),%r10
-  .byte  68,15,40,5,28,41,0,0                // movaps        0x291c(%rip),%xmm8        # 62c0 <_sk_callback_sse2+0xd7d>
+  .byte  68,15,40,5,148,45,0,0               // movaps        0x2d94(%rip),%xmm8        # 6a90 <_sk_callback_sse2+0xf15>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
@@ -33560,7 +36481,7 @@
   .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
   .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3a15 <_sk_store_4444_sse2+0x7e>
+  .byte  117,10                              // jne           3d6d <_sk_store_4444_sse2+0x7e>
   .byte  242,69,15,17,4,82                   // movsd         %xmm8,(%r10,%rdx,2)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -33568,19 +36489,19 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,38                              // je            3a4d <_sk_store_4444_sse2+0xb6>
+  .byte  116,38                              // je            3da5 <_sk_store_4444_sse2+0xb6>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,18                              // je            3a3f <_sk_store_4444_sse2+0xa8>
+  .byte  116,18                              // je            3d97 <_sk_store_4444_sse2+0xa8>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,222                             // jne           3a11 <_sk_store_4444_sse2+0x7a>
+  .byte  117,222                             // jne           3d69 <_sk_store_4444_sse2+0x7a>
   .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
   .byte  102,65,137,68,82,4                  // mov           %ax,0x4(%r10,%rdx,2)
   .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
   .byte  102,69,15,126,4,82                  // movd          %xmm8,(%r10,%rdx,2)
-  .byte  235,196                             // jmp           3a11 <_sk_store_4444_sse2+0x7a>
+  .byte  235,196                             // jmp           3d69 <_sk_store_4444_sse2+0x7a>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  102,65,137,4,82                     // mov           %ax,(%r10,%rdx,2)
-  .byte  235,184                             // jmp           3a11 <_sk_store_4444_sse2+0x7a>
+  .byte  235,184                             // jmp           3d69 <_sk_store_4444_sse2+0x7a>
 
 HIDDEN _sk_load_8888_sse2
 .globl _sk_load_8888_sse2
@@ -33589,13 +36510,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,98                              // jne           3ac5 <_sk_load_8888_sse2+0x6c>
+  .byte  117,98                              // jne           3e1d <_sk_load_8888_sse2+0x6c>
   .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
-  .byte  102,15,111,21,95,40,0,0             // movdqa        0x285f(%rip),%xmm2        # 62d0 <_sk_callback_sse2+0xd8d>
+  .byte  102,15,111,21,215,44,0,0            // movdqa        0x2cd7(%rip),%xmm2        # 6aa0 <_sk_callback_sse2+0xf25>
   .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,91,40,0,0                // movaps        0x285b(%rip),%xmm8        # 62e0 <_sk_callback_sse2+0xd9d>
+  .byte  68,15,40,5,211,44,0,0               // movaps        0x2cd3(%rip),%xmm8        # 6ab0 <_sk_callback_sse2+0xf35>
   .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
@@ -33615,18 +36536,64 @@
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,40                              // je            3afa <_sk_load_8888_sse2+0xa1>
+  .byte  116,40                              // je            3e52 <_sk_load_8888_sse2+0xa1>
   .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,18                              // je            3aef <_sk_load_8888_sse2+0x96>
+  .byte  116,18                              // je            3e47 <_sk_load_8888_sse2+0x96>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,134                             // jne           3a69 <_sk_load_8888_sse2+0x10>
+  .byte  117,134                             // jne           3dc1 <_sk_load_8888_sse2+0x10>
   .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
   .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
   .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
-  .byte  233,111,255,255,255                 // jmpq          3a69 <_sk_load_8888_sse2+0x10>
+  .byte  233,111,255,255,255                 // jmpq          3dc1 <_sk_load_8888_sse2+0x10>
   .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
-  .byte  233,100,255,255,255                 // jmpq          3a69 <_sk_load_8888_sse2+0x10>
+  .byte  233,100,255,255,255                 // jmpq          3dc1 <_sk_load_8888_sse2+0x10>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,98                              // jne           3ec9 <_sk_load_8888_dst_sse2+0x6c>
+  .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
+  .byte  102,15,111,53,75,44,0,0             // movdqa        0x2c4b(%rip),%xmm6        # 6ac0 <_sk_callback_sse2+0xf45>
+  .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,71,44,0,0                // movaps        0x2c47(%rip),%xmm8        # 6ad0 <_sk_callback_sse2+0xf55>
+  .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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,40                              // je            3efe <_sk_load_8888_dst_sse2+0xa1>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,18                              // je            3ef3 <_sk_load_8888_dst_sse2+0x96>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  117,134                             // jne           3e6d <_sk_load_8888_dst_sse2+0x10>
+  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
+  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
+  .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
+  .byte  233,111,255,255,255                 // jmpq          3e6d <_sk_load_8888_dst_sse2+0x10>
+  .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
+  .byte  233,100,255,255,255                 // jmpq          3e6d <_sk_load_8888_dst_sse2+0x10>
 
 HIDDEN _sk_gather_8888_sse2
 .globl _sk_gather_8888_sse2
@@ -33660,11 +36627,11 @@
   .byte  102,67,15,110,12,145                // movd          (%r9,%r10,4),%xmm1
   .byte  102,68,15,98,201                    // punpckldq     %xmm1,%xmm9
   .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
-  .byte  102,15,111,21,105,39,0,0            // movdqa        0x2769(%rip),%xmm2        # 62f0 <_sk_callback_sse2+0xdad>
+  .byte  102,15,111,21,85,43,0,0             // movdqa        0x2b55(%rip),%xmm2        # 6ae0 <_sk_callback_sse2+0xf65>
   .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,101,39,0,0               // movaps        0x2765(%rip),%xmm8        # 6300 <_sk_callback_sse2+0xdbd>
+  .byte  68,15,40,5,81,43,0,0                // movaps        0x2b51(%rip),%xmm8        # 6af0 <_sk_callback_sse2+0xf75>
   .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
@@ -33689,7 +36656,7 @@
 _sk_store_8888_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  68,15,40,5,39,39,0,0                // movaps        0x2727(%rip),%xmm8        # 6310 <_sk_callback_sse2+0xdcd>
+  .byte  68,15,40,5,19,43,0,0                // movaps        0x2b13(%rip),%xmm8        # 6b00 <_sk_callback_sse2+0xf85>
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
@@ -33708,24 +36675,24 @@
   .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
   .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           3c49 <_sk_store_8888_sse2+0x6d>
+  .byte  117,10                              // jne           404d <_sk_store_8888_sse2+0x6d>
   .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,3                        // and           $0x3,%r9b
   .byte  65,128,249,1                        // cmp           $0x1,%r9b
-  .byte  116,33                              // je            3c77 <_sk_store_8888_sse2+0x9b>
+  .byte  116,33                              // je            407b <_sk_store_8888_sse2+0x9b>
   .byte  65,128,249,2                        // cmp           $0x2,%r9b
-  .byte  116,19                              // je            3c6f <_sk_store_8888_sse2+0x93>
+  .byte  116,19                              // je            4073 <_sk_store_8888_sse2+0x93>
   .byte  65,128,249,3                        // cmp           $0x3,%r9b
-  .byte  117,227                             // jne           3c45 <_sk_store_8888_sse2+0x69>
+  .byte  117,227                             // jne           4049 <_sk_store_8888_sse2+0x69>
   .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
   .byte  102,68,15,126,76,144,8              // movd          %xmm9,0x8(%rax,%rdx,4)
   .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
-  .byte  235,206                             // jmp           3c45 <_sk_store_8888_sse2+0x69>
+  .byte  235,206                             // jmp           4049 <_sk_store_8888_sse2+0x69>
   .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
-  .byte  235,198                             // jmp           3c45 <_sk_store_8888_sse2+0x69>
+  .byte  235,198                             // jmp           4049 <_sk_store_8888_sse2+0x69>
 
 HIDDEN _sk_load_f16_sse2
 .globl _sk_load_f16_sse2
@@ -33734,7 +36701,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,96,1,0,0                     // jne           3ded <_sk_load_f16_sse2+0x16e>
+  .byte  15,133,96,1,0,0                     // jne           41f1 <_sk_load_f16_sse2+0x16e>
   .byte  102,15,16,4,208                     // movupd        (%rax,%rdx,8),%xmm0
   .byte  102,15,16,76,208,16                 // movupd        0x10(%rax,%rdx,8),%xmm1
   .byte  102,68,15,40,192                    // movapd        %xmm0,%xmm8
@@ -33746,7 +36713,7 @@
   .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
   .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
   .byte  102,65,15,97,202                    // punpcklwd     %xmm10,%xmm1
-  .byte  102,68,15,111,13,83,38,0,0          // movdqa        0x2653(%rip),%xmm9        # 6320 <_sk_callback_sse2+0xddd>
+  .byte  102,68,15,111,13,63,42,0,0          // movdqa        0x2a3f(%rip),%xmm9        # 6b10 <_sk_callback_sse2+0xf95>
   .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
   .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
   .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
@@ -33754,11 +36721,11 @@
   .byte  102,68,15,111,233                   // movdqa        %xmm1,%xmm13
   .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
   .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
-  .byte  102,68,15,111,29,56,38,0,0          // movdqa        0x2638(%rip),%xmm11        # 6330 <_sk_callback_sse2+0xded>
+  .byte  102,68,15,111,29,36,42,0,0          // movdqa        0x2a24(%rip),%xmm11        # 6b20 <_sk_callback_sse2+0xfa5>
   .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
-  .byte  102,68,15,111,37,58,38,0,0          // movdqa        0x263a(%rip),%xmm12        # 6340 <_sk_callback_sse2+0xdfd>
+  .byte  102,68,15,111,37,38,42,0,0          // movdqa        0x2a26(%rip),%xmm12        # 6b30 <_sk_callback_sse2+0xfb5>
   .byte  102,65,15,239,204                   // pxor          %xmm12,%xmm1
-  .byte  102,15,111,29,61,38,0,0             // movdqa        0x263d(%rip),%xmm3        # 6350 <_sk_callback_sse2+0xe0d>
+  .byte  102,15,111,29,41,42,0,0             // movdqa        0x2a29(%rip),%xmm3        # 6b40 <_sk_callback_sse2+0xfc5>
   .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
   .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
   .byte  102,65,15,223,197                   // pandn         %xmm13,%xmm0
@@ -33806,17 +36773,108 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,15,16,4,208                     // movsd         (%rax,%rdx,8),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,17                              // jne           3e09 <_sk_load_f16_sse2+0x18a>
+  .byte  117,17                              // jne           420d <_sk_load_f16_sse2+0x18a>
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
-  .byte  233,143,254,255,255                 // jmpq          3c98 <_sk_load_f16_sse2+0x19>
+  .byte  233,143,254,255,255                 // jmpq          409c <_sk_load_f16_sse2+0x19>
   .byte  102,15,22,68,208,8                  // movhpd        0x8(%rax,%rdx,8),%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,123,254,255,255              // jb            3c98 <_sk_load_f16_sse2+0x19>
+  .byte  15,130,123,254,255,255              // jb            409c <_sk_load_f16_sse2+0x19>
   .byte  242,15,16,76,208,16                 // movsd         0x10(%rax,%rdx,8),%xmm1
-  .byte  233,112,254,255,255                 // jmpq          3c98 <_sk_load_f16_sse2+0x19>
+  .byte  233,112,254,255,255                 // jmpq          409c <_sk_load_f16_sse2+0x19>
+
+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  72,139,0                            // mov           (%rax),%rax
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,96,1,0,0                     // jne           439a <_sk_load_f16_dst_sse2+0x16e>
+  .byte  102,15,16,36,208                    // movupd        (%rax,%rdx,8),%xmm4
+  .byte  102,15,16,108,208,16                // movupd        0x10(%rax,%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,69,15,111,240                   // movdqa        %xmm8,%xmm14
+  .byte  102,68,15,97,244                    // punpcklwd     %xmm4,%xmm14
+  .byte  102,68,15,105,196                   // punpckhwd     %xmm4,%xmm8
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  102,65,15,111,238                   // movdqa        %xmm14,%xmm5
+  .byte  102,65,15,97,234                    // punpcklwd     %xmm10,%xmm5
+  .byte  102,68,15,111,13,214,40,0,0         // movdqa        0x28d6(%rip),%xmm9        # 6b50 <_sk_callback_sse2+0xfd5>
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
+  .byte  102,15,239,236                      // pxor          %xmm4,%xmm5
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,68,15,111,237                   // movdqa        %xmm5,%xmm13
+  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
+  .byte  102,68,15,235,236                   // por           %xmm4,%xmm13
+  .byte  102,68,15,111,29,187,40,0,0         // movdqa        0x28bb(%rip),%xmm11        # 6b60 <_sk_callback_sse2+0xfe5>
+  .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
+  .byte  102,68,15,111,37,189,40,0,0         // movdqa        0x28bd(%rip),%xmm12        # 6b70 <_sk_callback_sse2+0xff5>
+  .byte  102,65,15,239,236                   // pxor          %xmm12,%xmm5
+  .byte  102,15,111,61,192,40,0,0            // movdqa        0x28c0(%rip),%xmm7        # 6b80 <_sk_callback_sse2+0x1005>
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,102,229                      // pcmpgtd       %xmm5,%xmm4
+  .byte  102,65,15,223,229                   // pandn         %xmm13,%xmm4
+  .byte  102,65,15,115,222,8                 // psrldq        $0x8,%xmm14
+  .byte  102,69,15,97,242                    // punpcklwd     %xmm10,%xmm14
+  .byte  102,65,15,111,238                   // movdqa        %xmm14,%xmm5
+  .byte  102,65,15,219,233                   // pand          %xmm9,%xmm5
+  .byte  102,68,15,239,245                   // pxor          %xmm5,%xmm14
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,65,15,111,246                   // movdqa        %xmm14,%xmm6
+  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
+  .byte  102,15,235,245                      // por           %xmm5,%xmm6
+  .byte  102,65,15,254,243                   // paddd         %xmm11,%xmm6
+  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,65,15,102,238                   // pcmpgtd       %xmm14,%xmm5
+  .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,65,15,111,245                   // movdqa        %xmm13,%xmm6
+  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
+  .byte  102,68,15,239,238                   // pxor          %xmm6,%xmm13
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,65,15,114,246,13                // pslld         $0xd,%xmm14
+  .byte  102,68,15,235,246                   // por           %xmm6,%xmm14
+  .byte  102,69,15,254,243                   // paddd         %xmm11,%xmm14
+  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,65,15,102,245                   // pcmpgtd       %xmm13,%xmm6
+  .byte  102,65,15,223,246                   // pandn         %xmm14,%xmm6
+  .byte  102,65,15,115,216,8                 // psrldq        $0x8,%xmm8
+  .byte  102,69,15,97,194                    // punpcklwd     %xmm10,%xmm8
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,242,13                // pslld         $0xd,%xmm10
+  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
+  .byte  102,69,15,254,211                   // paddd         %xmm11,%xmm10
+  .byte  102,69,15,239,196                   // pxor          %xmm12,%xmm8
+  .byte  102,65,15,102,248                   // pcmpgtd       %xmm8,%xmm7
+  .byte  102,65,15,223,250                   // pandn         %xmm10,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,15,16,36,208                    // movsd         (%rax,%rdx,8),%xmm4
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  117,17                              // jne           43b6 <_sk_load_f16_dst_sse2+0x18a>
+  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
+  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
+  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
+  .byte  233,143,254,255,255                 // jmpq          4245 <_sk_load_f16_dst_sse2+0x19>
+  .byte  102,15,22,100,208,8                 // movhpd        0x8(%rax,%rdx,8),%xmm4
+  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  15,130,123,254,255,255              // jb            4245 <_sk_load_f16_dst_sse2+0x19>
+  .byte  242,15,16,108,208,16                // movsd         0x10(%rax,%rdx,8),%xmm5
+  .byte  233,112,254,255,255                 // jmpq          4245 <_sk_load_f16_dst_sse2+0x19>
 
 HIDDEN _sk_gather_f16_sse2
 .globl _sk_gather_f16_sse2
@@ -33858,7 +36916,7 @@
   .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
   .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
   .byte  102,65,15,97,202                    // punpcklwd     %xmm10,%xmm1
-  .byte  102,68,15,111,13,143,36,0,0         // movdqa        0x248f(%rip),%xmm9        # 6360 <_sk_callback_sse2+0xe1d>
+  .byte  102,68,15,111,13,18,39,0,0          // movdqa        0x2712(%rip),%xmm9        # 6b90 <_sk_callback_sse2+0x1015>
   .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
   .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
   .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
@@ -33866,11 +36924,11 @@
   .byte  102,68,15,111,233                   // movdqa        %xmm1,%xmm13
   .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
   .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
-  .byte  102,68,15,111,29,116,36,0,0         // movdqa        0x2474(%rip),%xmm11        # 6370 <_sk_callback_sse2+0xe2d>
+  .byte  102,68,15,111,29,247,38,0,0         // movdqa        0x26f7(%rip),%xmm11        # 6ba0 <_sk_callback_sse2+0x1025>
   .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
-  .byte  102,68,15,111,37,118,36,0,0         // movdqa        0x2476(%rip),%xmm12        # 6380 <_sk_callback_sse2+0xe3d>
+  .byte  102,68,15,111,37,249,38,0,0         // movdqa        0x26f9(%rip),%xmm12        # 6bb0 <_sk_callback_sse2+0x1035>
   .byte  102,65,15,239,204                   // pxor          %xmm12,%xmm1
-  .byte  102,15,111,29,121,36,0,0            // movdqa        0x2479(%rip),%xmm3        # 6390 <_sk_callback_sse2+0xe4d>
+  .byte  102,15,111,29,252,38,0,0            // movdqa        0x26fc(%rip),%xmm3        # 6bc0 <_sk_callback_sse2+0x1045>
   .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
   .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
   .byte  102,65,15,223,197                   // pandn         %xmm13,%xmm0
@@ -33924,17 +36982,17 @@
 _sk_store_f16_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  72,139,0                            // mov           (%rax),%rax
-  .byte  102,68,15,111,21,160,35,0,0         // movdqa        0x23a0(%rip),%xmm10        # 63a0 <_sk_callback_sse2+0xe5d>
+  .byte  102,68,15,111,21,35,38,0,0          // movdqa        0x2623(%rip),%xmm10        # 6bd0 <_sk_callback_sse2+0x1055>
   .byte  102,68,15,111,224                   // movdqa        %xmm0,%xmm12
   .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
   .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
   .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
-  .byte  102,68,15,111,13,147,35,0,0         // movdqa        0x2393(%rip),%xmm9        # 63b0 <_sk_callback_sse2+0xe6d>
+  .byte  102,68,15,111,13,22,38,0,0          // movdqa        0x2616(%rip),%xmm9        # 6be0 <_sk_callback_sse2+0x1065>
   .byte  102,65,15,114,212,16                // psrld         $0x10,%xmm12
   .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
   .byte  102,69,15,102,197                   // pcmpgtd       %xmm13,%xmm8
   .byte  102,65,15,114,213,13                // psrld         $0xd,%xmm13
-  .byte  102,68,15,111,29,132,35,0,0         // movdqa        0x2384(%rip),%xmm11        # 63c0 <_sk_callback_sse2+0xe7d>
+  .byte  102,68,15,111,29,7,38,0,0           // movdqa        0x2607(%rip),%xmm11        # 6bf0 <_sk_callback_sse2+0x1075>
   .byte  102,69,15,235,227                   // por           %xmm11,%xmm12
   .byte  102,69,15,254,229                   // paddd         %xmm13,%xmm12
   .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
@@ -33986,7 +37044,7 @@
   .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
   .byte  102,69,15,98,204                    // punpckldq     %xmm12,%xmm9
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,21                              // jne           415e <_sk_store_f16_sse2+0x16c>
+  .byte  117,21                              // jne           470b <_sk_store_f16_sse2+0x16c>
   .byte  68,15,17,12,208                     // movups        %xmm9,(%rax,%rdx,8)
   .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
   .byte  243,68,15,127,68,208,16             // movdqu        %xmm8,0x10(%rax,%rdx,8)
@@ -33994,13 +37052,13 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  102,68,15,214,12,208                // movq          %xmm9,(%rax,%rdx,8)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            415a <_sk_store_f16_sse2+0x168>
+  .byte  116,240                             // je            4707 <_sk_store_f16_sse2+0x168>
   .byte  102,68,15,23,76,208,8               // movhpd        %xmm9,0x8(%rax,%rdx,8)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            415a <_sk_store_f16_sse2+0x168>
+  .byte  114,227                             // jb            4707 <_sk_store_f16_sse2+0x168>
   .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
   .byte  102,68,15,214,68,208,16             // movq          %xmm8,0x10(%rax,%rdx,8)
-  .byte  235,213                             // jmp           415a <_sk_store_f16_sse2+0x168>
+  .byte  235,213                             // jmp           4707 <_sk_store_f16_sse2+0x168>
 
 HIDDEN _sk_load_u16_be_sse2
 .globl _sk_load_u16_be_sse2
@@ -34010,7 +37068,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,190,0,0,0                    // jne           4259 <_sk_load_u16_be_sse2+0xd4>
+  .byte  15,133,190,0,0,0                    // jne           4806 <_sk_load_u16_be_sse2+0xd4>
   .byte  102,65,15,16,4,65                   // movupd        (%r9,%rax,2),%xmm0
   .byte  102,65,15,16,76,65,16               // movupd        0x10(%r9,%rax,2),%xmm1
   .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
@@ -34027,7 +37085,7 @@
   .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,228,33,0,0               // movaps        0x21e4(%rip),%xmm8        # 63d0 <_sk_callback_sse2+0xe8d>
+  .byte  68,15,40,5,103,36,0,0               // movaps        0x2467(%rip),%xmm8        # 6c00 <_sk_callback_sse2+0x1085>
   .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
@@ -34055,17 +37113,17 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  242,65,15,16,4,65                   // movsd         (%r9,%rax,2),%xmm0
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,17                              // jne           4276 <_sk_load_u16_be_sse2+0xf1>
+  .byte  117,17                              // jne           4823 <_sk_load_u16_be_sse2+0xf1>
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
-  .byte  233,50,255,255,255                  // jmpq          41a8 <_sk_load_u16_be_sse2+0x23>
+  .byte  233,50,255,255,255                  // jmpq          4755 <_sk_load_u16_be_sse2+0x23>
   .byte  102,65,15,22,68,65,8                // movhpd        0x8(%r9,%rax,2),%xmm0
   .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  15,130,29,255,255,255               // jb            41a8 <_sk_load_u16_be_sse2+0x23>
+  .byte  15,130,29,255,255,255               // jb            4755 <_sk_load_u16_be_sse2+0x23>
   .byte  242,65,15,16,76,65,16               // movsd         0x10(%r9,%rax,2),%xmm1
-  .byte  233,17,255,255,255                  // jmpq          41a8 <_sk_load_u16_be_sse2+0x23>
+  .byte  233,17,255,255,255                  // jmpq          4755 <_sk_load_u16_be_sse2+0x23>
 
 HIDDEN _sk_load_rgb_u16_be_sse2
 .globl _sk_load_rgb_u16_be_sse2
@@ -34075,7 +37133,7 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,175,0,0,0                    // jne           4358 <_sk_load_rgb_u16_be_sse2+0xc1>
+  .byte  15,133,175,0,0,0                    // jne           4905 <_sk_load_rgb_u16_be_sse2+0xc1>
   .byte  243,65,15,111,20,65                 // movdqu        (%r9,%rax,2),%xmm2
   .byte  243,65,15,111,92,65,8               // movdqu        0x8(%r9,%rax,2),%xmm3
   .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
@@ -34096,7 +37154,7 @@
   .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,211,32,0,0              // movaps        0x20d3(%rip),%xmm9        # 63e0 <_sk_callback_sse2+0xe9d>
+  .byte  68,15,40,13,86,35,0,0               // movaps        0x2356(%rip),%xmm9        # 6c10 <_sk_callback_sse2+0x1095>
   .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
@@ -34113,27 +37171,27 @@
   .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,154,32,0,0                 // movaps        0x209a(%rip),%xmm3        # 63f0 <_sk_callback_sse2+0xead>
+  .byte  15,40,29,29,35,0,0                  // movaps        0x231d(%rip),%xmm3        # 6c20 <_sk_callback_sse2+0x10a5>
   .byte  255,224                             // jmpq          *%rax
   .byte  102,65,15,110,20,65                 // movd          (%r9,%rax,2),%xmm2
   .byte  102,65,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,13                              // jne           437d <_sk_load_rgb_u16_be_sse2+0xe6>
+  .byte  117,13                              // jne           492a <_sk_load_rgb_u16_be_sse2+0xe6>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,80,255,255,255                  // jmpq          42cd <_sk_load_rgb_u16_be_sse2+0x36>
+  .byte  233,80,255,255,255                  // jmpq          487a <_sk_load_rgb_u16_be_sse2+0x36>
   .byte  102,65,15,110,68,65,6               // movd          0x6(%r9,%rax,2),%xmm0
   .byte  102,65,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,24                              // jb            43ae <_sk_load_rgb_u16_be_sse2+0x117>
+  .byte  114,24                              // jb            495b <_sk_load_rgb_u16_be_sse2+0x117>
   .byte  102,65,15,110,92,65,12              // movd          0xc(%r9,%rax,2),%xmm3
   .byte  102,65,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  233,31,255,255,255                  // jmpq          42cd <_sk_load_rgb_u16_be_sse2+0x36>
+  .byte  233,31,255,255,255                  // jmpq          487a <_sk_load_rgb_u16_be_sse2+0x36>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
-  .byte  233,22,255,255,255                  // jmpq          42cd <_sk_load_rgb_u16_be_sse2+0x36>
+  .byte  233,22,255,255,255                  // jmpq          487a <_sk_load_rgb_u16_be_sse2+0x36>
 
 HIDDEN _sk_store_u16_be_sse2
 .globl _sk_store_u16_be_sse2
@@ -34142,7 +37200,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
-  .byte  68,15,40,21,52,32,0,0               // movaps        0x2034(%rip),%xmm10        # 6400 <_sk_callback_sse2+0xebd>
+  .byte  68,15,40,21,183,34,0,0              // movaps        0x22b7(%rip),%xmm10        # 6c30 <_sk_callback_sse2+0x10b5>
   .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
   .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
   .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
@@ -34187,7 +37245,7 @@
   .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
   .byte  102,69,15,98,209                    // punpckldq     %xmm9,%xmm10
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,21                              // jne           44c6 <_sk_store_u16_be_sse2+0x10f>
+  .byte  117,21                              // jne           4a73 <_sk_store_u16_be_sse2+0x10f>
   .byte  69,15,17,20,65                      // movups        %xmm10,(%r9,%rax,2)
   .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
   .byte  243,69,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%rax,2)
@@ -34195,13 +37253,13 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  102,69,15,214,20,65                 // movq          %xmm10,(%r9,%rax,2)
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,240                             // je            44c2 <_sk_store_u16_be_sse2+0x10b>
+  .byte  116,240                             // je            4a6f <_sk_store_u16_be_sse2+0x10b>
   .byte  102,69,15,23,84,65,8                // movhpd        %xmm10,0x8(%r9,%rax,2)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,227                             // jb            44c2 <_sk_store_u16_be_sse2+0x10b>
+  .byte  114,227                             // jb            4a6f <_sk_store_u16_be_sse2+0x10b>
   .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
   .byte  102,69,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%rax,2)
-  .byte  235,213                             // jmp           44c2 <_sk_store_u16_be_sse2+0x10b>
+  .byte  235,213                             // jmp           4a6f <_sk_store_u16_be_sse2+0x10b>
 
 HIDDEN _sk_load_f32_sse2
 .globl _sk_load_f32_sse2
@@ -34214,7 +37272,7 @@
   .byte  72,193,224,4                        // shl           $0x4,%rax
   .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,66                              // jne           454d <_sk_load_f32_sse2+0x60>
+  .byte  117,66                              // jne           4afa <_sk_load_f32_sse2+0x60>
   .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
   .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
   .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
@@ -34234,17 +37292,60 @@
   .byte  255,224                             // jmpq          *%rax
   .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  117,8                               // jne           455f <_sk_load_f32_sse2+0x72>
+  .byte  117,8                               // jne           4b0c <_sk_load_f32_sse2+0x72>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
-  .byte  235,190                             // jmp           451d <_sk_load_f32_sse2+0x30>
+  .byte  235,190                             // jmp           4aca <_sk_load_f32_sse2+0x30>
   .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,8                               // jb            4573 <_sk_load_f32_sse2+0x86>
+  .byte  114,8                               // jb            4b20 <_sk_load_f32_sse2+0x86>
   .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
-  .byte  235,170                             // jmp           451d <_sk_load_f32_sse2+0x30>
+  .byte  235,170                             // jmp           4aca <_sk_load_f32_sse2+0x30>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
-  .byte  235,165                             // jmp           451d <_sk_load_f32_sse2+0x30>
+  .byte  235,165                             // jmp           4aca <_sk_load_f32_sse2+0x30>
+
+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,139,16                           // mov           (%rax),%r10
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,66                              // jne           4b85 <_sk_load_f32_dst_sse2+0x60>
+  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
+  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
+  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,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  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  117,8                               // jne           4b97 <_sk_load_f32_dst_sse2+0x72>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  235,190                             // jmp           4b55 <_sk_load_f32_dst_sse2+0x30>
+  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
+  .byte  73,131,248,3                        // cmp           $0x3,%r8
+  .byte  114,8                               // jb            4bab <_sk_load_f32_dst_sse2+0x86>
+  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
+  .byte  235,170                             // jmp           4b55 <_sk_load_f32_dst_sse2+0x30>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,165                             // jmp           4b55 <_sk_load_f32_dst_sse2+0x30>
 
 HIDDEN _sk_store_f32_sse2
 .globl _sk_store_f32_sse2
@@ -34270,7 +37371,7 @@
   .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
   .byte  102,69,15,17,36,2                   // movupd        %xmm12,(%r10,%rax,1)
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,29                              // jne           45ea <_sk_store_f32_sse2+0x72>
+  .byte  117,29                              // jne           4c22 <_sk_store_f32_sse2+0x72>
   .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
   .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
   .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
@@ -34278,12 +37379,12 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  73,131,248,1                        // cmp           $0x1,%r8
-  .byte  116,246                             // je            45e6 <_sk_store_f32_sse2+0x6e>
+  .byte  116,246                             // je            4c1e <_sk_store_f32_sse2+0x6e>
   .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
   .byte  73,131,248,3                        // cmp           $0x3,%r8
-  .byte  114,234                             // jb            45e6 <_sk_store_f32_sse2+0x6e>
+  .byte  114,234                             // jb            4c1e <_sk_store_f32_sse2+0x6e>
   .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
-  .byte  235,225                             // jmp           45e6 <_sk_store_f32_sse2+0x6e>
+  .byte  235,225                             // jmp           4c1e <_sk_store_f32_sse2+0x6e>
 
 HIDDEN _sk_clamp_x_sse2
 .globl _sk_clamp_x_sse2
@@ -34329,7 +37430,7 @@
   .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,141,29,0,0              // andps         0x1d8d(%rip),%xmm9        # 6410 <_sk_callback_sse2+0xecd>
+  .byte  68,15,84,13,133,31,0,0              // andps         0x1f85(%rip),%xmm9        # 6c40 <_sk_callback_sse2+0x10c5>
   .byte  69,15,92,209                        // subps         %xmm9,%xmm10
   .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
   .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
@@ -34352,7 +37453,7 @@
   .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,78,29,0,0               // andps         0x1d4e(%rip),%xmm9        # 6420 <_sk_callback_sse2+0xedd>
+  .byte  68,15,84,13,70,31,0,0               // andps         0x1f46(%rip),%xmm9        # 6c50 <_sk_callback_sse2+0x10d5>
   .byte  69,15,92,209                        // subps         %xmm9,%xmm10
   .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
   .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
@@ -34375,13 +37476,13 @@
   .byte  65,15,92,192                        // subps         %xmm8,%xmm0
   .byte  243,69,15,88,201                    // addss         %xmm9,%xmm9
   .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
-  .byte  243,68,15,89,21,30,33,0,0           // mulss         0x211e(%rip),%xmm10        # 6840 <_sk_callback_sse2+0x12fd>
+  .byte  243,68,15,89,21,22,35,0,0           // mulss         0x2316(%rip),%xmm10        # 7070 <_sk_callback_sse2+0x14f5>
   .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
   .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
   .byte  243,69,15,91,218                    // cvttps2dq     %xmm10,%xmm11
   .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
   .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
-  .byte  68,15,84,21,239,28,0,0              // andps         0x1cef(%rip),%xmm10        # 6430 <_sk_callback_sse2+0xeed>
+  .byte  68,15,84,21,231,30,0,0              // andps         0x1ee7(%rip),%xmm10        # 6c60 <_sk_callback_sse2+0x10e5>
   .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
   .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
@@ -34407,13 +37508,13 @@
   .byte  65,15,92,200                        // subps         %xmm8,%xmm1
   .byte  243,69,15,88,201                    // addss         %xmm9,%xmm9
   .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
-  .byte  243,68,15,89,21,168,32,0,0          // mulss         0x20a8(%rip),%xmm10        # 6844 <_sk_callback_sse2+0x1301>
+  .byte  243,68,15,89,21,160,34,0,0          // mulss         0x22a0(%rip),%xmm10        # 7074 <_sk_callback_sse2+0x14f9>
   .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
   .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
   .byte  243,69,15,91,218                    // cvttps2dq     %xmm10,%xmm11
   .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
   .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
-  .byte  68,15,84,21,133,28,0,0              // andps         0x1c85(%rip),%xmm10        # 6440 <_sk_callback_sse2+0xefd>
+  .byte  68,15,84,21,125,30,0,0              // andps         0x1e7d(%rip),%xmm10        # 6c70 <_sk_callback_sse2+0x10f5>
   .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
   .byte  69,15,92,218                        // subps         %xmm10,%xmm11
   .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
@@ -34433,7 +37534,7 @@
 _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,87,28,0,0                // minps         0x1c57(%rip),%xmm8        # 6450 <_sk_callback_sse2+0xf0d>
+  .byte  68,15,93,5,79,30,0,0                // minps         0x1e4f(%rip),%xmm8        # 6c80 <_sk_callback_sse2+0x1105>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
   .byte  255,224                             // jmpq          *%rax
@@ -34446,7 +37547,7 @@
   .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,194,200,1                     // cmpltps       %xmm8,%xmm9
-  .byte  68,15,84,13,69,28,0,0               // andps         0x1c45(%rip),%xmm9        # 6460 <_sk_callback_sse2+0xf1d>
+  .byte  68,15,84,13,61,30,0,0               // andps         0x1e3d(%rip),%xmm9        # 6c90 <_sk_callback_sse2+0x1115>
   .byte  69,15,92,193                        // subps         %xmm9,%xmm8
   .byte  65,15,92,192                        // subps         %xmm8,%xmm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -34456,14 +37557,14 @@
 .globl _sk_mirror_x_1_sse2
 FUNCTION(_sk_mirror_x_1_sse2)
 _sk_mirror_x_1_sse2:
-  .byte  68,15,40,5,65,28,0,0                // movaps        0x1c41(%rip),%xmm8        # 6470 <_sk_callback_sse2+0xf2d>
+  .byte  68,15,40,5,57,30,0,0                // movaps        0x1e39(%rip),%xmm8        # 6ca0 <_sk_callback_sse2+0x1125>
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
-  .byte  68,15,40,13,69,28,0,0               // movaps        0x1c45(%rip),%xmm9        # 6480 <_sk_callback_sse2+0xf3d>
+  .byte  68,15,40,13,61,30,0,0               // movaps        0x1e3d(%rip),%xmm9        # 6cb0 <_sk_callback_sse2+0x1135>
   .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,59,28,0,0               // andps         0x1c3b(%rip),%xmm9        # 6490 <_sk_callback_sse2+0xf4d>
+  .byte  68,15,84,13,51,30,0,0               // andps         0x1e33(%rip),%xmm9        # 6cc0 <_sk_callback_sse2+0x1145>
   .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
   .byte  69,15,92,209                        // subps         %xmm9,%xmm10
   .byte  69,15,88,210                        // addps         %xmm10,%xmm10
@@ -34479,10 +37580,10 @@
 FUNCTION(_sk_luminance_to_alpha_sse2)
 _sk_luminance_to_alpha_sse2:
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
-  .byte  15,89,5,33,28,0,0                   // mulps         0x1c21(%rip),%xmm0        # 64a0 <_sk_callback_sse2+0xf5d>
-  .byte  15,89,13,42,28,0,0                  // mulps         0x1c2a(%rip),%xmm1        # 64b0 <_sk_callback_sse2+0xf6d>
+  .byte  15,89,5,25,30,0,0                   // mulps         0x1e19(%rip),%xmm0        # 6cd0 <_sk_callback_sse2+0x1155>
+  .byte  15,89,13,34,30,0,0                  // mulps         0x1e22(%rip),%xmm1        # 6ce0 <_sk_callback_sse2+0x1165>
   .byte  15,88,200                           // addps         %xmm0,%xmm1
-  .byte  15,89,29,48,28,0,0                  // mulps         0x1c30(%rip),%xmm3        # 64c0 <_sk_callback_sse2+0xf7d>
+  .byte  15,89,29,40,30,0,0                  // mulps         0x1e28(%rip),%xmm3        # 6cf0 <_sk_callback_sse2+0x1175>
   .byte  15,88,217                           // addps         %xmm1,%xmm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
@@ -34760,9 +37861,9 @@
   .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            4ccc <_sk_evenly_spaced_gradient_sse2+0x18>
+  .byte  120,7                               // js            5304 <_sk_evenly_spaced_gradient_sse2+0x18>
   .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
-  .byte  235,21                              // jmp           4ce1 <_sk_evenly_spaced_gradient_sse2+0x2d>
+  .byte  235,21                              // jmp           5319 <_sk_evenly_spaced_gradient_sse2+0x2d>
   .byte  73,137,217                          // mov           %rbx,%r9
   .byte  73,209,233                          // shr           %r9
   .byte  131,227,1                           // and           $0x1,%ebx
@@ -34860,15 +37961,15 @@
 .globl _sk_gauss_a_to_rgba_sse2
 FUNCTION(_sk_gauss_a_to_rgba_sse2)
 _sk_gauss_a_to_rgba_sse2:
-  .byte  15,40,5,99,22,0,0                   // movaps        0x1663(%rip),%xmm0        # 64d0 <_sk_callback_sse2+0xf8d>
+  .byte  15,40,5,91,24,0,0                   // movaps        0x185b(%rip),%xmm0        # 6d00 <_sk_callback_sse2+0x1185>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,105,22,0,0                  // addps         0x1669(%rip),%xmm0        # 64e0 <_sk_callback_sse2+0xf9d>
+  .byte  15,88,5,97,24,0,0                   // addps         0x1861(%rip),%xmm0        # 6d10 <_sk_callback_sse2+0x1195>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,111,22,0,0                  // addps         0x166f(%rip),%xmm0        # 64f0 <_sk_callback_sse2+0xfad>
+  .byte  15,88,5,103,24,0,0                  // addps         0x1867(%rip),%xmm0        # 6d20 <_sk_callback_sse2+0x11a5>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,117,22,0,0                  // addps         0x1675(%rip),%xmm0        # 6500 <_sk_callback_sse2+0xfbd>
+  .byte  15,88,5,109,24,0,0                  // addps         0x186d(%rip),%xmm0        # 6d30 <_sk_callback_sse2+0x11b5>
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,5,123,22,0,0                  // addps         0x167b(%rip),%xmm0        # 6510 <_sk_callback_sse2+0xfcd>
+  .byte  15,88,5,115,24,0,0                  // addps         0x1873(%rip),%xmm0        # 6d40 <_sk_callback_sse2+0x11c5>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
@@ -34886,12 +37987,12 @@
   .byte  76,139,8                            // mov           (%rax),%r9
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  73,131,249,2                        // cmp           $0x2,%r9
-  .byte  114,50                              // jb            4ee8 <_sk_gradient_sse2+0x46>
+  .byte  114,50                              // jb            5520 <_sk_gradient_sse2+0x46>
   .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
   .byte  73,255,201                          // dec           %r9
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  15,40,21,84,22,0,0                  // movaps        0x1654(%rip),%xmm2        # 6520 <_sk_callback_sse2+0xfdd>
+  .byte  15,40,21,76,24,0,0                  // movaps        0x184c(%rip),%xmm2        # 6d50 <_sk_callback_sse2+0x11d5>
   .byte  243,15,16,27                        // movss         (%rbx),%xmm3
   .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
   .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
@@ -34899,7 +38000,7 @@
   .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
   .byte  72,131,195,4                        // add           $0x4,%rbx
   .byte  73,255,201                          // dec           %r9
-  .byte  117,228                             // jne           4ecc <_sk_gradient_sse2+0x2a>
+  .byte  117,228                             // jne           5504 <_sk_gradient_sse2+0x2a>
   .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
   .byte  102,73,15,126,211                   // movq          %xmm2,%r11
   .byte  69,137,217                          // mov           %r11d,%r9d
@@ -35038,29 +38139,29 @@
   .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,21,20,0,0               // movaps        0x1415(%rip),%xmm13        # 6530 <_sk_callback_sse2+0xfed>
+  .byte  68,15,40,45,13,22,0,0               // movaps        0x160d(%rip),%xmm13        # 6d60 <_sk_callback_sse2+0x11e5>
   .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
-  .byte  68,15,88,45,25,20,0,0               // addps         0x1419(%rip),%xmm13        # 6540 <_sk_callback_sse2+0xffd>
+  .byte  68,15,88,45,17,22,0,0               // addps         0x1611(%rip),%xmm13        # 6d70 <_sk_callback_sse2+0x11f5>
   .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
-  .byte  68,15,88,45,29,20,0,0               // addps         0x141d(%rip),%xmm13        # 6550 <_sk_callback_sse2+0x100d>
+  .byte  68,15,88,45,21,22,0,0               // addps         0x1615(%rip),%xmm13        # 6d80 <_sk_callback_sse2+0x1205>
   .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
-  .byte  68,15,88,45,33,20,0,0               // addps         0x1421(%rip),%xmm13        # 6560 <_sk_callback_sse2+0x101d>
+  .byte  68,15,88,45,25,22,0,0               // addps         0x1619(%rip),%xmm13        # 6d90 <_sk_callback_sse2+0x1215>
   .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
   .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
-  .byte  68,15,40,21,32,20,0,0               // movaps        0x1420(%rip),%xmm10        # 6570 <_sk_callback_sse2+0x102d>
+  .byte  68,15,40,21,24,22,0,0               // movaps        0x1618(%rip),%xmm10        # 6da0 <_sk_callback_sse2+0x1225>
   .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,19,20,0,0               // movaps        0x1413(%rip),%xmm10        # 6580 <_sk_callback_sse2+0x103d>
+  .byte  68,15,40,21,11,22,0,0               // movaps        0x160b(%rip),%xmm10        # 6db0 <_sk_callback_sse2+0x1235>
   .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,2,20,0,0                // movaps        0x1402(%rip),%xmm10        # 6590 <_sk_callback_sse2+0x104d>
+  .byte  68,15,40,21,250,21,0,0              // movaps        0x15fa(%rip),%xmm10        # 6dc0 <_sk_callback_sse2+0x1245>
   .byte  69,15,92,208                        // subps         %xmm8,%xmm10
   .byte  69,15,84,209                        // andps         %xmm9,%xmm10
   .byte  69,15,85,200                        // andnps        %xmm8,%xmm9
@@ -35087,7 +38188,7 @@
 FUNCTION(_sk_save_xy_sse2)
 _sk_save_xy_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,212,19,0,0               // movaps        0x13d4(%rip),%xmm8        # 65a0 <_sk_callback_sse2+0x105d>
+  .byte  68,15,40,5,204,21,0,0               // movaps        0x15cc(%rip),%xmm8        # 6dd0 <_sk_callback_sse2+0x1255>
   .byte  15,17,0                             // movups        %xmm0,(%rax)
   .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
   .byte  69,15,88,200                        // addps         %xmm8,%xmm9
@@ -35095,7 +38196,7 @@
   .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,191,19,0,0              // movaps        0x13bf(%rip),%xmm12        # 65b0 <_sk_callback_sse2+0x106d>
+  .byte  68,15,40,37,183,21,0,0              // movaps        0x15b7(%rip),%xmm12        # 6de0 <_sk_callback_sse2+0x1265>
   .byte  69,15,84,220                        // andps         %xmm12,%xmm11
   .byte  69,15,92,211                        // subps         %xmm11,%xmm10
   .byte  69,15,92,202                        // subps         %xmm10,%xmm9
@@ -35142,8 +38243,8 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,56,19,0,0                   // addps         0x1338(%rip),%xmm0        # 65c0 <_sk_callback_sse2+0x107d>
-  .byte  68,15,40,13,64,19,0,0               // movaps        0x1340(%rip),%xmm9        # 65d0 <_sk_callback_sse2+0x108d>
+  .byte  15,88,5,48,21,0,0                   // addps         0x1530(%rip),%xmm0        # 6df0 <_sk_callback_sse2+0x1275>
+  .byte  68,15,40,13,56,21,0,0               // movaps        0x1538(%rip),%xmm9        # 6e00 <_sk_callback_sse2+0x1285>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
   .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35156,7 +38257,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,47,19,0,0                   // addps         0x132f(%rip),%xmm0        # 65e0 <_sk_callback_sse2+0x109d>
+  .byte  15,88,5,39,21,0,0                   // addps         0x1527(%rip),%xmm0        # 6e10 <_sk_callback_sse2+0x1295>
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35168,8 +38269,8 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,33,19,0,0                  // addps         0x1321(%rip),%xmm1        # 65f0 <_sk_callback_sse2+0x10ad>
-  .byte  68,15,40,13,41,19,0,0               // movaps        0x1329(%rip),%xmm9        # 6600 <_sk_callback_sse2+0x10bd>
+  .byte  15,88,13,25,21,0,0                  // addps         0x1519(%rip),%xmm1        # 6e20 <_sk_callback_sse2+0x12a5>
+  .byte  68,15,40,13,33,21,0,0               // movaps        0x1521(%rip),%xmm9        # 6e30 <_sk_callback_sse2+0x12b5>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
   .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35182,7 +38283,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,23,19,0,0                  // addps         0x1317(%rip),%xmm1        # 6610 <_sk_callback_sse2+0x10cd>
+  .byte  15,88,13,15,21,0,0                  // addps         0x150f(%rip),%xmm1        # 6e40 <_sk_callback_sse2+0x12c5>
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35194,13 +38295,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,10,19,0,0                   // addps         0x130a(%rip),%xmm0        # 6620 <_sk_callback_sse2+0x10dd>
-  .byte  68,15,40,13,18,19,0,0               // movaps        0x1312(%rip),%xmm9        # 6630 <_sk_callback_sse2+0x10ed>
+  .byte  15,88,5,2,21,0,0                    // addps         0x1502(%rip),%xmm0        # 6e50 <_sk_callback_sse2+0x12d5>
+  .byte  68,15,40,13,10,21,0,0               // movaps        0x150a(%rip),%xmm9        # 6e60 <_sk_callback_sse2+0x12e5>
   .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,14,19,0,0               // mulps         0x130e(%rip),%xmm9        # 6640 <_sk_callback_sse2+0x10fd>
-  .byte  68,15,88,13,22,19,0,0               // addps         0x1316(%rip),%xmm9        # 6650 <_sk_callback_sse2+0x110d>
+  .byte  68,15,89,13,6,21,0,0                // mulps         0x1506(%rip),%xmm9        # 6e70 <_sk_callback_sse2+0x12f5>
+  .byte  68,15,88,13,14,21,0,0               // addps         0x150e(%rip),%xmm9        # 6e80 <_sk_callback_sse2+0x1305>
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35213,16 +38314,16 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,5,19,0,0                    // addps         0x1305(%rip),%xmm0        # 6660 <_sk_callback_sse2+0x111d>
-  .byte  68,15,40,13,13,19,0,0               // movaps        0x130d(%rip),%xmm9        # 6670 <_sk_callback_sse2+0x112d>
+  .byte  15,88,5,253,20,0,0                  // addps         0x14fd(%rip),%xmm0        # 6e90 <_sk_callback_sse2+0x1315>
+  .byte  68,15,40,13,5,21,0,0                // movaps        0x1505(%rip),%xmm9        # 6ea0 <_sk_callback_sse2+0x1325>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
-  .byte  68,15,40,5,17,19,0,0                // movaps        0x1311(%rip),%xmm8        # 6680 <_sk_callback_sse2+0x113d>
+  .byte  68,15,40,5,9,21,0,0                 // movaps        0x1509(%rip),%xmm8        # 6eb0 <_sk_callback_sse2+0x1335>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,21,19,0,0                // addps         0x1315(%rip),%xmm8        # 6690 <_sk_callback_sse2+0x114d>
+  .byte  68,15,88,5,13,21,0,0                // addps         0x150d(%rip),%xmm8        # 6ec0 <_sk_callback_sse2+0x1345>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,25,19,0,0                // addps         0x1319(%rip),%xmm8        # 66a0 <_sk_callback_sse2+0x115d>
+  .byte  68,15,88,5,17,21,0,0                // addps         0x1511(%rip),%xmm8        # 6ed0 <_sk_callback_sse2+0x1355>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,29,19,0,0                // addps         0x131d(%rip),%xmm8        # 66b0 <_sk_callback_sse2+0x116d>
+  .byte  68,15,88,5,21,21,0,0                // addps         0x1515(%rip),%xmm8        # 6ee0 <_sk_callback_sse2+0x1365>
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35232,17 +38333,17 @@
 FUNCTION(_sk_bicubic_p1x_sse2)
 _sk_bicubic_p1x_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,23,19,0,0                // movaps        0x1317(%rip),%xmm8        # 66c0 <_sk_callback_sse2+0x117d>
+  .byte  68,15,40,5,15,21,0,0                // movaps        0x150f(%rip),%xmm8        # 6ef0 <_sk_callback_sse2+0x1375>
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,72,64                      // movups        0x40(%rax),%xmm9
   .byte  65,15,88,192                        // addps         %xmm8,%xmm0
-  .byte  68,15,40,21,19,19,0,0               // movaps        0x1313(%rip),%xmm10        # 66d0 <_sk_callback_sse2+0x118d>
+  .byte  68,15,40,21,11,21,0,0               // movaps        0x150b(%rip),%xmm10        # 6f00 <_sk_callback_sse2+0x1385>
   .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
-  .byte  68,15,88,21,23,19,0,0               // addps         0x1317(%rip),%xmm10        # 66e0 <_sk_callback_sse2+0x119d>
+  .byte  68,15,88,21,15,21,0,0               // addps         0x150f(%rip),%xmm10        # 6f10 <_sk_callback_sse2+0x1395>
   .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,19,19,0,0               // addps         0x1313(%rip),%xmm10        # 66f0 <_sk_callback_sse2+0x11ad>
+  .byte  68,15,88,21,11,21,0,0               // addps         0x150b(%rip),%xmm10        # 6f20 <_sk_callback_sse2+0x13a5>
   .byte  68,15,17,144,128,0,0,0              // movups        %xmm10,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35254,11 +38355,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,0                             // movups        (%rax),%xmm0
   .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
-  .byte  15,88,5,6,19,0,0                    // addps         0x1306(%rip),%xmm0        # 6700 <_sk_callback_sse2+0x11bd>
+  .byte  15,88,5,254,20,0,0                  // addps         0x14fe(%rip),%xmm0        # 6f30 <_sk_callback_sse2+0x13b5>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
-  .byte  68,15,89,5,6,19,0,0                 // mulps         0x1306(%rip),%xmm8        # 6710 <_sk_callback_sse2+0x11cd>
-  .byte  68,15,88,5,14,19,0,0                // addps         0x130e(%rip),%xmm8        # 6720 <_sk_callback_sse2+0x11dd>
+  .byte  68,15,89,5,254,20,0,0               // mulps         0x14fe(%rip),%xmm8        # 6f40 <_sk_callback_sse2+0x13c5>
+  .byte  68,15,88,5,6,21,0,0                 // addps         0x1506(%rip),%xmm8        # 6f50 <_sk_callback_sse2+0x13d5>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
   .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35271,13 +38372,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,252,18,0,0                 // addps         0x12fc(%rip),%xmm1        # 6730 <_sk_callback_sse2+0x11ed>
-  .byte  68,15,40,13,4,19,0,0                // movaps        0x1304(%rip),%xmm9        # 6740 <_sk_callback_sse2+0x11fd>
+  .byte  15,88,13,244,20,0,0                 // addps         0x14f4(%rip),%xmm1        # 6f60 <_sk_callback_sse2+0x13e5>
+  .byte  68,15,40,13,252,20,0,0              // movaps        0x14fc(%rip),%xmm9        # 6f70 <_sk_callback_sse2+0x13f5>
   .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,0,19,0,0                // mulps         0x1300(%rip),%xmm9        # 6750 <_sk_callback_sse2+0x120d>
-  .byte  68,15,88,13,8,19,0,0                // addps         0x1308(%rip),%xmm9        # 6760 <_sk_callback_sse2+0x121d>
+  .byte  68,15,89,13,248,20,0,0              // mulps         0x14f8(%rip),%xmm9        # 6f80 <_sk_callback_sse2+0x1405>
+  .byte  68,15,88,13,0,21,0,0                // addps         0x1500(%rip),%xmm9        # 6f90 <_sk_callback_sse2+0x1415>
   .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
   .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35290,16 +38391,16 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,246,18,0,0                 // addps         0x12f6(%rip),%xmm1        # 6770 <_sk_callback_sse2+0x122d>
-  .byte  68,15,40,13,254,18,0,0              // movaps        0x12fe(%rip),%xmm9        # 6780 <_sk_callback_sse2+0x123d>
+  .byte  15,88,13,238,20,0,0                 // addps         0x14ee(%rip),%xmm1        # 6fa0 <_sk_callback_sse2+0x1425>
+  .byte  68,15,40,13,246,20,0,0              // movaps        0x14f6(%rip),%xmm9        # 6fb0 <_sk_callback_sse2+0x1435>
   .byte  69,15,92,200                        // subps         %xmm8,%xmm9
-  .byte  68,15,40,5,2,19,0,0                 // movaps        0x1302(%rip),%xmm8        # 6790 <_sk_callback_sse2+0x124d>
+  .byte  68,15,40,5,250,20,0,0               // movaps        0x14fa(%rip),%xmm8        # 6fc0 <_sk_callback_sse2+0x1445>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,6,19,0,0                 // addps         0x1306(%rip),%xmm8        # 67a0 <_sk_callback_sse2+0x125d>
+  .byte  68,15,88,5,254,20,0,0               // addps         0x14fe(%rip),%xmm8        # 6fd0 <_sk_callback_sse2+0x1455>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,10,19,0,0                // addps         0x130a(%rip),%xmm8        # 67b0 <_sk_callback_sse2+0x126d>
+  .byte  68,15,88,5,2,21,0,0                 // addps         0x1502(%rip),%xmm8        # 6fe0 <_sk_callback_sse2+0x1465>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
-  .byte  68,15,88,5,14,19,0,0                // addps         0x130e(%rip),%xmm8        # 67c0 <_sk_callback_sse2+0x127d>
+  .byte  68,15,88,5,6,21,0,0                 // addps         0x1506(%rip),%xmm8        # 6ff0 <_sk_callback_sse2+0x1475>
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35309,17 +38410,17 @@
 FUNCTION(_sk_bicubic_p1y_sse2)
 _sk_bicubic_p1y_sse2:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  68,15,40,5,8,19,0,0                 // movaps        0x1308(%rip),%xmm8        # 67d0 <_sk_callback_sse2+0x128d>
+  .byte  68,15,40,5,0,21,0,0                 // movaps        0x1500(%rip),%xmm8        # 7000 <_sk_callback_sse2+0x1485>
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,72,96                      // movups        0x60(%rax),%xmm9
   .byte  65,15,88,200                        // addps         %xmm8,%xmm1
-  .byte  68,15,40,21,3,19,0,0                // movaps        0x1303(%rip),%xmm10        # 67e0 <_sk_callback_sse2+0x129d>
+  .byte  68,15,40,21,251,20,0,0              // movaps        0x14fb(%rip),%xmm10        # 7010 <_sk_callback_sse2+0x1495>
   .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
-  .byte  68,15,88,21,7,19,0,0                // addps         0x1307(%rip),%xmm10        # 67f0 <_sk_callback_sse2+0x12ad>
+  .byte  68,15,88,21,255,20,0,0              // addps         0x14ff(%rip),%xmm10        # 7020 <_sk_callback_sse2+0x14a5>
   .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,3,19,0,0                // addps         0x1303(%rip),%xmm10        # 6800 <_sk_callback_sse2+0x12bd>
+  .byte  68,15,88,21,251,20,0,0              // addps         0x14fb(%rip),%xmm10        # 7030 <_sk_callback_sse2+0x14b5>
   .byte  68,15,17,144,160,0,0,0              // movups        %xmm10,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -35331,11 +38432,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
   .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
-  .byte  15,88,13,245,18,0,0                 // addps         0x12f5(%rip),%xmm1        # 6810 <_sk_callback_sse2+0x12cd>
+  .byte  15,88,13,237,20,0,0                 // addps         0x14ed(%rip),%xmm1        # 7040 <_sk_callback_sse2+0x14c5>
   .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
   .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
-  .byte  68,15,89,5,245,18,0,0               // mulps         0x12f5(%rip),%xmm8        # 6820 <_sk_callback_sse2+0x12dd>
-  .byte  68,15,88,5,253,18,0,0               // addps         0x12fd(%rip),%xmm8        # 6830 <_sk_callback_sse2+0x12ed>
+  .byte  68,15,89,5,237,20,0,0               // mulps         0x14ed(%rip),%xmm8        # 7050 <_sk_callback_sse2+0x14d5>
+  .byte  68,15,88,5,245,20,0,0               // addps         0x14f5(%rip),%xmm8        # 7060 <_sk_callback_sse2+0x14e5>
   .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
   .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -35565,11 +38666,11 @@
   .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%rdi)
   .byte  0,224                               // add           %ah,%al
   .byte  64,0,0                              // add           %al,(%rax)
-  .byte  224,64                              // loopne        5818 <.literal16+0x1d8>
+  .byte  224,64                              // loopne        5e48 <.literal16+0x1d8>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,64                              // loopne        581c <.literal16+0x1dc>
+  .byte  224,64                              // loopne        5e4c <.literal16+0x1dc>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,64                              // loopne        5820 <.literal16+0x1e0>
+  .byte  224,64                              // loopne        5e50 <.literal16+0x1e0>
   .byte  154                                 // (bad)
   .byte  153                                 // cltd
   .byte  153                                 // cltd
@@ -35589,13 +38690,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5841 <.literal16+0x201>
+  .byte  71,225,61                           // rex.RXB       loope 5e71 <.literal16+0x201>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5845 <.literal16+0x205>
+  .byte  71,225,61                           // rex.RXB       loope 5e75 <.literal16+0x205>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5849 <.literal16+0x209>
+  .byte  71,225,61                           // rex.RXB       loope 5e79 <.literal16+0x209>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 584d <.literal16+0x20d>
+  .byte  71,225,61                           // rex.RXB       loope 5e7d <.literal16+0x20d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -35620,13 +38721,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5881 <.literal16+0x241>
+  .byte  71,225,61                           // rex.RXB       loope 5eb1 <.literal16+0x241>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5885 <.literal16+0x245>
+  .byte  71,225,61                           // rex.RXB       loope 5eb5 <.literal16+0x245>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5889 <.literal16+0x249>
+  .byte  71,225,61                           // rex.RXB       loope 5eb9 <.literal16+0x249>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 588d <.literal16+0x24d>
+  .byte  71,225,61                           // rex.RXB       loope 5ebd <.literal16+0x24d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -35651,13 +38752,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 58c1 <.literal16+0x281>
+  .byte  71,225,61                           // rex.RXB       loope 5ef1 <.literal16+0x281>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 58c5 <.literal16+0x285>
+  .byte  71,225,61                           // rex.RXB       loope 5ef5 <.literal16+0x285>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 58c9 <.literal16+0x289>
+  .byte  71,225,61                           // rex.RXB       loope 5ef9 <.literal16+0x289>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 58cd <.literal16+0x28d>
+  .byte  71,225,61                           // rex.RXB       loope 5efd <.literal16+0x28d>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -35682,13 +38783,13 @@
   .byte  10,23                               // or            (%rdi),%dl
   .byte  63                                  // (bad)
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5901 <.literal16+0x2c1>
+  .byte  71,225,61                           // rex.RXB       loope 5f31 <.literal16+0x2c1>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5905 <.literal16+0x2c5>
+  .byte  71,225,61                           // rex.RXB       loope 5f35 <.literal16+0x2c5>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 5909 <.literal16+0x2c9>
+  .byte  71,225,61                           // rex.RXB       loope 5f39 <.literal16+0x2c9>
   .byte  174                                 // scas          %es:(%rdi),%al
-  .byte  71,225,61                           // rex.RXB       loope 590d <.literal16+0x2cd>
+  .byte  71,225,61                           // rex.RXB       loope 5f3d <.literal16+0x2cd>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -35709,11 +38810,11 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
   .byte  67,0,0                              // rex.XB        add %al,(%r8)
-  .byte  127,67                              // jg            594b <.literal16+0x30b>
+  .byte  127,67                              // jg            5f7b <.literal16+0x30b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            594f <.literal16+0x30f>
+  .byte  127,67                              // jg            5f7f <.literal16+0x30f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5953 <.literal16+0x313>
+  .byte  127,67                              // jg            5f83 <.literal16+0x313>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -35730,6 +38831,53 @@
   .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,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,145                          // cmpb          $0x91,(%rdi)
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
+  .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,92                               // ds            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  145                                 // xchg          %eax,%ecx
   .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
   .byte  145                                 // xchg          %eax,%ecx
@@ -35953,13 +39101,13 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        5b39 <.literal16+0x4f9>
+  .byte  224,7                               // loopne        61c9 <.literal16+0x559>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5b3d <.literal16+0x4fd>
+  .byte  224,7                               // loopne        61cd <.literal16+0x55d>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5b41 <.literal16+0x501>
+  .byte  224,7                               // loopne        61d1 <.literal16+0x561>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        5b45 <.literal16+0x505>
+  .byte  224,7                               // loopne        61d5 <.literal16+0x565>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -36024,11 +39172,11 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c1b <.literal16+0x5db>
+  .byte  127,67                              // jg            62ab <.literal16+0x63b>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c1f <.literal16+0x5df>
+  .byte  127,67                              // jg            62af <.literal16+0x63f>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5c23 <.literal16+0x5e3>
+  .byte  127,67                              // jg            62b3 <.literal16+0x643>
   .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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
@@ -36043,16 +39191,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5c14 <.literal16+0x5d4>
+  .byte  127,0                               // jg            62a4 <.literal16+0x634>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5c18 <.literal16+0x5d8>
+  .byte  127,0                               // jg            62a8 <.literal16+0x638>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5c1c <.literal16+0x5dc>
+  .byte  127,0                               // jg            62ac <.literal16+0x63c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5c20 <.literal16+0x5e0>
+  .byte  127,0                               // jg            62b0 <.literal16+0x640>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -36061,7 +39209,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5ca5 <.literal16+0x665>
+  .byte  119,115                             // ja            6335 <.literal16+0x6c5>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -36072,7 +39220,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5c09 <.literal16+0x5c9>
+  .byte  117,191                             // jne           6299 <.literal16+0x629>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -36084,7 +39232,7 @@
   .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          ffffffffe9a39c4a <_sk_callback_sse2+0xffffffffe9a34707>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a2da <_sk_callback_sse2+0xffffffffe9a3475f>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
@@ -36138,16 +39286,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5ce4 <.literal16+0x6a4>
+  .byte  127,0                               // jg            6374 <.literal16+0x704>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5ce8 <.literal16+0x6a8>
+  .byte  127,0                               // jg            6378 <.literal16+0x708>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5cec <.literal16+0x6ac>
+  .byte  127,0                               // jg            637c <.literal16+0x70c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5cf0 <.literal16+0x6b0>
+  .byte  127,0                               // jg            6380 <.literal16+0x710>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -36156,7 +39304,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5d75 <.literal16+0x735>
+  .byte  119,115                             // ja            6405 <.literal16+0x795>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -36167,7 +39315,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5cd9 <.literal16+0x699>
+  .byte  117,191                             // jne           6369 <.literal16+0x6f9>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -36179,7 +39327,7 @@
   .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          ffffffffe9a39d1a <_sk_callback_sse2+0xffffffffe9a347d7>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a3aa <_sk_callback_sse2+0xffffffffe9a3482f>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
@@ -36233,16 +39381,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5db4 <.literal16+0x774>
+  .byte  127,0                               // jg            6444 <.literal16+0x7d4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5db8 <.literal16+0x778>
+  .byte  127,0                               // jg            6448 <.literal16+0x7d8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5dbc <.literal16+0x77c>
+  .byte  127,0                               // jg            644c <.literal16+0x7dc>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5dc0 <.literal16+0x780>
+  .byte  127,0                               // jg            6450 <.literal16+0x7e0>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -36251,7 +39399,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5e45 <.literal16+0x805>
+  .byte  119,115                             // ja            64d5 <.literal16+0x865>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -36262,7 +39410,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5da9 <.literal16+0x769>
+  .byte  117,191                             // jne           6439 <.literal16+0x7c9>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -36274,7 +39422,7 @@
   .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          ffffffffe9a39dea <_sk_callback_sse2+0xffffffffe9a348a7>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a47a <_sk_callback_sse2+0xffffffffe9a348ff>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
@@ -36328,16 +39476,16 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5e84 <.literal16+0x844>
+  .byte  127,0                               // jg            6514 <.literal16+0x8a4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5e88 <.literal16+0x848>
+  .byte  127,0                               // jg            6518 <.literal16+0x8a8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5e8c <.literal16+0x84c>
+  .byte  127,0                               // jg            651c <.literal16+0x8ac>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            5e90 <.literal16+0x850>
+  .byte  127,0                               // jg            6520 <.literal16+0x8b0>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -36346,7 +39494,7 @@
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
-  .byte  119,115                             // ja            5f15 <.literal16+0x8d5>
+  .byte  119,115                             // ja            65a5 <.literal16+0x935>
   .byte  248                                 // clc
   .byte  194,119,115                         // retq          $0x7377
   .byte  248                                 // clc
@@ -36357,7 +39505,7 @@
   .byte  194,117,191                         // retq          $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
-  .byte  117,191                             // jne           5e79 <.literal16+0x839>
+  .byte  117,191                             // jne           6509 <.literal16+0x899>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // (bad)
   .byte  249                                 // stc
@@ -36369,7 +39517,7 @@
   .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          ffffffffe9a39eba <_sk_callback_sse2+0xffffffffe9a34977>
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a54a <_sk_callback_sse2+0xffffffffe9a349cf>
   .byte  220,63                              // fdivrl        (%rdi)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
@@ -36419,13 +39567,13 @@
   .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  127,67                              // jg            5f97 <.literal16+0x957>
+  .byte  127,67                              // jg            6627 <.literal16+0x9b7>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5f9b <.literal16+0x95b>
+  .byte  127,67                              // jg            662b <.literal16+0x9bb>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5f9f <.literal16+0x95f>
+  .byte  127,67                              // jg            662f <.literal16+0x9bf>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            5fa3 <.literal16+0x963>
+  .byte  127,67                              // jg            6633 <.literal16+0x9c3>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,195                               // add           %al,%bl
   .byte  0,0                                 // add           %al,(%rax)
@@ -36472,16 +39620,16 @@
   .byte  128,3,62                            // addb          $0x3e,(%rbx)
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           6023 <.literal16+0x9e3>
+  .byte  118,63                              // jbe           66b3 <.literal16+0xa43>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           6027 <.literal16+0x9e7>
+  .byte  118,63                              // jbe           66b7 <.literal16+0xa47>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           602b <.literal16+0x9eb>
+  .byte  118,63                              // jbe           66bb <.literal16+0xa4b>
   .byte  31                                  // (bad)
   .byte  215                                 // xlat          %ds:(%rbx)
-  .byte  118,63                              // jbe           602f <.literal16+0x9ef>
+  .byte  118,63                              // jbe           66bf <.literal16+0xa4f>
   .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)
@@ -36496,16 +39644,25 @@
   .byte  0,0                                 // add           %al,(%rax)
   .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,255,0,0,0                // addb          $0x0,0xff3b(%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  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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
   .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
   .byte  128,59,0                            // cmpb          $0x0,(%rbx)
   .byte  0,127,67                            // add           %bh,0x43(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            607b <.literal16+0xa3b>
+  .byte  127,67                              // jg            672b <.literal16+0xabb>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            607f <.literal16+0xa3f>
+  .byte  127,67                              // jg            672f <.literal16+0xabf>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            6083 <.literal16+0xa43>
+  .byte  127,67                              // jg            6733 <.literal16+0xac3>
   .byte  255,0                               // incl          (%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  255,0                               // incl          (%rax)
@@ -36529,6 +39686,21 @@
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
   .byte  63                                  // (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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
+  .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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
@@ -36561,13 +39733,13 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        60e9 <.literal16+0xaa9>
+  .byte  224,7                               // loopne        67c9 <.literal16+0xb59>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        60ed <.literal16+0xaad>
+  .byte  224,7                               // loopne        67cd <.literal16+0xb5d>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        60f1 <.literal16+0xab1>
+  .byte  224,7                               // loopne        67d1 <.literal16+0xb61>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        60f5 <.literal16+0xab5>
+  .byte  224,7                               // loopne        67d5 <.literal16+0xb65>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -36613,13 +39785,65 @@
   .byte  132,55                              // test          %dh,(%rdi)
   .byte  8,33                                // or            %ah,(%rcx)
   .byte  132,55                              // test          %dh,(%rdi)
-  .byte  224,7                               // loopne        6159 <.literal16+0xb19>
+  .byte  224,7                               // loopne        6839 <.literal16+0xbc9>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        615d <.literal16+0xb1d>
+  .byte  224,7                               // loopne        683d <.literal16+0xbcd>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        6161 <.literal16+0xb21>
+  .byte  224,7                               // loopne        6841 <.literal16+0xbd1>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  224,7                               // loopne        6165 <.literal16+0xb25>
+  .byte  224,7                               // loopne        6845 <.literal16+0xbd5>
+  .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  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,0                            // cmpb          $0x0,(%rdi)
+  .byte  248                                 // clc
+  .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  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        68a9 <.literal16+0xc39>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        68ad <.literal16+0xc3d>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        68b1 <.literal16+0xc41>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        68b5 <.literal16+0xc45>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  33,8                                // and           %ecx,(%rax)
   .byte  2,58                                // add           (%rdx),%bh
@@ -36657,13 +39881,57 @@
   .byte  65,0,0                              // add           %al,(%r8)
   .byte  248                                 // clc
   .byte  65,0,0                              // add           %al,(%r8)
-  .byte  124,66                              // jl            61f6 <.literal16+0xbb6>
+  .byte  124,66                              // jl            6946 <.literal16+0xcd6>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            61fa <.literal16+0xbba>
+  .byte  124,66                              // jl            694a <.literal16+0xcda>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            61fe <.literal16+0xbbe>
+  .byte  124,66                              // jl            694e <.literal16+0xcde>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  124,66                              // jl            6202 <.literal16+0xbc2>
+  .byte  124,66                              // jl            6952 <.literal16+0xce2>
+  .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,240                               // add           %dh,%al
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,240                               // add           %dh,%al
@@ -36753,13 +40021,13 @@
   .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            6305 <.literal16+0xcc5>
+  .byte  112,65                              // jo            6ad5 <.literal16+0xe65>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            6309 <.literal16+0xcc9>
+  .byte  112,65                              // jo            6ad9 <.literal16+0xe69>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            630d <.literal16+0xccd>
+  .byte  112,65                              // jo            6add <.literal16+0xe6d>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  112,65                              // jo            6311 <.literal16+0xcd1>
+  .byte  112,65                              // jo            6ae1 <.literal16+0xe71>
   .byte  255,0                               // incl          (%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  255,0                               // incl          (%rax)
@@ -36779,13 +40047,22 @@
   .byte  0,0                                 // add           %al,(%rax)
   .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,255,0,0,0                // addb          $0x0,0xff3b(%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  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,0,127,67               // addb          $0x43,0x7f00003b(%rax)
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            635b <.literal16+0xd1b>
+  .byte  127,67                              // jg            6b4b <.literal16+0xedb>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            635f <.literal16+0xd1f>
+  .byte  127,67                              // jg            6b4f <.literal16+0xedf>
   .byte  0,0                                 // add           %al,(%rax)
-  .byte  127,67                              // jg            6363 <.literal16+0xd23>
+  .byte  127,67                              // jg            6b53 <.literal16+0xee3>
   .byte  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)
@@ -36826,6 +40103,26 @@
   .byte  128,0,4                             // addb          $0x4,(%rax)
   .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
   .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  128,0,128                           // addb          $0x80,(%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  0,128,0,0,0,0                       // add           %al,0x0(%rax)
+  .byte  0,56                                // add           %bh,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,56                                // add           %bh,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,56                                // add           %bh,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,56                                // add           %bh,(%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  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  128,0,4                             // addb          $0x4,(%rax)
+  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
   .byte  128,0,0                             // addb          $0x0,(%rax)
   .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -36861,13 +40158,13 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  255                                 // (bad)
-  .byte  127,71                              // jg            644b <.literal16+0xe0b>
+  .byte  127,71                              // jg            6c7b <.literal16+0x100b>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            644f <.literal16+0xe0f>
+  .byte  127,71                              // jg            6c7f <.literal16+0x100f>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            6453 <.literal16+0xe13>
+  .byte  127,71                              // jg            6c83 <.literal16+0x1013>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            6457 <.literal16+0xe17>
+  .byte  127,71                              // jg            6c87 <.literal16+0x1017>
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,0                            // cmpb          $0x0,(%rdi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
@@ -36944,10 +40241,10 @@
   .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
   .byte  152                                 // cwtl
   .byte  221,147,61,45,16,17                 // fstl          0x11102d3d(%rbx)
-  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc075ea <_sk_callback_sse2+0x2dc020a7>
+  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc07e1a <_sk_callback_sse2+0x2dc0229f>
   .byte  17,192                              // adc           %eax,%eax
   .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
-  .byte  120,57                              // js            651c <.literal16+0xedc>
+  .byte  120,57                              // js            6d4c <.literal16+0x10dc>
   .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
@@ -37075,11 +40372,11 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,114                          // cmpb          $0x72,(%rdi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         6662 <.literal16+0x1022>
+  .byte  62,114,28                           // jb,pt         6e92 <.literal16+0x1222>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6666 <.literal16+0x1026>
+  .byte  62,114,28                           // jb,pt         6e96 <.literal16+0x1226>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         666a <.literal16+0x102a>
+  .byte  62,114,28                           // jb,pt         6e9a <.literal16+0x122a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -37123,7 +40420,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
-  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f4f5 <_sk_callback_sse2+0x3d639fb2>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fd25 <_sk_callback_sse2+0x3d63a1aa>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -37149,7 +40446,7 @@
   .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        # 3d63f535 <_sk_callback_sse2+0x3d639ff2>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fd65 <_sk_callback_sse2+0x3d63a1ea>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
@@ -37158,13 +40455,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // (bad)
-  .byte  114,28                              // jb            672e <.literal16+0x10ee>
+  .byte  114,28                              // jb            6f5e <.literal16+0x12ee>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6732 <.literal16+0x10f2>
+  .byte  62,114,28                           // jb,pt         6f62 <.literal16+0x12f2>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6736 <.literal16+0x10f6>
+  .byte  62,114,28                           // jb,pt         6f66 <.literal16+0x12f6>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         673a <.literal16+0x10fa>
+  .byte  62,114,28                           // jb,pt         6f6a <.literal16+0x12fa>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -37185,11 +40482,11 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  128,63,114                          // cmpb          $0x72,(%rdi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         6772 <.literal16+0x1132>
+  .byte  62,114,28                           // jb,pt         6fa2 <.literal16+0x1332>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6776 <.literal16+0x1136>
+  .byte  62,114,28                           // jb,pt         6fa6 <.literal16+0x1336>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         677a <.literal16+0x113a>
+  .byte  62,114,28                           // jb,pt         6faa <.literal16+0x133a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -37233,7 +40530,7 @@
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
-  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63f605 <_sk_callback_sse2+0x3d63a0c2>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fe35 <_sk_callback_sse2+0x3d63a2ba>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  0,63                                // add           %bh,(%rdi)
   .byte  0,0                                 // add           %al,(%rax)
@@ -37259,7 +40556,7 @@
   .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        # 3d63f645 <_sk_callback_sse2+0x3d63a102>
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fe75 <_sk_callback_sse2+0x3d63a2fa>
   .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
@@ -37268,13 +40565,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%rdi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // (bad)
-  .byte  114,28                              // jb            683e <.literal16+0x11fe>
+  .byte  114,28                              // jb            706e <.literal16+0x13fe>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6842 <_sk_callback_sse2+0x12ff>
+  .byte  62,114,28                           // jb,pt         7072 <_sk_callback_sse2+0x14f7>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         6846 <_sk_callback_sse2+0x1303>
+  .byte  62,114,28                           // jb,pt         7076 <_sk_callback_sse2+0x14fb>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         684a <_sk_callback_sse2+0x1307>
+  .byte  62,114,28                           // jb,pt         707a <_sk_callback_sse2+0x14ff>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%rdi)
   .byte  170                                 // stos          %al,%es:(%rdi)
@@ -37358,7 +40655,7 @@
 FUNCTION(_sk_constant_color_hsw_lowp)
 _sk_constant_color_hsw_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,121,24,5,129,21,0,0         // vbroadcastss  0x1581(%rip),%xmm0        # 1610 <_sk_xor__hsw_lowp+0x78>
+  .byte  196,226,121,24,5,157,26,0,0         // vbroadcastss  0x1a9d(%rip),%xmm0        # 1b2c <_sk_xor__hsw_lowp+0x78>
   .byte  197,248,88,24                       // vaddps        (%rax),%xmm0,%xmm3
   .byte  196,226,125,121,195                 // vpbroadcastw  %xmm3,%ymm0
   .byte  197,251,112,203,234                 // vpshuflw      $0xea,%xmm3,%xmm1
@@ -37377,7 +40674,7 @@
 FUNCTION(_sk_set_rgb_hsw_lowp)
 _sk_set_rgb_hsw_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  197,250,16,21,68,21,0,0             // vmovss        0x1544(%rip),%xmm2        # 1614 <_sk_xor__hsw_lowp+0x7c>
+  .byte  197,250,16,21,96,26,0,0             // vmovss        0x1a60(%rip),%xmm2        # 1b30 <_sk_xor__hsw_lowp+0x7c>
   .byte  197,234,88,0                        // vaddss        (%rax),%xmm2,%xmm0
   .byte  196,193,121,126,193                 // vmovd         %xmm0,%r9d
   .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
@@ -37416,16 +40713,16 @@
   .byte  15,133,210,0,0,0                    // jne           20f <_sk_load_8888_hsw_lowp+0xe0>
   .byte  196,193,126,111,92,147,32           // vmovdqu       0x20(%r11,%rdx,4),%ymm3
   .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
-  .byte  197,253,111,5,206,20,0,0            // vmovdqa       0x14ce(%rip),%ymm0        # 1620 <_sk_xor__hsw_lowp+0x88>
+  .byte  197,253,111,5,238,25,0,0            // vmovdqa       0x19ee(%rip),%ymm0        # 1b40 <_sk_xor__hsw_lowp+0x8c>
   .byte  196,226,61,0,200                    // vpshufb       %ymm0,%ymm8,%ymm1
   .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
   .byte  196,226,101,0,192                   // vpshufb       %ymm0,%ymm3,%ymm0
   .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
   .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
   .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
-  .byte  196,98,125,121,13,196,20,0,0        // vpbroadcastw  0x14c4(%rip),%ymm9        # 1640 <_sk_xor__hsw_lowp+0xa8>
+  .byte  196,98,125,121,13,228,25,0,0        // vpbroadcastw  0x19e4(%rip),%ymm9        # 1b60 <_sk_xor__hsw_lowp+0xac>
   .byte  196,193,125,228,193                 // vpmulhuw      %ymm9,%ymm0,%ymm0
-  .byte  197,253,111,13,215,20,0,0           // vmovdqa       0x14d7(%rip),%ymm1        # 1660 <_sk_xor__hsw_lowp+0xc8>
+  .byte  197,253,111,13,247,25,0,0           // vmovdqa       0x19f7(%rip),%ymm1        # 1b80 <_sk_xor__hsw_lowp+0xcc>
   .byte  196,226,61,0,209                    // vpshufb       %ymm1,%ymm8,%ymm2
   .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
   .byte  196,226,101,0,201                   // vpshufb       %ymm1,%ymm3,%ymm1
@@ -37433,7 +40730,7 @@
   .byte  196,227,109,56,201,1                // vinserti128   $0x1,%xmm1,%ymm2,%ymm1
   .byte  197,245,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm1
   .byte  196,193,117,228,201                 // vpmulhuw      %ymm9,%ymm1,%ymm1
-  .byte  197,253,111,21,201,20,0,0           // vmovdqa       0x14c9(%rip),%ymm2        # 1680 <_sk_xor__hsw_lowp+0xe8>
+  .byte  197,253,111,21,233,25,0,0           // vmovdqa       0x19e9(%rip),%ymm2        # 1ba0 <_sk_xor__hsw_lowp+0xec>
   .byte  196,98,61,0,210                     // vpshufb       %ymm2,%ymm8,%ymm10
   .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
   .byte  196,226,101,0,210                   // vpshufb       %ymm2,%ymm3,%ymm2
@@ -37441,7 +40738,7 @@
   .byte  196,227,45,56,210,1                 // vinserti128   $0x1,%xmm2,%ymm10,%ymm2
   .byte  197,237,113,242,8                   // vpsllw        $0x8,%ymm2,%ymm2
   .byte  196,193,109,228,209                 // vpmulhuw      %ymm9,%ymm2,%ymm2
-  .byte  197,125,111,21,187,20,0,0           // vmovdqa       0x14bb(%rip),%ymm10        # 16a0 <_sk_xor__hsw_lowp+0x108>
+  .byte  197,125,111,21,219,25,0,0           // vmovdqa       0x19db(%rip),%ymm10        # 1bc0 <_sk_xor__hsw_lowp+0x10c>
   .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
   .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
   .byte  196,194,101,0,218                   // vpshufb       %ymm10,%ymm3,%ymm3
@@ -37513,7 +40810,7 @@
   .byte  236                                 // in            (%dx),%al
   .byte  254                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,13,255,255,255,247              // decl          -0x8000001(%rip)        # fffffffff800035c <_sk_xor__hsw_lowp+0xfffffffff7ffedc4>
+  .byte  255,13,255,255,255,247              // decl          -0x8000001(%rip)        # fffffffff800035c <_sk_xor__hsw_lowp+0xfffffffff7ffe8a8>
   .byte  254                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,97,255                          // jmpq          *-0x1(%rcx)
@@ -37546,6 +40843,149 @@
   .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,210,0,0,0                    // jne           470 <_sk_load_8888_dst_hsw_lowp+0xe0>
+  .byte  196,193,126,111,124,147,32          // vmovdqu       0x20(%r11,%rdx,4),%ymm7
+  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
+  .byte  197,253,111,37,45,24,0,0            // vmovdqa       0x182d(%rip),%ymm4        # 1be0 <_sk_xor__hsw_lowp+0x12c>
+  .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
+  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
+  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
+  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
+  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
+  .byte  196,98,125,121,13,35,24,0,0         // vpbroadcastw  0x1823(%rip),%ymm9        # 1c00 <_sk_xor__hsw_lowp+0x14c>
+  .byte  196,193,93,228,225                  // vpmulhuw      %ymm9,%ymm4,%ymm4
+  .byte  197,253,111,45,54,24,0,0            // vmovdqa       0x1836(%rip),%ymm5        # 1c20 <_sk_xor__hsw_lowp+0x16c>
+  .byte  196,226,61,0,245                    // vpshufb       %ymm5,%ymm8,%ymm6
+  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
+  .byte  196,226,69,0,237                    // vpshufb       %ymm5,%ymm7,%ymm5
+  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
+  .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  .byte  197,213,113,245,8                   // vpsllw        $0x8,%ymm5,%ymm5
+  .byte  196,193,85,228,233                  // vpmulhuw      %ymm9,%ymm5,%ymm5
+  .byte  197,253,111,53,40,24,0,0            // vmovdqa       0x1828(%rip),%ymm6        # 1c40 <_sk_xor__hsw_lowp+0x18c>
+  .byte  196,98,61,0,214                     // vpshufb       %ymm6,%ymm8,%ymm10
+  .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
+  .byte  196,226,69,0,246                    // vpshufb       %ymm6,%ymm7,%ymm6
+  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
+  .byte  196,227,45,56,246,1                 // vinserti128   $0x1,%xmm6,%ymm10,%ymm6
+  .byte  197,205,113,246,8                   // vpsllw        $0x8,%ymm6,%ymm6
+  .byte  196,193,77,228,241                  // vpmulhuw      %ymm9,%ymm6,%ymm6
+  .byte  197,125,111,21,26,24,0,0            // vmovdqa       0x181a(%rip),%ymm10        # 1c60 <_sk_xor__hsw_lowp+0x1ac>
+  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
+  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
+  .byte  196,194,69,0,250                    // vpshufb       %ymm10,%ymm7,%ymm7
+  .byte  196,227,253,0,255,232               // vpermq        $0xe8,%ymm7,%ymm7
+  .byte  196,227,61,56,255,1                 // vinserti128   $0x1,%xmm7,%ymm8,%ymm7
+  .byte  197,197,113,247,8                   // vpsllw        $0x8,%ymm7,%ymm7
+  .byte  196,193,69,228,249                  // vpmulhuw      %ymm9,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,15                       // and           $0xf,%r9b
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,14                       // cmp           $0xe,%r9b
+  .byte  15,135,30,255,255,255               // ja            3ab <_sk_load_8888_dst_hsw_lowp+0x1b>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,28,1,0,0                  // lea           0x11c(%rip),%r10        # 5b4 <_sk_load_8888_dst_hsw_lowp+0x224>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
+  .byte  233,255,254,255,255                 // jmpq          3ab <_sk_load_8888_dst_hsw_lowp+0x1b>
+  .byte  196,193,121,110,100,147,8           // vmovd         0x8(%r11,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,99,69,2,196,4                   // vpblendd      $0x4,%ymm4,%ymm7,%ymm8
+  .byte  196,194,121,53,36,147               // vpmovzxdq     (%r11,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,99,61,2,196,3                   // vpblendd      $0x3,%ymm4,%ymm8,%ymm8
+  .byte  233,211,254,255,255                 // jmpq          3ab <_sk_load_8888_dst_hsw_lowp+0x1b>
+  .byte  196,193,121,110,100,147,24          // vmovd         0x18(%r11,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,99,69,2,196,64                  // vpblendd      $0x40,%ymm4,%ymm7,%ymm8
+  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
+  .byte  196,195,89,34,100,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
+  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
+  .byte  196,195,89,34,100,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
+  .byte  196,193,122,111,36,147              // vmovdqu       (%r11,%rdx,4),%xmm4
+  .byte  196,67,93,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
+  .byte  233,132,254,255,255                 // jmpq          3ab <_sk_load_8888_dst_hsw_lowp+0x1b>
+  .byte  196,193,121,110,100,147,40          // vmovd         0x28(%r11,%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,195,65,34,100,147,36,1          // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4
+  .byte  196,227,69,2,252,15                 // vpblendd      $0xf,%ymm4,%ymm7,%ymm7
+  .byte  196,193,121,110,100,147,32          // vmovd         0x20(%r11,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,1                  // vpblendd      $0x1,%ymm4,%ymm7,%ymm7
+  .byte  233,72,254,255,255                  // jmpq          3a5 <_sk_load_8888_dst_hsw_lowp+0x15>
+  .byte  196,193,121,110,100,147,56          // vmovd         0x38(%r11,%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,147,52,1          // vpinsrd       $0x1,0x34(%r11,%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,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
+  .byte  196,193,122,111,100,147,32          // vmovdqu       0x20(%r11,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,248,253,255,255                 // jmpq          3ab <_sk_load_8888_dst_hsw_lowp+0x1b>
+  .byte  144                                 // nop
+  .byte  237                                 // in            (%dx),%eax
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  248                                 // clc
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
+  .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,36,255                          // jmpq          *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,241                             // push          %rcx
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,151,255,255,255,137             // callq         *-0x76000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,115,255                         // pushq         -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,169                 // mov           $0xa9ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
 HIDDEN _sk_store_8888_hsw_lowp
 .globl _sk_store_8888_hsw_lowp
 FUNCTION(_sk_store_8888_hsw_lowp)
@@ -37553,7 +40993,7 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  197,189,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm8
-  .byte  196,98,125,121,13,29,19,0,0         // vpbroadcastw  0x131d(%rip),%ymm9        # 16c0 <_sk_xor__hsw_lowp+0x128>
+  .byte  196,98,125,121,13,125,22,0,0        // vpbroadcastw  0x167d(%rip),%ymm9        # 1c80 <_sk_xor__hsw_lowp+0x1cc>
   .byte  196,65,61,234,193                   // vpminsw       %ymm9,%ymm8,%ymm8
   .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
   .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
@@ -37586,7 +41026,7 @@
   .byte  196,65,29,235,198                   // vpor          %ymm14,%ymm12,%ymm8
   .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,17                              // jne           45e <_sk_store_8888_hsw_lowp+0xce>
+  .byte  117,17                              // jne           6be <_sk_store_8888_hsw_lowp+0xce>
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
   .byte  196,65,126,127,76,147,32            // vmovdqu       %ymm9,0x20(%r11,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -37595,17 +41035,17 @@
   .byte  65,128,225,15                       // and           $0xf,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,236                             // ja            45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  119,236                             // ja            6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,175,0,0,0                 // lea           0xaf(%rip),%r10        # 528 <_sk_store_8888_hsw_lowp+0x198>
+  .byte  76,141,21,175,0,0,0                 // lea           0xaf(%rip),%r10        # 788 <_sk_store_8888_hsw_lowp+0x198>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,126,4,147                // vmovd         %xmm8,(%r11,%rdx,4)
-  .byte  235,208                             // jmp           45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  235,208                             // jmp           6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  196,67,121,22,68,147,8,2            // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
   .byte  196,65,121,214,4,147                // vmovq         %xmm8,(%r11,%rdx,4)
-  .byte  235,192                             // jmp           45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  235,192                             // jmp           6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,67,121,22,76,147,24,2           // vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
@@ -37613,12 +41053,12 @@
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,65,121,126,76,147,16            // vmovd         %xmm9,0x10(%r11,%rdx,4)
   .byte  196,65,122,127,4,147                // vmovdqu       %xmm8,(%r11,%rdx,4)
-  .byte  235,143                             // jmp           45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  235,143                             // jmp           6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  196,67,121,22,76,147,40,2           // vpextrd       $0x2,%xmm9,0x28(%r11,%rdx,4)
   .byte  196,67,121,22,76,147,36,1           // vpextrd       $0x1,%xmm9,0x24(%r11,%rdx,4)
   .byte  196,65,121,126,76,147,32            // vmovd         %xmm9,0x20(%r11,%rdx,4)
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
-  .byte  233,109,255,255,255                 // jmpq          45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  233,109,255,255,255                 // jmpq          6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
   .byte  196,67,121,22,84,147,56,2           // vpextrd       $0x2,%xmm10,0x38(%r11,%rdx,4)
   .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
@@ -37627,7 +41067,7 @@
   .byte  196,65,121,126,84,147,48            // vmovd         %xmm10,0x30(%r11,%rdx,4)
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
   .byte  196,65,122,127,76,147,32            // vmovdqu       %xmm9,0x20(%r11,%rdx,4)
-  .byte  233,50,255,255,255                  // jmpq          45a <_sk_store_8888_hsw_lowp+0xca>
+  .byte  233,50,255,255,255                  // jmpq          6ba <_sk_store_8888_hsw_lowp+0xca>
   .byte  90                                  // pop           %rdx
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -37670,11 +41110,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,45                              // jne           59b <_sk_load_a8_hsw_lowp+0x37>
+  .byte  117,45                              // jne           7fb <_sk_load_a8_hsw_lowp+0x37>
   .byte  196,193,122,111,4,19                // vmovdqu       (%r11,%rdx,1),%xmm0
   .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
   .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
-  .byte  196,226,125,121,13,59,17,0,0        // vpbroadcastw  0x113b(%rip),%ymm1        # 16c2 <_sk_xor__hsw_lowp+0x12a>
+  .byte  196,226,125,121,13,155,20,0,0       // vpbroadcastw  0x149b(%rip),%ymm1        # 1c82 <_sk_xor__hsw_lowp+0x1ce>
   .byte  197,253,228,217                     // vpmulhuw      %ymm1,%ymm0,%ymm3
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
@@ -37686,35 +41126,35 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,197                             // ja            574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  119,197                             // ja            7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,194,0,0,0                 // lea           0xc2(%rip),%r10        # 67c <_sk_load_a8_hsw_lowp+0x118>
+  .byte  76,141,21,194,0,0,0                 // lea           0xc2(%rip),%r10        # 8dc <_sk_load_a8_hsw_lowp+0x118>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,166                             // jmp           574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  235,166                             // jmp           7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
   .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
   .byte  197,249,110,200                     // vmovd         %eax,%xmm1
   .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  235,137                             // jmp           574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  235,137                             // jmp           7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
   .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  233,92,255,255,255                  // jmpq          574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  233,92,255,255,255                  // jmpq          7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
   .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  .byte  233,47,255,255,255                  // jmpq          574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  233,47,255,255,255                  // jmpq          7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
@@ -37722,7 +41162,7 @@
   .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
   .byte  196,195,113,34,76,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
   .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
-  .byte  233,250,254,255,255                 // jmpq          574 <_sk_load_a8_hsw_lowp+0x10>
+  .byte  233,250,254,255,255                 // jmpq          7d4 <_sk_load_a8_hsw_lowp+0x10>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  71,255                              // rex.RXB       (bad)
   .byte  255                                 // (bad)
@@ -37734,7 +41174,103 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  123,255                             // jnp           691 <_sk_load_a8_hsw_lowp+0x12d>
+  .byte  123,255                             // jnp           8f1 <_sk_load_a8_hsw_lowp+0x12d>
+  .byte  255                                 // (bad)
+  .byte  255,111,255                         // ljmp          *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  184,255,255,255,176                 // mov           $0xb0ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,156             // ljmp          *-0x63000001(%rax)
+  .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,213                             // callq         *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,45                              // jne           94f <_sk_load_a8_dst_hsw_lowp+0x37>
+  .byte  196,193,122,111,36,19               // vmovdqu       (%r11,%rdx,1),%xmm4
+  .byte  196,226,125,48,228                  // vpmovzxbw     %xmm4,%ymm4
+  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
+  .byte  196,226,125,121,45,73,19,0,0        // vpbroadcastw  0x1349(%rip),%ymm5        # 1c84 <_sk_xor__hsw_lowp+0x1d0>
+  .byte  197,221,228,253                     // vpmulhuw      %ymm5,%ymm4,%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  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,15                       // and           $0xf,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,14                       // cmp           $0xe,%r9b
+  .byte  119,197                             // ja            928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,194,0,0,0                 // lea           0xc2(%rip),%r10        # a30 <_sk_load_a8_dst_hsw_lowp+0x118>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,166                             // jmp           928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,137                             // jmp           928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,92,255,255,255                  // jmpq          928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,47,255,255,255                  // jmpq          928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
+  .byte  196,195,81,34,108,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
+  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  .byte  233,250,254,255,255                 // jmpq          928 <_sk_load_a8_dst_hsw_lowp+0x10>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  71,255                              // rex.RXB       (bad)
+  .byte  255                                 // (bad)
+  .byte  255,94,255                          // lcall         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,82,255                          // callq         *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,139,255,255,255,131             // decl          -0x7c000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           a45 <_sk_load_a8_dst_hsw_lowp+0x12d>
   .byte  255                                 // (bad)
   .byte  255,111,255                         // ljmp          *-0x1(%rdi)
   .byte  255                                 // (bad)
@@ -37769,7 +41305,7 @@
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,65,57,103,193                   // vpackuswb     %xmm9,%xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           6dc <_sk_store_a8_hsw_lowp+0x24>
+  .byte  117,10                              // jne           a90 <_sk_store_a8_hsw_lowp+0x24>
   .byte  196,65,122,127,4,19                 // vmovdqu       %xmm8,(%r11,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -37777,32 +41313,32 @@
   .byte  65,128,225,15                       // and           $0xf,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,236                             // ja            6d8 <_sk_store_a8_hsw_lowp+0x20>
+  .byte  119,236                             // ja            a8c <_sk_store_a8_hsw_lowp+0x20>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,137,0,0,0                 // lea           0x89(%rip),%r10        # 780 <_sk_store_a8_hsw_lowp+0xc8>
+  .byte  76,141,21,137,0,0,0                 // lea           0x89(%rip),%r10        # b34 <_sk_store_a8_hsw_lowp+0xc8>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,207                             // jmp           6d8 <_sk_store_a8_hsw_lowp+0x20>
+  .byte  235,207                             // jmp           a8c <_sk_store_a8_hsw_lowp+0x20>
   .byte  196,67,121,20,68,19,2,2             // vpextrb       $0x2,%xmm8,0x2(%r11,%rdx,1)
   .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  .byte  235,190                             // jmp           6d8 <_sk_store_a8_hsw_lowp+0x20>
+  .byte  235,190                             // jmp           a8c <_sk_store_a8_hsw_lowp+0x20>
   .byte  196,67,121,20,68,19,6,6             // vpextrb       $0x6,%xmm8,0x6(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,5,5             // vpextrb       $0x5,%xmm8,0x5(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,4,4             // vpextrb       $0x4,%xmm8,0x4(%r11,%rdx,1)
   .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
-  .byte  235,158                             // jmp           6d8 <_sk_store_a8_hsw_lowp+0x20>
+  .byte  235,158                             // jmp           a8c <_sk_store_a8_hsw_lowp+0x20>
   .byte  196,67,121,20,68,19,10,10           // vpextrb       $0xa,%xmm8,0xa(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,9,9             // vpextrb       $0x9,%xmm8,0x9(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,8,8             // vpextrb       $0x8,%xmm8,0x8(%r11,%rdx,1)
-  .byte  235,32                              // jmp           774 <_sk_store_a8_hsw_lowp+0xbc>
+  .byte  235,32                              // jmp           b28 <_sk_store_a8_hsw_lowp+0xbc>
   .byte  196,67,121,20,68,19,14,14           // vpextrb       $0xe,%xmm8,0xe(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,13,13           // vpextrb       $0xd,%xmm8,0xd(%r11,%rdx,1)
   .byte  196,67,121,20,68,19,12,12           // vpextrb       $0xc,%xmm8,0xc(%r11,%rdx,1)
   .byte  196,67,121,22,68,19,8,2             // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,1)
   .byte  196,65,121,214,4,19                 // vmovq         %xmm8,(%r11,%rdx,1)
-  .byte  233,89,255,255,255                  // jmpq          6d8 <_sk_store_a8_hsw_lowp+0x20>
+  .byte  233,89,255,255,255                  // jmpq          a8c <_sk_store_a8_hsw_lowp+0x20>
   .byte  144                                 // nop
   .byte  128,255,255                         // cmp           $0xff,%bh
   .byte  255,145,255,255,255,137             // callq         *-0x76000001(%rcx)
@@ -37845,14 +41381,14 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,50                              // jne           7f8 <_sk_load_g8_hsw_lowp+0x3c>
+  .byte  117,50                              // jne           bac <_sk_load_g8_hsw_lowp+0x3c>
   .byte  196,193,122,111,4,19                // vmovdqu       (%r11,%rdx,1),%xmm0
   .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
   .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
-  .byte  196,226,125,121,13,229,14,0,0       // vpbroadcastw  0xee5(%rip),%ymm1        # 16c4 <_sk_xor__hsw_lowp+0x12c>
+  .byte  196,226,125,121,13,243,16,0,0       // vpbroadcastw  0x10f3(%rip),%ymm1        # 1c86 <_sk_xor__hsw_lowp+0x1d2>
   .byte  197,253,228,193                     // vpmulhuw      %ymm1,%ymm0,%ymm0
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  196,226,125,121,29,216,14,0,0       // vpbroadcastw  0xed8(%rip),%ymm3        # 16c6 <_sk_xor__hsw_lowp+0x12e>
+  .byte  196,226,125,121,29,230,16,0,0       // vpbroadcastw  0x10e6(%rip),%ymm3        # 1c88 <_sk_xor__hsw_lowp+0x1d4>
   .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
   .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
   .byte  255,224                             // jmpq          *%rax
@@ -37861,35 +41397,35 @@
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,192                             // ja            7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  119,192                             // ja            b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,193,0,0,0                 // lea           0xc1(%rip),%r10        # 8d8 <_sk_load_g8_hsw_lowp+0x11c>
+  .byte  76,141,21,193,0,0,0                 // lea           0xc1(%rip),%r10        # c8c <_sk_load_g8_hsw_lowp+0x11c>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,249,110,192                     // vmovd         %eax,%xmm0
-  .byte  235,161                             // jmp           7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  235,161                             // jmp           b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
   .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
   .byte  197,249,110,200                     // vmovd         %eax,%xmm1
   .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  235,132                             // jmp           7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  235,132                             // jmp           b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
   .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  .byte  233,87,255,255,255                  // jmpq          7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  233,87,255,255,255                  // jmpq          b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
   .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  .byte  233,42,255,255,255                  // jmpq          7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  233,42,255,255,255                  // jmpq          b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
   .byte  196,195,121,32,68,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
   .byte  196,195,121,32,68,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
@@ -37897,7 +41433,7 @@
   .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
   .byte  196,195,113,34,76,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
   .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
-  .byte  233,245,254,255,255                 // jmpq          7cc <_sk_load_g8_hsw_lowp+0x10>
+  .byte  233,245,254,255,255                 // jmpq          b80 <_sk_load_g8_hsw_lowp+0x10>
   .byte  144                                 // nop
   .byte  72,255                              // rex.W         (bad)
   .byte  255                                 // (bad)
@@ -37908,7 +41444,102 @@
   .byte  255,140,255,255,255,132,255         // decl          -0x7b0001(%rdi,%rdi,8)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  124,255                             // jl            8ed <_sk_load_g8_hsw_lowp+0x131>
+  .byte  124,255                             // jl            ca1 <_sk_load_g8_hsw_lowp+0x131>
+  .byte  255                                 // (bad)
+  .byte  255,112,255                         // pushq         -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  185,255,255,255,177                 // mov           $0xb1ffffff,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,169,255,255,255,157             // ljmp          *-0x62000001(%rcx)
+  .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,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .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,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,50                              // jne           d04 <_sk_load_g8_dst_hsw_lowp+0x3c>
+  .byte  196,193,122,111,36,19               // vmovdqu       (%r11,%rdx,1),%xmm4
+  .byte  196,226,125,48,228                  // vpmovzxbw     %xmm4,%ymm4
+  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
+  .byte  196,226,125,121,45,159,15,0,0       // vpbroadcastw  0xf9f(%rip),%ymm5        # 1c8a <_sk_xor__hsw_lowp+0x1d6>
+  .byte  197,221,228,229                     // vpmulhuw      %ymm5,%ymm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,61,146,15,0,0       // vpbroadcastw  0xf92(%rip),%ymm7        # 1c8c <_sk_xor__hsw_lowp+0x1d8>
+  .byte  197,253,111,236                     // vmovdqa       %ymm4,%ymm5
+  .byte  197,253,111,244                     // vmovdqa       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,15                       // and           $0xf,%r9b
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,14                       // cmp           $0xe,%r9b
+  .byte  119,192                             // ja            cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,193,0,0,0                 // lea           0xc1(%rip),%r10        # de4 <_sk_load_g8_dst_hsw_lowp+0x11c>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,161                             // jmp           cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,132                             // jmp           cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,87,255,255,255                  // jmpq          cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,42,255,255,255                  // jmpq          cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
+  .byte  196,195,81,34,108,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
+  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  .byte  233,245,254,255,255                 // jmpq          cd8 <_sk_load_g8_dst_hsw_lowp+0x10>
+  .byte  144                                 // nop
+  .byte  72,255                              // rex.W         (bad)
+  .byte  255                                 // (bad)
+  .byte  255,95,255                          // lcall         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,83,255                          // callq         *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,140,255,255,255,132,255         // decl          -0x7b0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  124,255                             // jl            df9 <_sk_load_g8_dst_hsw_lowp+0x131>
   .byte  255                                 // (bad)
   .byte  255,112,255                         // pushq         -0x1(%rax)
   .byte  255                                 // (bad)
@@ -37940,20 +41571,20 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,220,1,0,0                    // jne           afe <_sk_srcover_rgba_8888_hsw_lowp+0x1ea>
+  .byte  15,133,220,1,0,0                    // jne           100a <_sk_srcover_rgba_8888_hsw_lowp+0x1ea>
   .byte  196,193,126,111,124,147,32          // vmovdqu       0x20(%r11,%rdx,4),%ymm7
   .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
-  .byte  197,253,111,37,169,13,0,0           // vmovdqa       0xda9(%rip),%ymm4        # 16e0 <_sk_xor__hsw_lowp+0x148>
+  .byte  197,253,111,37,93,14,0,0            // vmovdqa       0xe5d(%rip),%ymm4        # 1ca0 <_sk_xor__hsw_lowp+0x1ec>
   .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
   .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
   .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
   .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
   .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
-  .byte  196,98,125,121,13,164,13,0,0        // vpbroadcastw  0xda4(%rip),%ymm9        # 1700 <_sk_xor__hsw_lowp+0x168>
+  .byte  196,98,125,121,13,88,14,0,0         // vpbroadcastw  0xe58(%rip),%ymm9        # 1cc0 <_sk_xor__hsw_lowp+0x20c>
   .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
-  .byte  196,98,125,121,21,152,13,0,0        // vpbroadcastw  0xd98(%rip),%ymm10        # 1702 <_sk_xor__hsw_lowp+0x16a>
+  .byte  196,98,125,121,21,76,14,0,0         // vpbroadcastw  0xe4c(%rip),%ymm10        # 1cc2 <_sk_xor__hsw_lowp+0x20e>
   .byte  196,193,93,228,226                  // vpmulhuw      %ymm10,%ymm4,%ymm4
-  .byte  197,253,111,45,169,13,0,0           // vmovdqa       0xda9(%rip),%ymm5        # 1720 <_sk_xor__hsw_lowp+0x188>
+  .byte  197,253,111,45,93,14,0,0            // vmovdqa       0xe5d(%rip),%ymm5        # 1ce0 <_sk_xor__hsw_lowp+0x22c>
   .byte  196,226,61,0,245                    // vpshufb       %ymm5,%ymm8,%ymm6
   .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
   .byte  196,226,69,0,237                    // vpshufb       %ymm5,%ymm7,%ymm5
@@ -37961,7 +41592,7 @@
   .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
   .byte  197,213,113,245,8                   // vpsllw        $0x8,%ymm5,%ymm5
   .byte  196,193,85,228,234                  // vpmulhuw      %ymm10,%ymm5,%ymm5
-  .byte  197,253,111,53,155,13,0,0           // vmovdqa       0xd9b(%rip),%ymm6        # 1740 <_sk_xor__hsw_lowp+0x1a8>
+  .byte  197,253,111,53,79,14,0,0            // vmovdqa       0xe4f(%rip),%ymm6        # 1d00 <_sk_xor__hsw_lowp+0x24c>
   .byte  196,98,61,0,222                     // vpshufb       %ymm6,%ymm8,%ymm11
   .byte  196,67,253,0,219,232                // vpermq        $0xe8,%ymm11,%ymm11
   .byte  196,226,69,0,246                    // vpshufb       %ymm6,%ymm7,%ymm6
@@ -37969,7 +41600,7 @@
   .byte  196,227,37,56,246,1                 // vinserti128   $0x1,%xmm6,%ymm11,%ymm6
   .byte  197,205,113,246,8                   // vpsllw        $0x8,%ymm6,%ymm6
   .byte  196,193,77,228,242                  // vpmulhuw      %ymm10,%ymm6,%ymm6
-  .byte  197,125,111,29,141,13,0,0           // vmovdqa       0xd8d(%rip),%ymm11        # 1760 <_sk_xor__hsw_lowp+0x1c8>
+  .byte  197,125,111,29,65,14,0,0            // vmovdqa       0xe41(%rip),%ymm11        # 1d20 <_sk_xor__hsw_lowp+0x26c>
   .byte  196,66,61,0,195                     // vpshufb       %ymm11,%ymm8,%ymm8
   .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
   .byte  196,194,69,0,251                    // vpshufb       %ymm11,%ymm7,%ymm7
@@ -37977,7 +41608,7 @@
   .byte  196,227,61,56,255,1                 // vinserti128   $0x1,%xmm7,%ymm8,%ymm7
   .byte  197,197,113,247,8                   // vpsllw        $0x8,%ymm7,%ymm7
   .byte  196,193,69,228,250                  // vpmulhuw      %ymm10,%ymm7,%ymm7
-  .byte  196,98,125,121,5,126,13,0,0         // vpbroadcastw  0xd7e(%rip),%ymm8        # 1780 <_sk_xor__hsw_lowp+0x1e8>
+  .byte  196,98,125,121,5,50,14,0,0          // vpbroadcastw  0xe32(%rip),%ymm8        # 1d40 <_sk_xor__hsw_lowp+0x28c>
   .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
   .byte  196,66,93,11,208                    // vpmulhrsw     %ymm8,%ymm4,%ymm10
   .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
@@ -38024,7 +41655,7 @@
   .byte  196,65,13,235,193                   // vpor          %ymm9,%ymm14,%ymm8
   .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,77                              // jne           b3a <_sk_srcover_rgba_8888_hsw_lowp+0x226>
+  .byte  117,77                              // jne           1046 <_sk_srcover_rgba_8888_hsw_lowp+0x226>
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
   .byte  196,65,126,127,84,147,32            // vmovdqu       %ymm10,0x20(%r11,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -38035,26 +41666,26 @@
   .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  15,135,20,254,255,255               // ja            92f <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  .byte  15,135,20,254,255,255               // ja            e3b <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,238,1,0,0                 // lea           0x1ee(%rip),%r10        # d14 <_sk_srcover_rgba_8888_hsw_lowp+0x400>
+  .byte  76,141,21,238,1,0,0                 // lea           0x1ee(%rip),%r10        # 1220 <_sk_srcover_rgba_8888_hsw_lowp+0x400>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
-  .byte  233,245,253,255,255                 // jmpq          92f <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  .byte  233,245,253,255,255                 // jmpq          e3b <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,15                       // and           $0xf,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,176                             // ja            afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  119,176                             // ja            1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  65,15,182,193                       // movzbl        %r9b,%eax
-  .byte  76,141,13,251,1,0,0                 // lea           0x1fb(%rip),%r9        # d50 <_sk_srcover_rgba_8888_hsw_lowp+0x43c>
+  .byte  76,141,13,251,1,0,0                 // lea           0x1fb(%rip),%r9        # 125c <_sk_srcover_rgba_8888_hsw_lowp+0x43c>
   .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,147                // vmovd         %xmm8,(%r11,%rdx,4)
-  .byte  235,148                             // jmp           afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  235,148                             // jmp           1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  196,193,121,110,100,147,8           // vmovd         0x8(%r11,%rdx,4),%xmm4
   .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
   .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
@@ -38062,7 +41693,7 @@
   .byte  196,194,121,53,36,147               // vpmovzxdq     (%r11,%rdx,4),%xmm4
   .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
   .byte  196,99,61,2,196,3                   // vpblendd      $0x3,%ymm4,%ymm8,%ymm8
-  .byte  233,157,253,255,255                 // jmpq          92f <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  .byte  233,157,253,255,255                 // jmpq          e3b <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   .byte  196,193,121,110,100,147,24          // vmovd         0x18(%r11,%rdx,4),%xmm4
   .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
   .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
@@ -38075,7 +41706,7 @@
   .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
   .byte  196,193,122,111,36,147              // vmovdqu       (%r11,%rdx,4),%xmm4
   .byte  196,67,93,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
-  .byte  233,78,253,255,255                  // jmpq          92f <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  .byte  233,78,253,255,255                  // jmpq          e3b <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   .byte  196,193,121,110,100,147,40          // vmovd         0x28(%r11,%rdx,4),%xmm4
   .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
   .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
@@ -38084,7 +41715,7 @@
   .byte  196,227,69,2,252,15                 // vpblendd      $0xf,%ymm4,%ymm7,%ymm7
   .byte  196,193,121,110,100,147,32          // vmovd         0x20(%r11,%rdx,4),%xmm4
   .byte  196,227,69,2,252,1                  // vpblendd      $0x1,%ymm4,%ymm7,%ymm7
-  .byte  233,18,253,255,255                  // jmpq          929 <_sk_srcover_rgba_8888_hsw_lowp+0x15>
+  .byte  233,18,253,255,255                  // jmpq          e35 <_sk_srcover_rgba_8888_hsw_lowp+0x15>
   .byte  196,193,121,110,100,147,56          // vmovd         0x38(%r11,%rdx,4),%xmm4
   .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
   .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
@@ -38098,10 +41729,10 @@
   .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
   .byte  196,193,122,111,100,147,32          // vmovdqu       0x20(%r11,%rdx,4),%xmm4
   .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
-  .byte  233,194,252,255,255                 // jmpq          92f <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  .byte  233,194,252,255,255                 // jmpq          e3b <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   .byte  196,67,121,22,68,147,8,2            // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
   .byte  196,65,121,214,4,147                // vmovq         %xmm8,(%r11,%rdx,4)
-  .byte  233,122,254,255,255                 // jmpq          afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  233,122,254,255,255                 // jmpq          1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,67,121,22,76,147,24,2           // vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
@@ -38109,12 +41740,12 @@
   .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
   .byte  196,65,121,126,76,147,16            // vmovd         %xmm9,0x10(%r11,%rdx,4)
   .byte  196,65,122,127,4,147                // vmovdqu       %xmm8,(%r11,%rdx,4)
-  .byte  233,70,254,255,255                  // jmpq          afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  233,70,254,255,255                  // jmpq          1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  196,67,121,22,84,147,40,2           // vpextrd       $0x2,%xmm10,0x28(%r11,%rdx,4)
   .byte  196,67,121,22,84,147,36,1           // vpextrd       $0x1,%xmm10,0x24(%r11,%rdx,4)
   .byte  196,65,121,126,84,147,32            // vmovd         %xmm10,0x20(%r11,%rdx,4)
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
-  .byte  233,36,254,255,255                  // jmpq          afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  233,36,254,255,255                  // jmpq          1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
   .byte  196,67,121,22,76,147,56,2           // vpextrd       $0x2,%xmm9,0x38(%r11,%rdx,4)
   .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
@@ -38123,7 +41754,7 @@
   .byte  196,65,121,126,76,147,48            // vmovd         %xmm9,0x30(%r11,%rdx,4)
   .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
   .byte  196,65,122,127,84,147,32            // vmovdqu       %xmm10,0x20(%r11,%rdx,4)
-  .byte  233,233,253,255,255                 // jmpq          afa <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  .byte  233,233,253,255,255                 // jmpq          1006 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  27,254                              // sbb           %esi,%edi
   .byte  255                                 // (bad)
@@ -38137,7 +41768,7 @@
   .byte  255                                 // (bad)
   .byte  255,148,254,255,255,126,254         // callq         *-0x1810001(%rsi,%rdi,8)
   .byte  255                                 // (bad)
-  .byte  255,21,252,255,255,241              // callq         *-0xe000004(%rip)        # fffffffff2000d31 <_sk_xor__hsw_lowp+0xfffffffff1fff799>
+  .byte  255,21,252,255,255,241              // callq         *-0xe000004(%rip)        # fffffffff200123d <_sk_xor__hsw_lowp+0xfffffffff1fff789>
   .byte  254                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,227                             // jmpq          *%rbx
@@ -38148,7 +41779,7 @@
   .byte  255                                 // (bad)
   .byte  255,65,255                          // incl          -0x1(%rcx)
   .byte  255                                 // (bad)
-  .byte  255,45,255,255,255,25               // ljmp          *0x19ffffff(%rip)        # 1a000d48 <_sk_xor__hsw_lowp+0x19fff7b0>
+  .byte  255,45,255,255,255,25               // ljmp          *0x19ffffff(%rip)        # 1a001254 <_sk_xor__hsw_lowp+0x19fff7a0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,3                               // incl          (%rbx)
@@ -38157,7 +41788,7 @@
   .byte  255,14                              // decl          (%rsi)
   .byte  254                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  255,37,255,255,255,29               // jmpq          *0x1dffffff(%rip)        # 1e000d58 <_sk_xor__hsw_lowp+0x1dfff7c0>
+  .byte  255,37,255,255,255,29               // jmpq          *0x1dffffff(%rip)        # 1e001264 <_sk_xor__hsw_lowp+0x1dfff7b0>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,89,255                          // lcall         *-0x1(%rcx)
@@ -38170,7 +41801,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  123,255                             // jnp           d6d <_sk_srcover_rgba_8888_hsw_lowp+0x459>
+  .byte  123,255                             // jnp           1279 <_sk_srcover_rgba_8888_hsw_lowp+0x459>
   .byte  255                                 // (bad)
   .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
   .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
@@ -38188,7 +41819,7 @@
 _sk_scale_1_float_hsw_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
-  .byte  197,58,88,5,126,8,0,0               // vaddss        0x87e(%rip),%xmm8,%xmm8        # 1618 <_sk_xor__hsw_lowp+0x80>
+  .byte  197,58,88,5,142,8,0,0               // vaddss        0x88e(%rip),%xmm8,%xmm8        # 1b34 <_sk_xor__hsw_lowp+0x80>
   .byte  197,121,126,192                     // vmovd         %xmm8,%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
   .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
@@ -38210,11 +41841,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,75                              // jne           e28 <_sk_scale_u8_hsw_lowp+0x55>
+  .byte  117,75                              // jne           1334 <_sk_scale_u8_hsw_lowp+0x55>
   .byte  196,65,122,111,4,19                 // vmovdqu       (%r11,%rdx,1),%xmm8
   .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
   .byte  196,193,61,113,240,8                // vpsllw        $0x8,%ymm8,%ymm8
-  .byte  196,98,125,121,13,139,9,0,0         // vpbroadcastw  0x98b(%rip),%ymm9        # 1782 <_sk_xor__hsw_lowp+0x1ea>
+  .byte  196,98,125,121,13,63,10,0,0         // vpbroadcastw  0xa3f(%rip),%ymm9        # 1d42 <_sk_xor__hsw_lowp+0x28e>
   .byte  196,65,61,228,193                   // vpmulhuw      %ymm9,%ymm8,%ymm8
   .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38231,35 +41862,35 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  119,166                             // ja            de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  119,166                             // ja            12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,200,0,0,0                 // lea           0xc8(%rip),%r10        # f10 <_sk_scale_u8_hsw_lowp+0x13d>
+  .byte  76,141,21,200,0,0,0                 // lea           0xc8(%rip),%r10        # 141c <_sk_scale_u8_hsw_lowp+0x13d>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  235,135                             // jmp           de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  235,135                             // jmp           12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,2,2              // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
   .byte  65,15,183,4,19                      // movzwl        (%r11,%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,102,255,255,255                 // jmpq          de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  233,102,255,255,255                 // jmpq          12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,6,6              // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,5,5              // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,4,4              // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
   .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  .byte  233,56,255,255,255                  // jmpq          de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  233,56,255,255,255                  // jmpq          12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,10,10            // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,9,9              // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,8,8              // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
   .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  .byte  233,10,255,255,255                  // jmpq          de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  233,10,255,255,255                  // jmpq          12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,14,14            // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,13,13            // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
@@ -38267,7 +41898,7 @@
   .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
   .byte  196,67,49,34,76,19,8,2              // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
   .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
-  .byte  233,212,254,255,255                 // jmpq          de3 <_sk_scale_u8_hsw_lowp+0x10>
+  .byte  233,212,254,255,255                 // jmpq          12ef <_sk_scale_u8_hsw_lowp+0x10>
   .byte  144                                 // nop
   .byte  65,255                              // rex.B         (bad)
   .byte  255                                 // (bad)
@@ -38278,7 +41909,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  122,255                             // jp            f25 <_sk_scale_u8_hsw_lowp+0x152>
+  .byte  122,255                             // jp            1431 <_sk_scale_u8_hsw_lowp+0x152>
   .byte  255                                 // (bad)
   .byte  255,109,255                         // ljmp          *-0x1(%rbp)
   .byte  255                                 // (bad)
@@ -38309,13 +41940,13 @@
 _sk_lerp_1_float_hsw_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
-  .byte  197,58,88,5,194,6,0,0               // vaddss        0x6c2(%rip),%xmm8,%xmm8        # 161c <_sk_xor__hsw_lowp+0x84>
+  .byte  197,58,88,5,210,6,0,0               // vaddss        0x6d2(%rip),%xmm8,%xmm8        # 1b38 <_sk_xor__hsw_lowp+0x84>
   .byte  197,121,126,192                     // vmovd         %xmm8,%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
   .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
   .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
-  .byte  196,98,125,121,13,10,8,0,0          // vpbroadcastw  0x80a(%rip),%ymm9        # 1784 <_sk_xor__hsw_lowp+0x1ec>
+  .byte  196,98,125,121,13,190,8,0,0         // vpbroadcastw  0x8be(%rip),%ymm9        # 1d44 <_sk_xor__hsw_lowp+0x290>
   .byte  196,65,53,249,200                   // vpsubw        %ymm8,%ymm9,%ymm9
   .byte  196,66,93,11,209                    // vpmulhrsw     %ymm9,%ymm4,%ymm10
   .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
@@ -38345,15 +41976,15 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,145,0,0,0                    // jne           1078 <_sk_lerp_u8_hsw_lowp+0x9f>
+  .byte  15,133,145,0,0,0                    // jne           1584 <_sk_lerp_u8_hsw_lowp+0x9f>
   .byte  196,65,122,111,4,19                 // vmovdqu       (%r11,%rdx,1),%xmm8
   .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
   .byte  196,193,61,113,240,8                // vpsllw        $0x8,%ymm8,%ymm8
-  .byte  196,98,125,121,13,133,7,0,0         // vpbroadcastw  0x785(%rip),%ymm9        # 1786 <_sk_xor__hsw_lowp+0x1ee>
+  .byte  196,98,125,121,13,57,8,0,0          // vpbroadcastw  0x839(%rip),%ymm9        # 1d46 <_sk_xor__hsw_lowp+0x292>
   .byte  196,65,61,228,193                   // vpmulhuw      %ymm9,%ymm8,%ymm8
   .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
-  .byte  196,98,125,121,13,111,7,0,0         // vpbroadcastw  0x76f(%rip),%ymm9        # 1788 <_sk_xor__hsw_lowp+0x1f0>
+  .byte  196,98,125,121,13,35,8,0,0          // vpbroadcastw  0x823(%rip),%ymm9        # 1d48 <_sk_xor__hsw_lowp+0x294>
   .byte  196,65,53,249,200                   // vpsubw        %ymm8,%ymm9,%ymm9
   .byte  196,66,93,11,209                    // vpmulhrsw     %ymm9,%ymm4,%ymm10
   .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
@@ -38380,35 +42011,35 @@
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,14                       // cmp           $0xe,%r9b
-  .byte  15,135,92,255,255,255               // ja            fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  15,135,92,255,255,255               // ja            14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,204,0,0,0                 // lea           0xcc(%rip),%r10        # 1168 <_sk_lerp_u8_hsw_lowp+0x18f>
+  .byte  76,141,21,204,0,0,0                 // lea           0xcc(%rip),%r10        # 1674 <_sk_lerp_u8_hsw_lowp+0x18f>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  197,121,110,192                     // vmovd         %eax,%xmm8
-  .byte  233,58,255,255,255                  // jmpq          fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  233,58,255,255,255                  // jmpq          14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,2,2              // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
   .byte  65,15,183,4,19                      // movzwl        (%r11,%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,25,255,255,255                  // jmpq          fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  233,25,255,255,255                  // jmpq          14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,6,6              // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,5,5              // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,4,4              // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
   .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  .byte  233,235,254,255,255                 // jmpq          fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  233,235,254,255,255                 // jmpq          14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,10,10            // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,9,9              // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,8,8              // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
   .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  .byte  233,189,254,255,255                 // jmpq          fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  233,189,254,255,255                 // jmpq          14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
   .byte  196,67,57,32,68,19,14,14            // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
   .byte  196,67,57,32,68,19,13,13            // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
@@ -38416,7 +42047,7 @@
   .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
   .byte  196,67,49,34,76,19,8,2              // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
   .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
-  .byte  233,135,254,255,255                 // jmpq          fed <_sk_lerp_u8_hsw_lowp+0x14>
+  .byte  233,135,254,255,255                 // jmpq          14f9 <_sk_lerp_u8_hsw_lowp+0x14>
   .byte  102,144                             // xchg          %ax,%ax
   .byte  61,255,255,255,88                   // cmp           $0x58ffffff,%eax
   .byte  255                                 // (bad)
@@ -38427,7 +42058,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  121,255                             // jns           117d <_sk_lerp_u8_hsw_lowp+0x1a4>
+  .byte  121,255                             // jns           1689 <_sk_lerp_u8_hsw_lowp+0x1a4>
   .byte  255                                 // (bad)
   .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
   .byte  255,183,255,255,255,175             // pushq         -0x50000001(%rdi)
@@ -38460,6 +42091,16 @@
   .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_hsw_lowp
+.globl _sk_swap_rb_dst_hsw_lowp
+FUNCTION(_sk_swap_rb_dst_hsw_lowp)
+_sk_swap_rb_dst_hsw_lowp:
+  .byte  197,124,40,196                      // vmovaps       %ymm4,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,230                      // vmovaps       %ymm6,%ymm4
+  .byte  197,124,41,198                      // vmovaps       %ymm8,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_hsw_lowp
 .globl _sk_swap_hsw_lowp
 FUNCTION(_sk_swap_hsw_lowp)
@@ -38518,7 +42159,7 @@
 _sk_srcatop_hsw_lowp:
   .byte  196,226,125,11,199                  // vpmulhrsw     %ymm7,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
-  .byte  196,98,125,121,5,83,5,0,0           // vpbroadcastw  0x553(%rip),%ymm8        # 178a <_sk_xor__hsw_lowp+0x1f2>
+  .byte  196,98,125,121,5,247,5,0,0          // vpbroadcastw  0x5f7(%rip),%ymm8        # 1d4a <_sk_xor__hsw_lowp+0x296>
   .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
   .byte  196,66,93,11,200                    // vpmulhrsw     %ymm8,%ymm4,%ymm9
   .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
@@ -38547,7 +42188,7 @@
 _sk_dstatop_hsw_lowp:
   .byte  196,98,93,11,195                    // vpmulhrsw     %ymm3,%ymm4,%ymm8
   .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
-  .byte  196,98,125,121,13,228,4,0,0         // vpbroadcastw  0x4e4(%rip),%ymm9        # 178c <_sk_xor__hsw_lowp+0x1f4>
+  .byte  196,98,125,121,13,136,5,0,0         // vpbroadcastw  0x588(%rip),%ymm9        # 1d4c <_sk_xor__hsw_lowp+0x298>
   .byte  197,53,249,207                      // vpsubw        %ymm7,%ymm9,%ymm9
   .byte  196,194,125,11,193                  // vpmulhrsw     %ymm9,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38604,7 +42245,7 @@
 .globl _sk_srcout_hsw_lowp
 FUNCTION(_sk_srcout_hsw_lowp)
 _sk_srcout_hsw_lowp:
-  .byte  196,98,125,121,5,35,4,0,0           // vpbroadcastw  0x423(%rip),%ymm8        # 178e <_sk_xor__hsw_lowp+0x1f6>
+  .byte  196,98,125,121,5,199,4,0,0          // vpbroadcastw  0x4c7(%rip),%ymm8        # 1d4e <_sk_xor__hsw_lowp+0x29a>
   .byte  197,61,249,199                      // vpsubw        %ymm7,%ymm8,%ymm8
   .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38621,7 +42262,7 @@
 .globl _sk_dstout_hsw_lowp
 FUNCTION(_sk_dstout_hsw_lowp)
 _sk_dstout_hsw_lowp:
-  .byte  196,226,125,121,5,236,3,0,0         // vpbroadcastw  0x3ec(%rip),%ymm0        # 1790 <_sk_xor__hsw_lowp+0x1f8>
+  .byte  196,226,125,121,5,144,4,0,0         // vpbroadcastw  0x490(%rip),%ymm0        # 1d50 <_sk_xor__hsw_lowp+0x29c>
   .byte  197,253,249,219                     // vpsubw        %ymm3,%ymm0,%ymm3
   .byte  196,226,93,11,195                   // vpmulhrsw     %ymm3,%ymm4,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38638,7 +42279,7 @@
 .globl _sk_srcover_hsw_lowp
 FUNCTION(_sk_srcover_hsw_lowp)
 _sk_srcover_hsw_lowp:
-  .byte  196,98,125,121,5,181,3,0,0          // vpbroadcastw  0x3b5(%rip),%ymm8        # 1792 <_sk_xor__hsw_lowp+0x1fa>
+  .byte  196,98,125,121,5,89,4,0,0           // vpbroadcastw  0x459(%rip),%ymm8        # 1d52 <_sk_xor__hsw_lowp+0x29e>
   .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
   .byte  196,66,93,11,200                    // vpmulhrsw     %ymm8,%ymm4,%ymm9
   .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
@@ -38659,7 +42300,7 @@
 .globl _sk_dstover_hsw_lowp
 FUNCTION(_sk_dstover_hsw_lowp)
 _sk_dstover_hsw_lowp:
-  .byte  196,98,125,121,5,110,3,0,0          // vpbroadcastw  0x36e(%rip),%ymm8        # 1794 <_sk_xor__hsw_lowp+0x1fc>
+  .byte  196,98,125,121,5,18,4,0,0           // vpbroadcastw  0x412(%rip),%ymm8        # 1d54 <_sk_xor__hsw_lowp+0x2a0>
   .byte  197,61,249,199                      // vpsubw        %ymm7,%ymm8,%ymm8
   .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38695,7 +42336,7 @@
 .globl _sk_multiply_hsw_lowp
 FUNCTION(_sk_multiply_hsw_lowp)
 _sk_multiply_hsw_lowp:
-  .byte  196,98,125,121,5,251,2,0,0          // vpbroadcastw  0x2fb(%rip),%ymm8        # 1796 <_sk_xor__hsw_lowp+0x1fe>
+  .byte  196,98,125,121,5,159,3,0,0          // vpbroadcastw  0x39f(%rip),%ymm8        # 1d56 <_sk_xor__hsw_lowp+0x2a2>
   .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
   .byte  196,66,125,11,209                   // vpmulhrsw     %ymm9,%ymm0,%ymm10
   .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
@@ -38737,7 +42378,7 @@
 .globl _sk_screen_hsw_lowp
 FUNCTION(_sk_screen_hsw_lowp)
 _sk_screen_hsw_lowp:
-  .byte  196,98,125,121,5,76,2,0,0           // vpbroadcastw  0x24c(%rip),%ymm8        # 1798 <_sk_xor__hsw_lowp+0x200>
+  .byte  196,98,125,121,5,240,2,0,0          // vpbroadcastw  0x2f0(%rip),%ymm8        # 1d58 <_sk_xor__hsw_lowp+0x2a4>
   .byte  197,61,249,200                      // vpsubw        %ymm0,%ymm8,%ymm9
   .byte  196,98,53,11,204                    // vpmulhrsw     %ymm4,%ymm9,%ymm9
   .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
@@ -38761,7 +42402,7 @@
 .globl _sk_xor__hsw_lowp
 FUNCTION(_sk_xor__hsw_lowp)
 _sk_xor__hsw_lowp:
-  .byte  196,98,125,121,5,249,1,0,0          // vpbroadcastw  0x1f9(%rip),%ymm8        # 179a <_sk_xor__hsw_lowp+0x202>
+  .byte  196,98,125,121,5,157,2,0,0          // vpbroadcastw  0x29d(%rip),%ymm8        # 1d5a <_sk_xor__hsw_lowp+0x2a6>
   .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
   .byte  196,194,125,11,193                  // vpmulhrsw     %ymm9,%ymm0,%ymm0
   .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
@@ -38831,7 +42472,98 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,17                              // callq         *(%rcx)
-  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a2f8d <_sk_xor__hsw_lowp+0x1d1a19f5>
+  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a34ad <_sk_xor__hsw_lowp+0x1d1a19f9>
+  .byte  30                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .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,255                              // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  19,22                               // adc           (%rsi),%edx
+  .byte  23                                  // (bad)
+  .byte  26,27                               // sbb           (%rbx),%bl
+  .byte  30                                  // (bad)
+  .byte  31                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,3                               // incl          (%rbx)
+  .byte  255,7                               // incl          (%rdi)
+  .byte  255,11                              // decl          (%rbx)
+  .byte  255,15                              // decl          (%rdi)
+  .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,19                              // callq         *(%rbx)
+  .byte  255,23                              // callq         *(%rdi)
+  .byte  255,27                              // lcall         *(%rbx)
+  .byte  255,31                              // lcall         *(%rdi)
+  .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,0                               // incl          (%rax)
+  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
+  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
+  .byte  128,0,1                             // addb          $0x1,(%rax)
+  .byte  4,5                                 // add           $0x5,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
+  .byte  128,129,128,0,0,0,0                 // addb          $0x0,0x80(%rcx)
+  .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  1,2                                 // add           %eax,(%rdx)
+  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
+  .byte  14                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,17                              // callq         *(%rcx)
+  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a354d <_sk_xor__hsw_lowp+0x1d1a1a99>
   .byte  30                                  // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -38891,10 +42623,8 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,0                               // incl          (%rax)
-  .byte  129,128,129,128,0,128,0,0,0,0       // addl          $0x0,-0x7fff7f7f(%rax)
-  .byte  0,0                                 // add           %al,(%rax)
-  .byte  0,0                                 // add           %al,(%rax)
-  .byte  0,0                                 // add           %al,(%rax)
+  .byte  129,128,129,128,129,128,0,128,129,128// addl          $0x80818000,-0x7f7e7f7f(%rax)
+  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -38935,7 +42665,7 @@
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,17                              // callq         *(%rcx)
-  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a304d <_sk_xor__hsw_lowp+0x1d1a1ab5>
+  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a360d <_sk_xor__hsw_lowp+0x1d1a1b59>
   .byte  30                                  // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -39068,7 +42798,7 @@
 _sk_constant_color_ssse3_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  15,16,24                            // movups        (%rax),%xmm3
-  .byte  15,88,29,99,18,0,0                  // addps         0x1263(%rip),%xmm3        # 12f0 <_sk_xor__ssse3_lowp+0x9f>
+  .byte  15,88,29,163,21,0,0                 // addps         0x15a3(%rip),%xmm3        # 1630 <_sk_xor__ssse3_lowp+0xa8>
   .byte  242,15,112,195,0                    // pshuflw       $0x0,%xmm3,%xmm0
   .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
   .byte  242,15,112,203,170                  // pshuflw       $0xaa,%xmm3,%xmm1
@@ -39085,7 +42815,7 @@
 FUNCTION(_sk_set_rgb_ssse3_lowp)
 _sk_set_rgb_ssse3_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  243,15,16,21,45,20,0,0              // movss         0x142d(%rip),%xmm2        # 14f0 <_sk_xor__ssse3_lowp+0x29f>
+  .byte  243,15,16,21,237,23,0,0             // movss         0x17ed(%rip),%xmm2        # 18b0 <_sk_xor__ssse3_lowp+0x328>
   .byte  243,15,16,0                         // movss         (%rax),%xmm0
   .byte  243,15,88,194                       // addss         %xmm2,%xmm0
   .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
@@ -39129,16 +42859,16 @@
   .byte  15,133,191,0,0,0                    // jne           206 <_sk_load_8888_ssse3_lowp+0xcd>
   .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
   .byte  102,65,15,16,28,147                 // movupd        (%r11,%rdx,4),%xmm3
-  .byte  102,15,111,13,165,17,0,0            // movdqa        0x11a5(%rip),%xmm1        # 1300 <_sk_xor__ssse3_lowp+0xaf>
+  .byte  102,15,111,13,229,20,0,0            // movdqa        0x14e5(%rip),%xmm1        # 1640 <_sk_xor__ssse3_lowp+0xb8>
   .byte  102,15,40,195                       // movapd        %xmm3,%xmm0
   .byte  102,15,56,0,193                     // pshufb        %xmm1,%xmm0
   .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
   .byte  102,15,56,0,209                     // pshufb        %xmm1,%xmm2
   .byte  102,15,108,194                      // punpcklqdq    %xmm2,%xmm0
   .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
-  .byte  102,68,15,111,13,144,17,0,0         // movdqa        0x1190(%rip),%xmm9        # 1310 <_sk_xor__ssse3_lowp+0xbf>
+  .byte  102,68,15,111,13,208,20,0,0         // movdqa        0x14d0(%rip),%xmm9        # 1650 <_sk_xor__ssse3_lowp+0xc8>
   .byte  102,65,15,228,193                   // pmulhuw       %xmm9,%xmm0
-  .byte  102,68,15,111,21,146,17,0,0         // movdqa        0x1192(%rip),%xmm10        # 1320 <_sk_xor__ssse3_lowp+0xcf>
+  .byte  102,68,15,111,21,210,20,0,0         // movdqa        0x14d2(%rip),%xmm10        # 1660 <_sk_xor__ssse3_lowp+0xd8>
   .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
   .byte  102,65,15,56,0,202                  // pshufb        %xmm10,%xmm1
   .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
@@ -39146,7 +42876,7 @@
   .byte  102,15,108,202                      // punpcklqdq    %xmm2,%xmm1
   .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
   .byte  102,65,15,228,201                   // pmulhuw       %xmm9,%xmm1
-  .byte  102,68,15,111,21,118,17,0,0         // movdqa        0x1176(%rip),%xmm10        # 1330 <_sk_xor__ssse3_lowp+0xdf>
+  .byte  102,68,15,111,21,182,20,0,0         // movdqa        0x14b6(%rip),%xmm10        # 1670 <_sk_xor__ssse3_lowp+0xe8>
   .byte  102,15,40,211                       // movapd        %xmm3,%xmm2
   .byte  102,65,15,56,0,210                  // pshufb        %xmm10,%xmm2
   .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
@@ -39154,7 +42884,7 @@
   .byte  102,65,15,108,211                   // punpcklqdq    %xmm11,%xmm2
   .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
   .byte  102,65,15,228,209                   // pmulhuw       %xmm9,%xmm2
-  .byte  102,68,15,111,21,89,17,0,0          // movdqa        0x1159(%rip),%xmm10        # 1340 <_sk_xor__ssse3_lowp+0xef>
+  .byte  102,68,15,111,21,153,20,0,0         // movdqa        0x1499(%rip),%xmm10        # 1680 <_sk_xor__ssse3_lowp+0xf8>
   .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
   .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
   .byte  102,65,15,108,216                   // punpcklqdq    %xmm8,%xmm3
@@ -39210,6 +42940,98 @@
   .byte  255                                 // (bad)
   .byte  255                                 // .byte         0xff
 
+HIDDEN _sk_load_8888_dst_ssse3_lowp
+.globl _sk_load_8888_dst_ssse3_lowp
+FUNCTION(_sk_load_8888_dst_ssse3_lowp)
+_sk_load_8888_dst_ssse3_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  15,133,191,0,0,0                    // jne           375 <_sk_load_8888_dst_ssse3_lowp+0xcd>
+  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
+  .byte  102,65,15,16,60,147                 // movupd        (%r11,%rdx,4),%xmm7
+  .byte  102,15,111,45,198,19,0,0            // movdqa        0x13c6(%rip),%xmm5        # 1690 <_sk_xor__ssse3_lowp+0x108>
+  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
+  .byte  102,15,56,0,229                     // pshufb        %xmm5,%xmm4
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,15,56,0,245                     // pshufb        %xmm5,%xmm6
+  .byte  102,15,108,230                      // punpcklqdq    %xmm6,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,68,15,111,13,177,19,0,0         // movdqa        0x13b1(%rip),%xmm9        # 16a0 <_sk_xor__ssse3_lowp+0x118>
+  .byte  102,65,15,228,225                   // pmulhuw       %xmm9,%xmm4
+  .byte  102,68,15,111,21,179,19,0,0         // movdqa        0x13b3(%rip),%xmm10        # 16b0 <_sk_xor__ssse3_lowp+0x128>
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,65,15,56,0,234                  // pshufb        %xmm10,%xmm5
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
+  .byte  102,15,108,238                      // punpcklqdq    %xmm6,%xmm5
+  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
+  .byte  102,65,15,228,233                   // pmulhuw       %xmm9,%xmm5
+  .byte  102,68,15,111,21,151,19,0,0         // movdqa        0x1397(%rip),%xmm10        # 16c0 <_sk_xor__ssse3_lowp+0x138>
+  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
+  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,243                   // punpcklqdq    %xmm11,%xmm6
+  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
+  .byte  102,65,15,228,241                   // pmulhuw       %xmm9,%xmm6
+  .byte  102,68,15,111,21,122,19,0,0         // movdqa        0x137a(%rip),%xmm10        # 16d0 <_sk_xor__ssse3_lowp+0x148>
+  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,248                   // punpcklqdq    %xmm8,%xmm7
+  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
+  .byte  102,65,15,228,249                   // pmulhuw       %xmm9,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,48,255,255,255               // ja            2c2 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,95,0,0,0                  // lea           0x5f(%rip),%r10        # 3fc <_sk_load_8888_dst_ssse3_lowp+0x154>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,60,147                 // movss         (%r11,%rdx,4),%xmm7
+  .byte  233,17,255,255,255                  // jmpq          2c2 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  .byte  102,65,15,110,100,147,8             // movd          0x8(%r11,%rdx,4),%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  102,65,15,18,60,147                 // movlpd        (%r11,%rdx,4),%xmm7
+  .byte  233,250,254,255,255                 // jmpq          2c2 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  .byte  102,65,15,110,100,147,24            // movd          0x18(%r11,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  243,65,15,16,100,147,20             // movss         0x14(%r11,%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,147,16             // movss         0x10(%r11,%rdx,4),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  233,193,254,255,255                 // jmpq          2bc <_sk_load_8888_dst_ssse3_lowp+0x14>
+  .byte  144                                 // nop
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,181,255,255,255,192             // pushq         -0x3f000001(%rbp)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  238                                 // out           %al,(%dx)
+  .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                                 // .byte         0xff
+
 HIDDEN _sk_store_8888_ssse3_lowp
 .globl _sk_store_8888_ssse3_lowp
 FUNCTION(_sk_store_8888_ssse3_lowp)
@@ -39218,7 +43040,7 @@
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
   .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
-  .byte  102,68,15,111,21,143,16,0,0         // movdqa        0x108f(%rip),%xmm10        # 1350 <_sk_xor__ssse3_lowp+0xff>
+  .byte  102,68,15,111,21,175,18,0,0         // movdqa        0x12af(%rip),%xmm10        # 16e0 <_sk_xor__ssse3_lowp+0x158>
   .byte  102,69,15,234,194                   // pminsw        %xmm10,%xmm8
   .byte  102,69,15,239,219                   // pxor          %xmm11,%xmm11
   .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
@@ -39255,7 +43077,7 @@
   .byte  102,69,15,235,198                   // por           %xmm14,%xmm8
   .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,17                              // jne           38f <_sk_store_8888_ssse3_lowp+0xe7>
+  .byte  117,17                              // jne           4ff <_sk_store_8888_ssse3_lowp+0xe7>
   .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
   .byte  243,69,15,127,84,147,16             // movdqu        %xmm10,0x10(%r11,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -39264,25 +43086,25 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            38b <_sk_store_8888_ssse3_lowp+0xe3>
+  .byte  119,236                             // ja            4fb <_sk_store_8888_ssse3_lowp+0xe3>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,82,0,0,0                  // lea           0x52(%rip),%r10        # 3fc <_sk_store_8888_ssse3_lowp+0x154>
+  .byte  76,141,21,82,0,0,0                  // lea           0x52(%rip),%r10        # 56c <_sk_store_8888_ssse3_lowp+0x154>
   .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,4,147                 // movd          %xmm8,(%r11,%rdx,4)
-  .byte  235,208                             // jmp           38b <_sk_store_8888_ssse3_lowp+0xe3>
+  .byte  235,208                             // jmp           4fb <_sk_store_8888_ssse3_lowp+0xe3>
   .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
   .byte  102,69,15,126,76,147,8              // movd          %xmm9,0x8(%r11,%rdx,4)
   .byte  102,69,15,214,4,147                 // movq          %xmm8,(%r11,%rdx,4)
-  .byte  235,187                             // jmp           38b <_sk_store_8888_ssse3_lowp+0xe3>
+  .byte  235,187                             // jmp           4fb <_sk_store_8888_ssse3_lowp+0xe3>
   .byte  102,69,15,112,202,78                // pshufd        $0x4e,%xmm10,%xmm9
   .byte  102,69,15,126,76,147,24             // movd          %xmm9,0x18(%r11,%rdx,4)
   .byte  102,69,15,112,202,229               // pshufd        $0xe5,%xmm10,%xmm9
   .byte  102,69,15,126,76,147,20             // movd          %xmm9,0x14(%r11,%rdx,4)
   .byte  102,69,15,126,84,147,16             // movd          %xmm10,0x10(%r11,%rdx,4)
   .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
-  .byte  235,146                             // jmp           38b <_sk_store_8888_ssse3_lowp+0xe3>
+  .byte  235,146                             // jmp           4fb <_sk_store_8888_ssse3_lowp+0xe3>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  183,255                             // mov           $0xff,%bh
   .byte  255                                 // (bad)
@@ -39312,11 +43134,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,37                              // jne           447 <_sk_load_a8_ssse3_lowp+0x2f>
+  .byte  117,37                              // jne           5b7 <_sk_load_a8_ssse3_lowp+0x2f>
   .byte  243,65,15,126,28,19                 // movq          (%r11,%rdx,1),%xmm3
   .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
   .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
-  .byte  102,15,228,29,39,15,0,0             // pmulhuw       0xf27(%rip),%xmm3        # 1360 <_sk_xor__ssse3_lowp+0x10f>
+  .byte  102,15,228,29,71,17,0,0             // pmulhuw       0x1147(%rip),%xmm3        # 16f0 <_sk_xor__ssse3_lowp+0x168>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  102,15,87,192                       // xorpd         %xmm0,%xmm0
   .byte  15,87,201                           // xorps         %xmm1,%xmm1
@@ -39327,15 +43149,15 @@
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,209                             // ja            42c <_sk_load_a8_ssse3_lowp+0x14>
+  .byte  119,209                             // ja            59c <_sk_load_a8_ssse3_lowp+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,110,0,0,0                 // lea           0x6e(%rip),%r10        # 4d4 <_sk_load_a8_ssse3_lowp+0xbc>
+  .byte  76,141,21,110,0,0,0                 // lea           0x6e(%rip),%r10        # 644 <_sk_load_a8_ssse3_lowp+0xbc>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  102,15,110,216                      // movd          %eax,%xmm3
-  .byte  235,178                             // jmp           42c <_sk_load_a8_ssse3_lowp+0x14>
+  .byte  235,178                             // jmp           59c <_sk_load_a8_ssse3_lowp+0x14>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,196,216,2                    // pinsrw        $0x2,%eax,%xmm3
@@ -39343,7 +43165,7 @@
   .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,144                             // jmp           42c <_sk_load_a8_ssse3_lowp+0x14>
+  .byte  235,144                             // jmp           59c <_sk_load_a8_ssse3_lowp+0x14>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,196,216,6                    // pinsrw        $0x6,%eax,%xmm3
@@ -39354,7 +43176,78 @@
   .byte  102,65,15,110,4,19                  // movd          (%r11,%rdx,1),%xmm0
   .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
   .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
-  .byte  233,88,255,255,255                  // jmpq          42c <_sk_load_a8_ssse3_lowp+0x14>
+  .byte  233,88,255,255,255                  // jmpq          59c <_sk_load_a8_ssse3_lowp+0x14>
+  .byte  155                                 // fwait
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,181,255,255,255,166             // pushq         -0x59000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,200                             // dec           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_ssse3_lowp
+.globl _sk_load_a8_dst_ssse3_lowp
+FUNCTION(_sk_load_a8_dst_ssse3_lowp)
+_sk_load_a8_dst_ssse3_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,37                              // jne           68f <_sk_load_a8_dst_ssse3_lowp+0x2f>
+  .byte  243,65,15,126,60,19                 // movq          (%r11,%rdx,1),%xmm7
+  .byte  102,15,96,248                       // punpcklbw     %xmm0,%xmm7
+  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
+  .byte  102,15,228,61,127,16,0,0            // pmulhuw       0x107f(%rip),%xmm7        # 1700 <_sk_xor__ssse3_lowp+0x178>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,87,228                       // xorpd         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,209                             // ja            674 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,110,0,0,0                 // lea           0x6e(%rip),%r10        # 71c <_sk_load_a8_dst_ssse3_lowp+0xbc>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  235,178                             // jmp           674 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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,144                             // jmp           674 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  102,15,196,248,5                    // pinsrw        $0x5,%eax,%xmm7
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  102,15,196,248,4                    // pinsrw        $0x4,%eax,%xmm7
+  .byte  102,65,15,110,36,19                 // movd          (%r11,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
+  .byte  233,88,255,255,255                  // jmpq          674 <_sk_load_a8_dst_ssse3_lowp+0x14>
   .byte  155                                 // fwait
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
@@ -39386,7 +43279,7 @@
   .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
   .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,10                              // jne           514 <_sk_store_a8_ssse3_lowp+0x24>
+  .byte  117,10                              // jne           75c <_sk_store_a8_ssse3_lowp+0x24>
   .byte  242,69,15,17,4,19                   // movsd         %xmm8,(%r11,%rdx,1)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  255,224                             // jmpq          *%rax
@@ -39394,24 +43287,24 @@
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,236                             // ja            510 <_sk_store_a8_ssse3_lowp+0x20>
+  .byte  119,236                             // ja            758 <_sk_store_a8_ssse3_lowp+0x20>
   .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,136,0,0,0                 // lea           0x88(%rip),%r10        # 5bc <_sk_store_a8_ssse3_lowp+0xcc>
+  .byte  76,141,21,136,0,0,0                 // lea           0x88(%rip),%r10        # 804 <_sk_store_a8_ssse3_lowp+0xcc>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  102,68,15,127,68,36,168             // movdqa        %xmm8,-0x58(%rsp)
   .byte  138,68,36,168                       // mov           -0x58(%rsp),%al
   .byte  65,136,4,19                         // mov           %al,(%r11,%rdx,1)
-  .byte  235,194                             // jmp           510 <_sk_store_a8_ssse3_lowp+0x20>
+  .byte  235,194                             // jmp           758 <_sk_store_a8_ssse3_lowp+0x20>
   .byte  102,68,15,127,68,36,184             // movdqa        %xmm8,-0x48(%rsp)
   .byte  138,68,36,188                       // mov           -0x44(%rsp),%al
   .byte  65,136,68,19,2                      // mov           %al,0x2(%r11,%rdx,1)
-  .byte  102,68,15,56,0,5,24,14,0,0          // pshufb        0xe18(%rip),%xmm8        # 1380 <_sk_xor__ssse3_lowp+0x12f>
+  .byte  102,68,15,56,0,5,112,15,0,0         // pshufb        0xf70(%rip),%xmm8        # 1720 <_sk_xor__ssse3_lowp+0x198>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  102,65,137,4,19                     // mov           %ax,(%r11,%rdx,1)
-  .byte  235,156                             // jmp           510 <_sk_store_a8_ssse3_lowp+0x20>
+  .byte  235,156                             // jmp           758 <_sk_store_a8_ssse3_lowp+0x20>
   .byte  102,68,15,127,68,36,232             // movdqa        %xmm8,-0x18(%rsp)
   .byte  138,68,36,244                       // mov           -0xc(%rsp),%al
   .byte  65,136,68,19,6                      // mov           %al,0x6(%r11,%rdx,1)
@@ -39421,9 +43314,9 @@
   .byte  102,68,15,127,68,36,200             // movdqa        %xmm8,-0x38(%rsp)
   .byte  138,68,36,208                       // mov           -0x30(%rsp),%al
   .byte  65,136,68,19,4                      // mov           %al,0x4(%r11,%rdx,1)
-  .byte  102,68,15,56,0,5,194,13,0,0         // pshufb        0xdc2(%rip),%xmm8        # 1370 <_sk_xor__ssse3_lowp+0x11f>
+  .byte  102,68,15,56,0,5,26,15,0,0          // pshufb        0xf1a(%rip),%xmm8        # 1710 <_sk_xor__ssse3_lowp+0x188>
   .byte  102,69,15,126,4,19                  // movd          %xmm8,(%r11,%rdx,1)
-  .byte  233,87,255,255,255                  // jmpq          510 <_sk_store_a8_ssse3_lowp+0x20>
+  .byte  233,87,255,255,255                  // jmpq          758 <_sk_store_a8_ssse3_lowp+0x20>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  129,255,255,255,162,255             // cmp           $0xffa2ffff,%edi
   .byte  255                                 // (bad)
@@ -39449,13 +43342,13 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,42                              // jne           60c <_sk_load_g8_ssse3_lowp+0x34>
+  .byte  117,42                              // jne           854 <_sk_load_g8_ssse3_lowp+0x34>
   .byte  243,65,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm0
   .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
   .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
-  .byte  102,15,228,5,151,13,0,0             // pmulhuw       0xd97(%rip),%xmm0        # 1390 <_sk_xor__ssse3_lowp+0x13f>
+  .byte  102,15,228,5,239,14,0,0             // pmulhuw       0xeef(%rip),%xmm0        # 1730 <_sk_xor__ssse3_lowp+0x1a8>
   .byte  72,173                              // lods          %ds:(%rsi),%rax
-  .byte  15,40,29,158,13,0,0                 // movaps        0xd9e(%rip),%xmm3        # 13a0 <_sk_xor__ssse3_lowp+0x14f>
+  .byte  15,40,29,246,14,0,0                 // movaps        0xef6(%rip),%xmm3        # 1740 <_sk_xor__ssse3_lowp+0x1b8>
   .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
   .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
   .byte  255,224                             // jmpq          *%rax
@@ -39464,15 +43357,15 @@
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,204                             // ja            5ec <_sk_load_g8_ssse3_lowp+0x14>
+  .byte  119,204                             // ja            834 <_sk_load_g8_ssse3_lowp+0x14>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,113,0,0,0                 // lea           0x71(%rip),%r10        # 69c <_sk_load_g8_ssse3_lowp+0xc4>
+  .byte  76,141,21,113,0,0,0                 // lea           0x71(%rip),%r10        # 8e4 <_sk_load_g8_ssse3_lowp+0xc4>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  102,15,110,192                      // movd          %eax,%xmm0
-  .byte  235,173                             // jmp           5ec <_sk_load_g8_ssse3_lowp+0x14>
+  .byte  235,173                             // jmp           834 <_sk_load_g8_ssse3_lowp+0x14>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,196,192,2                    // pinsrw        $0x2,%eax,%xmm0
@@ -39480,7 +43373,7 @@
   .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,139                             // jmp           5ec <_sk_load_g8_ssse3_lowp+0x14>
+  .byte  235,139                             // jmp           834 <_sk_load_g8_ssse3_lowp+0x14>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,196,192,6                    // pinsrw        $0x6,%eax,%xmm0
@@ -39491,7 +43384,79 @@
   .byte  102,65,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm1
   .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
   .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
-  .byte  233,83,255,255,255                  // jmpq          5ec <_sk_load_g8_ssse3_lowp+0x14>
+  .byte  233,83,255,255,255                  // jmpq          834 <_sk_load_g8_ssse3_lowp+0x14>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  152                                 // cwtl
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,178,255,255,255,163             // pushq         -0x5c000001(%rdx)
+  .byte  255                                 // (bad)
+  .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_g8_dst_ssse3_lowp
+.globl _sk_load_g8_dst_ssse3_lowp
+FUNCTION(_sk_load_g8_dst_ssse3_lowp)
+_sk_load_g8_dst_ssse3_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,24                           // mov           (%rax),%r11
+  .byte  77,133,192                          // test          %r8,%r8
+  .byte  117,42                              // jne           934 <_sk_load_g8_dst_ssse3_lowp+0x34>
+  .byte  243,65,15,126,36,19                 // movq          (%r11,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,228,37,47,14,0,0             // pmulhuw       0xe2f(%rip),%xmm4        # 1750 <_sk_xor__ssse3_lowp+0x1c8>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,54,14,0,0                  // movaps        0xe36(%rip),%xmm7        # 1760 <_sk_xor__ssse3_lowp+0x1d8>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,204                             // ja            914 <_sk_load_g8_dst_ssse3_lowp+0x14>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,113,0,0,0                 // lea           0x71(%rip),%r10        # 9c4 <_sk_load_g8_dst_ssse3_lowp+0xc4>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,173                             // jmp           914 <_sk_load_g8_dst_ssse3_lowp+0x14>
+  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%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,19                      // movzwl        (%r11,%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,139                             // jmp           914 <_sk_load_g8_dst_ssse3_lowp+0x14>
+  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%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,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
+  .byte  102,15,196,224,5                    // pinsrw        $0x5,%eax,%xmm4
+  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
+  .byte  102,15,196,224,4                    // pinsrw        $0x4,%eax,%xmm4
+  .byte  102,65,15,110,44,19                 // movd          (%r11,%rdx,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,83,255,255,255                  // jmpq          914 <_sk_load_g8_dst_ssse3_lowp+0x14>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  152                                 // cwtl
   .byte  255                                 // (bad)
@@ -39522,20 +43487,20 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,11,2,0,0                     // jne           8d6 <_sk_srcover_rgba_8888_ssse3_lowp+0x21e>
+  .byte  15,133,11,2,0,0                     // jne           bfe <_sk_srcover_rgba_8888_ssse3_lowp+0x21e>
   .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
   .byte  102,65,15,16,60,147                 // movupd        (%r11,%rdx,4),%xmm7
-  .byte  102,15,111,45,209,12,0,0            // movdqa        0xcd1(%rip),%xmm5        # 13b0 <_sk_xor__ssse3_lowp+0x15f>
+  .byte  102,15,111,45,105,13,0,0            // movdqa        0xd69(%rip),%xmm5        # 1770 <_sk_xor__ssse3_lowp+0x1e8>
   .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
   .byte  102,15,56,0,229                     // pshufb        %xmm5,%xmm4
   .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
   .byte  102,15,56,0,245                     // pshufb        %xmm5,%xmm6
   .byte  102,15,108,230                      // punpcklqdq    %xmm6,%xmm4
-  .byte  102,15,111,13,194,12,0,0            // movdqa        0xcc2(%rip),%xmm1        # 13c0 <_sk_xor__ssse3_lowp+0x16f>
+  .byte  102,15,111,13,90,13,0,0             // movdqa        0xd5a(%rip),%xmm1        # 1780 <_sk_xor__ssse3_lowp+0x1f8>
   .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
-  .byte  102,68,15,111,13,196,12,0,0         // movdqa        0xcc4(%rip),%xmm9        # 13d0 <_sk_xor__ssse3_lowp+0x17f>
+  .byte  102,68,15,111,13,92,13,0,0          // movdqa        0xd5c(%rip),%xmm9        # 1790 <_sk_xor__ssse3_lowp+0x208>
   .byte  102,65,15,228,225                   // pmulhuw       %xmm9,%xmm4
-  .byte  102,68,15,111,21,198,12,0,0         // movdqa        0xcc6(%rip),%xmm10        # 13e0 <_sk_xor__ssse3_lowp+0x18f>
+  .byte  102,68,15,111,21,94,13,0,0          // movdqa        0xd5e(%rip),%xmm10        # 17a0 <_sk_xor__ssse3_lowp+0x218>
   .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
   .byte  102,65,15,56,0,234                  // pshufb        %xmm10,%xmm5
   .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
@@ -39543,7 +43508,7 @@
   .byte  102,15,108,238                      // punpcklqdq    %xmm6,%xmm5
   .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
   .byte  102,65,15,228,233                   // pmulhuw       %xmm9,%xmm5
-  .byte  102,68,15,111,21,170,12,0,0         // movdqa        0xcaa(%rip),%xmm10        # 13f0 <_sk_xor__ssse3_lowp+0x19f>
+  .byte  102,68,15,111,21,66,13,0,0          // movdqa        0xd42(%rip),%xmm10        # 17b0 <_sk_xor__ssse3_lowp+0x228>
   .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
   .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
   .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
@@ -39551,13 +43516,13 @@
   .byte  102,65,15,108,243                   // punpcklqdq    %xmm11,%xmm6
   .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
   .byte  102,65,15,228,241                   // pmulhuw       %xmm9,%xmm6
-  .byte  102,68,15,111,21,141,12,0,0         // movdqa        0xc8d(%rip),%xmm10        # 1400 <_sk_xor__ssse3_lowp+0x1af>
+  .byte  102,68,15,111,21,37,13,0,0          // movdqa        0xd25(%rip),%xmm10        # 17c0 <_sk_xor__ssse3_lowp+0x238>
   .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
   .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
   .byte  102,65,15,108,248                   // punpcklqdq    %xmm8,%xmm7
   .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
   .byte  102,65,15,228,249                   // pmulhuw       %xmm9,%xmm7
-  .byte  102,68,15,111,29,121,12,0,0         // movdqa        0xc79(%rip),%xmm11        # 1410 <_sk_xor__ssse3_lowp+0x1bf>
+  .byte  102,68,15,111,29,17,13,0,0          // movdqa        0xd11(%rip),%xmm11        # 17d0 <_sk_xor__ssse3_lowp+0x248>
   .byte  102,68,15,249,219                   // psubw         %xmm3,%xmm11
   .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
   .byte  102,69,15,56,11,195                 // pmulhrsw      %xmm11,%xmm8
@@ -39613,7 +43578,7 @@
   .byte  102,65,15,235,192                   // por           %xmm8,%xmm0
   .byte  102,15,235,194                      // por           %xmm2,%xmm0
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,97                              // jne           912 <_sk_srcover_rgba_8888_ssse3_lowp+0x25a>
+  .byte  117,97                              // jne           c3a <_sk_srcover_rgba_8888_ssse3_lowp+0x25a>
   .byte  243,65,15,127,4,147                 // movdqu        %xmm0,(%r11,%rdx,4)
   .byte  243,65,15,127,76,147,16             // movdqu        %xmm1,0x10(%r11,%rdx,4)
   .byte  72,173                              // lods          %ds:(%rsi),%rax
@@ -39628,30 +43593,30 @@
   .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,228,253,255,255              // ja            6d7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  .byte  15,135,228,253,255,255              // ja            9ff <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,206,0,0,0                 // lea           0xce(%rip),%r10        # 9cc <_sk_srcover_rgba_8888_ssse3_lowp+0x314>
+  .byte  76,141,21,206,0,0,0                 // lea           0xce(%rip),%r10        # cf4 <_sk_srcover_rgba_8888_ssse3_lowp+0x314>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  243,65,15,16,60,147                 // movss         (%r11,%rdx,4),%xmm7
-  .byte  233,197,253,255,255                 // jmpq          6d7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  .byte  233,197,253,255,255                 // jmpq          9ff <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   .byte  69,137,193                          // mov           %r8d,%r9d
   .byte  65,128,225,7                        // and           $0x7,%r9b
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,156                             // ja            8be <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
+  .byte  119,156                             // ja            be6 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
   .byte  65,15,182,193                       // movzbl        %r9b,%eax
-  .byte  76,141,13,187,0,0,0                 // lea           0xbb(%rip),%r9        # 9e8 <_sk_srcover_rgba_8888_ssse3_lowp+0x330>
+  .byte  76,141,13,187,0,0,0                 // lea           0xbb(%rip),%r9        # d10 <_sk_srcover_rgba_8888_ssse3_lowp+0x330>
   .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,126,4,147                 // movd          %xmm0,(%r11,%rdx,4)
-  .byte  235,128                             // jmp           8be <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
+  .byte  235,128                             // jmp           be6 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
   .byte  102,65,15,110,100,147,8             // movd          0x8(%r11,%rdx,4),%xmm4
   .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
   .byte  102,65,15,18,60,147                 // movlpd        (%r11,%rdx,4),%xmm7
-  .byte  233,130,253,255,255                 // jmpq          6d7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  .byte  233,130,253,255,255                 // jmpq          9ff <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   .byte  102,65,15,110,100,147,24            // movd          0x18(%r11,%rdx,4),%xmm4
   .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
   .byte  243,65,15,16,100,147,20             // movss         0x14(%r11,%rdx,4),%xmm4
@@ -39660,27 +43625,27 @@
   .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
   .byte  243,65,15,16,100,147,16             // movss         0x10(%r11,%rdx,4),%xmm4
   .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
-  .byte  233,73,253,255,255                  // jmpq          6d1 <_sk_srcover_rgba_8888_ssse3_lowp+0x19>
+  .byte  233,73,253,255,255                  // jmpq          9f9 <_sk_srcover_rgba_8888_ssse3_lowp+0x19>
   .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
   .byte  102,65,15,126,76,147,8              // movd          %xmm1,0x8(%r11,%rdx,4)
   .byte  102,65,15,214,4,147                 // movq          %xmm0,(%r11,%rdx,4)
-  .byte  233,31,255,255,255                  // jmpq          8be <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
+  .byte  233,31,255,255,255                  // jmpq          be6 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
   .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
   .byte  102,65,15,126,84,147,24             // movd          %xmm2,0x18(%r11,%rdx,4)
   .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
   .byte  102,65,15,126,84,147,20             // movd          %xmm2,0x14(%r11,%rdx,4)
   .byte  102,65,15,126,76,147,16             // movd          %xmm1,0x10(%r11,%rdx,4)
   .byte  243,65,15,127,4,147                 // movdqu        %xmm0,(%r11,%rdx,4)
-  .byte  233,245,254,255,255                 // jmpq          8be <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
+  .byte  233,245,254,255,255                 // jmpq          be6 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
   .byte  15,31,0                             // nopl          (%rax)
   .byte  59,255                              // cmp           %edi,%edi
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  126,255                             // jle           9d1 <_sk_srcover_rgba_8888_ssse3_lowp+0x319>
+  .byte  126,255                             // jle           cf9 <_sk_srcover_rgba_8888_ssse3_lowp+0x319>
   .byte  255                                 // (bad)
   .byte  255,114,255                         // pushq         -0x1(%rdx)
   .byte  255                                 // (bad)
-  .byte  255,5,253,255,255,171               // incl          -0x54000003(%rip)        # ffffffffac0009da <_sk_xor__ssse3_lowp+0xffffffffabfff789>
+  .byte  255,5,253,255,255,171               // incl          -0x54000003(%rip)        # ffffffffac000d02 <_sk_xor__ssse3_lowp+0xffffffffabfff77a>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255,150,255,255,255,137             // callq         *-0x76000001(%rsi)
@@ -39710,7 +43675,7 @@
 _sk_scale_1_float_ssse3_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
-  .byte  243,68,15,88,5,224,10,0,0           // addss         0xae0(%rip),%xmm8        # 14f4 <_sk_xor__ssse3_lowp+0x2a3>
+  .byte  243,68,15,88,5,120,11,0,0           // addss         0xb78(%rip),%xmm8        # 18b4 <_sk_xor__ssse3_lowp+0x32c>
   .byte  102,68,15,126,192                   // movd          %xmm8,%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
   .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
@@ -39733,11 +43698,11 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  117,74                              // jne           aae <_sk_scale_u8_ssse3_lowp+0x54>
+  .byte  117,74                              // jne           dd6 <_sk_scale_u8_ssse3_lowp+0x54>
   .byte  243,69,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm8
   .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
   .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
-  .byte  102,68,15,228,5,162,9,0,0           // pmulhuw       0x9a2(%rip),%xmm8        # 1420 <_sk_xor__ssse3_lowp+0x1cf>
+  .byte  102,68,15,228,5,58,10,0,0           // pmulhuw       0xa3a(%rip),%xmm8        # 17e0 <_sk_xor__ssse3_lowp+0x258>
   .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
   .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
   .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
@@ -39753,15 +43718,15 @@
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  119,172                             // ja            a6f <_sk_scale_u8_ssse3_lowp+0x15>
+  .byte  119,172                             // ja            d97 <_sk_scale_u8_ssse3_lowp+0x15>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,126,0,0,0                 // lea           0x7e(%rip),%r10        # b4c <_sk_scale_u8_ssse3_lowp+0xf2>
+  .byte  76,141,21,126,0,0,0                 // lea           0x7e(%rip),%r10        # e74 <_sk_scale_u8_ssse3_lowp+0xf2>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  235,140                             // jmp           a6f <_sk_scale_u8_ssse3_lowp+0x15>
+  .byte  235,140                             // jmp           d97 <_sk_scale_u8_ssse3_lowp+0x15>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
@@ -39769,7 +43734,7 @@
   .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  233,98,255,255,255                  // jmpq          a6f <_sk_scale_u8_ssse3_lowp+0x15>
+  .byte  233,98,255,255,255                  // jmpq          d97 <_sk_scale_u8_ssse3_lowp+0x15>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
@@ -39780,7 +43745,7 @@
   .byte  102,69,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm9
   .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
   .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
-  .byte  233,36,255,255,255                  // jmpq          a6f <_sk_scale_u8_ssse3_lowp+0x15>
+  .byte  233,36,255,255,255                  // jmpq          d97 <_sk_scale_u8_ssse3_lowp+0x15>
   .byte  144                                 // nop
   .byte  139,255                             // mov           %edi,%edi
   .byte  255                                 // (bad)
@@ -39808,14 +43773,14 @@
 _sk_lerp_1_float_ssse3_lowp:
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
-  .byte  243,68,15,88,5,128,9,0,0            // addss         0x980(%rip),%xmm8        # 14f8 <_sk_xor__ssse3_lowp+0x2a7>
+  .byte  243,68,15,88,5,24,10,0,0            // addss         0xa18(%rip),%xmm8        # 18b8 <_sk_xor__ssse3_lowp+0x330>
   .byte  102,68,15,126,192                   // movd          %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,56,11,192                 // pmulhrsw      %xmm8,%xmm0
   .byte  102,68,15,56,29,200                 // pabsw         %xmm0,%xmm9
-  .byte  102,68,15,111,21,141,8,0,0          // movdqa        0x88d(%rip),%xmm10        # 1430 <_sk_xor__ssse3_lowp+0x1df>
+  .byte  102,68,15,111,21,37,9,0,0           // movdqa        0x925(%rip),%xmm10        # 17f0 <_sk_xor__ssse3_lowp+0x268>
   .byte  102,69,15,249,208                   // psubw         %xmm8,%xmm10
   .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
   .byte  102,65,15,56,11,194                 // pmulhrsw      %xmm10,%xmm0
@@ -39848,14 +43813,14 @@
   .byte  72,173                              // lods          %ds:(%rsi),%rax
   .byte  76,139,24                           // mov           (%rax),%r11
   .byte  77,133,192                          // test          %r8,%r8
-  .byte  15,133,169,0,0,0                    // jne           cd4 <_sk_lerp_u8_ssse3_lowp+0xb7>
+  .byte  15,133,169,0,0,0                    // jne           ffc <_sk_lerp_u8_ssse3_lowp+0xb7>
   .byte  243,69,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm8
   .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
   .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
-  .byte  102,68,15,228,5,251,7,0,0           // pmulhuw       0x7fb(%rip),%xmm8        # 1440 <_sk_xor__ssse3_lowp+0x1ef>
+  .byte  102,68,15,228,5,147,8,0,0           // pmulhuw       0x893(%rip),%xmm8        # 1800 <_sk_xor__ssse3_lowp+0x278>
   .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
   .byte  102,68,15,56,29,200                 // pabsw         %xmm0,%xmm9
-  .byte  102,68,15,111,21,246,7,0,0          // movdqa        0x7f6(%rip),%xmm10        # 1450 <_sk_xor__ssse3_lowp+0x1ff>
+  .byte  102,68,15,111,21,142,8,0,0          // movdqa        0x88e(%rip),%xmm10        # 1810 <_sk_xor__ssse3_lowp+0x288>
   .byte  102,69,15,249,208                   // psubw         %xmm8,%xmm10
   .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
   .byte  102,65,15,56,11,194                 // pmulhrsw      %xmm10,%xmm0
@@ -39885,15 +43850,15 @@
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  65,254,201                          // dec           %r9b
   .byte  65,128,249,6                        // cmp           $0x6,%r9b
-  .byte  15,135,73,255,255,255               // ja            c36 <_sk_lerp_u8_ssse3_lowp+0x19>
+  .byte  15,135,73,255,255,255               // ja            f5e <_sk_lerp_u8_ssse3_lowp+0x19>
   .byte  69,15,182,201                       // movzbl        %r9b,%r9d
-  .byte  76,141,21,128,0,0,0                 // lea           0x80(%rip),%r10        # d78 <_sk_lerp_u8_ssse3_lowp+0x15b>
+  .byte  76,141,21,128,0,0,0                 // lea           0x80(%rip),%r10        # 10a0 <_sk_lerp_u8_ssse3_lowp+0x15b>
   .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
   .byte  76,1,208                            // add           %r10,%rax
   .byte  255,224                             // jmpq          *%rax
   .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
   .byte  102,68,15,110,192                   // movd          %eax,%xmm8
-  .byte  233,38,255,255,255                  // jmpq          c36 <_sk_lerp_u8_ssse3_lowp+0x19>
+  .byte  233,38,255,255,255                  // jmpq          f5e <_sk_lerp_u8_ssse3_lowp+0x19>
   .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
@@ -39901,7 +43866,7 @@
   .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  233,252,254,255,255                 // jmpq          c36 <_sk_lerp_u8_ssse3_lowp+0x19>
+  .byte  233,252,254,255,255                 // jmpq          f5e <_sk_lerp_u8_ssse3_lowp+0x19>
   .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
   .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
   .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
@@ -39912,14 +43877,14 @@
   .byte  102,69,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm9
   .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
   .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
-  .byte  233,190,254,255,255                 // jmpq          c36 <_sk_lerp_u8_ssse3_lowp+0x19>
+  .byte  233,190,254,255,255                 // jmpq          f5e <_sk_lerp_u8_ssse3_lowp+0x19>
   .byte  137,255                             // mov           %edi,%edi
   .byte  255                                 // (bad)
   .byte  255,169,255,255,255,152             // ljmp          *-0x67000001(%rcx)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  235,255                             // jmp           d85 <_sk_lerp_u8_ssse3_lowp+0x168>
+  .byte  235,255                             // jmp           10ad <_sk_lerp_u8_ssse3_lowp+0x168>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
   .byte  223,255                             // (bad)
@@ -39942,6 +43907,16 @@
   .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
   .byte  255,224                             // jmpq          *%rax
 
+HIDDEN _sk_swap_rb_dst_ssse3_lowp
+.globl _sk_swap_rb_dst_ssse3_lowp
+FUNCTION(_sk_swap_rb_dst_ssse3_lowp)
+_sk_swap_rb_dst_ssse3_lowp:
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
 HIDDEN _sk_swap_ssse3_lowp
 .globl _sk_swap_ssse3_lowp
 FUNCTION(_sk_swap_ssse3_lowp)
@@ -40000,7 +43975,7 @@
 _sk_srcatop_ssse3_lowp:
   .byte  102,15,56,11,199                    // pmulhrsw      %xmm7,%xmm0
   .byte  102,68,15,56,29,192                 // pabsw         %xmm0,%xmm8
-  .byte  102,68,15,111,13,73,6,0,0           // movdqa        0x649(%rip),%xmm9        # 1460 <_sk_xor__ssse3_lowp+0x20f>
+  .byte  102,68,15,111,13,210,6,0,0          // movdqa        0x6d2(%rip),%xmm9        # 1820 <_sk_xor__ssse3_lowp+0x298>
   .byte  102,68,15,249,203                   // psubw         %xmm3,%xmm9
   .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
   .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
@@ -40033,7 +44008,7 @@
   .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
   .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
   .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
-  .byte  102,68,15,111,13,200,5,0,0          // movdqa        0x5c8(%rip),%xmm9        # 1470 <_sk_xor__ssse3_lowp+0x21f>
+  .byte  102,68,15,111,13,81,6,0,0           // movdqa        0x651(%rip),%xmm9        # 1830 <_sk_xor__ssse3_lowp+0x2a8>
   .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
   .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
   .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
@@ -40096,7 +44071,7 @@
 .globl _sk_srcout_ssse3_lowp
 FUNCTION(_sk_srcout_ssse3_lowp)
 _sk_srcout_ssse3_lowp:
-  .byte  102,68,15,111,5,238,4,0,0           // movdqa        0x4ee(%rip),%xmm8        # 1480 <_sk_xor__ssse3_lowp+0x22f>
+  .byte  102,68,15,111,5,119,5,0,0           // movdqa        0x577(%rip),%xmm8        # 1840 <_sk_xor__ssse3_lowp+0x2b8>
   .byte  102,68,15,249,199                   // psubw         %xmm7,%xmm8
   .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
   .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
@@ -40113,7 +44088,7 @@
 .globl _sk_dstout_ssse3_lowp
 FUNCTION(_sk_dstout_ssse3_lowp)
 _sk_dstout_ssse3_lowp:
-  .byte  102,68,15,111,5,191,4,0,0           // movdqa        0x4bf(%rip),%xmm8        # 1490 <_sk_xor__ssse3_lowp+0x23f>
+  .byte  102,68,15,111,5,72,5,0,0            // movdqa        0x548(%rip),%xmm8        # 1850 <_sk_xor__ssse3_lowp+0x2c8>
   .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
   .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
   .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
@@ -40133,7 +44108,7 @@
 .globl _sk_srcover_ssse3_lowp
 FUNCTION(_sk_srcover_ssse3_lowp)
 _sk_srcover_ssse3_lowp:
-  .byte  102,68,15,111,5,132,4,0,0           // movdqa        0x484(%rip),%xmm8        # 14a0 <_sk_xor__ssse3_lowp+0x24f>
+  .byte  102,68,15,111,5,13,5,0,0            // movdqa        0x50d(%rip),%xmm8        # 1860 <_sk_xor__ssse3_lowp+0x2d8>
   .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
   .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
   .byte  102,69,15,56,11,200                 // pmulhrsw      %xmm8,%xmm9
@@ -40157,7 +44132,7 @@
 .globl _sk_dstover_ssse3_lowp
 FUNCTION(_sk_dstover_ssse3_lowp)
 _sk_dstover_ssse3_lowp:
-  .byte  102,68,15,111,5,47,4,0,0            // movdqa        0x42f(%rip),%xmm8        # 14b0 <_sk_xor__ssse3_lowp+0x25f>
+  .byte  102,68,15,111,5,184,4,0,0           // movdqa        0x4b8(%rip),%xmm8        # 1870 <_sk_xor__ssse3_lowp+0x2e8>
   .byte  102,68,15,249,199                   // psubw         %xmm7,%xmm8
   .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
   .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
@@ -40193,7 +44168,7 @@
 .globl _sk_multiply_ssse3_lowp
 FUNCTION(_sk_multiply_ssse3_lowp)
 _sk_multiply_ssse3_lowp:
-  .byte  102,68,15,111,5,196,3,0,0           // movdqa        0x3c4(%rip),%xmm8        # 14c0 <_sk_xor__ssse3_lowp+0x26f>
+  .byte  102,68,15,111,5,77,4,0,0            // movdqa        0x44d(%rip),%xmm8        # 1880 <_sk_xor__ssse3_lowp+0x2f8>
   .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
   .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
   .byte  102,68,15,111,208                   // movdqa        %xmm0,%xmm10
@@ -40242,7 +44217,7 @@
 .globl _sk_screen_ssse3_lowp
 FUNCTION(_sk_screen_ssse3_lowp)
 _sk_screen_ssse3_lowp:
-  .byte  102,68,15,111,5,234,2,0,0           // movdqa        0x2ea(%rip),%xmm8        # 14d0 <_sk_xor__ssse3_lowp+0x27f>
+  .byte  102,68,15,111,5,115,3,0,0           // movdqa        0x373(%rip),%xmm8        # 1890 <_sk_xor__ssse3_lowp+0x308>
   .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
   .byte  102,68,15,249,200                   // psubw         %xmm0,%xmm9
   .byte  102,68,15,56,11,204                 // pmulhrsw      %xmm4,%xmm9
@@ -40269,7 +44244,7 @@
 .globl _sk_xor__ssse3_lowp
 FUNCTION(_sk_xor__ssse3_lowp)
 _sk_xor__ssse3_lowp:
-  .byte  102,68,15,111,5,134,2,0,0           // movdqa        0x286(%rip),%xmm8        # 14e0 <_sk_xor__ssse3_lowp+0x28f>
+  .byte  102,68,15,111,5,15,3,0,0            // movdqa        0x30f(%rip),%xmm8        # 18a0 <_sk_xor__ssse3_lowp+0x318>
   .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
   .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
   .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
@@ -40312,7 +44287,36 @@
   .byte  12,13                               // or            $0xd,%al
   .byte  12,13                               // or            $0xd,%al
   .byte  14                                  // (bad)
-  .byte  15,129,128,129,128,129              // jno           ffffffff81809495 <_sk_xor__ssse3_lowp+0xffffffff81808244>
+  .byte  15,129,128,129,128,129              // jno           ffffffff818097d5 <_sk_xor__ssse3_lowp+0xffffffff8180824d>
+  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
+  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
+  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
+  .byte  14                                  // (bad)
+  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
+  .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,3                               // incl          (%rbx)
+  .byte  255,7                               // incl          (%rdi)
+  .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,0                               // incl          (%rax)
+  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  12,13                               // or            $0xd,%al
+  .byte  14                                  // (bad)
+  .byte  15,129,128,129,128,129              // jno           ffffffff81809825 <_sk_xor__ssse3_lowp+0xffffffff8180829d>
   .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
   .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
   .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
@@ -40345,9 +44349,9 @@
   .byte  255,0                               // incl          (%rax)
   .byte  255,0                               // incl          (%rax)
   .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
-  .byte  129,128,129,128,129,128,0,2,4,6     // addl          $0x6040200,-0x7f7e7f7f(%rax)
-  .byte  0,0                                 // add           %al,(%rax)
-  .byte  0,0                                 // add           %al,(%rax)
+  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
+  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
+  .byte  129,128,0,2,4,6,0,0,0,0             // addl          $0x0,0x6040200(%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
   .byte  0,0                                 // add           %al,(%rax)
@@ -40364,6 +44368,10 @@
   .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
   .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
   .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
+  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
+  .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
   .byte  0,1                                 // add           %al,(%rcx)
   .byte  4,5                                 // add           $0x5,%al
   .byte  8,9                                 // or            %cl,(%rcx)
@@ -40532,7 +44540,7 @@
   .byte  102,15,110,199                      // movd          %edi,%xmm0
   .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
   .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
-  .byte  15,40,145,148,126,0,0               // movaps        0x7e94(%ecx),%xmm2
+  .byte  15,40,145,148,136,0,0               // movaps        0x8894(%ecx),%xmm2
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  15,16,0                             // movups        (%eax),%xmm0
   .byte  15,88,193                           // addps         %xmm1,%xmm0
@@ -40554,7 +44562,7 @@
   .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,145,164,126,0,0               // movaps        0x7ea4(%ecx),%xmm2
+  .byte  15,40,145,164,136,0,0               // movaps        0x88a4(%ecx),%xmm2
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  255,19                              // call          *(%ebx)
   .byte  131,196,108                         // add           $0x6c,%esp
@@ -40590,15 +44598,15 @@
   .byte  102,15,110,225                      // movd          %ecx,%xmm4
   .byte  102,15,112,252,0                    // pshufd        $0x0,%xmm4,%xmm7
   .byte  102,15,239,253                      // pxor          %xmm5,%xmm7
-  .byte  102,15,111,182,21,126,0,0           // movdqa        0x7e15(%esi),%xmm6
+  .byte  102,15,111,182,21,136,0,0           // movdqa        0x8815(%esi),%xmm6
   .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
   .byte  102,15,219,206                      // pand          %xmm6,%xmm1
   .byte  102,15,219,245                      // pand          %xmm5,%xmm6
-  .byte  102,15,111,134,53,126,0,0           // movdqa        0x7e35(%esi),%xmm0
+  .byte  102,15,111,134,53,136,0,0           // movdqa        0x8835(%esi),%xmm0
   .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
   .byte  102,15,219,224                      // pand          %xmm0,%xmm4
   .byte  102,15,219,197                      // pand          %xmm5,%xmm0
-  .byte  102,15,111,158,37,126,0,0           // movdqa        0x7e25(%esi),%xmm3
+  .byte  102,15,111,158,37,136,0,0           // movdqa        0x8825(%esi),%xmm3
   .byte  102,15,219,251                      // pand          %xmm3,%xmm7
   .byte  102,15,219,235                      // pand          %xmm3,%xmm5
   .byte  102,15,114,246,4                    // pslld         $0x4,%xmm6
@@ -40614,8 +44622,8 @@
   .byte  102,15,235,224                      // por           %xmm0,%xmm4
   .byte  102,15,235,231                      // por           %xmm7,%xmm4
   .byte  15,91,196                           // cvtdq2ps      %xmm4,%xmm0
-  .byte  15,89,134,69,126,0,0                // mulps         0x7e45(%esi),%xmm0
-  .byte  15,88,134,85,126,0,0                // addps         0x7e55(%esi),%xmm0
+  .byte  15,89,134,69,136,0,0                // mulps         0x8845(%esi),%xmm0
+  .byte  15,88,134,85,136,0,0                // addps         0x8855(%esi),%xmm0
   .byte  139,55                              // mov           (%edi),%esi
   .byte  243,15,16,14                        // movss         (%esi),%xmm1
   .byte  139,117,24                          // mov           0x18(%ebp),%esi
@@ -40848,7 +44856,7 @@
   .byte  88                                  // pop           %eax
   .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
   .byte  15,89,208                           // mulps         %xmm0,%xmm2
-  .byte  15,40,136,83,123,0,0                // movaps        0x7b53(%eax),%xmm1
+  .byte  15,40,136,83,133,0,0                // movaps        0x8553(%eax),%xmm1
   .byte  15,92,203                           // subps         %xmm3,%xmm1
   .byte  15,40,249                           // movaps        %xmm1,%xmm7
   .byte  15,89,125,40                        // mulps         0x28(%ebp),%xmm7
@@ -40909,7 +44917,7 @@
   .byte  88                                  // pop           %eax
   .byte  15,40,245                           // movaps        %xmm5,%xmm6
   .byte  15,89,117,40                        // mulps         0x28(%ebp),%xmm6
-  .byte  15,40,184,185,122,0,0               // movaps        0x7ab9(%eax),%xmm7
+  .byte  15,40,184,185,132,0,0               // movaps        0x84b9(%eax),%xmm7
   .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
   .byte  15,88,198                           // addps         %xmm6,%xmm0
@@ -41055,7 +45063,7 @@
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
   .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
-  .byte  15,40,184,85,121,0,0                // movaps        0x7955(%eax),%xmm7
+  .byte  15,40,184,85,131,0,0                // movaps        0x8355(%eax),%xmm7
   .byte  15,92,254                           // subps         %xmm6,%xmm7
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
   .byte  15,89,207                           // mulps         %xmm7,%xmm1
@@ -41097,7 +45105,7 @@
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
-  .byte  15,40,160,237,120,0,0               // movaps        0x78ed(%eax),%xmm4
+  .byte  15,40,160,237,130,0,0               // movaps        0x82ed(%eax),%xmm4
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
   .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
@@ -41147,7 +45155,7 @@
   .byte  232,0,0,0,0                         // call          753 <_sk_srcover_sse2+0x17>
   .byte  88                                  // pop           %eax
   .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
-  .byte  15,40,128,109,120,0,0               // movaps        0x786d(%eax),%xmm0
+  .byte  15,40,128,109,130,0,0               // movaps        0x826d(%eax),%xmm0
   .byte  15,92,195                           // subps         %xmm3,%xmm0
   .byte  15,40,248                           // movaps        %xmm0,%xmm7
   .byte  15,89,253                           // mulps         %xmm5,%xmm7
@@ -41205,7 +45213,7 @@
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
-  .byte  15,40,162,230,119,0,0               // movaps        0x77e6(%edx),%xmm4
+  .byte  15,40,162,230,129,0,0               // movaps        0x81e6(%edx),%xmm4
   .byte  139,85,12                           // mov           0xc(%ebp),%edx
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
   .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
@@ -41293,7 +45301,7 @@
   .byte  15,40,232                           // movaps        %xmm0,%xmm5
   .byte  232,0,0,0,0                         // call          8e0 <_sk_multiply_sse2+0x18>
   .byte  88                                  // pop           %eax
-  .byte  15,40,144,0,119,0,0                 // movaps        0x7700(%eax),%xmm2
+  .byte  15,40,144,0,129,0,0                 // movaps        0x8100(%eax),%xmm2
   .byte  15,40,250                           // movaps        %xmm2,%xmm7
   .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
   .byte  15,40,231                           // movaps        %xmm7,%xmm4
@@ -41469,7 +45477,7 @@
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
   .byte  232,0,0,0,0                         // call          ac7 <_sk_xor__sse2+0x12>
   .byte  88                                  // pop           %eax
-  .byte  15,40,176,41,117,0,0                // movaps        0x7529(%eax),%xmm6
+  .byte  15,40,176,41,127,0,0                // movaps        0x7f29(%eax),%xmm6
   .byte  15,40,254                           // movaps        %xmm6,%xmm7
   .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
@@ -41555,7 +45563,7 @@
   .byte  15,92,226                           // subps         %xmm2,%xmm4
   .byte  232,0,0,0,0                         // call          bc1 <_sk_darken_sse2+0x63>
   .byte  88                                  // pop           %eax
-  .byte  15,40,144,63,116,0,0                // movaps        0x743f(%eax),%xmm2
+  .byte  15,40,144,63,126,0,0                // movaps        0x7e3f(%eax),%xmm2
   .byte  15,92,214                           // subps         %xmm6,%xmm2
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
@@ -41625,7 +45633,7 @@
   .byte  15,92,226                           // subps         %xmm2,%xmm4
   .byte  232,0,0,0,0                         // call          c86 <_sk_lighten_sse2+0x63>
   .byte  88                                  // pop           %eax
-  .byte  15,40,144,138,115,0,0               // movaps        0x738a(%eax),%xmm2
+  .byte  15,40,144,138,125,0,0               // movaps        0x7d8a(%eax),%xmm2
   .byte  15,92,214                           // subps         %xmm6,%xmm2
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
@@ -41698,7 +45706,7 @@
   .byte  15,92,226                           // subps         %xmm2,%xmm4
   .byte  232,0,0,0,0                         // call          d54 <_sk_difference_sse2+0x6c>
   .byte  88                                  // pop           %eax
-  .byte  15,40,144,204,114,0,0               // movaps        0x72cc(%eax),%xmm2
+  .byte  15,40,144,204,124,0,0               // movaps        0x7ccc(%eax),%xmm2
   .byte  15,92,214                           // subps         %xmm6,%xmm2
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
@@ -41760,7 +45768,7 @@
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
   .byte  15,88,210                           // addps         %xmm2,%xmm2
   .byte  15,92,226                           // subps         %xmm2,%xmm4
-  .byte  15,40,144,102,114,0,0               // movaps        0x7266(%eax),%xmm2
+  .byte  15,40,144,102,124,0,0               // movaps        0x7c66(%eax),%xmm2
   .byte  15,92,211                           // subps         %xmm3,%xmm2
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
@@ -41816,7 +45824,7 @@
   .byte  15,40,196                           // movaps        %xmm4,%xmm0
   .byte  15,40,232                           // movaps        %xmm0,%xmm5
   .byte  15,92,238                           // subps         %xmm6,%xmm5
-  .byte  15,40,176,197,113,0,0               // movaps        0x71c5(%eax),%xmm6
+  .byte  15,40,176,197,123,0,0               // movaps        0x7bc5(%eax),%xmm6
   .byte  15,40,230                           // movaps        %xmm6,%xmm4
   .byte  15,92,224                           // subps         %xmm0,%xmm4
   .byte  15,40,220                           // movaps        %xmm4,%xmm3
@@ -41959,7 +45967,7 @@
   .byte  15,94,212                           // divps         %xmm4,%xmm2
   .byte  15,40,224                           // movaps        %xmm0,%xmm4
   .byte  15,93,226                           // minps         %xmm2,%xmm4
-  .byte  15,40,152,19,112,0,0                // movaps        0x7013(%eax),%xmm3
+  .byte  15,40,152,19,122,0,0                // movaps        0x7a13(%eax),%xmm3
   .byte  15,40,211                           // movaps        %xmm3,%xmm2
   .byte  15,92,208                           // subps         %xmm0,%xmm2
   .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
@@ -42085,7 +46093,7 @@
   .byte  15,40,224                           // movaps        %xmm0,%xmm4
   .byte  232,0,0,0,0                         // call          11df <_sk_hardlight_sse2+0x1a>
   .byte  88                                  // pop           %eax
-  .byte  15,40,176,129,110,0,0               // movaps        0x6e81(%eax),%xmm6
+  .byte  15,40,176,129,120,0,0               // movaps        0x7881(%eax),%xmm6
   .byte  15,40,206                           // movaps        %xmm6,%xmm1
   .byte  15,92,77,88                         // subps         0x58(%ebp),%xmm1
   .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
@@ -42212,7 +46220,7 @@
   .byte  232,0,0,0,0                         // call          136a <_sk_overlay_sse2+0x18>
   .byte  88                                  // pop           %eax
   .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
-  .byte  15,40,144,6,109,0,0                 // movaps        0x6d06(%eax),%xmm2
+  .byte  15,40,144,6,119,0,0                 // movaps        0x7706(%eax),%xmm2
   .byte  15,40,234                           // movaps        %xmm2,%xmm5
   .byte  15,92,232                           // subps         %xmm0,%xmm5
   .byte  15,40,248                           // movaps        %xmm0,%xmm7
@@ -42356,17 +46364,17 @@
   .byte  232,0,0,0,0                         // call          1539 <_sk_softlight_sse2+0x51>
   .byte  88                                  // pop           %eax
   .byte  15,40,233                           // movaps        %xmm1,%xmm5
-  .byte  15,40,128,87,107,0,0                // movaps        0x6b57(%eax),%xmm0
+  .byte  15,40,128,87,117,0,0                // movaps        0x7557(%eax),%xmm0
   .byte  15,41,133,120,255,255,255           // movaps        %xmm0,-0x88(%ebp)
   .byte  15,88,232                           // addps         %xmm0,%xmm5
   .byte  15,89,234                           // mulps         %xmm2,%xmm5
-  .byte  15,40,184,71,107,0,0                // movaps        0x6b47(%eax),%xmm7
+  .byte  15,40,184,71,117,0,0                // movaps        0x7547(%eax),%xmm7
   .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
   .byte  15,92,249                           // subps         %xmm1,%xmm7
   .byte  15,82,209                           // rsqrtps       %xmm1,%xmm2
   .byte  15,83,242                           // rcpps         %xmm2,%xmm6
   .byte  15,92,241                           // subps         %xmm1,%xmm6
-  .byte  15,40,128,103,107,0,0               // movaps        0x6b67(%eax),%xmm0
+  .byte  15,40,128,103,117,0,0               // movaps        0x7567(%eax),%xmm0
   .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
   .byte  15,89,200                           // mulps         %xmm0,%xmm1
   .byte  15,88,205                           // addps         %xmm5,%xmm1
@@ -42579,7 +46587,7 @@
   .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
   .byte  15,40,233                           // movaps        %xmm1,%xmm5
   .byte  15,89,238                           // mulps         %xmm6,%xmm5
-  .byte  15,40,184,214,104,0,0               // movaps        0x68d6(%eax),%xmm7
+  .byte  15,40,184,214,114,0,0               // movaps        0x72d6(%eax),%xmm7
   .byte  15,41,125,168                       // movaps        %xmm7,-0x58(%ebp)
   .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
@@ -42609,15 +46617,15 @@
   .byte  15,89,243                           // mulps         %xmm3,%xmm6
   .byte  15,89,235                           // mulps         %xmm3,%xmm5
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,40,152,166,104,0,0               // movaps        0x68a6(%eax),%xmm3
+  .byte  15,40,152,166,114,0,0               // movaps        0x72a6(%eax),%xmm3
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
   .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
   .byte  15,89,203                           // mulps         %xmm3,%xmm1
-  .byte  15,40,160,182,104,0,0               // movaps        0x68b6(%eax),%xmm4
+  .byte  15,40,160,182,114,0,0               // movaps        0x72b6(%eax),%xmm4
   .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
   .byte  15,89,252                           // mulps         %xmm4,%xmm7
   .byte  15,88,249                           // addps         %xmm1,%xmm7
-  .byte  15,40,152,198,104,0,0               // movaps        0x68c6(%eax),%xmm3
+  .byte  15,40,152,198,114,0,0               // movaps        0x72c6(%eax),%xmm3
   .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
   .byte  15,89,203                           // mulps         %xmm3,%xmm1
   .byte  15,88,207                           // addps         %xmm7,%xmm1
@@ -42832,15 +46840,15 @@
   .byte  15,89,254                           // mulps         %xmm6,%xmm7
   .byte  232,0,0,0,0                         // call          1b58 <_sk_saturation_sse2+0x8e>
   .byte  88                                  // pop           %eax
-  .byte  15,40,176,152,101,0,0               // movaps        0x6598(%eax),%xmm6
+  .byte  15,40,176,152,111,0,0               // movaps        0x6f98(%eax),%xmm6
   .byte  15,40,209                           // movaps        %xmm1,%xmm2
   .byte  15,89,214                           // mulps         %xmm6,%xmm2
-  .byte  15,40,160,168,101,0,0               // movaps        0x65a8(%eax),%xmm4
+  .byte  15,40,160,168,111,0,0               // movaps        0x6fa8(%eax),%xmm4
   .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
   .byte  15,89,204                           // mulps         %xmm4,%xmm1
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
-  .byte  15,89,144,184,101,0,0               // mulps         0x65b8(%eax),%xmm2
+  .byte  15,89,144,184,111,0,0               // mulps         0x6fb8(%eax),%xmm2
   .byte  15,88,209                           // addps         %xmm1,%xmm2
   .byte  15,94,232                           // divps         %xmm0,%xmm5
   .byte  15,94,216                           // divps         %xmm0,%xmm3
@@ -42856,7 +46864,7 @@
   .byte  15,89,252                           // mulps         %xmm4,%xmm7
   .byte  15,88,249                           // addps         %xmm1,%xmm7
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
-  .byte  15,89,136,184,101,0,0               // mulps         0x65b8(%eax),%xmm1
+  .byte  15,89,136,184,111,0,0               // mulps         0x6fb8(%eax),%xmm1
   .byte  15,88,207                           // addps         %xmm7,%xmm1
   .byte  15,89,85,216                        // mulps         -0x28(%ebp),%xmm2
   .byte  15,92,209                           // subps         %xmm1,%xmm2
@@ -42876,7 +46884,7 @@
   .byte  15,89,245                           // mulps         %xmm5,%xmm6
   .byte  15,89,227                           // mulps         %xmm3,%xmm4
   .byte  15,88,230                           // addps         %xmm6,%xmm4
-  .byte  15,40,128,184,101,0,0               // movaps        0x65b8(%eax),%xmm0
+  .byte  15,40,128,184,111,0,0               // movaps        0x6fb8(%eax),%xmm0
   .byte  15,89,194                           // mulps         %xmm2,%xmm0
   .byte  15,88,196                           // addps         %xmm4,%xmm0
   .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
@@ -42899,7 +46907,7 @@
   .byte  15,40,224                           // movaps        %xmm0,%xmm4
   .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
   .byte  15,89,200                           // mulps         %xmm0,%xmm1
-  .byte  15,40,144,200,101,0,0               // movaps        0x65c8(%eax),%xmm2
+  .byte  15,40,144,200,111,0,0               // movaps        0x6fc8(%eax),%xmm2
   .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
   .byte  15,92,212                           // subps         %xmm4,%xmm2
   .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
@@ -43029,15 +47037,15 @@
   .byte  88                                  // pop           %eax
   .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
-  .byte  15,40,152,81,99,0,0                 // movaps        0x6351(%eax),%xmm3
+  .byte  15,40,152,81,109,0,0                // movaps        0x6d51(%eax),%xmm3
   .byte  15,89,227                           // mulps         %xmm3,%xmm4
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
-  .byte  15,40,176,97,99,0,0                 // movaps        0x6361(%eax),%xmm6
+  .byte  15,40,176,97,109,0,0                // movaps        0x6d61(%eax),%xmm6
   .byte  15,89,214                           // mulps         %xmm6,%xmm2
   .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
   .byte  15,88,212                           // addps         %xmm4,%xmm2
   .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
-  .byte  15,40,184,113,99,0,0                // movaps        0x6371(%eax),%xmm7
+  .byte  15,40,184,113,109,0,0               // movaps        0x6d71(%eax),%xmm7
   .byte  15,41,189,56,255,255,255            // movaps        %xmm7,-0xc8(%ebp)
   .byte  15,89,231                           // mulps         %xmm7,%xmm4
   .byte  15,88,226                           // addps         %xmm2,%xmm4
@@ -43052,7 +47060,7 @@
   .byte  15,40,209                           // movaps        %xmm1,%xmm2
   .byte  15,89,214                           // mulps         %xmm6,%xmm2
   .byte  15,88,212                           // addps         %xmm4,%xmm2
-  .byte  15,40,136,129,99,0,0                // movaps        0x6381(%eax),%xmm1
+  .byte  15,40,136,129,109,0,0               // movaps        0x6d81(%eax),%xmm1
   .byte  15,41,77,168                        // movaps        %xmm1,-0x58(%ebp)
   .byte  15,40,225                           // movaps        %xmm1,%xmm4
   .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
@@ -43233,17 +47241,17 @@
   .byte  15,40,216                           // movaps        %xmm0,%xmm3
   .byte  232,0,0,0,0                         // call          2092 <_sk_luminosity_sse2+0x1a>
   .byte  88                                  // pop           %eax
-  .byte  15,40,160,222,96,0,0                // movaps        0x60de(%eax),%xmm4
+  .byte  15,40,160,222,106,0,0               // movaps        0x6ade(%eax),%xmm4
   .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
   .byte  15,40,211                           // movaps        %xmm3,%xmm2
   .byte  15,89,212                           // mulps         %xmm4,%xmm2
-  .byte  15,40,128,238,96,0,0                // movaps        0x60ee(%eax),%xmm0
+  .byte  15,40,128,238,106,0,0               // movaps        0x6aee(%eax),%xmm0
   .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
   .byte  15,40,225                           // movaps        %xmm1,%xmm4
   .byte  15,89,224                           // mulps         %xmm0,%xmm4
   .byte  15,88,226                           // addps         %xmm2,%xmm4
   .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
-  .byte  15,40,184,14,97,0,0                 // movaps        0x610e(%eax),%xmm7
+  .byte  15,40,184,14,107,0,0                // movaps        0x6b0e(%eax),%xmm7
   .byte  15,41,125,152                       // movaps        %xmm7,-0x68(%ebp)
   .byte  15,92,250                           // subps         %xmm2,%xmm7
   .byte  15,89,223                           // mulps         %xmm7,%xmm3
@@ -43253,7 +47261,7 @@
   .byte  15,89,253                           // mulps         %xmm5,%xmm7
   .byte  15,41,189,120,255,255,255           // movaps        %xmm7,-0x88(%ebp)
   .byte  15,40,205                           // movaps        %xmm5,%xmm1
-  .byte  15,40,128,254,96,0,0                // movaps        0x60fe(%eax),%xmm0
+  .byte  15,40,128,254,106,0,0               // movaps        0x6afe(%eax),%xmm0
   .byte  15,89,200                           // mulps         %xmm0,%xmm1
   .byte  15,88,204                           // addps         %xmm4,%xmm1
   .byte  15,40,238                           // movaps        %xmm6,%xmm5
@@ -43438,7 +47446,7 @@
   .byte  133,210                             // test          %edx,%edx
   .byte  15,133,40,1,0,0                     // jne           2464 <_sk_srcover_rgba_8888_sse2+0x15d>
   .byte  243,15,111,12,142                   // movdqu        (%esi,%ecx,4),%xmm1
-  .byte  102,15,111,135,138,94,0,0           // movdqa        0x5e8a(%edi),%xmm0
+  .byte  102,15,111,135,138,104,0,0          // movdqa        0x688a(%edi),%xmm0
   .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
   .byte  102,15,219,224                      // pand          %xmm0,%xmm4
   .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
@@ -43448,9 +47456,9 @@
   .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
   .byte  102,15,219,232                      // pand          %xmm0,%xmm5
   .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
-  .byte  15,40,167,154,94,0,0                // movaps        0x5e9a(%edi),%xmm4
+  .byte  15,40,167,154,104,0,0               // movaps        0x689a(%edi),%xmm4
   .byte  15,92,227                           // subps         %xmm3,%xmm4
-  .byte  15,40,135,170,94,0,0                // movaps        0x5eaa(%edi),%xmm0
+  .byte  15,40,135,170,104,0,0               // movaps        0x68aa(%edi),%xmm0
   .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
   .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
   .byte  15,89,208                           // mulps         %xmm0,%xmm2
@@ -43609,7 +47617,7 @@
   .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  15,40,184,132,92,0,0                // movaps        0x5c84(%eax),%xmm7
+  .byte  15,40,184,132,102,0,0               // movaps        0x6684(%eax),%xmm7
   .byte  15,93,199                           // minps         %xmm7,%xmm0
   .byte  15,93,207                           // minps         %xmm7,%xmm1
   .byte  15,93,215                           // minps         %xmm7,%xmm2
@@ -43654,7 +47662,7 @@
   .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
   .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
   .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
-  .byte  15,93,152,31,92,0,0                 // minps         0x5c1f(%eax),%xmm3
+  .byte  15,93,152,31,102,0,0                // minps         0x661f(%eax),%xmm3
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  15,93,195                           // minps         %xmm3,%xmm0
   .byte  15,93,203                           // minps         %xmm3,%xmm1
@@ -43677,6 +47685,49 @@
   .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  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          2643 <_sk_clamp_a_dst_sse2+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  139,125,24                          // mov           0x18(%ebp),%edi
+  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
+  .byte  15,93,160,189,101,0,0               // minps         0x65bd(%eax),%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
+  .byte  15,93,252                           // minps         %xmm4,%xmm7
+  .byte  15,93,244                           // minps         %xmm4,%xmm6
+  .byte  15,93,236                           // minps         %xmm4,%xmm5
+  .byte  141,88,4                            // lea           0x4(%eax),%ebx
+  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
+  .byte  137,124,36,16                       // mov           %edi,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,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
+  .byte  255,16                              // call          *(%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_set_rgb_sse2
 .globl _sk_set_rgb_sse2
 FUNCTION(_sk_set_rgb_sse2)
@@ -43761,6 +47812,43 @@
   .byte  93                                  // pop           %ebp
   .byte  195                                 // ret
 
+HIDDEN _sk_swap_rb_dst_sse2
+.globl _sk_swap_rb_dst_sse2
+FUNCTION(_sk_swap_rb_dst_sse2)
+_sk_swap_rb_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,108                         // sub           $0x6c,%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,24                          // mov           0x18(%ebp),%esi
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
+  .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  137,116,36,16                       // mov           %esi,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,23                              // call          *(%edi)
+  .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_swap_sse2
 .globl _sk_swap_sse2
 FUNCTION(_sk_swap_sse2)
@@ -43922,7 +48010,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          2896 <_sk_unpremul_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          2964 <_sk_unpremul_sse2+0xe>
   .byte  89                                  // pop           %ecx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -43931,7 +48019,7 @@
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
   .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
   .byte  15,87,246                           // xorps         %xmm6,%xmm6
-  .byte  15,40,185,106,89,0,0                // movaps        0x596a(%ecx),%xmm7
+  .byte  15,40,185,172,98,0,0                // movaps        0x62ac(%ecx),%xmm7
   .byte  15,94,251                           // divps         %xmm3,%xmm7
   .byte  15,194,243,4                        // cmpneqps      %xmm3,%xmm6
   .byte  15,84,247                           // andps         %xmm7,%xmm6
@@ -43973,23 +48061,23 @@
   .byte  15,40,242                           // movaps        %xmm2,%xmm6
   .byte  15,40,233                           // movaps        %xmm1,%xmm5
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
-  .byte  232,0,0,0,0                         // call          2925 <_sk_from_srgb_sse2+0x1e>
+  .byte  232,0,0,0,0                         // call          29f3 <_sk_from_srgb_sse2+0x1e>
   .byte  88                                  // pop           %eax
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
   .byte  15,89,219                           // mulps         %xmm3,%xmm3
-  .byte  15,40,160,251,88,0,0                // movaps        0x58fb(%eax),%xmm4
+  .byte  15,40,160,61,98,0,0                 // movaps        0x623d(%eax),%xmm4
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
-  .byte  15,40,136,11,89,0,0                 // movaps        0x590b(%eax),%xmm1
+  .byte  15,40,136,77,98,0,0                 // movaps        0x624d(%eax),%xmm1
   .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
   .byte  15,88,193                           // addps         %xmm1,%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,40,152,235,88,0,0                // movaps        0x58eb(%eax),%xmm3
+  .byte  15,40,152,45,98,0,0                 // movaps        0x622d(%eax),%xmm3
   .byte  15,40,202                           // movaps        %xmm2,%xmm1
   .byte  15,89,203                           // mulps         %xmm3,%xmm1
-  .byte  15,40,184,27,89,0,0                 // movaps        0x591b(%eax),%xmm7
+  .byte  15,40,184,93,98,0,0                 // movaps        0x625d(%eax),%xmm7
   .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
   .byte  15,88,199                           // addps         %xmm7,%xmm0
-  .byte  15,40,184,43,89,0,0                 // movaps        0x592b(%eax),%xmm7
+  .byte  15,40,184,109,98,0,0                // movaps        0x626d(%eax),%xmm7
   .byte  15,194,215,1                        // cmpltps       %xmm7,%xmm2
   .byte  15,84,202                           // andps         %xmm2,%xmm1
   .byte  15,85,208                           // andnps        %xmm0,%xmm2
@@ -44049,6 +48137,96 @@
   .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  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
+  .byte  15,41,93,152                        // movaps        %xmm3,-0x68(%ebp)
+  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
+  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
+  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
+  .byte  232,0,0,0,0                         // call          2b16 <_sk_from_srgb_dst_sse2+0x21>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,168,106,97,0,0                // movaps        0x616a(%eax),%xmm5
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,40,144,122,97,0,0                // movaps        0x617a(%eax),%xmm2
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,88,250                           // addps         %xmm2,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,40,176,90,97,0,0                 // movaps        0x615a(%eax),%xmm6
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,40,152,138,97,0,0                // movaps        0x618a(%eax),%xmm3
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,40,144,154,97,0,0                // movaps        0x619a(%eax),%xmm2
+  .byte  15,194,202,1                        // cmpltps       %xmm2,%xmm1
+  .byte  15,84,225                           // andps         %xmm1,%xmm4
+  .byte  15,85,207                           // andnps        %xmm7,%xmm1
+  .byte  15,86,204                           // orps          %xmm4,%xmm1
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,88,125,216                       // addps         -0x28(%ebp),%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,194,194,1                        // cmpltps       %xmm2,%xmm0
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,85,199                           // andnps        %xmm7,%xmm0
+  .byte  15,86,196                           // orps          %xmm4,%xmm0
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,109,216                       // addps         -0x28(%ebp),%xmm5
+  .byte  15,40,252                           // movaps        %xmm4,%xmm7
+  .byte  15,89,255                           // mulps         %xmm7,%xmm7
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,194,226,1                        // cmpltps       %xmm2,%xmm4
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,85,229                           // andnps        %xmm5,%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  139,117,24                          // mov           0x18(%ebp),%esi
+  .byte  15,86,230                           // orps          %xmm6,%xmm4
+  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
+  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,41,100,36,64                     // movaps        %xmm4,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,200                        // movaps        -0x38(%ebp),%xmm0
+  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
+  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
+  .byte  15,40,93,152                        // movaps        -0x68(%ebp),%xmm3
+  .byte  255,23                              // call          *(%edi)
+  .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
+
 HIDDEN _sk_to_srgb_sse2
 .globl _sk_to_srgb_sse2
 FUNCTION(_sk_to_srgb_sse2)
@@ -44063,28 +48241,28 @@
   .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          2a45 <_sk_to_srgb_sse2+0x1e>
+  .byte  232,0,0,0,0                         // call          2c36 <_sk_to_srgb_sse2+0x1e>
   .byte  88                                  // pop           %eax
   .byte  15,82,218                           // rsqrtps       %xmm2,%xmm3
-  .byte  15,40,160,43,88,0,0                 // movaps        0x582b(%eax),%xmm4
+  .byte  15,40,160,154,96,0,0                // movaps        0x609a(%eax),%xmm4
   .byte  15,40,235                           // movaps        %xmm3,%xmm5
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
-  .byte  15,40,128,59,88,0,0                 // movaps        0x583b(%eax),%xmm0
+  .byte  15,40,128,170,96,0,0                // movaps        0x60aa(%eax),%xmm0
   .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
   .byte  15,88,232                           // addps         %xmm0,%xmm5
   .byte  15,89,235                           // mulps         %xmm3,%xmm5
-  .byte  15,40,128,75,88,0,0                 // movaps        0x584b(%eax),%xmm0
+  .byte  15,40,128,186,96,0,0                // movaps        0x60ba(%eax),%xmm0
   .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
   .byte  15,88,232                           // addps         %xmm0,%xmm5
-  .byte  15,40,128,91,88,0,0                 // movaps        0x585b(%eax),%xmm0
+  .byte  15,40,128,202,96,0,0                // movaps        0x60ca(%eax),%xmm0
   .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%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,27,88,0,0                 // movaps        0x581b(%eax),%xmm5
+  .byte  15,40,168,138,96,0,0                // movaps        0x608a(%eax),%xmm5
   .byte  15,40,202                           // movaps        %xmm2,%xmm1
   .byte  15,89,205                           // mulps         %xmm5,%xmm1
-  .byte  15,40,152,107,88,0,0                // movaps        0x586b(%eax),%xmm3
+  .byte  15,40,152,218,96,0,0                // movaps        0x60da(%eax),%xmm3
   .byte  15,194,211,1                        // cmpltps       %xmm3,%xmm2
   .byte  15,84,202                           // andps         %xmm2,%xmm1
   .byte  15,85,208                           // andnps        %xmm0,%xmm2
@@ -44161,7 +48339,7 @@
   .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
   .byte  15,40,233                           // movaps        %xmm1,%xmm5
   .byte  15,40,224                           // movaps        %xmm0,%xmm4
-  .byte  232,0,0,0,0                         // call          2b84 <_sk_rgb_to_hsl_sse2+0x1b>
+  .byte  232,0,0,0,0                         // call          2d75 <_sk_rgb_to_hsl_sse2+0x1b>
   .byte  88                                  // pop           %eax
   .byte  15,40,204                           // movaps        %xmm4,%xmm1
   .byte  15,95,205                           // maxps         %xmm5,%xmm1
@@ -44173,13 +48351,13 @@
   .byte  15,40,193                           // movaps        %xmm1,%xmm0
   .byte  15,92,199                           // subps         %xmm7,%xmm0
   .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
-  .byte  15,40,152,60,87,0,0                 // movaps        0x573c(%eax),%xmm3
+  .byte  15,40,152,171,95,0,0                // movaps        0x5fab(%eax),%xmm3
   .byte  15,94,216                           // divps         %xmm0,%xmm3
   .byte  15,40,197                           // movaps        %xmm5,%xmm0
   .byte  15,92,194                           // subps         %xmm2,%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
   .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
-  .byte  15,84,168,76,87,0,0                 // andps         0x574c(%eax),%xmm5
+  .byte  15,84,168,187,95,0,0                // andps         0x5fbb(%eax),%xmm5
   .byte  15,88,232                           // addps         %xmm0,%xmm5
   .byte  15,40,193                           // movaps        %xmm1,%xmm0
   .byte  15,194,196,0                        // cmpeqps       %xmm4,%xmm0
@@ -44189,9 +48367,9 @@
   .byte  15,92,101,216                       // subps         -0x28(%ebp),%xmm4
   .byte  15,89,211                           // mulps         %xmm3,%xmm2
   .byte  15,89,227                           // mulps         %xmm3,%xmm4
-  .byte  15,40,152,92,87,0,0                 // movaps        0x575c(%eax),%xmm3
+  .byte  15,40,152,203,95,0,0                // movaps        0x5fcb(%eax),%xmm3
   .byte  15,88,211                           // addps         %xmm3,%xmm2
-  .byte  15,88,160,108,87,0,0                // addps         0x576c(%eax),%xmm4
+  .byte  15,88,160,219,95,0,0                // addps         0x5fdb(%eax),%xmm4
   .byte  15,84,214                           // andps         %xmm6,%xmm2
   .byte  15,85,244                           // andnps        %xmm4,%xmm6
   .byte  15,86,242                           // orps          %xmm2,%xmm6
@@ -44206,7 +48384,7 @@
   .byte  15,194,231,4                        // cmpneqps      %xmm7,%xmm4
   .byte  15,92,217                           // subps         %xmm1,%xmm3
   .byte  15,88,207                           // addps         %xmm7,%xmm1
-  .byte  15,40,168,140,87,0,0                // movaps        0x578c(%eax),%xmm5
+  .byte  15,40,168,251,95,0,0                // movaps        0x5ffb(%eax),%xmm5
   .byte  15,92,223                           // subps         %xmm7,%xmm3
   .byte  15,40,209                           // movaps        %xmm1,%xmm2
   .byte  15,89,213                           // mulps         %xmm5,%xmm2
@@ -44219,7 +48397,7 @@
   .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
   .byte  15,94,205                           // divps         %xmm5,%xmm1
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
-  .byte  15,89,128,124,87,0,0                // mulps         0x577c(%eax),%xmm0
+  .byte  15,89,128,235,95,0,0                // mulps         0x5feb(%eax),%xmm0
   .byte  15,84,196                           // andps         %xmm4,%xmm0
   .byte  15,84,204                           // andps         %xmm4,%xmm1
   .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
@@ -44255,9 +48433,9 @@
   .byte  129,236,44,1,0,0                    // sub           $0x12c,%esp
   .byte  15,41,157,40,255,255,255            // movaps        %xmm3,-0xd8(%ebp)
   .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
-  .byte  232,0,0,0,0                         // call          2cb9 <_sk_hsl_to_rgb_sse2+0x1c>
+  .byte  232,0,0,0,0                         // call          2eaa <_sk_hsl_to_rgb_sse2+0x1c>
   .byte  88                                  // pop           %eax
-  .byte  15,40,152,103,86,0,0                // movaps        0x5667(%eax),%xmm3
+  .byte  15,40,152,214,94,0,0                // movaps        0x5ed6(%eax),%xmm3
   .byte  15,40,227                           // movaps        %xmm3,%xmm4
   .byte  15,40,243                           // movaps        %xmm3,%xmm6
   .byte  15,41,181,72,255,255,255            // movaps        %xmm6,-0xb8(%ebp)
@@ -44271,13 +48449,13 @@
   .byte  15,84,236                           // andps         %xmm4,%xmm5
   .byte  15,85,225                           // andnps        %xmm1,%xmm4
   .byte  15,86,229                           // orps          %xmm5,%xmm4
-  .byte  15,40,136,119,86,0,0                // movaps        0x5677(%eax),%xmm1
+  .byte  15,40,136,230,94,0,0                // movaps        0x5ee6(%eax),%xmm1
   .byte  15,88,200                           // addps         %xmm0,%xmm1
   .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
   .byte  15,40,217                           // movaps        %xmm1,%xmm3
   .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
-  .byte  15,40,168,135,86,0,0                // movaps        0x5687(%eax),%xmm5
+  .byte  15,40,168,246,94,0,0                // movaps        0x5ef6(%eax),%xmm5
   .byte  15,41,173,104,255,255,255           // movaps        %xmm5,-0x98(%ebp)
   .byte  15,84,221                           // andps         %xmm5,%xmm3
   .byte  15,92,195                           // subps         %xmm3,%xmm0
@@ -44288,19 +48466,19 @@
   .byte  15,41,101,184                       // movaps        %xmm4,-0x48(%ebp)
   .byte  15,88,237                           // addps         %xmm5,%xmm5
   .byte  15,92,236                           // subps         %xmm4,%xmm5
-  .byte  15,40,144,151,86,0,0                // movaps        0x5697(%eax),%xmm2
+  .byte  15,40,144,6,95,0,0                  // movaps        0x5f06(%eax),%xmm2
   .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
   .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
   .byte  15,92,229                           // subps         %xmm5,%xmm4
   .byte  15,40,198                           // movaps        %xmm6,%xmm0
   .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
-  .byte  15,40,176,199,86,0,0                // movaps        0x56c7(%eax),%xmm6
+  .byte  15,40,176,54,95,0,0                 // movaps        0x5f36(%eax),%xmm6
   .byte  15,41,181,88,255,255,255            // movaps        %xmm6,-0xa8(%ebp)
   .byte  15,194,241,2                        // cmpleps       %xmm1,%xmm6
-  .byte  15,40,152,167,86,0,0                // movaps        0x56a7(%eax),%xmm3
+  .byte  15,40,152,22,95,0,0                 // movaps        0x5f16(%eax),%xmm3
   .byte  15,41,93,152                        // movaps        %xmm3,-0x68(%ebp)
   .byte  15,89,203                           // mulps         %xmm3,%xmm1
-  .byte  15,40,184,183,86,0,0                // movaps        0x56b7(%eax),%xmm7
+  .byte  15,40,184,38,95,0,0                 // movaps        0x5f26(%eax),%xmm7
   .byte  15,41,125,136                       // movaps        %xmm7,-0x78(%ebp)
   .byte  15,92,249                           // subps         %xmm1,%xmm7
   .byte  15,89,252                           // mulps         %xmm4,%xmm7
@@ -44325,18 +48503,18 @@
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
   .byte  15,40,202                           // movaps        %xmm2,%xmm1
   .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
-  .byte  15,84,136,135,86,0,0                // andps         0x5687(%eax),%xmm1
+  .byte  15,84,136,246,94,0,0                // andps         0x5ef6(%eax),%xmm1
   .byte  15,92,193                           // subps         %xmm1,%xmm0
   .byte  15,40,202                           // movaps        %xmm2,%xmm1
   .byte  15,92,200                           // subps         %xmm0,%xmm1
-  .byte  15,40,128,151,86,0,0                // movaps        0x5697(%eax),%xmm0
+  .byte  15,40,128,6,95,0,0                  // movaps        0x5f06(%eax),%xmm0
   .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
-  .byte  15,40,144,103,86,0,0                // movaps        0x5667(%eax),%xmm2
+  .byte  15,40,144,214,94,0,0                // movaps        0x5ed6(%eax),%xmm2
   .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
-  .byte  15,40,152,199,86,0,0                // movaps        0x56c7(%eax),%xmm3
+  .byte  15,40,152,54,95,0,0                 // movaps        0x5f36(%eax),%xmm3
   .byte  15,194,217,2                        // cmpleps       %xmm1,%xmm3
-  .byte  15,89,136,167,86,0,0                // mulps         0x56a7(%eax),%xmm1
-  .byte  15,40,176,183,86,0,0                // movaps        0x56b7(%eax),%xmm6
+  .byte  15,89,136,22,95,0,0                 // mulps         0x5f16(%eax),%xmm1
+  .byte  15,40,176,38,95,0,0                 // movaps        0x5f26(%eax),%xmm6
   .byte  15,92,241                           // subps         %xmm1,%xmm6
   .byte  15,89,244                           // mulps         %xmm4,%xmm6
   .byte  15,88,245                           // addps         %xmm5,%xmm6
@@ -44356,7 +48534,7 @@
   .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
   .byte  15,85,243                           // andnps        %xmm3,%xmm6
   .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
-  .byte  15,88,144,215,86,0,0                // addps         0x56d7(%eax),%xmm2
+  .byte  15,88,144,70,95,0,0                 // addps         0x5f46(%eax),%xmm2
   .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
   .byte  15,40,202                           // movaps        %xmm2,%xmm1
@@ -44480,7 +48658,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          2fbf <_sk_scale_u8_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          31b0 <_sk_scale_u8_sse2+0xe>
   .byte  91                                  // pop           %ebx
   .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
   .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
@@ -44492,13 +48670,13 @@
   .byte  139,9                               // mov           (%ecx),%ecx
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
-  .byte  117,106                             // jne           304a <_sk_scale_u8_sse2+0x99>
+  .byte  117,106                             // jne           323b <_sk_scale_u8_sse2+0x99>
   .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
   .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
   .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
-  .byte  102,15,219,163,225,83,0,0           // pand          0x53e1(%ebx),%xmm4
+  .byte  102,15,219,163,80,92,0,0            // pand          0x5c50(%ebx),%xmm4
   .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
-  .byte  15,89,163,241,83,0,0                // mulps         0x53f1(%ebx),%xmm4
+  .byte  15,89,163,96,92,0,0                 // mulps         0x5c60(%ebx),%xmm4
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
   .byte  15,89,204                           // mulps         %xmm4,%xmm1
   .byte  15,89,212                           // mulps         %xmm4,%xmm2
@@ -44526,13 +48704,13 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,65                              // je            3098 <_sk_scale_u8_sse2+0xe7>
+  .byte  116,65                              // je            3289 <_sk_scale_u8_sse2+0xe7>
   .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,23                              // je            307b <_sk_scale_u8_sse2+0xca>
+  .byte  116,23                              // je            326c <_sk_scale_u8_sse2+0xca>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  117,131                             // jne           2fed <_sk_scale_u8_sse2+0x3c>
+  .byte  117,131                             // jne           31de <_sk_scale_u8_sse2+0x3c>
   .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
   .byte  102,15,110,230                      // movd          %esi,%xmm4
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -44543,11 +48721,11 @@
   .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
   .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
   .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
-  .byte  233,85,255,255,255                  // jmp           2fed <_sk_scale_u8_sse2+0x3c>
+  .byte  233,85,255,255,255                  // jmp           31de <_sk_scale_u8_sse2+0x3c>
   .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
   .byte  102,15,110,225                      // movd          %ecx,%xmm4
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,69,255,255,255                  // jmp           2fed <_sk_scale_u8_sse2+0x3c>
+  .byte  233,69,255,255,255                  // jmp           31de <_sk_scale_u8_sse2+0x3c>
 
 HIDDEN _sk_lerp_1_float_sse2
 .globl _sk_lerp_1_float_sse2
@@ -44612,7 +48790,7 @@
   .byte  86                                  // push          %esi
   .byte  131,236,124                         // sub           $0x7c,%esp
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
-  .byte  232,0,0,0,0                         // call          3146 <_sk_lerp_u8_sse2+0x12>
+  .byte  232,0,0,0,0                         // call          3337 <_sk_lerp_u8_sse2+0x12>
   .byte  91                                  // pop           %ebx
   .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
@@ -44622,13 +48800,13 @@
   .byte  139,9                               // mov           (%ecx),%ecx
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
-  .byte  15,133,143,0,0,0                    // jne           31f2 <_sk_lerp_u8_sse2+0xbe>
+  .byte  15,133,143,0,0,0                    // jne           33e3 <_sk_lerp_u8_sse2+0xbe>
   .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
   .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
   .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
-  .byte  102,15,219,163,122,82,0,0           // pand          0x527a(%ebx),%xmm4
+  .byte  102,15,219,163,233,90,0,0           // pand          0x5ae9(%ebx),%xmm4
   .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
-  .byte  15,89,163,138,82,0,0                // mulps         0x528a(%ebx),%xmm4
+  .byte  15,89,163,249,90,0,0                // mulps         0x5af9(%ebx),%xmm4
   .byte  15,92,197                           // subps         %xmm5,%xmm0
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
   .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
@@ -44667,13 +48845,13 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,69                              // je            3244 <_sk_lerp_u8_sse2+0x110>
+  .byte  116,69                              // je            3435 <_sk_lerp_u8_sse2+0x110>
   .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,27                              // je            3227 <_sk_lerp_u8_sse2+0xf3>
+  .byte  116,27                              // je            3418 <_sk_lerp_u8_sse2+0xf3>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  15,133,90,255,255,255               // jne           3170 <_sk_lerp_u8_sse2+0x3c>
+  .byte  15,133,90,255,255,255               // jne           3361 <_sk_lerp_u8_sse2+0x3c>
   .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
   .byte  102,15,110,230                      // movd          %esi,%xmm4
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -44684,11 +48862,11 @@
   .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
   .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
   .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
-  .byte  233,44,255,255,255                  // jmp           3170 <_sk_lerp_u8_sse2+0x3c>
+  .byte  233,44,255,255,255                  // jmp           3361 <_sk_lerp_u8_sse2+0x3c>
   .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
   .byte  102,15,110,225                      // movd          %ecx,%xmm4
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,28,255,255,255                  // jmp           3170 <_sk_lerp_u8_sse2+0x3c>
+  .byte  233,28,255,255,255                  // jmp           3361 <_sk_lerp_u8_sse2+0x3c>
 
 HIDDEN _sk_lerp_565_sse2
 .globl _sk_lerp_565_sse2
@@ -44700,7 +48878,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          3262 <_sk_lerp_565_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          3453 <_sk_lerp_565_sse2+0xe>
   .byte  91                                  // pop           %ebx
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -44709,20 +48887,20 @@
   .byte  139,9                               // mov           (%ecx),%ecx
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
-  .byte  15,133,212,0,0,0                    // jne           334f <_sk_lerp_565_sse2+0xfb>
+  .byte  15,133,212,0,0,0                    // jne           3540 <_sk_lerp_565_sse2+0xfb>
   .byte  243,15,126,52,121                   // movq          (%ecx,%edi,2),%xmm6
   .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
-  .byte  102,15,111,163,126,81,0,0           // movdqa        0x517e(%ebx),%xmm4
+  .byte  102,15,111,163,237,89,0,0           // movdqa        0x59ed(%ebx),%xmm4
   .byte  102,15,219,230                      // pand          %xmm6,%xmm4
   .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
-  .byte  15,89,163,142,81,0,0                // mulps         0x518e(%ebx),%xmm4
-  .byte  102,15,111,187,158,81,0,0           // movdqa        0x519e(%ebx),%xmm7
+  .byte  15,89,163,253,89,0,0                // mulps         0x59fd(%ebx),%xmm4
+  .byte  102,15,111,187,13,90,0,0            // movdqa        0x5a0d(%ebx),%xmm7
   .byte  102,15,219,254                      // pand          %xmm6,%xmm7
   .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
-  .byte  15,89,187,174,81,0,0                // mulps         0x51ae(%ebx),%xmm7
-  .byte  102,15,219,179,190,81,0,0           // pand          0x51be(%ebx),%xmm6
+  .byte  15,89,187,29,90,0,0                 // mulps         0x5a1d(%ebx),%xmm7
+  .byte  102,15,219,179,45,90,0,0            // pand          0x5a2d(%ebx),%xmm6
   .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
-  .byte  15,89,179,206,81,0,0                // mulps         0x51ce(%ebx),%xmm6
+  .byte  15,89,179,61,90,0,0                 // mulps         0x5a3d(%ebx),%xmm6
   .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
   .byte  15,92,197                           // subps         %xmm5,%xmm0
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
@@ -44770,13 +48948,13 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,58                              // je            3396 <_sk_lerp_565_sse2+0x142>
+  .byte  116,58                              // je            3587 <_sk_lerp_565_sse2+0x142>
   .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,27                              // je            3384 <_sk_lerp_565_sse2+0x130>
+  .byte  116,27                              // je            3575 <_sk_lerp_565_sse2+0x130>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  15,133,17,255,255,255               // jne           3284 <_sk_lerp_565_sse2+0x30>
+  .byte  15,133,17,255,255,255               // jne           3475 <_sk_lerp_565_sse2+0x30>
   .byte  15,183,116,121,4                    // movzwl        0x4(%ecx,%edi,2),%esi
   .byte  102,15,110,230                      // movd          %esi,%xmm4
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -44784,11 +48962,11 @@
   .byte  102,15,110,36,121                   // movd          (%ecx,%edi,2),%xmm4
   .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
   .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
-  .byte  233,238,254,255,255                 // jmp           3284 <_sk_lerp_565_sse2+0x30>
+  .byte  233,238,254,255,255                 // jmp           3475 <_sk_lerp_565_sse2+0x30>
   .byte  15,183,12,121                       // movzwl        (%ecx,%edi,2),%ecx
   .byte  102,15,110,241                      // movd          %ecx,%xmm6
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,222,254,255,255                 // jmp           3284 <_sk_lerp_565_sse2+0x30>
+  .byte  233,222,254,255,255                 // jmp           3475 <_sk_lerp_565_sse2+0x30>
 
 HIDDEN _sk_load_tables_sse2
 .globl _sk_load_tables_sse2
@@ -44800,7 +48978,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          33b4 <_sk_load_tables_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          35a5 <_sk_load_tables_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,24                           // mov           0x18(%ebp),%eax
   .byte  139,93,16                           // mov           0x10(%ebp),%ebx
@@ -44808,9 +48986,9 @@
   .byte  133,192                             // test          %eax,%eax
   .byte  139,17                              // mov           (%ecx),%edx
   .byte  139,58                              // mov           (%edx),%edi
-  .byte  15,133,75,1,0,0                     // jne           3515 <_sk_load_tables_sse2+0x16f>
+  .byte  15,133,75,1,0,0                     // jne           3706 <_sk_load_tables_sse2+0x16f>
   .byte  243,15,111,28,159                   // movdqu        (%edi,%ebx,4),%xmm3
-  .byte  102,15,111,150,140,80,0,0           // movdqa        0x508c(%esi),%xmm2
+  .byte  102,15,111,150,251,88,0,0           // movdqa        0x58fb(%esi),%xmm2
   .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
@@ -44866,7 +49044,7 @@
   .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
   .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,158,156,80,0,0                // mulps         0x509c(%esi),%xmm3
+  .byte  15,89,158,11,89,0,0                 // mulps         0x590b(%esi),%xmm3
   .byte  139,77,12                           // mov           0xc(%ebp),%ecx
   .byte  137,206                             // mov           %ecx,%esi
   .byte  141,78,8                            // lea           0x8(%esi),%ecx
@@ -44895,18 +49073,18 @@
   .byte  137,193                             // mov           %eax,%ecx
   .byte  128,225,3                           // and           $0x3,%cl
   .byte  128,249,1                           // cmp           $0x1,%cl
-  .byte  116,39                              // je            3546 <_sk_load_tables_sse2+0x1a0>
+  .byte  116,39                              // je            3737 <_sk_load_tables_sse2+0x1a0>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  128,249,2                           // cmp           $0x2,%cl
-  .byte  116,20                              // je            353c <_sk_load_tables_sse2+0x196>
+  .byte  116,20                              // je            372d <_sk_load_tables_sse2+0x196>
   .byte  128,249,3                           // cmp           $0x3,%cl
-  .byte  15,133,158,254,255,255              // jne           33cf <_sk_load_tables_sse2+0x29>
+  .byte  15,133,158,254,255,255              // jne           35c0 <_sk_load_tables_sse2+0x29>
   .byte  102,15,110,68,159,8                 // movd          0x8(%edi,%ebx,4),%xmm0
   .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
   .byte  102,15,18,28,159                    // movlpd        (%edi,%ebx,4),%xmm3
-  .byte  233,137,254,255,255                 // jmp           33cf <_sk_load_tables_sse2+0x29>
+  .byte  233,137,254,255,255                 // jmp           35c0 <_sk_load_tables_sse2+0x29>
   .byte  102,15,110,28,159                   // movd          (%edi,%ebx,4),%xmm3
-  .byte  233,127,254,255,255                 // jmp           33cf <_sk_load_tables_sse2+0x29>
+  .byte  233,127,254,255,255                 // jmp           35c0 <_sk_load_tables_sse2+0x29>
 
 HIDDEN _sk_load_tables_u16_be_sse2
 .globl _sk_load_tables_u16_be_sse2
@@ -44918,7 +49096,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
-  .byte  232,0,0,0,0                         // call          3561 <_sk_load_tables_u16_be_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          3752 <_sk_load_tables_u16_be_sse2+0x11>
   .byte  95                                  // pop           %edi
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
@@ -44927,7 +49105,7 @@
   .byte  139,11                              // mov           (%ebx),%ecx
   .byte  141,52,149,0,0,0,0                  // lea           0x0(,%edx,4),%esi
   .byte  186,255,0,255,0                     // mov           $0xff00ff,%edx
-  .byte  15,133,229,1,0,0                    // jne           3767 <_sk_load_tables_u16_be_sse2+0x217>
+  .byte  15,133,229,1,0,0                    // jne           3958 <_sk_load_tables_u16_be_sse2+0x217>
   .byte  102,15,16,4,113                     // movupd        (%ecx,%esi,2),%xmm0
   .byte  243,15,111,76,113,16                // movdqu        0x10(%ecx,%esi,2),%xmm1
   .byte  102,15,40,216                       // movapd        %xmm0,%xmm3
@@ -45024,7 +49202,7 @@
   .byte  243,15,126,93,208                   // movq          -0x30(%ebp),%xmm3
   .byte  102,15,97,223                       // punpcklwd     %xmm7,%xmm3
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,159,255,78,0,0                // mulps         0x4eff(%edi),%xmm3
+  .byte  15,89,159,110,87,0,0                // mulps         0x576e(%edi),%xmm3
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  137,193                             // mov           %eax,%ecx
   .byte  141,65,8                            // lea           0x8(%ecx),%eax
@@ -45056,12 +49234,12 @@
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  139,69,24                           // mov           0x18(%ebp),%eax
   .byte  131,248,1                           // cmp           $0x1,%eax
-  .byte  15,132,17,254,255,255               // je            358d <_sk_load_tables_u16_be_sse2+0x3d>
+  .byte  15,132,17,254,255,255               // je            377e <_sk_load_tables_u16_be_sse2+0x3d>
   .byte  102,15,22,68,113,8                  // movhpd        0x8(%ecx,%esi,2),%xmm0
   .byte  131,248,3                           // cmp           $0x3,%eax
-  .byte  15,130,2,254,255,255                // jb            358d <_sk_load_tables_u16_be_sse2+0x3d>
+  .byte  15,130,2,254,255,255                // jb            377e <_sk_load_tables_u16_be_sse2+0x3d>
   .byte  243,15,126,76,113,16                // movq          0x10(%ecx,%esi,2),%xmm1
-  .byte  233,247,253,255,255                 // jmp           358d <_sk_load_tables_u16_be_sse2+0x3d>
+  .byte  233,247,253,255,255                 // jmp           377e <_sk_load_tables_u16_be_sse2+0x3d>
 
 HIDDEN _sk_load_tables_rgb_u16_be_sse2
 .globl _sk_load_tables_rgb_u16_be_sse2
@@ -45073,7 +49251,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,124                         // sub           $0x7c,%esp
-  .byte  232,0,0,0,0                         // call          37a4 <_sk_load_tables_rgb_u16_be_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          3995 <_sk_load_tables_rgb_u16_be_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  137,69,240                          // mov           %eax,-0x10(%ebp)
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -45083,7 +49261,7 @@
   .byte  139,19                              // mov           (%ebx),%edx
   .byte  141,60,73                           // lea           (%ecx,%ecx,2),%edi
   .byte  190,255,0,255,0                     // mov           $0xff00ff,%esi
-  .byte  15,133,198,1,0,0                    // jne           398a <_sk_load_tables_rgb_u16_be_sse2+0x1f4>
+  .byte  15,133,198,1,0,0                    // jne           3b7b <_sk_load_tables_rgb_u16_be_sse2+0x1f4>
   .byte  243,15,111,12,122                   // movdqu        (%edx,%edi,2),%xmm1
   .byte  243,15,111,92,122,8                 // movdqu        0x8(%edx,%edi,2),%xmm3
   .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
@@ -45193,7 +49371,7 @@
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  137,4,36                            // mov           %eax,(%esp)
   .byte  139,69,240                          // mov           -0x10(%ebp),%eax
-  .byte  15,40,152,204,76,0,0                // movaps        0x4ccc(%eax),%xmm3
+  .byte  15,40,152,59,85,0,0                 // movaps        0x553b(%eax),%xmm3
   .byte  15,40,197                           // movaps        %xmm5,%xmm0
   .byte  255,81,4                            // call          *0x4(%ecx)
   .byte  131,196,124                         // add           $0x7c,%esp
@@ -45207,20 +49385,20 @@
   .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
   .byte  139,69,24                           // mov           0x18(%ebp),%eax
   .byte  131,248,1                           // cmp           $0x1,%eax
-  .byte  117,13                              // jne           39af <_sk_load_tables_rgb_u16_be_sse2+0x219>
+  .byte  117,13                              // jne           3ba0 <_sk_load_tables_rgb_u16_be_sse2+0x219>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,55,254,255,255                  // jmp           37e6 <_sk_load_tables_rgb_u16_be_sse2+0x50>
+  .byte  233,55,254,255,255                  // jmp           39d7 <_sk_load_tables_rgb_u16_be_sse2+0x50>
   .byte  102,15,110,68,122,6                 // movd          0x6(%edx,%edi,2),%xmm0
   .byte  102,15,196,68,122,10,2              // pinsrw        $0x2,0xa(%edx,%edi,2),%xmm0
   .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
   .byte  131,248,3                           // cmp           $0x3,%eax
-  .byte  114,18                              // jb            39d7 <_sk_load_tables_rgb_u16_be_sse2+0x241>
+  .byte  114,18                              // jb            3bc8 <_sk_load_tables_rgb_u16_be_sse2+0x241>
   .byte  102,15,110,92,122,12                // movd          0xc(%edx,%edi,2),%xmm3
   .byte  102,15,196,92,122,16,2              // pinsrw        $0x2,0x10(%edx,%edi,2),%xmm3
-  .byte  233,15,254,255,255                  // jmp           37e6 <_sk_load_tables_rgb_u16_be_sse2+0x50>
+  .byte  233,15,254,255,255                  // jmp           39d7 <_sk_load_tables_rgb_u16_be_sse2+0x50>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
-  .byte  233,6,254,255,255                   // jmp           37e6 <_sk_load_tables_rgb_u16_be_sse2+0x50>
+  .byte  233,6,254,255,255                   // jmp           39d7 <_sk_load_tables_rgb_u16_be_sse2+0x50>
 
 HIDDEN _sk_byte_tables_sse2
 .globl _sk_byte_tables_sse2
@@ -45232,11 +49410,11 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          39ee <_sk_byte_tables_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          3bdf <_sk_byte_tables_sse2+0xe>
   .byte  90                                  // pop           %edx
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  139,8                               // mov           (%eax),%ecx
-  .byte  15,40,170,146,74,0,0                // movaps        0x4a92(%edx),%xmm5
+  .byte  15,40,170,1,83,0,0                  // movaps        0x5301(%edx),%xmm5
   .byte  15,89,197                           // mulps         %xmm5,%xmm0
   .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
   .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
@@ -45258,7 +49436,7 @@
   .byte  102,15,196,192,0                    // pinsrw        $0x0,%eax,%xmm0
   .byte  139,65,4                            // mov           0x4(%ecx),%eax
   .byte  102,15,196,195,1                    // pinsrw        $0x1,%ebx,%xmm0
-  .byte  15,40,162,162,74,0,0                // movaps        0x4aa2(%edx),%xmm4
+  .byte  15,40,162,17,83,0,0                 // movaps        0x5311(%edx),%xmm4
   .byte  15,89,205                           // mulps         %xmm5,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
   .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
@@ -45397,12 +49575,12 @@
   .byte  15,182,60,31                        // movzbl        (%edi,%ebx,1),%edi
   .byte  193,231,8                           // shl           $0x8,%edi
   .byte  9,215                               // or            %edx,%edi
-  .byte  232,0,0,0,0                         // call          3c2a <_sk_byte_tables_rgb_sse2+0x65>
+  .byte  232,0,0,0,0                         // call          3e1b <_sk_byte_tables_rgb_sse2+0x65>
   .byte  90                                  // pop           %edx
   .byte  102,15,196,199,0                    // pinsrw        $0x0,%edi,%xmm0
   .byte  139,121,4                           // mov           0x4(%ecx),%edi
   .byte  102,15,196,198,1                    // pinsrw        $0x1,%esi,%xmm0
-  .byte  15,40,170,118,72,0,0                // movaps        0x4876(%edx),%xmm5
+  .byte  15,40,170,229,80,0,0                // movaps        0x50e5(%edx),%xmm5
   .byte  15,89,204                           // mulps         %xmm4,%xmm1
   .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
   .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
@@ -45731,7 +49909,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4033 <_sk_parametric_r_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          4224 <_sk_parametric_r_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -45746,15 +49924,15 @@
   .byte  15,88,244                           // addps         %xmm4,%xmm6
   .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
   .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
-  .byte  15,89,166,125,68,0,0                // mulps         0x447d(%esi),%xmm4
-  .byte  15,84,182,141,68,0,0                // andps         0x448d(%esi),%xmm6
-  .byte  15,86,182,157,68,0,0                // orps          0x449d(%esi),%xmm6
-  .byte  15,88,166,173,68,0,0                // addps         0x44ad(%esi),%xmm4
-  .byte  15,40,190,189,68,0,0                // movaps        0x44bd(%esi),%xmm7
+  .byte  15,89,166,236,76,0,0                // mulps         0x4cec(%esi),%xmm4
+  .byte  15,84,182,252,76,0,0                // andps         0x4cfc(%esi),%xmm6
+  .byte  15,86,182,12,77,0,0                 // orps          0x4d0c(%esi),%xmm6
+  .byte  15,88,166,28,77,0,0                 // addps         0x4d1c(%esi),%xmm4
+  .byte  15,40,190,44,77,0,0                 // movaps        0x4d2c(%esi),%xmm7
   .byte  15,89,254                           // mulps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
-  .byte  15,88,182,205,68,0,0                // addps         0x44cd(%esi),%xmm6
-  .byte  15,40,190,221,68,0,0                // movaps        0x44dd(%esi),%xmm7
+  .byte  15,88,182,60,77,0,0                 // addps         0x4d3c(%esi),%xmm6
+  .byte  15,40,190,76,77,0,0                 // movaps        0x4d4c(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -45762,21 +49940,21 @@
   .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
-  .byte  15,40,174,237,68,0,0                // movaps        0x44ed(%esi),%xmm5
+  .byte  15,40,174,92,77,0,0                 // movaps        0x4d5c(%esi),%xmm5
   .byte  15,84,253                           // andps         %xmm5,%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,92,254                           // subps         %xmm6,%xmm7
-  .byte  15,88,166,253,68,0,0                // addps         0x44fd(%esi),%xmm4
-  .byte  15,40,182,13,69,0,0                 // movaps        0x450d(%esi),%xmm6
+  .byte  15,88,166,108,77,0,0                // addps         0x4d6c(%esi),%xmm4
+  .byte  15,40,182,124,77,0,0                // movaps        0x4d7c(%esi),%xmm6
   .byte  15,89,247                           // mulps         %xmm7,%xmm6
   .byte  15,92,230                           // subps         %xmm6,%xmm4
-  .byte  15,40,182,29,69,0,0                 // movaps        0x451d(%esi),%xmm6
+  .byte  15,40,182,140,77,0,0                // movaps        0x4d8c(%esi),%xmm6
   .byte  15,92,247                           // subps         %xmm7,%xmm6
-  .byte  15,40,190,45,69,0,0                 // movaps        0x452d(%esi),%xmm7
+  .byte  15,40,190,156,77,0,0                // movaps        0x4d9c(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,88,252                           // addps         %xmm4,%xmm7
-  .byte  15,89,190,61,69,0,0                 // mulps         0x453d(%esi),%xmm7
+  .byte  15,89,190,172,77,0,0                // mulps         0x4dac(%esi),%xmm7
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
@@ -45830,7 +50008,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4195 <_sk_parametric_g_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          4386 <_sk_parametric_g_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -45845,15 +50023,15 @@
   .byte  15,88,244                           // addps         %xmm4,%xmm6
   .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
   .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
-  .byte  15,89,166,235,67,0,0                // mulps         0x43eb(%esi),%xmm4
-  .byte  15,84,182,251,67,0,0                // andps         0x43fb(%esi),%xmm6
-  .byte  15,86,182,11,68,0,0                 // orps          0x440b(%esi),%xmm6
-  .byte  15,88,166,27,68,0,0                 // addps         0x441b(%esi),%xmm4
-  .byte  15,40,190,43,68,0,0                 // movaps        0x442b(%esi),%xmm7
+  .byte  15,89,166,90,76,0,0                 // mulps         0x4c5a(%esi),%xmm4
+  .byte  15,84,182,106,76,0,0                // andps         0x4c6a(%esi),%xmm6
+  .byte  15,86,182,122,76,0,0                // orps          0x4c7a(%esi),%xmm6
+  .byte  15,88,166,138,76,0,0                // addps         0x4c8a(%esi),%xmm4
+  .byte  15,40,190,154,76,0,0                // movaps        0x4c9a(%esi),%xmm7
   .byte  15,89,254                           // mulps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
-  .byte  15,88,182,59,68,0,0                 // addps         0x443b(%esi),%xmm6
-  .byte  15,40,190,75,68,0,0                 // movaps        0x444b(%esi),%xmm7
+  .byte  15,88,182,170,76,0,0                // addps         0x4caa(%esi),%xmm6
+  .byte  15,40,190,186,76,0,0                // movaps        0x4cba(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -45861,21 +50039,21 @@
   .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
-  .byte  15,40,174,91,68,0,0                 // movaps        0x445b(%esi),%xmm5
+  .byte  15,40,174,202,76,0,0                // movaps        0x4cca(%esi),%xmm5
   .byte  15,84,253                           // andps         %xmm5,%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,92,254                           // subps         %xmm6,%xmm7
-  .byte  15,88,166,107,68,0,0                // addps         0x446b(%esi),%xmm4
-  .byte  15,40,182,123,68,0,0                // movaps        0x447b(%esi),%xmm6
+  .byte  15,88,166,218,76,0,0                // addps         0x4cda(%esi),%xmm4
+  .byte  15,40,182,234,76,0,0                // movaps        0x4cea(%esi),%xmm6
   .byte  15,89,247                           // mulps         %xmm7,%xmm6
   .byte  15,92,230                           // subps         %xmm6,%xmm4
-  .byte  15,40,182,139,68,0,0                // movaps        0x448b(%esi),%xmm6
+  .byte  15,40,182,250,76,0,0                // movaps        0x4cfa(%esi),%xmm6
   .byte  15,92,247                           // subps         %xmm7,%xmm6
-  .byte  15,40,190,155,68,0,0                // movaps        0x449b(%esi),%xmm7
+  .byte  15,40,190,10,77,0,0                 // movaps        0x4d0a(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,88,252                           // addps         %xmm4,%xmm7
-  .byte  15,89,190,171,68,0,0                // mulps         0x44ab(%esi),%xmm7
+  .byte  15,89,190,26,77,0,0                 // mulps         0x4d1a(%esi),%xmm7
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
@@ -45929,7 +50107,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          42f7 <_sk_parametric_b_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          44e8 <_sk_parametric_b_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -45944,15 +50122,15 @@
   .byte  15,88,244                           // addps         %xmm4,%xmm6
   .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
   .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
-  .byte  15,89,166,89,67,0,0                 // mulps         0x4359(%esi),%xmm4
-  .byte  15,84,182,105,67,0,0                // andps         0x4369(%esi),%xmm6
-  .byte  15,86,182,121,67,0,0                // orps          0x4379(%esi),%xmm6
-  .byte  15,88,166,137,67,0,0                // addps         0x4389(%esi),%xmm4
-  .byte  15,40,190,153,67,0,0                // movaps        0x4399(%esi),%xmm7
+  .byte  15,89,166,200,75,0,0                // mulps         0x4bc8(%esi),%xmm4
+  .byte  15,84,182,216,75,0,0                // andps         0x4bd8(%esi),%xmm6
+  .byte  15,86,182,232,75,0,0                // orps          0x4be8(%esi),%xmm6
+  .byte  15,88,166,248,75,0,0                // addps         0x4bf8(%esi),%xmm4
+  .byte  15,40,190,8,76,0,0                  // movaps        0x4c08(%esi),%xmm7
   .byte  15,89,254                           // mulps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
-  .byte  15,88,182,169,67,0,0                // addps         0x43a9(%esi),%xmm6
-  .byte  15,40,190,185,67,0,0                // movaps        0x43b9(%esi),%xmm7
+  .byte  15,88,182,24,76,0,0                 // addps         0x4c18(%esi),%xmm6
+  .byte  15,40,190,40,76,0,0                 // movaps        0x4c28(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -45960,21 +50138,21 @@
   .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
-  .byte  15,40,174,201,67,0,0                // movaps        0x43c9(%esi),%xmm5
+  .byte  15,40,174,56,76,0,0                 // movaps        0x4c38(%esi),%xmm5
   .byte  15,84,253                           // andps         %xmm5,%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,92,254                           // subps         %xmm6,%xmm7
-  .byte  15,88,166,217,67,0,0                // addps         0x43d9(%esi),%xmm4
-  .byte  15,40,182,233,67,0,0                // movaps        0x43e9(%esi),%xmm6
+  .byte  15,88,166,72,76,0,0                 // addps         0x4c48(%esi),%xmm4
+  .byte  15,40,182,88,76,0,0                 // movaps        0x4c58(%esi),%xmm6
   .byte  15,89,247                           // mulps         %xmm7,%xmm6
   .byte  15,92,230                           // subps         %xmm6,%xmm4
-  .byte  15,40,182,249,67,0,0                // movaps        0x43f9(%esi),%xmm6
+  .byte  15,40,182,104,76,0,0                // movaps        0x4c68(%esi),%xmm6
   .byte  15,92,247                           // subps         %xmm7,%xmm6
-  .byte  15,40,190,9,68,0,0                  // movaps        0x4409(%esi),%xmm7
+  .byte  15,40,190,120,76,0,0                // movaps        0x4c78(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,88,252                           // addps         %xmm4,%xmm7
-  .byte  15,89,190,25,68,0,0                 // mulps         0x4419(%esi),%xmm7
+  .byte  15,89,190,136,76,0,0                // mulps         0x4c88(%esi),%xmm7
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
@@ -46028,7 +50206,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4459 <_sk_parametric_a_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          464a <_sk_parametric_a_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -46043,15 +50221,15 @@
   .byte  15,88,244                           // addps         %xmm4,%xmm6
   .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
   .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
-  .byte  15,89,166,199,66,0,0                // mulps         0x42c7(%esi),%xmm4
-  .byte  15,84,182,215,66,0,0                // andps         0x42d7(%esi),%xmm6
-  .byte  15,86,182,231,66,0,0                // orps          0x42e7(%esi),%xmm6
-  .byte  15,88,166,247,66,0,0                // addps         0x42f7(%esi),%xmm4
-  .byte  15,40,190,7,67,0,0                  // movaps        0x4307(%esi),%xmm7
+  .byte  15,89,166,54,75,0,0                 // mulps         0x4b36(%esi),%xmm4
+  .byte  15,84,182,70,75,0,0                 // andps         0x4b46(%esi),%xmm6
+  .byte  15,86,182,86,75,0,0                 // orps          0x4b56(%esi),%xmm6
+  .byte  15,88,166,102,75,0,0                // addps         0x4b66(%esi),%xmm4
+  .byte  15,40,190,118,75,0,0                // movaps        0x4b76(%esi),%xmm7
   .byte  15,89,254                           // mulps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
-  .byte  15,88,182,23,67,0,0                 // addps         0x4317(%esi),%xmm6
-  .byte  15,40,190,39,67,0,0                 // movaps        0x4327(%esi),%xmm7
+  .byte  15,88,182,134,75,0,0                // addps         0x4b86(%esi),%xmm6
+  .byte  15,40,190,150,75,0,0                // movaps        0x4b96(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,92,231                           // subps         %xmm7,%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -46059,21 +50237,21 @@
   .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
-  .byte  15,40,174,55,67,0,0                 // movaps        0x4337(%esi),%xmm5
+  .byte  15,40,174,166,75,0,0                // movaps        0x4ba6(%esi),%xmm5
   .byte  15,84,253                           // andps         %xmm5,%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,40,252                           // movaps        %xmm4,%xmm7
   .byte  15,92,254                           // subps         %xmm6,%xmm7
-  .byte  15,88,166,71,67,0,0                 // addps         0x4347(%esi),%xmm4
-  .byte  15,40,182,87,67,0,0                 // movaps        0x4357(%esi),%xmm6
+  .byte  15,88,166,182,75,0,0                // addps         0x4bb6(%esi),%xmm4
+  .byte  15,40,182,198,75,0,0                // movaps        0x4bc6(%esi),%xmm6
   .byte  15,89,247                           // mulps         %xmm7,%xmm6
   .byte  15,92,230                           // subps         %xmm6,%xmm4
-  .byte  15,40,182,103,67,0,0                // movaps        0x4367(%esi),%xmm6
+  .byte  15,40,182,214,75,0,0                // movaps        0x4bd6(%esi),%xmm6
   .byte  15,92,247                           // subps         %xmm7,%xmm6
-  .byte  15,40,190,119,67,0,0                // movaps        0x4377(%esi),%xmm7
+  .byte  15,40,190,230,75,0,0                // movaps        0x4be6(%esi),%xmm7
   .byte  15,94,254                           // divps         %xmm6,%xmm7
   .byte  15,88,252                           // addps         %xmm4,%xmm7
-  .byte  15,89,190,135,67,0,0                // mulps         0x4387(%esi),%xmm7
+  .byte  15,89,190,246,75,0,0                // mulps         0x4bf6(%esi),%xmm7
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
@@ -46130,31 +50308,31 @@
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
-  .byte  232,0,0,0,0                         // call          45c5 <_sk_lab_to_xyz_sse2+0x18>
+  .byte  232,0,0,0,0                         // call          47b6 <_sk_lab_to_xyz_sse2+0x18>
   .byte  88                                  // pop           %eax
-  .byte  15,89,144,43,66,0,0                 // mulps         0x422b(%eax),%xmm2
-  .byte  15,40,160,59,66,0,0                 // movaps        0x423b(%eax),%xmm4
+  .byte  15,89,144,154,74,0,0                // mulps         0x4a9a(%eax),%xmm2
+  .byte  15,40,160,170,74,0,0                // movaps        0x4aaa(%eax),%xmm4
   .byte  15,89,204                           // mulps         %xmm4,%xmm1
-  .byte  15,40,168,75,66,0,0                 // movaps        0x424b(%eax),%xmm5
+  .byte  15,40,168,186,74,0,0                // movaps        0x4aba(%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,91,66,0,0                 // addps         0x425b(%eax),%xmm2
-  .byte  15,89,144,107,66,0,0                // mulps         0x426b(%eax),%xmm2
-  .byte  15,89,136,123,66,0,0                // mulps         0x427b(%eax),%xmm1
+  .byte  15,88,144,202,74,0,0                // addps         0x4aca(%eax),%xmm2
+  .byte  15,89,144,218,74,0,0                // mulps         0x4ada(%eax),%xmm2
+  .byte  15,89,136,234,74,0,0                // mulps         0x4aea(%eax),%xmm1
   .byte  15,88,202                           // addps         %xmm2,%xmm1
-  .byte  15,89,152,139,66,0,0                // mulps         0x428b(%eax),%xmm3
+  .byte  15,89,152,250,74,0,0                // mulps         0x4afa(%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,155,66,0,0                // movaps        0x429b(%eax),%xmm3
+  .byte  15,40,152,10,75,0,0                 // movaps        0x4b0a(%eax),%xmm3
   .byte  15,40,227                           // movaps        %xmm3,%xmm4
   .byte  15,194,224,1                        // cmpltps       %xmm0,%xmm4
-  .byte  15,40,176,171,66,0,0                // movaps        0x42ab(%eax),%xmm6
+  .byte  15,40,176,26,75,0,0                 // movaps        0x4b1a(%eax),%xmm6
   .byte  15,88,206                           // addps         %xmm6,%xmm1
-  .byte  15,40,184,187,66,0,0                // movaps        0x42bb(%eax),%xmm7
+  .byte  15,40,184,42,75,0,0                 // movaps        0x4b2a(%eax),%xmm7
   .byte  15,89,207                           // mulps         %xmm7,%xmm1
   .byte  15,84,196                           // andps         %xmm4,%xmm0
   .byte  15,85,225                           // andnps        %xmm1,%xmm4
@@ -46186,8 +50364,8 @@
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
   .byte  15,86,216                           // orps          %xmm0,%xmm3
   .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
-  .byte  15,89,160,203,66,0,0                // mulps         0x42cb(%eax),%xmm4
-  .byte  15,89,152,219,66,0,0                // mulps         0x42db(%eax),%xmm3
+  .byte  15,89,160,58,75,0,0                 // mulps         0x4b3a(%eax),%xmm4
+  .byte  15,89,152,74,75,0,0                 // mulps         0x4b4a(%eax),%xmm3
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  141,88,4                            // lea           0x4(%eax),%ebx
   .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
@@ -46220,7 +50398,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          46f4 <_sk_load_a8_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          48e5 <_sk_load_a8_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
   .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
@@ -46233,13 +50411,13 @@
   .byte  139,9                               // mov           (%ecx),%ecx
   .byte  133,210                             // test          %edx,%edx
   .byte  139,93,16                           // mov           0x10(%ebp),%ebx
-  .byte  117,98                              // jne           477c <_sk_load_a8_sse2+0x96>
+  .byte  117,98                              // jne           496d <_sk_load_a8_sse2+0x96>
   .byte  102,15,110,28,25                    // movd          (%ecx,%ebx,1),%xmm3
   .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
   .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
-  .byte  102,15,219,158,188,65,0,0           // pand          0x41bc(%esi),%xmm3
+  .byte  102,15,219,158,43,74,0,0            // pand          0x4a2b(%esi),%xmm3
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,158,204,65,0,0                // mulps         0x41cc(%esi),%xmm3
+  .byte  15,89,158,59,74,0,0                 // mulps         0x4a3b(%esi),%xmm3
   .byte  141,72,8                            // lea           0x8(%eax),%ecx
   .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
   .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
@@ -46264,13 +50442,13 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,61                              // je            47c6 <_sk_load_a8_sse2+0xe0>
+  .byte  116,61                              // je            49b7 <_sk_load_a8_sse2+0xe0>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,23                              // je            47ad <_sk_load_a8_sse2+0xc7>
+  .byte  116,23                              // je            499e <_sk_load_a8_sse2+0xc7>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  117,139                             // jne           4727 <_sk_load_a8_sse2+0x41>
+  .byte  117,139                             // jne           4918 <_sk_load_a8_sse2+0x41>
   .byte  15,182,124,25,2                     // movzbl        0x2(%ecx,%ebx,1),%edi
   .byte  102,15,110,223                      // movd          %edi,%xmm3
   .byte  139,125,20                          // mov           0x14(%ebp),%edi
@@ -46280,11 +50458,81 @@
   .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
   .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
   .byte  242,15,16,221                       // movsd         %xmm5,%xmm3
-  .byte  233,97,255,255,255                  // jmp           4727 <_sk_load_a8_sse2+0x41>
+  .byte  233,97,255,255,255                  // jmp           4918 <_sk_load_a8_sse2+0x41>
   .byte  15,182,12,25                        // movzbl        (%ecx,%ebx,1),%ecx
   .byte  102,15,110,217                      // movd          %ecx,%xmm3
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,81,255,255,255                  // jmp           4727 <_sk_load_a8_sse2+0x41>
+  .byte  233,81,255,255,255                  // jmp           4918 <_sk_load_a8_sse2+0x41>
+
+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,108                         // sub           $0x6c,%esp
+  .byte  232,0,0,0,0                         // call          49d5 <_sk_load_a8_dst_sse2+0xe>
+  .byte  91                                  // pop           %ebx
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  117,94                              // jne           4a48 <_sk_load_a8_dst_sse2+0x81>
+  .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,163,91,73,0,0            // pand          0x495b(%ebx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
+  .byte  15,89,163,107,73,0,0                // mulps         0x496b(%ebx),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  102,15,41,108,36,64                 // movapd        %xmm5,0x40(%esp)
+  .byte  102,15,41,108,36,48                 // movapd        %xmm5,0x30(%esp)
+  .byte  102,15,41,108,36,32                 // movapd        %xmm5,0x20(%esp)
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .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  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%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  136,85,243                          // mov           %dl,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,61                              // je            4a92 <_sk_load_a8_dst_sse2+0xcb>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  116,23                              // je            4a79 <_sk_load_a8_dst_sse2+0xb2>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  117,143                             // jne           49f7 <_sk_load_a8_dst_sse2+0x30>
+  .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,12,57                        // movzwl        (%ecx,%edi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%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,101,255,255,255                 // jmp           49f7 <_sk_load_a8_dst_sse2+0x30>
+  .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  233,85,255,255,255                  // jmp           49f7 <_sk_load_a8_dst_sse2+0x30>
 
 HIDDEN _sk_gather_a8_sse2
 .globl _sk_gather_a8_sse2
@@ -46323,7 +50571,7 @@
   .byte  102,15,126,206                      // movd          %xmm1,%esi
   .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
   .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
-  .byte  232,0,0,0,0                         // call          4850 <_sk_gather_a8_sse2+0x7a>
+  .byte  232,0,0,0,0                         // call          4b1c <_sk_gather_a8_sse2+0x7a>
   .byte  94                                  // pop           %esi
   .byte  193,226,8                           // shl           $0x8,%edx
   .byte  9,202                               // or            %ecx,%edx
@@ -46336,7 +50584,7 @@
   .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,158,128,64,0,0                // mulps         0x4080(%esi),%xmm3
+  .byte  15,89,158,52,72,0,0                 // mulps         0x4834(%esi),%xmm3
   .byte  139,117,24                          // mov           0x18(%ebp),%esi
   .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
   .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
@@ -46373,7 +50621,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
-  .byte  232,0,0,0,0                         // call          48e1 <_sk_store_a8_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          4bad <_sk_store_a8_sse2+0x11>
   .byte  89                                  // pop           %ecx
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
@@ -46382,7 +50630,7 @@
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  139,48                              // mov           (%eax),%esi
   .byte  139,30                              // mov           (%esi),%ebx
-  .byte  15,40,161,255,63,0,0                // movaps        0x3fff(%ecx),%xmm4
+  .byte  15,40,161,179,71,0,0                // movaps        0x47b3(%ecx),%xmm4
   .byte  15,89,227                           // mulps         %xmm3,%xmm4
   .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
   .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
@@ -46393,7 +50641,7 @@
   .byte  133,255                             // test          %edi,%edi
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
   .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
-  .byte  117,70                              // jne           496a <_sk_store_a8_sse2+0x9a>
+  .byte  117,70                              // jne           4c36 <_sk_store_a8_sse2+0x9a>
   .byte  102,15,126,225                      // movd          %xmm4,%ecx
   .byte  137,12,59                           // mov           %ecx,(%ebx,%edi,1)
   .byte  141,72,8                            // lea           0x8(%eax),%ecx
@@ -46420,30 +50668,30 @@
   .byte  137,240                             // mov           %esi,%eax
   .byte  36,3                                // and           $0x3,%al
   .byte  60,1                                // cmp           $0x1,%al
-  .byte  116,69                              // je            49bf <_sk_store_a8_sse2+0xef>
+  .byte  116,69                              // je            4c8b <_sk_store_a8_sse2+0xef>
   .byte  136,69,243                          // mov           %al,-0xd(%ebp)
   .byte  60,2                                // cmp           $0x2,%al
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
-  .byte  116,21                              // je            4999 <_sk_store_a8_sse2+0xc9>
+  .byte  116,21                              // je            4c65 <_sk_store_a8_sse2+0xc9>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  117,161                             // jne           492b <_sk_store_a8_sse2+0x5b>
+  .byte  117,161                             // jne           4bf7 <_sk_store_a8_sse2+0x5b>
   .byte  102,15,127,101,200                  // movdqa        %xmm4,-0x38(%ebp)
   .byte  138,85,208                          // mov           -0x30(%ebp),%dl
   .byte  136,84,59,2                         // mov           %dl,0x2(%ebx,%edi,1)
   .byte  139,85,20                           // mov           0x14(%ebp),%edx
   .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
-  .byte  102,15,219,161,15,64,0,0            // pand          0x400f(%ecx),%xmm4
+  .byte  102,15,219,161,195,71,0,0           // pand          0x47c3(%ecx),%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,225                      // movd          %xmm4,%ecx
   .byte  102,137,12,59                       // mov           %cx,(%ebx,%edi,1)
-  .byte  233,108,255,255,255                 // jmp           492b <_sk_store_a8_sse2+0x5b>
+  .byte  233,108,255,255,255                 // jmp           4bf7 <_sk_store_a8_sse2+0x5b>
   .byte  102,15,127,101,216                  // movdqa        %xmm4,-0x28(%ebp)
   .byte  138,77,216                          // mov           -0x28(%ebp),%cl
   .byte  136,12,59                           // mov           %cl,(%ebx,%edi,1)
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
-  .byte  233,89,255,255,255                  // jmp           492b <_sk_store_a8_sse2+0x5b>
+  .byte  233,89,255,255,255                  // jmp           4bf7 <_sk_store_a8_sse2+0x5b>
 
 HIDDEN _sk_load_g8_sse2
 .globl _sk_load_g8_sse2
@@ -46455,7 +50703,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          49e0 <_sk_load_g8_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          4cac <_sk_load_g8_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
   .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
@@ -46468,13 +50716,13 @@
   .byte  139,18                              // mov           (%edx),%edx
   .byte  133,219                             // test          %ebx,%ebx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
-  .byte  117,100                             // jne           4a69 <_sk_load_g8_sse2+0x97>
+  .byte  117,100                             // jne           4d35 <_sk_load_g8_sse2+0x97>
   .byte  102,15,110,4,58                     // movd          (%edx,%edi,1),%xmm0
   .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
-  .byte  102,15,219,128,32,63,0,0            // pand          0x3f20(%eax),%xmm0
+  .byte  102,15,219,128,212,70,0,0           // pand          0x46d4(%eax),%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,128,48,63,0,0                 // mulps         0x3f30(%eax),%xmm0
+  .byte  15,89,128,228,70,0,0                // mulps         0x46e4(%eax),%xmm0
   .byte  141,81,8                            // lea           0x8(%ecx),%edx
   .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
   .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
@@ -46486,7 +50734,7 @@
   .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
   .byte  137,20,36                           // mov           %edx,(%esp)
-  .byte  15,40,152,64,63,0,0                 // movaps        0x3f40(%eax),%xmm3
+  .byte  15,40,152,244,70,0,0                // movaps        0x46f4(%eax),%xmm3
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  255,81,4                            // call          *0x4(%ecx)
@@ -46499,13 +50747,13 @@
   .byte  136,93,243                          // mov           %bl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,61                              // je            4ab3 <_sk_load_g8_sse2+0xe1>
+  .byte  116,61                              // je            4d7f <_sk_load_g8_sse2+0xe1>
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
-  .byte  116,23                              // je            4a9a <_sk_load_g8_sse2+0xc8>
+  .byte  116,23                              // je            4d66 <_sk_load_g8_sse2+0xc8>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  117,137                             // jne           4a12 <_sk_load_g8_sse2+0x40>
+  .byte  117,137                             // jne           4cde <_sk_load_g8_sse2+0x40>
   .byte  15,182,116,58,2                     // movzbl        0x2(%edx,%edi,1),%esi
   .byte  102,15,110,198                      // movd          %esi,%xmm0
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -46515,11 +50763,81 @@
   .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
   .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
   .byte  242,15,16,197                       // movsd         %xmm5,%xmm0
-  .byte  233,95,255,255,255                  // jmp           4a12 <_sk_load_g8_sse2+0x40>
+  .byte  233,95,255,255,255                  // jmp           4cde <_sk_load_g8_sse2+0x40>
   .byte  15,182,20,58                        // movzbl        (%edx,%edi,1),%edx
   .byte  102,15,110,194                      // movd          %edx,%xmm0
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
-  .byte  233,79,255,255,255                  // jmp           4a12 <_sk_load_g8_sse2+0x40>
+  .byte  233,79,255,255,255                  // jmp           4cde <_sk_load_g8_sse2+0x40>
+
+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,108                         // sub           $0x6c,%esp
+  .byte  232,0,0,0,0                         // call          4d9d <_sk_load_g8_dst_sse2+0xe>
+  .byte  94                                  // pop           %esi
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
+  .byte  117,94                              // jne           4e10 <_sk_load_g8_dst_sse2+0x81>
+  .byte  102,15,110,36,25                    // movd          (%ecx,%ebx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,166,19,70,0,0            // pand          0x4613(%esi),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,166,35,70,0,0                 // mulps         0x4623(%esi),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,174,51,70,0,0                 // movaps        0x4633(%esi),%xmm5
+  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,92,36,8                         // mov           %ebx,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,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%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  136,85,243                          // mov           %dl,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,61                              // je            4e5a <_sk_load_g8_dst_sse2+0xcb>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  116,23                              // je            4e41 <_sk_load_g8_dst_sse2+0xb2>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  117,143                             // jne           4dbf <_sk_load_g8_dst_sse2+0x30>
+  .byte  15,182,124,25,2                     // movzbl        0x2(%ecx,%ebx,1),%edi
+  .byte  102,15,110,231                      // movd          %edi,%xmm4
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,12,25                        // movzwl        (%ecx,%ebx,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%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,101,255,255,255                 // jmp           4dbf <_sk_load_g8_dst_sse2+0x30>
+  .byte  15,182,12,25                        // movzbl        (%ecx,%ebx,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  233,85,255,255,255                  // jmp           4dbf <_sk_load_g8_dst_sse2+0x30>
 
 HIDDEN _sk_gather_g8_sse2
 .globl _sk_gather_g8_sse2
@@ -46558,7 +50876,7 @@
   .byte  102,15,126,206                      // movd          %xmm1,%esi
   .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
   .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
-  .byte  232,0,0,0,0                         // call          4b3d <_sk_gather_g8_sse2+0x7a>
+  .byte  232,0,0,0,0                         // call          4ee4 <_sk_gather_g8_sse2+0x7a>
   .byte  94                                  // pop           %esi
   .byte  193,226,8                           // shl           $0x8,%edx
   .byte  9,202                               // or            %ecx,%edx
@@ -46574,7 +50892,7 @@
   .byte  102,15,96,197                       // punpcklbw     %xmm5,%xmm0
   .byte  102,15,97,197                       // punpcklwd     %xmm5,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,134,243,61,0,0                // mulps         0x3df3(%esi),%xmm0
+  .byte  15,89,134,252,68,0,0                // mulps         0x44fc(%esi),%xmm0
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
   .byte  137,193                             // mov           %eax,%ecx
   .byte  141,65,8                            // lea           0x8(%ecx),%eax
@@ -46588,7 +50906,7 @@
   .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,158,3,62,0,0                  // movaps        0x3e03(%esi),%xmm3
+  .byte  15,40,158,12,69,0,0                 // movaps        0x450c(%esi),%xmm3
   .byte  15,40,200                           // movaps        %xmm0,%xmm1
   .byte  15,40,208                           // movaps        %xmm0,%xmm2
   .byte  255,81,4                            // call          *0x4(%ecx)
@@ -46609,7 +50927,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4bd1 <_sk_gather_i8_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          4f78 <_sk_gather_i8_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  137,69,240                          // mov           %eax,-0x10(%ebp)
   .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
@@ -46617,10 +50935,10 @@
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  139,16                              // mov           (%eax),%edx
   .byte  133,210                             // test          %edx,%edx
-  .byte  116,7                               // je            4bed <_sk_gather_i8_sse2+0x2a>
+  .byte  116,7                               // je            4f94 <_sk_gather_i8_sse2+0x2a>
   .byte  131,192,4                           // add           $0x4,%eax
   .byte  137,209                             // mov           %edx,%ecx
-  .byte  235,6                               // jmp           4bf3 <_sk_gather_i8_sse2+0x30>
+  .byte  235,6                               // jmp           4f9a <_sk_gather_i8_sse2+0x30>
   .byte  139,72,4                            // mov           0x4(%eax),%ecx
   .byte  131,192,8                           // add           $0x8,%eax
   .byte  139,49                              // mov           (%ecx),%esi
@@ -46671,11 +50989,11 @@
   .byte  102,15,98,232                       // punpckldq     %xmm0,%xmm5
   .byte  102,15,98,233                       // punpckldq     %xmm1,%xmm5
   .byte  139,77,240                          // mov           -0x10(%ebp),%ecx
-  .byte  102,15,111,145,127,61,0,0           // movdqa        0x3d7f(%ecx),%xmm2
+  .byte  102,15,111,145,136,68,0,0           // movdqa        0x4488(%ecx),%xmm2
   .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,40,161,143,61,0,0                // movaps        0x3d8f(%ecx),%xmm4
+  .byte  15,40,161,152,68,0,0                // movaps        0x4498(%ecx),%xmm4
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
   .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
   .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
@@ -46724,7 +51042,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4d5e <_sk_load_565_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          5105 <_sk_load_565_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
@@ -46737,20 +51055,20 @@
   .byte  139,18                              // mov           (%edx),%edx
   .byte  133,219                             // test          %ebx,%ebx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
-  .byte  15,133,134,0,0,0                    // jne           4e0d <_sk_load_565_sse2+0xbd>
+  .byte  15,133,134,0,0,0                    // jne           51b4 <_sk_load_565_sse2+0xbd>
   .byte  243,15,126,20,122                   // movq          (%edx,%edi,2),%xmm2
   .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
-  .byte  102,15,111,128,18,60,0,0            // movdqa        0x3c12(%eax),%xmm0
+  .byte  102,15,111,128,27,67,0,0            // movdqa        0x431b(%eax),%xmm0
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,128,34,60,0,0                 // mulps         0x3c22(%eax),%xmm0
-  .byte  102,15,111,136,50,60,0,0            // movdqa        0x3c32(%eax),%xmm1
+  .byte  15,89,128,43,67,0,0                 // mulps         0x432b(%eax),%xmm0
+  .byte  102,15,111,136,59,67,0,0            // movdqa        0x433b(%eax),%xmm1
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,136,66,60,0,0                 // mulps         0x3c42(%eax),%xmm1
-  .byte  102,15,219,144,82,60,0,0            // pand          0x3c52(%eax),%xmm2
+  .byte  15,89,136,75,67,0,0                 // mulps         0x434b(%eax),%xmm1
+  .byte  102,15,219,144,91,67,0,0            // pand          0x435b(%eax),%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,144,98,60,0,0                 // mulps         0x3c62(%eax),%xmm2
+  .byte  15,89,144,107,67,0,0                // mulps         0x436b(%eax),%xmm2
   .byte  141,81,8                            // lea           0x8(%ecx),%edx
   .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
   .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
@@ -46762,7 +51080,7 @@
   .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
   .byte  137,20,36                           // mov           %edx,(%esp)
-  .byte  15,40,152,114,60,0,0                // movaps        0x3c72(%eax),%xmm3
+  .byte  15,40,152,123,67,0,0                // movaps        0x437b(%eax),%xmm3
   .byte  255,81,4                            // call          *0x4(%ecx)
   .byte  131,196,108                         // add           $0x6c,%esp
   .byte  94                                  // pop           %esi
@@ -46773,13 +51091,13 @@
   .byte  136,93,243                          // mov           %bl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,58                              // je            4e54 <_sk_load_565_sse2+0x104>
+  .byte  116,58                              // je            51fb <_sk_load_565_sse2+0x104>
   .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
-  .byte  116,27                              // je            4e42 <_sk_load_565_sse2+0xf2>
+  .byte  116,27                              // je            51e9 <_sk_load_565_sse2+0xf2>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  15,133,95,255,255,255               // jne           4d90 <_sk_load_565_sse2+0x40>
+  .byte  15,133,95,255,255,255               // jne           5137 <_sk_load_565_sse2+0x40>
   .byte  15,183,116,122,4                    // movzwl        0x4(%edx,%edi,2),%esi
   .byte  102,15,110,198                      // movd          %esi,%xmm0
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
@@ -46787,11 +51105,86 @@
   .byte  102,15,110,4,122                    // movd          (%edx,%edi,2),%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
   .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
-  .byte  233,60,255,255,255                  // jmp           4d90 <_sk_load_565_sse2+0x40>
+  .byte  233,60,255,255,255                  // jmp           5137 <_sk_load_565_sse2+0x40>
   .byte  15,183,20,122                       // movzwl        (%edx,%edi,2),%edx
   .byte  102,15,110,210                      // movd          %edx,%xmm2
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
-  .byte  233,44,255,255,255                  // jmp           4d90 <_sk_load_565_sse2+0x40>
+  .byte  233,44,255,255,255                  // jmp           5137 <_sk_load_565_sse2+0x40>
+
+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,108                         // sub           $0x6c,%esp
+  .byte  232,0,0,0,0                         // call          5219 <_sk_load_565_dst_sse2+0xe>
+  .byte  94                                  // pop           %esi
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
+  .byte  15,133,134,0,0,0                    // jne           52b8 <_sk_load_565_dst_sse2+0xad>
+  .byte  243,15,126,36,89                    // movq          (%ecx,%ebx,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,111,174,119,66,0,0           // movdqa        0x4277(%esi),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,174,135,66,0,0                // mulps         0x4287(%esi),%xmm5
+  .byte  102,15,111,182,151,66,0,0           // movdqa        0x4297(%esi),%xmm6
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,182,167,66,0,0                // mulps         0x42a7(%esi),%xmm6
+  .byte  102,15,219,166,183,66,0,0           // pand          0x42b7(%esi),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,166,199,66,0,0                // mulps         0x42c7(%esi),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,190,215,66,0,0                // movaps        0x42d7(%esi),%xmm7
+  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,92,36,8                         // mov           %ebx,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,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  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  136,85,243                          // mov           %dl,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,58                              // je            52ff <_sk_load_565_dst_sse2+0xf4>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  116,27                              // je            52ed <_sk_load_565_dst_sse2+0xe2>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  15,133,95,255,255,255               // jne           523b <_sk_load_565_dst_sse2+0x30>
+  .byte  15,183,124,89,4                     // movzwl        0x4(%ecx,%ebx,2),%edi
+  .byte  102,15,110,231                      // movd          %edi,%xmm4
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,110,44,89                    // movd          (%ecx,%ebx,2),%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,60,255,255,255                  // jmp           523b <_sk_load_565_dst_sse2+0x30>
+  .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  233,44,255,255,255                  // jmp           523b <_sk_load_565_dst_sse2+0x30>
 
 HIDDEN _sk_gather_565_sse2
 .globl _sk_gather_565_sse2
@@ -46803,7 +51196,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4e72 <_sk_gather_565_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          531d <_sk_gather_565_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,85,12                           // mov           0xc(%ebp),%edx
   .byte  139,50                              // mov           (%edx),%esi
@@ -46840,17 +51233,17 @@
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
-  .byte  102,15,111,128,110,59,0,0           // movdqa        0x3b6e(%eax),%xmm0
+  .byte  102,15,111,128,227,65,0,0           // movdqa        0x41e3(%eax),%xmm0
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,128,126,59,0,0                // mulps         0x3b7e(%eax),%xmm0
-  .byte  102,15,111,136,142,59,0,0           // movdqa        0x3b8e(%eax),%xmm1
+  .byte  15,89,128,243,65,0,0                // mulps         0x41f3(%eax),%xmm0
+  .byte  102,15,111,136,3,66,0,0             // movdqa        0x4203(%eax),%xmm1
   .byte  102,15,219,202                      // pand          %xmm2,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,136,158,59,0,0                // mulps         0x3b9e(%eax),%xmm1
-  .byte  102,15,219,144,174,59,0,0           // pand          0x3bae(%eax),%xmm2
+  .byte  15,89,136,19,66,0,0                 // mulps         0x4213(%eax),%xmm1
+  .byte  102,15,219,144,35,66,0,0            // pand          0x4223(%eax),%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,144,190,59,0,0                // mulps         0x3bbe(%eax),%xmm2
+  .byte  15,89,144,51,66,0,0                 // mulps         0x4233(%eax),%xmm2
   .byte  139,93,24                           // mov           0x18(%ebp),%ebx
   .byte  141,74,8                            // lea           0x8(%edx),%ecx
   .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
@@ -46863,7 +51256,7 @@
   .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,152,206,59,0,0                // movaps        0x3bce(%eax),%xmm3
+  .byte  15,40,152,67,66,0,0                 // movaps        0x4243(%eax),%xmm3
   .byte  255,82,4                            // call          *0x4(%edx)
   .byte  131,196,108                         // add           $0x6c,%esp
   .byte  94                                  // pop           %esi
@@ -46882,14 +51275,14 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          4f94 <_sk_store_565_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          543f <_sk_store_565_sse2+0xe>
   .byte  88                                  // pop           %eax
-  .byte  15,40,160,188,58,0,0                // movaps        0x3abc(%eax),%xmm4
+  .byte  15,40,160,49,65,0,0                 // movaps        0x4131(%eax),%xmm4
   .byte  15,40,232                           // movaps        %xmm0,%xmm5
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
   .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
   .byte  102,15,114,245,11                   // pslld         $0xb,%xmm5
-  .byte  15,40,176,204,58,0,0                // movaps        0x3acc(%eax),%xmm6
+  .byte  15,40,176,65,65,0,0                 // movaps        0x4141(%eax),%xmm6
   .byte  15,89,241                           // mulps         %xmm1,%xmm6
   .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
   .byte  102,15,114,246,5                    // pslld         $0x5,%xmm6
@@ -46911,7 +51304,7 @@
   .byte  133,219                             // test          %ebx,%ebx
   .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
-  .byte  117,82                              // jne           5055 <_sk_store_565_sse2+0xcf>
+  .byte  117,82                              // jne           5500 <_sk_store_565_sse2+0xcf>
   .byte  102,15,126,226                      // movd          %xmm4,%edx
   .byte  102,15,126,238                      // movd          %xmm5,%esi
   .byte  137,20,79                           // mov           %edx,(%edi,%ecx,2)
@@ -46942,20 +51335,20 @@
   .byte  137,218                             // mov           %ebx,%edx
   .byte  128,226,3                           // and           $0x3,%dl
   .byte  128,250,1                           // cmp           $0x1,%dl
-  .byte  116,37                              // je            508d <_sk_store_565_sse2+0x107>
+  .byte  116,37                              // je            5538 <_sk_store_565_sse2+0x107>
   .byte  128,250,2                           // cmp           $0x2,%dl
-  .byte  116,15                              // je            507c <_sk_store_565_sse2+0xf6>
+  .byte  116,15                              // je            5527 <_sk_store_565_sse2+0xf6>
   .byte  128,250,3                           // cmp           $0x3,%dl
-  .byte  117,160                             // jne           5012 <_sk_store_565_sse2+0x8c>
+  .byte  117,160                             // jne           54bd <_sk_store_565_sse2+0x8c>
   .byte  102,15,197,212,4                    // pextrw        $0x4,%xmm4,%edx
   .byte  102,137,84,79,4                     // mov           %dx,0x4(%edi,%ecx,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,79                    // movd          %xmm4,(%edi,%ecx,2)
-  .byte  235,133                             // jmp           5012 <_sk_store_565_sse2+0x8c>
+  .byte  235,133                             // jmp           54bd <_sk_store_565_sse2+0x8c>
   .byte  102,15,126,226                      // movd          %xmm4,%edx
   .byte  102,137,20,79                       // mov           %dx,(%edi,%ecx,2)
-  .byte  233,120,255,255,255                 // jmp           5012 <_sk_store_565_sse2+0x8c>
+  .byte  233,120,255,255,255                 // jmp           54bd <_sk_store_565_sse2+0x8c>
 
 HIDDEN _sk_load_4444_sse2
 .globl _sk_load_4444_sse2
@@ -46967,7 +51360,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          50a8 <_sk_load_4444_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          5553 <_sk_load_4444_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
   .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
@@ -46980,24 +51373,24 @@
   .byte  139,9                               // mov           (%ecx),%ecx
   .byte  133,210                             // test          %edx,%edx
   .byte  139,93,16                           // mov           0x10(%ebp),%ebx
-  .byte  15,133,149,0,0,0                    // jne           5166 <_sk_load_4444_sse2+0xcc>
+  .byte  15,133,149,0,0,0                    // jne           5611 <_sk_load_4444_sse2+0xcc>
   .byte  243,15,126,28,89                    // movq          (%ecx,%ebx,2),%xmm3
   .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
-  .byte  102,15,111,134,200,57,0,0           // movdqa        0x39c8(%esi),%xmm0
+  .byte  102,15,111,134,61,64,0,0            // movdqa        0x403d(%esi),%xmm0
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,134,216,57,0,0                // mulps         0x39d8(%esi),%xmm0
-  .byte  102,15,111,142,232,57,0,0           // movdqa        0x39e8(%esi),%xmm1
+  .byte  15,89,134,77,64,0,0                 // mulps         0x404d(%esi),%xmm0
+  .byte  102,15,111,142,93,64,0,0            // movdqa        0x405d(%esi),%xmm1
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,142,248,57,0,0                // mulps         0x39f8(%esi),%xmm1
-  .byte  102,15,111,150,8,58,0,0             // movdqa        0x3a08(%esi),%xmm2
+  .byte  15,89,142,109,64,0,0                // mulps         0x406d(%esi),%xmm1
+  .byte  102,15,111,150,125,64,0,0           // movdqa        0x407d(%esi),%xmm2
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,150,24,58,0,0                 // mulps         0x3a18(%esi),%xmm2
-  .byte  102,15,219,158,40,58,0,0            // pand          0x3a28(%esi),%xmm3
+  .byte  15,89,150,141,64,0,0                // mulps         0x408d(%esi),%xmm2
+  .byte  102,15,219,158,157,64,0,0           // pand          0x409d(%esi),%xmm3
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,158,56,58,0,0                 // mulps         0x3a38(%esi),%xmm3
+  .byte  15,89,158,173,64,0,0                // mulps         0x40ad(%esi),%xmm3
   .byte  141,72,8                            // lea           0x8(%eax),%ecx
   .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
   .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
@@ -47019,13 +51412,13 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,58                              // je            51ad <_sk_load_4444_sse2+0x113>
+  .byte  116,58                              // je            5658 <_sk_load_4444_sse2+0x113>
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,27                              // je            519b <_sk_load_4444_sse2+0x101>
+  .byte  116,27                              // je            5646 <_sk_load_4444_sse2+0x101>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  15,133,80,255,255,255               // jne           50da <_sk_load_4444_sse2+0x40>
+  .byte  15,133,80,255,255,255               // jne           5585 <_sk_load_4444_sse2+0x40>
   .byte  15,183,124,89,4                     // movzwl        0x4(%ecx,%ebx,2),%edi
   .byte  102,15,110,199                      // movd          %edi,%xmm0
   .byte  139,125,20                          // mov           0x14(%ebp),%edi
@@ -47033,11 +51426,89 @@
   .byte  102,15,110,4,89                     // movd          (%ecx,%ebx,2),%xmm0
   .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
   .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
-  .byte  233,45,255,255,255                  // jmp           50da <_sk_load_4444_sse2+0x40>
+  .byte  233,45,255,255,255                  // jmp           5585 <_sk_load_4444_sse2+0x40>
   .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
   .byte  102,15,110,217                      // movd          %ecx,%xmm3
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,29,255,255,255                  // jmp           50da <_sk_load_4444_sse2+0x40>
+  .byte  233,29,255,255,255                  // jmp           5585 <_sk_load_4444_sse2+0x40>
+
+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,108                         // sub           $0x6c,%esp
+  .byte  232,0,0,0,0                         // call          5676 <_sk_load_4444_dst_sse2+0xe>
+  .byte  95                                  // pop           %edi
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
+  .byte  15,133,149,0,0,0                    // jne           5724 <_sk_load_4444_dst_sse2+0xbc>
+  .byte  243,15,126,36,89                    // movq          (%ecx,%ebx,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,111,175,154,63,0,0           // movdqa        0x3f9a(%edi),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,175,170,63,0,0                // mulps         0x3faa(%edi),%xmm5
+  .byte  102,15,111,183,186,63,0,0           // movdqa        0x3fba(%edi),%xmm6
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,183,202,63,0,0                // mulps         0x3fca(%edi),%xmm6
+  .byte  102,15,111,191,218,63,0,0           // movdqa        0x3fda(%edi),%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,191,234,63,0,0                // mulps         0x3fea(%edi),%xmm7
+  .byte  102,15,219,167,250,63,0,0           // pand          0x3ffa(%edi),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,167,10,64,0,0                 // mulps         0x400a(%edi),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,92,36,8                         // mov           %ebx,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,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
+  .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  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  136,85,243                          // mov           %dl,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,58                              // je            576b <_sk_load_4444_dst_sse2+0x103>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  116,27                              // je            5759 <_sk_load_4444_dst_sse2+0xf1>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  15,133,80,255,255,255               // jne           5698 <_sk_load_4444_dst_sse2+0x30>
+  .byte  15,183,116,89,4                     // movzwl        0x4(%ecx,%ebx,2),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,110,44,89                    // movd          (%ecx,%ebx,2),%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,45,255,255,255                  // jmp           5698 <_sk_load_4444_dst_sse2+0x30>
+  .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  233,29,255,255,255                  // jmp           5698 <_sk_load_4444_dst_sse2+0x30>
 
 HIDDEN _sk_gather_4444_sse2
 .globl _sk_gather_4444_sse2
@@ -47049,7 +51520,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          51cb <_sk_gather_4444_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          5789 <_sk_gather_4444_sse2+0xe>
   .byte  90                                  // pop           %edx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,12                           // mov           0xc(%ebp),%ecx
@@ -47083,21 +51554,21 @@
   .byte  139,125,20                          // mov           0x14(%ebp),%edi
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
   .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
-  .byte  102,15,111,130,37,57,0,0            // movdqa        0x3925(%edx),%xmm0
+  .byte  102,15,111,130,7,63,0,0             // movdqa        0x3f07(%edx),%xmm0
   .byte  102,15,219,195                      // pand          %xmm3,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,89,130,53,57,0,0                 // mulps         0x3935(%edx),%xmm0
-  .byte  102,15,111,138,69,57,0,0            // movdqa        0x3945(%edx),%xmm1
+  .byte  15,89,130,23,63,0,0                 // mulps         0x3f17(%edx),%xmm0
+  .byte  102,15,111,138,39,63,0,0            // movdqa        0x3f27(%edx),%xmm1
   .byte  102,15,219,203                      // pand          %xmm3,%xmm1
   .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
-  .byte  15,89,138,85,57,0,0                 // mulps         0x3955(%edx),%xmm1
-  .byte  102,15,111,146,101,57,0,0           // movdqa        0x3965(%edx),%xmm2
+  .byte  15,89,138,55,63,0,0                 // mulps         0x3f37(%edx),%xmm1
+  .byte  102,15,111,146,71,63,0,0            // movdqa        0x3f47(%edx),%xmm2
   .byte  102,15,219,211                      // pand          %xmm3,%xmm2
   .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
-  .byte  15,89,146,117,57,0,0                // mulps         0x3975(%edx),%xmm2
-  .byte  102,15,219,154,133,57,0,0           // pand          0x3985(%edx),%xmm3
+  .byte  15,89,146,87,63,0,0                 // mulps         0x3f57(%edx),%xmm2
+  .byte  102,15,219,154,103,63,0,0           // pand          0x3f67(%edx),%xmm3
   .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
-  .byte  15,89,154,149,57,0,0                // mulps         0x3995(%edx),%xmm3
+  .byte  15,89,154,119,63,0,0                // mulps         0x3f77(%edx),%xmm3
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
   .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
@@ -47131,9 +51602,9 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          52fc <_sk_store_4444_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          58ba <_sk_store_4444_sse2+0xe>
   .byte  88                                  // pop           %eax
-  .byte  15,40,160,116,56,0,0                // movaps        0x3874(%eax),%xmm4
+  .byte  15,40,160,86,62,0,0                 // movaps        0x3e56(%eax),%xmm4
   .byte  15,40,232                           // movaps        %xmm0,%xmm5
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
   .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
@@ -47165,7 +51636,7 @@
   .byte  133,219                             // test          %ebx,%ebx
   .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
-  .byte  117,82                              // jne           53cc <_sk_store_4444_sse2+0xde>
+  .byte  117,82                              // jne           598a <_sk_store_4444_sse2+0xde>
   .byte  102,15,126,226                      // movd          %xmm4,%edx
   .byte  102,15,126,238                      // movd          %xmm5,%esi
   .byte  137,20,79                           // mov           %edx,(%edi,%ecx,2)
@@ -47196,20 +51667,20 @@
   .byte  137,218                             // mov           %ebx,%edx
   .byte  128,226,3                           // and           $0x3,%dl
   .byte  128,250,1                           // cmp           $0x1,%dl
-  .byte  116,37                              // je            5404 <_sk_store_4444_sse2+0x116>
+  .byte  116,37                              // je            59c2 <_sk_store_4444_sse2+0x116>
   .byte  128,250,2                           // cmp           $0x2,%dl
-  .byte  116,15                              // je            53f3 <_sk_store_4444_sse2+0x105>
+  .byte  116,15                              // je            59b1 <_sk_store_4444_sse2+0x105>
   .byte  128,250,3                           // cmp           $0x3,%dl
-  .byte  117,160                             // jne           5389 <_sk_store_4444_sse2+0x9b>
+  .byte  117,160                             // jne           5947 <_sk_store_4444_sse2+0x9b>
   .byte  102,15,197,212,4                    // pextrw        $0x4,%xmm4,%edx
   .byte  102,137,84,79,4                     // mov           %dx,0x4(%edi,%ecx,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,79                    // movd          %xmm4,(%edi,%ecx,2)
-  .byte  235,133                             // jmp           5389 <_sk_store_4444_sse2+0x9b>
+  .byte  235,133                             // jmp           5947 <_sk_store_4444_sse2+0x9b>
   .byte  102,15,126,226                      // movd          %xmm4,%edx
   .byte  102,137,20,79                       // mov           %dx,(%edi,%ecx,2)
-  .byte  233,120,255,255,255                 // jmp           5389 <_sk_store_4444_sse2+0x9b>
+  .byte  233,120,255,255,255                 // jmp           5947 <_sk_store_4444_sse2+0x9b>
 
 HIDDEN _sk_load_8888_sse2
 .globl _sk_load_8888_sse2
@@ -47221,7 +51692,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          541f <_sk_load_8888_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          59dd <_sk_load_8888_sse2+0xe>
   .byte  91                                  // pop           %ebx
   .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
   .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
@@ -47232,13 +51703,13 @@
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
   .byte  139,117,8                           // mov           0x8(%ebp),%esi
-  .byte  15,133,147,0,0,0                    // jne           54d3 <_sk_load_8888_sse2+0xc2>
+  .byte  15,133,147,0,0,0                    // jne           5a91 <_sk_load_8888_sse2+0xc2>
   .byte  243,15,111,44,185                   // movdqu        (%ecx,%edi,4),%xmm5
-  .byte  102,15,111,147,97,55,0,0            // movdqa        0x3761(%ebx),%xmm2
+  .byte  102,15,111,147,67,61,0,0            // movdqa        0x3d43(%ebx),%xmm2
   .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
   .byte  102,15,219,194                      // pand          %xmm2,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,40,163,113,55,0,0                // movaps        0x3771(%ebx),%xmm4
+  .byte  15,40,163,83,61,0,0                 // movaps        0x3d53(%ebx),%xmm4
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
   .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
   .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
@@ -47276,20 +51747,100 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,44                              // je            550c <_sk_load_8888_sse2+0xfb>
+  .byte  116,44                              // je            5aca <_sk_load_8888_sse2+0xfb>
   .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  116,21                              // je            5502 <_sk_load_8888_sse2+0xf1>
+  .byte  116,21                              // je            5ac0 <_sk_load_8888_sse2+0xf1>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  15,133,78,255,255,255               // jne           5445 <_sk_load_8888_sse2+0x34>
+  .byte  15,133,78,255,255,255               // jne           5a03 <_sk_load_8888_sse2+0x34>
   .byte  102,15,110,68,185,8                 // movd          0x8(%ecx,%edi,4),%xmm0
   .byte  102,15,112,232,69                   // pshufd        $0x45,%xmm0,%xmm5
   .byte  102,15,18,44,185                    // movlpd        (%ecx,%edi,4),%xmm5
-  .byte  233,57,255,255,255                  // jmp           5445 <_sk_load_8888_sse2+0x34>
+  .byte  233,57,255,255,255                  // jmp           5a03 <_sk_load_8888_sse2+0x34>
   .byte  102,15,110,44,185                   // movd          (%ecx,%edi,4),%xmm5
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
-  .byte  233,44,255,255,255                  // jmp           5445 <_sk_load_8888_sse2+0x34>
+  .byte  233,44,255,255,255                  // jmp           5a03 <_sk_load_8888_sse2+0x34>
+
+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  129,236,140,0,0,0                   // sub           $0x8c,%esp
+  .byte  102,15,127,93,200                   // movdqa        %xmm3,-0x38(%ebp)
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  232,0,0,0,0                         // call          5af1 <_sk_load_8888_dst_sse2+0x1a>
+  .byte  91                                  // pop           %ebx
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  139,117,8                           // mov           0x8(%ebp),%esi
+  .byte  15,133,150,0,0,0                    // jne           5ba0 <_sk_load_8888_dst_sse2+0xc9>
+  .byte  243,15,111,28,185                   // movdqu        (%ecx,%edi,4),%xmm3
+  .byte  102,15,111,147,79,60,0,0            // movdqa        0x3c4f(%ebx),%xmm2
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,219,242                      // pand          %xmm2,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,187,95,60,0,0                 // movaps        0x3c5f(%ebx),%xmm7
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,114,212,8                    // psrld         $0x8,%xmm4
+  .byte  102,15,219,226                      // pand          %xmm2,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .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,215                           // mulps         %xmm7,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .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,52,36                           // mov           %esi,(%esp)
+  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,40,93,200                        // movaps        -0x38(%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  136,85,243                          // mov           %dl,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,44                              // je            5bd9 <_sk_load_8888_dst_sse2+0x102>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  116,21                              // je            5bcf <_sk_load_8888_dst_sse2+0xf8>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  15,133,75,255,255,255               // jne           5b0f <_sk_load_8888_dst_sse2+0x38>
+  .byte  102,15,110,100,185,8                // movd          0x8(%ecx,%edi,4),%xmm4
+  .byte  102,15,112,220,69                   // pshufd        $0x45,%xmm4,%xmm3
+  .byte  102,15,18,28,185                    // movlpd        (%ecx,%edi,4),%xmm3
+  .byte  233,54,255,255,255                  // jmp           5b0f <_sk_load_8888_dst_sse2+0x38>
+  .byte  102,15,110,28,185                   // movd          (%ecx,%edi,4),%xmm3
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  233,41,255,255,255                  // jmp           5b0f <_sk_load_8888_dst_sse2+0x38>
 
 HIDDEN _sk_gather_8888_sse2
 .globl _sk_gather_8888_sse2
@@ -47301,7 +51852,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          5527 <_sk_gather_8888_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          5bf4 <_sk_gather_8888_sse2+0xe>
   .byte  90                                  // pop           %edx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,12                           // mov           0xc(%ebp),%ecx
@@ -47331,8 +51882,8 @@
   .byte  102,15,110,4,183                    // movd          (%edi,%esi,4),%xmm0
   .byte  139,117,16                          // mov           0x10(%ebp),%esi
   .byte  139,125,20                          // mov           0x14(%ebp),%edi
-  .byte  102,15,111,162,121,54,0,0           // movdqa        0x3679(%edx),%xmm4
-  .byte  15,40,170,137,54,0,0                // movaps        0x3689(%edx),%xmm5
+  .byte  102,15,111,162,108,59,0,0           // movdqa        0x3b6c(%edx),%xmm4
+  .byte  15,40,170,124,59,0,0                // movaps        0x3b7c(%edx),%xmm5
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
   .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
@@ -47386,9 +51937,9 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          564c <_sk_store_8888_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          5d19 <_sk_store_8888_sse2+0xe>
   .byte  88                                  // pop           %eax
-  .byte  15,40,160,116,53,0,0                // movaps        0x3574(%eax),%xmm4
+  .byte  15,40,160,103,58,0,0                // movaps        0x3a67(%eax),%xmm4
   .byte  15,40,232                           // movaps        %xmm0,%xmm5
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
   .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
@@ -47417,7 +51968,7 @@
   .byte  133,219                             // test          %ebx,%ebx
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
   .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
-  .byte  117,62                              // jne           56f5 <_sk_store_8888_sse2+0xb7>
+  .byte  117,62                              // jne           5dc2 <_sk_store_8888_sse2+0xb7>
   .byte  243,15,127,36,143                   // movdqu        %xmm4,(%edi,%ecx,4)
   .byte  141,120,8                           // lea           0x8(%eax),%edi
   .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
@@ -47441,20 +51992,20 @@
   .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
   .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
   .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
-  .byte  116,37                              // je            5729 <_sk_store_8888_sse2+0xeb>
+  .byte  116,37                              // je            5df6 <_sk_store_8888_sse2+0xeb>
   .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
-  .byte  116,21                              // je            5722 <_sk_store_8888_sse2+0xe4>
+  .byte  116,21                              // je            5def <_sk_store_8888_sse2+0xe4>
   .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
-  .byte  117,169                             // jne           56bc <_sk_store_8888_sse2+0x7e>
+  .byte  117,169                             // jne           5d89 <_sk_store_8888_sse2+0x7e>
   .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
   .byte  102,15,126,108,143,8                // movd          %xmm5,0x8(%edi,%ecx,4)
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
   .byte  102,15,214,36,143                   // movq          %xmm4,(%edi,%ecx,4)
-  .byte  235,147                             // jmp           56bc <_sk_store_8888_sse2+0x7e>
+  .byte  235,147                             // jmp           5d89 <_sk_store_8888_sse2+0x7e>
   .byte  102,15,126,36,143                   // movd          %xmm4,(%edi,%ecx,4)
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
-  .byte  235,137                             // jmp           56bc <_sk_store_8888_sse2+0x7e>
+  .byte  235,137                             // jmp           5d89 <_sk_store_8888_sse2+0x7e>
 
 HIDDEN _sk_load_f16_sse2
 .globl _sk_load_f16_sse2
@@ -47466,7 +52017,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
-  .byte  232,0,0,0,0                         // call          5744 <_sk_load_f16_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          5e11 <_sk_load_f16_sse2+0x11>
   .byte  91                                  // pop           %ebx
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
@@ -47475,7 +52026,7 @@
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
   .byte  139,117,8                           // mov           0x8(%ebp),%esi
-  .byte  15,133,220,1,0,0                    // jne           5939 <_sk_load_f16_sse2+0x206>
+  .byte  15,133,220,1,0,0                    // jne           6006 <_sk_load_f16_sse2+0x206>
   .byte  102,15,16,4,249                     // movupd        (%ecx,%edi,8),%xmm0
   .byte  243,15,111,76,249,16                // movdqu        0x10(%ecx,%edi,8),%xmm1
   .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
@@ -47503,7 +52054,7 @@
   .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,97,243                       // punpcklwd     %xmm3,%xmm6
-  .byte  102,15,111,171,140,52,0,0           // movdqa        0x348c(%ebx),%xmm5
+  .byte  102,15,111,171,127,57,0,0           // movdqa        0x397f(%ebx),%xmm5
   .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
   .byte  102,15,219,213                      // pand          %xmm5,%xmm2
   .byte  102,15,239,242                      // pxor          %xmm2,%xmm6
@@ -47537,15 +52088,15 @@
   .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
   .byte  102,15,114,240,13                   // pslld         $0xd,%xmm0
   .byte  102,15,235,197                      // por           %xmm5,%xmm0
-  .byte  102,15,111,155,156,52,0,0           // movdqa        0x349c(%ebx),%xmm3
+  .byte  102,15,111,155,143,57,0,0           // movdqa        0x398f(%ebx),%xmm3
   .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
   .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
   .byte  102,15,254,227                      // paddd         %xmm3,%xmm4
   .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
-  .byte  102,15,111,155,172,52,0,0           // movdqa        0x34ac(%ebx),%xmm3
+  .byte  102,15,111,155,159,57,0,0           // movdqa        0x399f(%ebx),%xmm3
   .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
   .byte  102,15,239,243                      // pxor          %xmm3,%xmm6
-  .byte  102,15,111,155,188,52,0,0           // movdqa        0x34bc(%ebx),%xmm3
+  .byte  102,15,111,155,175,57,0,0           // movdqa        0x39af(%ebx),%xmm3
   .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
   .byte  102,15,102,238                      // pcmpgtd       %xmm6,%xmm5
   .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
@@ -47588,12 +52139,155 @@
   .byte  242,15,16,4,249                     // movsd         (%ecx,%edi,8),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  131,250,1                           // cmp           $0x1,%edx
-  .byte  15,132,29,254,255,255               // je            5768 <_sk_load_f16_sse2+0x35>
+  .byte  15,132,29,254,255,255               // je            5e35 <_sk_load_f16_sse2+0x35>
   .byte  102,15,22,68,249,8                  // movhpd        0x8(%ecx,%edi,8),%xmm0
   .byte  131,250,3                           // cmp           $0x3,%edx
-  .byte  15,130,14,254,255,255               // jb            5768 <_sk_load_f16_sse2+0x35>
+  .byte  15,130,14,254,255,255               // jb            5e35 <_sk_load_f16_sse2+0x35>
   .byte  243,15,126,76,249,16                // movq          0x10(%ecx,%edi,8),%xmm1
-  .byte  233,3,254,255,255                   // jmp           5768 <_sk_load_f16_sse2+0x35>
+  .byte  233,3,254,255,255                   // jmp           5e35 <_sk_load_f16_sse2+0x35>
+
+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  129,236,252,0,0,0                   // sub           $0xfc,%esp
+  .byte  15,41,157,88,255,255,255            // movaps        %xmm3,-0xa8(%ebp)
+  .byte  102,15,127,149,104,255,255,255      // movdqa        %xmm2,-0x98(%ebp)
+  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
+  .byte  102,15,127,69,136                   // movdqa        %xmm0,-0x78(%ebp)
+  .byte  232,0,0,0,0                         // call          605e <_sk_load_f16_dst_sse2+0x2c>
+  .byte  91                                  // pop           %ebx
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  133,210                             // test          %edx,%edx
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  139,117,8                           // mov           0x8(%ebp),%esi
+  .byte  15,133,233,1,0,0                    // jne           6260 <_sk_load_f16_dst_sse2+0x22e>
+  .byte  102,15,16,12,249                    // movupd        (%ecx,%edi,8),%xmm1
+  .byte  243,15,111,68,249,16                // movdqu        0x10(%ecx,%edi,8),%xmm0
+  .byte  102,15,40,217                       // movapd        %xmm1,%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,105,200                      // punpckhwd     %xmm0,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  102,15,105,217                      // punpckhwd     %xmm1,%xmm3
+  .byte  102,15,126,69,208                   // movd          %xmm0,-0x30(%ebp)
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,77,212                   // movd          %xmm1,-0x2c(%ebp)
+  .byte  243,15,126,117,208                  // movq          -0x30(%ebp),%xmm6
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,77,220                   // movd          %xmm1,-0x24(%ebp)
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,15,126,69,216                   // movd          %xmm0,-0x28(%ebp)
+  .byte  243,15,126,109,216                  // movq          -0x28(%ebp),%xmm5
+  .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  243,15,126,77,224                   // movq          -0x20(%ebp),%xmm1
+  .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,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,111,155,114,55,0,0           // movdqa        0x3772(%ebx),%xmm3
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,239,240                      // pxor          %xmm0,%xmm6
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,114,247,13                   // pslld         $0xd,%xmm7
+  .byte  102,15,235,248                      // por           %xmm0,%xmm7
+  .byte  102,15,97,236                       // punpcklwd     %xmm4,%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,239,232                      // pxor          %xmm0,%xmm5
+  .byte  102,15,127,109,152                  // movdqa        %xmm5,-0x68(%ebp)
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
+  .byte  102,15,235,232                      // por           %xmm0,%xmm5
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
+  .byte  102,15,127,77,168                   // movdqa        %xmm1,-0x58(%ebp)
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,114,244,13                   // pslld         $0xd,%xmm4
+  .byte  102,15,235,224                      // por           %xmm0,%xmm4
+  .byte  243,15,126,77,232                   // movq          -0x18(%ebp),%xmm1
+  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
+  .byte  102,15,219,217                      // pand          %xmm1,%xmm3
+  .byte  102,15,239,203                      // pxor          %xmm3,%xmm1
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,15,111,155,130,55,0,0           // movdqa        0x3782(%ebx),%xmm3
+  .byte  102,15,254,251                      // paddd         %xmm3,%xmm7
+  .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
+  .byte  102,15,254,227                      // paddd         %xmm3,%xmm4
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  102,15,111,131,146,55,0,0           // movdqa        0x3792(%ebx),%xmm0
+  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
+  .byte  102,15,239,240                      // pxor          %xmm0,%xmm6
+  .byte  102,15,111,131,162,55,0,0           // movdqa        0x37a2(%ebx),%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,102,222                      // pcmpgtd       %xmm6,%xmm3
+  .byte  102,15,223,223                      // pandn         %xmm7,%xmm3
+  .byte  102,15,111,125,152                  // movdqa        -0x68(%ebp),%xmm7
+  .byte  102,15,239,125,184                  // pxor          -0x48(%ebp),%xmm7
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,102,247                      // pcmpgtd       %xmm7,%xmm6
+  .byte  102,15,223,245                      // pandn         %xmm5,%xmm6
+  .byte  102,15,111,125,168                  // movdqa        -0x58(%ebp),%xmm7
+  .byte  102,15,239,125,184                  // pxor          -0x48(%ebp),%xmm7
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,102,239                      // pcmpgtd       %xmm7,%xmm5
+  .byte  102,15,223,236                      // pandn         %xmm4,%xmm5
+  .byte  102,15,239,77,184                   // pxor          -0x48(%ebp),%xmm1
+  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
+  .byte  102,15,223,194                      // pandn         %xmm2,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .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,52,36                           // mov           %esi,(%esp)
+  .byte  102,15,127,68,36,80                 // movdqa        %xmm0,0x50(%esp)
+  .byte  102,15,127,108,36,64                // movdqa        %xmm5,0x40(%esp)
+  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
+  .byte  102,15,127,92,36,32                 // movdqa        %xmm3,0x20(%esp)
+  .byte  15,40,69,136                        // movaps        -0x78(%ebp),%xmm0
+  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
+  .byte  15,40,149,104,255,255,255           // movaps        -0x98(%ebp),%xmm2
+  .byte  15,40,157,88,255,255,255            // movaps        -0xa8(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,252,0,0,0                   // add           $0xfc,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  242,15,16,12,249                    // movsd         (%ecx,%edi,8),%xmm1
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  131,250,1                           // cmp           $0x1,%edx
+  .byte  15,132,16,254,255,255               // je            6082 <_sk_load_f16_dst_sse2+0x50>
+  .byte  102,15,22,76,249,8                  // movhpd        0x8(%ecx,%edi,8),%xmm1
+  .byte  131,250,3                           // cmp           $0x3,%edx
+  .byte  15,130,1,254,255,255                // jb            6082 <_sk_load_f16_dst_sse2+0x50>
+  .byte  243,15,126,68,249,16                // movq          0x10(%ecx,%edi,8),%xmm0
+  .byte  233,246,253,255,255                 // jmp           6082 <_sk_load_f16_dst_sse2+0x50>
 
 HIDDEN _sk_gather_f16_sse2
 .globl _sk_gather_f16_sse2
@@ -47605,7 +52299,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,204,0,0,0                   // sub           $0xcc,%esp
-  .byte  232,0,0,0,0                         // call          5976 <_sk_gather_f16_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          629d <_sk_gather_f16_sse2+0x11>
   .byte  89                                  // pop           %ecx
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  139,48                              // mov           (%eax),%esi
@@ -47668,7 +52362,7 @@
   .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
   .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
   .byte  102,15,97,235                       // punpcklwd     %xmm3,%xmm5
-  .byte  102,15,111,161,154,50,0,0           // movdqa        0x329a(%ecx),%xmm4
+  .byte  102,15,111,161,115,53,0,0           // movdqa        0x3573(%ecx),%xmm4
   .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
   .byte  102,15,219,196                      // pand          %xmm4,%xmm0
   .byte  102,15,239,232                      // pxor          %xmm0,%xmm5
@@ -47702,16 +52396,16 @@
   .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
   .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
   .byte  102,15,235,204                      // por           %xmm4,%xmm1
-  .byte  102,15,111,153,170,50,0,0           // movdqa        0x32aa(%ecx),%xmm3
+  .byte  102,15,111,153,131,53,0,0           // movdqa        0x3583(%ecx),%xmm3
   .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
   .byte  102,15,254,243                      // paddd         %xmm3,%xmm6
   .byte  102,15,254,251                      // paddd         %xmm3,%xmm7
   .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
-  .byte  102,15,111,153,186,50,0,0           // movdqa        0x32ba(%ecx),%xmm3
+  .byte  102,15,111,153,147,53,0,0           // movdqa        0x3593(%ecx),%xmm3
   .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
   .byte  102,15,111,85,136                   // movdqa        -0x78(%ebp),%xmm2
   .byte  102,15,239,211                      // pxor          %xmm3,%xmm2
-  .byte  102,15,111,153,202,50,0,0           // movdqa        0x32ca(%ecx),%xmm3
+  .byte  102,15,111,153,163,53,0,0           // movdqa        0x35a3(%ecx),%xmm3
   .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
   .byte  102,15,102,226                      // pcmpgtd       %xmm2,%xmm4
   .byte  102,15,223,229                      // pandn         %xmm5,%xmm4
@@ -47768,20 +52462,20 @@
   .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
   .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
   .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
-  .byte  232,0,0,0,0                         // call          5c13 <_sk_store_f16_sse2+0x19>
+  .byte  232,0,0,0,0                         // call          653a <_sk_store_f16_sse2+0x19>
   .byte  88                                  // pop           %eax
-  .byte  102,15,111,176,61,48,0,0            // movdqa        0x303d(%eax),%xmm6
+  .byte  102,15,111,176,22,51,0,0            // movdqa        0x3316(%eax),%xmm6
   .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
   .byte  102,15,219,214                      // pand          %xmm6,%xmm2
   .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
   .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
   .byte  102,15,239,234                      // pxor          %xmm2,%xmm5
-  .byte  102,15,111,160,77,48,0,0            // movdqa        0x304d(%eax),%xmm4
+  .byte  102,15,111,160,38,51,0,0            // movdqa        0x3326(%eax),%xmm4
   .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
   .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
   .byte  102,15,102,197                      // pcmpgtd       %xmm5,%xmm0
   .byte  102,15,114,213,13                   // psrld         $0xd,%xmm5
-  .byte  102,15,111,152,93,48,0,0            // movdqa        0x305d(%eax),%xmm3
+  .byte  102,15,111,152,54,51,0,0            // movdqa        0x3336(%eax),%xmm3
   .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
   .byte  102,15,254,213                      // paddd         %xmm5,%xmm2
   .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
@@ -47846,7 +52540,7 @@
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
   .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
   .byte  102,15,98,205                       // punpckldq     %xmm5,%xmm1
-  .byte  117,82                              // jne           5daf <_sk_store_f16_sse2+0x1b5>
+  .byte  117,82                              // jne           66d6 <_sk_store_f16_sse2+0x1b5>
   .byte  15,17,12,203                        // movups        %xmm1,(%ebx,%ecx,8)
   .byte  102,15,106,197                      // punpckhdq     %xmm5,%xmm0
   .byte  243,15,127,68,203,16                // movdqu        %xmm0,0x10(%ebx,%ecx,8)
@@ -47872,13 +52566,13 @@
   .byte  195                                 // ret
   .byte  102,15,214,12,203                   // movq          %xmm1,(%ebx,%ecx,8)
   .byte  131,255,1                           // cmp           $0x1,%edi
-  .byte  116,178                             // je            5d6b <_sk_store_f16_sse2+0x171>
+  .byte  116,178                             // je            6692 <_sk_store_f16_sse2+0x171>
   .byte  102,15,23,76,203,8                  // movhpd        %xmm1,0x8(%ebx,%ecx,8)
   .byte  131,255,3                           // cmp           $0x3,%edi
-  .byte  114,167                             // jb            5d6b <_sk_store_f16_sse2+0x171>
+  .byte  114,167                             // jb            6692 <_sk_store_f16_sse2+0x171>
   .byte  102,15,106,197                      // punpckhdq     %xmm5,%xmm0
   .byte  102,15,214,68,203,16                // movq          %xmm0,0x10(%ebx,%ecx,8)
-  .byte  235,155                             // jmp           5d6b <_sk_store_f16_sse2+0x171>
+  .byte  235,155                             // jmp           6692 <_sk_store_f16_sse2+0x171>
 
 HIDDEN _sk_load_u16_be_sse2
 .globl _sk_load_u16_be_sse2
@@ -47890,7 +52584,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
-  .byte  232,0,0,0,0                         // call          5de1 <_sk_load_u16_be_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          6708 <_sk_load_u16_be_sse2+0x11>
   .byte  91                                  // pop           %ebx
   .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
   .byte  139,85,24                           // mov           0x18(%ebp),%edx
@@ -47900,7 +52594,7 @@
   .byte  133,210                             // test          %edx,%edx
   .byte  139,125,16                          // mov           0x10(%ebp),%edi
   .byte  141,52,189,0,0,0,0                  // lea           0x0(,%edi,4),%esi
-  .byte  15,133,66,1,0,0                     // jne           5f44 <_sk_load_u16_be_sse2+0x174>
+  .byte  15,133,66,1,0,0                     // jne           686b <_sk_load_u16_be_sse2+0x174>
   .byte  102,15,16,4,113                     // movupd        (%ecx,%esi,2),%xmm0
   .byte  243,15,111,76,113,16                // movdqu        0x10(%ecx,%esi,2),%xmm1
   .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
@@ -47921,7 +52615,7 @@
   .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,163,159,46,0,0                // movaps        0x2e9f(%ebx),%xmm4
+  .byte  15,40,163,120,49,0,0                // movaps        0x3178(%ebx),%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
@@ -47982,12 +52676,12 @@
   .byte  242,15,16,4,113                     // movsd         (%ecx,%esi,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  131,250,1                           // cmp           $0x1,%edx
-  .byte  15,132,183,254,255,255              // je            5e0d <_sk_load_u16_be_sse2+0x3d>
+  .byte  15,132,183,254,255,255              // je            6734 <_sk_load_u16_be_sse2+0x3d>
   .byte  102,15,22,68,113,8                  // movhpd        0x8(%ecx,%esi,2),%xmm0
   .byte  131,250,3                           // cmp           $0x3,%edx
-  .byte  15,130,168,254,255,255              // jb            5e0d <_sk_load_u16_be_sse2+0x3d>
+  .byte  15,130,168,254,255,255              // jb            6734 <_sk_load_u16_be_sse2+0x3d>
   .byte  243,15,126,76,113,16                // movq          0x10(%ecx,%esi,2),%xmm1
-  .byte  233,157,254,255,255                 // jmp           5e0d <_sk_load_u16_be_sse2+0x3d>
+  .byte  233,157,254,255,255                 // jmp           6734 <_sk_load_u16_be_sse2+0x3d>
 
 HIDDEN _sk_load_rgb_u16_be_sse2
 .globl _sk_load_rgb_u16_be_sse2
@@ -47999,7 +52693,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,124                         // sub           $0x7c,%esp
-  .byte  232,0,0,0,0                         // call          5f7e <_sk_load_rgb_u16_be_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          68a5 <_sk_load_rgb_u16_be_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
@@ -48010,7 +52704,7 @@
   .byte  133,246                             // test          %esi,%esi
   .byte  139,93,16                           // mov           0x10(%ebp),%ebx
   .byte  141,60,91                           // lea           (%ebx,%ebx,2),%edi
-  .byte  15,133,32,1,0,0                     // jne           60bf <_sk_load_rgb_u16_be_sse2+0x14f>
+  .byte  15,133,32,1,0,0                     // jne           69e6 <_sk_load_rgb_u16_be_sse2+0x14f>
   .byte  243,15,111,20,122                   // movdqu        (%edx,%edi,2),%xmm2
   .byte  243,15,111,124,122,8                // movdqu        0x8(%edx,%edi,2),%xmm7
   .byte  102,15,115,223,4                    // psrldq        $0x4,%xmm7
@@ -48035,7 +52729,7 @@
   .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
   .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
   .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
-  .byte  15,40,160,18,45,0,0                 // movaps        0x2d12(%eax),%xmm4
+  .byte  15,40,160,235,47,0,0                // movaps        0x2feb(%eax),%xmm4
   .byte  15,89,196                           // mulps         %xmm4,%xmm0
   .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
   .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
@@ -48073,7 +52767,7 @@
   .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
   .byte  139,85,8                            // mov           0x8(%ebp),%edx
   .byte  137,20,36                           // mov           %edx,(%esp)
-  .byte  15,40,152,34,45,0,0                 // movaps        0x2d22(%eax),%xmm3
+  .byte  15,40,152,251,47,0,0                // movaps        0x2ffb(%eax),%xmm3
   .byte  255,81,4                            // call          *0x4(%ecx)
   .byte  131,196,124                         // add           $0x7c,%esp
   .byte  94                                  // pop           %esi
@@ -48085,20 +52779,20 @@
   .byte  102,15,196,84,122,4,2               // pinsrw        $0x2,0x4(%edx,%edi,2),%xmm2
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  131,254,1                           // cmp           $0x1,%esi
-  .byte  117,13                              // jne           60e1 <_sk_load_rgb_u16_be_sse2+0x171>
+  .byte  117,13                              // jne           6a08 <_sk_load_rgb_u16_be_sse2+0x171>
   .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
   .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
-  .byte  233,224,254,255,255                 // jmp           5fc1 <_sk_load_rgb_u16_be_sse2+0x51>
+  .byte  233,224,254,255,255                 // jmp           68e8 <_sk_load_rgb_u16_be_sse2+0x51>
   .byte  102,15,110,68,122,6                 // movd          0x6(%edx,%edi,2),%xmm0
   .byte  102,15,196,68,122,10,2              // pinsrw        $0x2,0xa(%edx,%edi,2),%xmm0
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  131,254,3                           // cmp           $0x3,%esi
-  .byte  114,18                              // jb            6109 <_sk_load_rgb_u16_be_sse2+0x199>
+  .byte  114,18                              // jb            6a30 <_sk_load_rgb_u16_be_sse2+0x199>
   .byte  102,15,110,124,122,12               // movd          0xc(%edx,%edi,2),%xmm7
   .byte  102,15,196,124,122,16,2             // pinsrw        $0x2,0x10(%edx,%edi,2),%xmm7
-  .byte  233,184,254,255,255                 // jmp           5fc1 <_sk_load_rgb_u16_be_sse2+0x51>
+  .byte  233,184,254,255,255                 // jmp           68e8 <_sk_load_rgb_u16_be_sse2+0x51>
   .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
-  .byte  233,175,254,255,255                 // jmp           5fc1 <_sk_load_rgb_u16_be_sse2+0x51>
+  .byte  233,175,254,255,255                 // jmp           68e8 <_sk_load_rgb_u16_be_sse2+0x51>
 
 HIDDEN _sk_store_u16_be_sse2
 .globl _sk_store_u16_be_sse2
@@ -48111,9 +52805,9 @@
   .byte  86                                  // push          %esi
   .byte  131,236,124                         // sub           $0x7c,%esp
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
-  .byte  232,0,0,0,0                         // call          6124 <_sk_store_u16_be_sse2+0x12>
+  .byte  232,0,0,0,0                         // call          6a4b <_sk_store_u16_be_sse2+0x12>
   .byte  88                                  // pop           %eax
-  .byte  15,40,176,140,43,0,0                // movaps        0x2b8c(%eax),%xmm6
+  .byte  15,40,176,101,46,0,0                // movaps        0x2e65(%eax),%xmm6
   .byte  15,40,224                           // movaps        %xmm0,%xmm4
   .byte  15,89,230                           // mulps         %xmm6,%xmm4
   .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
@@ -48167,7 +52861,7 @@
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
   .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
   .byte  102,15,98,221                       // punpckldq     %xmm5,%xmm3
-  .byte  117,82                              // jne           6257 <_sk_store_u16_be_sse2+0x145>
+  .byte  117,82                              // jne           6b7e <_sk_store_u16_be_sse2+0x145>
   .byte  15,17,28,83                         // movups        %xmm3,(%ebx,%edx,2)
   .byte  102,15,106,229                      // punpckhdq     %xmm5,%xmm4
   .byte  243,15,127,100,83,16                // movdqu        %xmm4,0x10(%ebx,%edx,2)
@@ -48194,13 +52888,13 @@
   .byte  195                                 // ret
   .byte  102,15,214,28,83                    // movq          %xmm3,(%ebx,%edx,2)
   .byte  131,255,1                           // cmp           $0x1,%edi
-  .byte  116,178                             // je            6213 <_sk_store_u16_be_sse2+0x101>
+  .byte  116,178                             // je            6b3a <_sk_store_u16_be_sse2+0x101>
   .byte  102,15,23,92,83,8                   // movhpd        %xmm3,0x8(%ebx,%edx,2)
   .byte  131,255,3                           // cmp           $0x3,%edi
-  .byte  114,167                             // jb            6213 <_sk_store_u16_be_sse2+0x101>
+  .byte  114,167                             // jb            6b3a <_sk_store_u16_be_sse2+0x101>
   .byte  102,15,106,229                      // punpckhdq     %xmm5,%xmm4
   .byte  102,15,214,100,83,16                // movq          %xmm4,0x10(%ebx,%edx,2)
-  .byte  235,155                             // jmp           6213 <_sk_store_u16_be_sse2+0x101>
+  .byte  235,155                             // jmp           6b3a <_sk_store_u16_be_sse2+0x101>
 
 HIDDEN _sk_load_f32_sse2
 .globl _sk_load_f32_sse2
@@ -48225,7 +52919,7 @@
   .byte  139,125,20                          // mov           0x14(%ebp),%edi
   .byte  133,210                             // test          %edx,%edx
   .byte  141,52,141,0,0,0,0                  // lea           0x0(,%ecx,4),%esi
-  .byte  117,117                             // jne           6322 <_sk_load_f32_sse2+0xaa>
+  .byte  117,117                             // jne           6c49 <_sk_load_f32_sse2+0xaa>
   .byte  15,16,84,179,16                     // movups        0x10(%ebx,%esi,4),%xmm2
   .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
   .byte  15,16,68,179,48                     // movups        0x30(%ebx,%esi,4),%xmm0
@@ -48263,17 +52957,90 @@
   .byte  195                                 // ret
   .byte  15,87,192                           // xorps         %xmm0,%xmm0
   .byte  131,250,1                           // cmp           $0x1,%edx
-  .byte  117,8                               // jne           6332 <_sk_load_f32_sse2+0xba>
+  .byte  117,8                               // jne           6c59 <_sk_load_f32_sse2+0xba>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
   .byte  15,87,210                           // xorps         %xmm2,%xmm2
-  .byte  235,138                             // jmp           62bc <_sk_load_f32_sse2+0x44>
+  .byte  235,138                             // jmp           6be3 <_sk_load_f32_sse2+0x44>
   .byte  15,16,84,179,16                     // movups        0x10(%ebx,%esi,4),%xmm2
   .byte  131,250,3                           // cmp           $0x3,%edx
-  .byte  114,10                              // jb            6346 <_sk_load_f32_sse2+0xce>
+  .byte  114,10                              // jb            6c6d <_sk_load_f32_sse2+0xce>
   .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
-  .byte  233,118,255,255,255                 // jmp           62bc <_sk_load_f32_sse2+0x44>
+  .byte  233,118,255,255,255                 // jmp           6be3 <_sk_load_f32_sse2+0x44>
   .byte  15,87,219                           // xorps         %xmm3,%xmm3
-  .byte  233,110,255,255,255                 // jmp           62bc <_sk_load_f32_sse2+0x44>
+  .byte  233,110,255,255,255                 // jmp           6be3 <_sk_load_f32_sse2+0x44>
+
+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  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  139,85,24                           // mov           0x18(%ebp),%edx
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,30                              // mov           (%esi),%ebx
+  .byte  137,206                             // mov           %ecx,%esi
+  .byte  193,230,4                           // shl           $0x4,%esi
+  .byte  15,16,52,51                         // movups        (%ebx,%esi,1),%xmm6
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  133,210                             // test          %edx,%edx
+  .byte  141,52,141,0,0,0,0                  // lea           0x0(,%ecx,4),%esi
+  .byte  117,122                             // jne           6d27 <_sk_load_f32_dst_sse2+0xb2>
+  .byte  15,16,124,179,16                    // movups        0x10(%ebx,%esi,4),%xmm7
+  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
+  .byte  15,16,84,179,48                     // movups        0x30(%ebx,%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  141,112,8                           // lea           0x8(%eax),%esi
+  .byte  137,84,36,16                        // mov           %edx,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  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
+  .byte  102,15,41,100,36,64                 // movapd        %xmm4,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  102,15,41,84,36,32                  // movapd        %xmm2,0x20(%esp)
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,40,93,200                        // movaps        -0x38(%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  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  131,250,1                           // cmp           $0x1,%edx
+  .byte  117,8                               // jne           6d37 <_sk_load_f32_dst_sse2+0xc2>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,133                             // jmp           6cbc <_sk_load_f32_dst_sse2+0x47>
+  .byte  15,16,124,179,16                    // movups        0x10(%ebx,%esi,4),%xmm7
+  .byte  131,250,3                           // cmp           $0x3,%edx
+  .byte  114,10                              // jb            6d4b <_sk_load_f32_dst_sse2+0xd6>
+  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
+  .byte  233,113,255,255,255                 // jmp           6cbc <_sk_load_f32_dst_sse2+0x47>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  233,105,255,255,255                 // jmp           6cbc <_sk_load_f32_dst_sse2+0x47>
 
 HIDDEN _sk_store_f32_sse2
 .globl _sk_store_f32_sse2
@@ -48310,7 +53077,7 @@
   .byte  133,210                             // test          %edx,%edx
   .byte  139,93,8                            // mov           0x8(%ebp),%ebx
   .byte  141,60,141,0,0,0,0                  // lea           0x0(,%ecx,4),%edi
-  .byte  117,99                              // jne           640b <_sk_store_f32_sse2+0xbd>
+  .byte  117,99                              // jne           6e10 <_sk_store_f32_sse2+0xbd>
   .byte  102,15,21,194                       // unpckhpd      %xmm2,%xmm0
   .byte  15,17,100,190,16                    // movups        %xmm4,0x10(%esi,%edi,4)
   .byte  102,15,17,116,190,32                // movupd        %xmm6,0x20(%esi,%edi,4)
@@ -48340,12 +53107,12 @@
   .byte  93                                  // pop           %ebp
   .byte  195                                 // ret
   .byte  131,250,1                           // cmp           $0x1,%edx
-  .byte  116,173                             // je            63bd <_sk_store_f32_sse2+0x6f>
+  .byte  116,173                             // je            6dc2 <_sk_store_f32_sse2+0x6f>
   .byte  15,17,100,190,16                    // movups        %xmm4,0x10(%esi,%edi,4)
   .byte  131,250,3                           // cmp           $0x3,%edx
-  .byte  114,163                             // jb            63bd <_sk_store_f32_sse2+0x6f>
+  .byte  114,163                             // jb            6dc2 <_sk_store_f32_sse2+0x6f>
   .byte  102,15,17,116,190,32                // movupd        %xmm6,0x20(%esi,%edi,4)
-  .byte  235,155                             // jmp           63bd <_sk_store_f32_sse2+0x6f>
+  .byte  235,155                             // jmp           6dc2 <_sk_store_f32_sse2+0x6f>
 
 HIDDEN _sk_clamp_x_sse2
 .globl _sk_clamp_x_sse2
@@ -48449,7 +53216,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          6526 <_sk_repeat_x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          6f2b <_sk_repeat_x_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -48463,7 +53230,7 @@
   .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,174,154,39,0,0                // andps         0x279a(%esi),%xmm5
+  .byte  15,84,174,149,41,0,0                // andps         0x2995(%esi),%xmm5
   .byte  139,117,24                          // mov           0x18(%ebp),%esi
   .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
   .byte  15,92,245                           // subps         %xmm5,%xmm6
@@ -48504,7 +53271,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          65c5 <_sk_repeat_y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          6fca <_sk_repeat_y_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -48518,7 +53285,7 @@
   .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,174,11,39,0,0                 // andps         0x270b(%esi),%xmm5
+  .byte  15,84,174,6,41,0,0                  // andps         0x2906(%esi),%xmm5
   .byte  139,117,24                          // mov           0x18(%ebp),%esi
   .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
   .byte  15,92,245                           // subps         %xmm5,%xmm6
@@ -48559,7 +53326,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          6664 <_sk_mirror_x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          7069 <_sk_mirror_x_sse2+0xe>
   .byte  95                                  // pop           %edi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -48571,13 +53338,13 @@
   .byte  15,40,229                           // movaps        %xmm5,%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
   .byte  15,92,196                           // subps         %xmm4,%xmm0
-  .byte  243,15,89,183,204,42,0,0            // mulss         0x2acc(%edi),%xmm6
+  .byte  243,15,89,183,199,44,0,0            // mulss         0x2cc7(%edi),%xmm6
   .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
   .byte  15,89,240                           // mulps         %xmm0,%xmm6
   .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
   .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
   .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
-  .byte  15,84,183,124,38,0,0                // andps         0x267c(%edi),%xmm6
+  .byte  15,84,183,119,40,0,0                // andps         0x2877(%edi),%xmm6
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
   .byte  15,92,254                           // subps         %xmm6,%xmm7
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
@@ -48623,7 +53390,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          6725 <_sk_mirror_y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          712a <_sk_mirror_y_sse2+0xe>
   .byte  95                                  // pop           %edi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -48635,13 +53402,13 @@
   .byte  15,40,229                           // movaps        %xmm5,%xmm4
   .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
   .byte  15,92,204                           // subps         %xmm4,%xmm1
-  .byte  243,15,89,183,15,42,0,0             // mulss         0x2a0f(%edi),%xmm6
+  .byte  243,15,89,183,10,44,0,0             // mulss         0x2c0a(%edi),%xmm6
   .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
   .byte  15,89,241                           // mulps         %xmm1,%xmm6
   .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
   .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
   .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
-  .byte  15,84,183,203,37,0,0                // andps         0x25cb(%edi),%xmm6
+  .byte  15,84,183,198,39,0,0                // andps         0x27c6(%edi),%xmm6
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
   .byte  15,92,254                           // subps         %xmm6,%xmm7
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
@@ -48687,7 +53454,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          67e6 <_sk_clamp_x_1_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          71eb <_sk_clamp_x_1_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -48699,7 +53466,7 @@
   .byte  15,87,228                           // xorps         %xmm4,%xmm4
   .byte  15,95,224                           // maxps         %xmm0,%xmm4
   .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
-  .byte  15,93,160,26,37,0,0                 // minps         0x251a(%eax),%xmm4
+  .byte  15,93,160,21,39,0,0                 // minps         0x2715(%eax),%xmm4
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  141,88,4                            // lea           0x4(%eax),%ebx
   .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
@@ -48730,7 +53497,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          6858 <_sk_repeat_x_1_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          725d <_sk_repeat_x_1_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -48742,7 +53509,7 @@
   .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
   .byte  15,40,248                           // movaps        %xmm0,%xmm7
   .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
-  .byte  15,84,184,184,36,0,0                // andps         0x24b8(%eax),%xmm7
+  .byte  15,84,184,179,38,0,0                // andps         0x26b3(%eax),%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
   .byte  15,92,198                           // subps         %xmm6,%xmm0
@@ -48776,21 +53543,21 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          68d5 <_sk_mirror_x_1_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          72da <_sk_mirror_x_1_sse2+0xe>
   .byte  95                                  // pop           %edi
   .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,24                          // mov           0x18(%ebp),%esi
   .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
-  .byte  15,40,175,75,36,0,0                 // movaps        0x244b(%edi),%xmm5
+  .byte  15,40,175,70,38,0,0                 // movaps        0x2646(%edi),%xmm5
   .byte  15,88,197                           // addps         %xmm5,%xmm0
-  .byte  15,40,183,91,36,0,0                 // movaps        0x245b(%edi),%xmm6
+  .byte  15,40,183,86,38,0,0                 // movaps        0x2656(%edi),%xmm6
   .byte  15,89,240                           // mulps         %xmm0,%xmm6
   .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
   .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
   .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
-  .byte  15,84,183,107,36,0,0                // andps         0x246b(%edi),%xmm6
+  .byte  15,84,183,102,38,0,0                // andps         0x2666(%edi),%xmm6
   .byte  15,92,254                           // subps         %xmm6,%xmm7
   .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
   .byte  15,88,255                           // addps         %xmm7,%xmm7
@@ -48831,7 +53598,7 @@
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
-  .byte  232,0,0,0,0                         // call          6975 <_sk_luminance_to_alpha_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          737a <_sk_luminance_to_alpha_sse2+0x11>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -48841,9 +53608,9 @@
   .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
   .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
   .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
-  .byte  15,89,128,219,35,0,0                // mulps         0x23db(%eax),%xmm0
-  .byte  15,89,136,235,35,0,0                // mulps         0x23eb(%eax),%xmm1
-  .byte  15,89,152,251,35,0,0                // mulps         0x23fb(%eax),%xmm3
+  .byte  15,89,128,214,37,0,0                // mulps         0x25d6(%eax),%xmm0
+  .byte  15,89,136,230,37,0,0                // mulps         0x25e6(%eax),%xmm1
+  .byte  15,89,152,246,37,0,0                // mulps         0x25f6(%eax),%xmm3
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  15,88,200                           // addps         %xmm0,%xmm1
   .byte  15,88,217                           // addps         %xmm1,%xmm3
@@ -49293,7 +54060,7 @@
   .byte  86                                  // push          %esi
   .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
   .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
-  .byte  232,0,0,0,0                         // call          6f2b <_sk_evenly_spaced_gradient_sse2+0x15>
+  .byte  232,0,0,0,0                         // call          7930 <_sk_evenly_spaced_gradient_sse2+0x15>
   .byte  90                                  // pop           %edx
   .byte  139,77,12                           // mov           0xc(%ebp),%ecx
   .byte  141,65,4                            // lea           0x4(%ecx),%eax
@@ -49304,12 +54071,12 @@
   .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,85,30,0,0            // movdqa        0x1e55(%edx),%xmm2
+  .byte  102,15,111,146,80,32,0,0            // movdqa        0x2050(%edx),%xmm2
   .byte  102,15,219,209                      // pand          %xmm1,%xmm2
-  .byte  102,15,235,146,101,30,0,0           // por           0x1e65(%edx),%xmm2
+  .byte  102,15,235,146,96,32,0,0            // por           0x2060(%edx),%xmm2
   .byte  102,15,114,209,16                   // psrld         $0x10,%xmm1
-  .byte  102,15,235,138,117,30,0,0           // por           0x1e75(%edx),%xmm1
-  .byte  15,88,138,133,30,0,0                // addps         0x1e85(%edx),%xmm1
+  .byte  102,15,235,138,112,32,0,0           // por           0x2070(%edx),%xmm1
+  .byte  15,88,138,128,32,0,0                // addps         0x2080(%edx),%xmm1
   .byte  15,88,202                           // addps         %xmm2,%xmm1
   .byte  15,89,200                           // mulps         %xmm0,%xmm1
   .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
@@ -49432,7 +54199,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7122 <_sk_gauss_a_to_rgba_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          7b27 <_sk_gauss_a_to_rgba_sse2+0xe>
   .byte  90                                  // pop           %edx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -49442,15 +54209,15 @@
   .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
   .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
   .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
-  .byte  15,40,130,158,28,0,0                // movaps        0x1c9e(%edx),%xmm0
+  .byte  15,40,130,153,30,0,0                // movaps        0x1e99(%edx),%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,130,174,28,0,0                // addps         0x1cae(%edx),%xmm0
+  .byte  15,88,130,169,30,0,0                // addps         0x1ea9(%edx),%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,130,190,28,0,0                // addps         0x1cbe(%edx),%xmm0
+  .byte  15,88,130,185,30,0,0                // addps         0x1eb9(%edx),%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,130,206,28,0,0                // addps         0x1cce(%edx),%xmm0
+  .byte  15,88,130,201,30,0,0                // addps         0x1ec9(%edx),%xmm0
   .byte  15,89,195                           // mulps         %xmm3,%xmm0
-  .byte  15,88,130,222,28,0,0                // addps         0x1cde(%edx),%xmm0
+  .byte  15,88,130,217,30,0,0                // addps         0x1ed9(%edx),%xmm0
   .byte  139,85,12                           // mov           0xc(%ebp),%edx
   .byte  141,90,4                            // lea           0x4(%edx),%ebx
   .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
@@ -49483,7 +54250,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
-  .byte  232,0,0,0,0                         // call          71bf <_sk_gradient_sse2+0x11>
+  .byte  232,0,0,0,0                         // call          7bc4 <_sk_gradient_sse2+0x11>
   .byte  90                                  // pop           %edx
   .byte  139,69,12                           // mov           0xc(%ebp),%eax
   .byte  141,72,4                            // lea           0x4(%eax),%ecx
@@ -49492,12 +54259,12 @@
   .byte  139,7                               // mov           (%edi),%eax
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
   .byte  131,248,2                           // cmp           $0x2,%eax
-  .byte  114,43                              // jb            7201 <_sk_gradient_sse2+0x53>
+  .byte  114,43                              // jb            7c06 <_sk_gradient_sse2+0x53>
   .byte  139,79,36                           // mov           0x24(%edi),%ecx
   .byte  72                                  // dec           %eax
   .byte  131,193,4                           // add           $0x4,%ecx
   .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
-  .byte  15,40,146,81,28,0,0                 // movaps        0x1c51(%edx),%xmm2
+  .byte  15,40,146,76,30,0,0                 // movaps        0x1e4c(%edx),%xmm2
   .byte  243,15,16,25                        // movss         (%ecx),%xmm3
   .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
   .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
@@ -49505,7 +54272,7 @@
   .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
   .byte  131,193,4                           // add           $0x4,%ecx
   .byte  72                                  // dec           %eax
-  .byte  117,231                             // jne           71e8 <_sk_gradient_sse2+0x3a>
+  .byte  117,231                             // jne           7bed <_sk_gradient_sse2+0x3a>
   .byte  102,15,126,203                      // movd          %xmm1,%ebx
   .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
   .byte  102,15,126,208                      // movd          %xmm2,%eax
@@ -49694,7 +54461,7 @@
   .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          747f <_sk_xy_to_unit_angle_sse2+0x1b>
+  .byte  232,0,0,0,0                         // call          7e84 <_sk_xy_to_unit_angle_sse2+0x1b>
   .byte  88                                  // pop           %eax
   .byte  15,87,237                           // xorps         %xmm5,%xmm5
   .byte  15,92,233                           // subps         %xmm1,%xmm5
@@ -49709,35 +54476,35 @@
   .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,161,25,0,0                // movaps        0x19a1(%eax),%xmm0
+  .byte  15,40,128,156,27,0,0                // movaps        0x1b9c(%eax),%xmm0
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
-  .byte  15,88,128,177,25,0,0                // addps         0x19b1(%eax),%xmm0
+  .byte  15,88,128,172,27,0,0                // addps         0x1bac(%eax),%xmm0
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
-  .byte  15,88,128,193,25,0,0                // addps         0x19c1(%eax),%xmm0
+  .byte  15,88,128,188,27,0,0                // addps         0x1bbc(%eax),%xmm0
   .byte  15,89,199                           // mulps         %xmm7,%xmm0
   .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,125,24                          // mov           0x18(%ebp),%edi
-  .byte  15,88,128,209,25,0,0                // addps         0x19d1(%eax),%xmm0
+  .byte  15,88,128,204,27,0,0                // addps         0x1bcc(%eax),%xmm0
   .byte  15,89,198                           // mulps         %xmm6,%xmm0
   .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
   .byte  15,194,236,1                        // cmpltps       %xmm4,%xmm5
-  .byte  15,40,184,225,25,0,0                // movaps        0x19e1(%eax),%xmm7
+  .byte  15,40,184,220,27,0,0                // movaps        0x1bdc(%eax),%xmm7
   .byte  15,92,248                           // subps         %xmm0,%xmm7
   .byte  15,84,253                           // andps         %xmm5,%xmm7
   .byte  15,85,232                           // andnps        %xmm0,%xmm5
   .byte  15,87,228                           // xorps         %xmm4,%xmm4
   .byte  15,86,239                           // orps          %xmm7,%xmm5
   .byte  15,194,204,1                        // cmpltps       %xmm4,%xmm1
-  .byte  15,40,128,241,25,0,0                // movaps        0x19f1(%eax),%xmm0
+  .byte  15,40,128,236,27,0,0                // movaps        0x1bec(%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,1,26,0,0                  // movaps        0x1a01(%eax),%xmm5
+  .byte  15,40,168,252,27,0,0                // movaps        0x1bfc(%eax),%xmm5
   .byte  15,92,233                           // subps         %xmm1,%xmm5
   .byte  15,84,232                           // andps         %xmm0,%xmm5
   .byte  15,85,193                           // andnps        %xmm1,%xmm0
@@ -49824,16 +54591,16 @@
   .byte  131,236,124                         // sub           $0x7c,%esp
   .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
   .byte  15,40,218                           // movaps        %xmm2,%xmm3
-  .byte  232,0,0,0,0                         // call          7601 <_sk_save_xy_sse2+0x15>
+  .byte  232,0,0,0,0                         // call          8006 <_sk_save_xy_sse2+0x15>
   .byte  88                                  // pop           %eax
-  .byte  15,40,160,143,24,0,0                // movaps        0x188f(%eax),%xmm4
+  .byte  15,40,160,138,26,0,0                // movaps        0x1a8a(%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,159,24,0,0                // movaps        0x189f(%eax),%xmm2
+  .byte  15,40,144,154,26,0,0                // movaps        0x1a9a(%eax),%xmm2
   .byte  15,84,250                           // andps         %xmm2,%xmm7
   .byte  15,92,247                           // subps         %xmm7,%xmm6
   .byte  15,92,238                           // subps         %xmm6,%xmm5
@@ -49937,15 +54704,15 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7746 <_sk_bilinear_nx_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          814b <_sk_bilinear_nx_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%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,88,128,106,23,0,0                // addps         0x176a(%eax),%xmm0
-  .byte  15,40,160,122,23,0,0                // movaps        0x177a(%eax),%xmm4
+  .byte  15,88,128,101,25,0,0                // addps         0x1965(%eax),%xmm0
+  .byte  15,40,160,117,25,0,0                // movaps        0x1975(%eax),%xmm4
   .byte  139,69,20                           // mov           0x14(%ebp),%eax
   .byte  15,16,111,64                        // movups        0x40(%edi),%xmm5
   .byte  15,92,229                           // subps         %xmm5,%xmm4
@@ -49983,14 +54750,14 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          77ca <_sk_bilinear_px_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          81cf <_sk_bilinear_px_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%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,88,128,6,23,0,0                  // addps         0x1706(%eax),%xmm0
+  .byte  15,88,128,1,25,0,0                  // addps         0x1901(%eax),%xmm0
   .byte  139,69,20                           // mov           0x14(%ebp),%eax
   .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
   .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
@@ -50027,15 +54794,15 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7844 <_sk_bilinear_ny_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          8249 <_sk_bilinear_ny_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
   .byte  139,117,12                          // mov           0xc(%ebp),%esi
   .byte  139,62                              // mov           (%esi),%edi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
-  .byte  15,88,136,156,22,0,0                // addps         0x169c(%eax),%xmm1
-  .byte  15,40,160,172,22,0,0                // movaps        0x16ac(%eax),%xmm4
+  .byte  15,88,136,151,24,0,0                // addps         0x1897(%eax),%xmm1
+  .byte  15,40,160,167,24,0,0                // movaps        0x18a7(%eax),%xmm4
   .byte  139,69,20                           // mov           0x14(%ebp),%eax
   .byte  15,16,111,96                        // movups        0x60(%edi),%xmm5
   .byte  15,92,229                           // subps         %xmm5,%xmm4
@@ -50073,14 +54840,14 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          78c9 <_sk_bilinear_py_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          82ce <_sk_bilinear_py_sse2+0xe>
   .byte  88                                  // pop           %eax
   .byte  139,77,8                            // mov           0x8(%ebp),%ecx
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
   .byte  139,117,12                          // mov           0xc(%ebp),%esi
   .byte  139,62                              // mov           (%esi),%edi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
-  .byte  15,88,136,55,22,0,0                 // addps         0x1637(%eax),%xmm1
+  .byte  15,88,136,50,24,0,0                 // addps         0x1832(%eax),%xmm1
   .byte  139,69,20                           // mov           0x14(%ebp),%eax
   .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
   .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
@@ -50117,7 +54884,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7944 <_sk_bicubic_n3x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          8349 <_sk_bicubic_n3x_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -50125,12 +54892,12 @@
   .byte  139,58                              // mov           (%edx),%edi
   .byte  15,16,7                             // movups        (%edi),%xmm0
   .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
-  .byte  15,88,134,204,21,0,0                // addps         0x15cc(%esi),%xmm0
-  .byte  15,40,174,220,21,0,0                // movaps        0x15dc(%esi),%xmm5
+  .byte  15,88,134,199,23,0,0                // addps         0x17c7(%esi),%xmm0
+  .byte  15,40,174,215,23,0,0                // movaps        0x17d7(%esi),%xmm5
   .byte  15,92,236                           // subps         %xmm4,%xmm5
   .byte  15,40,229                           // movaps        %xmm5,%xmm4
-  .byte  15,89,174,236,21,0,0                // mulps         0x15ec(%esi),%xmm5
-  .byte  15,88,174,252,21,0,0                // addps         0x15fc(%esi),%xmm5
+  .byte  15,89,174,231,23,0,0                // mulps         0x17e7(%esi),%xmm5
+  .byte  15,88,174,247,23,0,0                // addps         0x17f7(%esi),%xmm5
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,89,228                           // mulps         %xmm4,%xmm4
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
@@ -50168,7 +54935,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          79df <_sk_bicubic_n1x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          83e4 <_sk_bicubic_n1x_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -50176,16 +54943,16 @@
   .byte  139,58                              // mov           (%edx),%edi
   .byte  15,16,7                             // movups        (%edi),%xmm0
   .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
-  .byte  15,88,134,113,21,0,0                // addps         0x1571(%esi),%xmm0
-  .byte  15,40,174,129,21,0,0                // movaps        0x1581(%esi),%xmm5
+  .byte  15,88,134,108,23,0,0                // addps         0x176c(%esi),%xmm0
+  .byte  15,40,174,124,23,0,0                // movaps        0x177c(%esi),%xmm5
   .byte  15,92,236                           // subps         %xmm4,%xmm5
-  .byte  15,40,166,145,21,0,0                // movaps        0x1591(%esi),%xmm4
+  .byte  15,40,166,140,23,0,0                // movaps        0x178c(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,161,21,0,0                // addps         0x15a1(%esi),%xmm4
+  .byte  15,88,166,156,23,0,0                // addps         0x179c(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,177,21,0,0                // addps         0x15b1(%esi),%xmm4
+  .byte  15,88,166,172,23,0,0                // addps         0x17ac(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,193,21,0,0                // addps         0x15c1(%esi),%xmm4
+  .byte  15,88,166,188,23,0,0                // addps         0x17bc(%esi),%xmm4
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
@@ -50221,21 +54988,21 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7a88 <_sk_bicubic_p1x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          848d <_sk_bicubic_p1x_sse2+0xe>
   .byte  94                                  // pop           %esi
   .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,58                              // mov           (%edx),%edi
-  .byte  15,40,166,40,21,0,0                 // movaps        0x1528(%esi),%xmm4
+  .byte  15,40,166,35,23,0,0                 // movaps        0x1723(%esi),%xmm4
   .byte  15,16,71,64                         // movups        0x40(%edi),%xmm0
-  .byte  15,40,174,56,21,0,0                 // movaps        0x1538(%esi),%xmm5
+  .byte  15,40,174,51,23,0,0                 // movaps        0x1733(%esi),%xmm5
   .byte  15,89,232                           // mulps         %xmm0,%xmm5
-  .byte  15,88,174,72,21,0,0                 // addps         0x1548(%esi),%xmm5
+  .byte  15,88,174,67,23,0,0                 // addps         0x1743(%esi),%xmm5
   .byte  15,89,232                           // mulps         %xmm0,%xmm5
   .byte  15,88,236                           // addps         %xmm4,%xmm5
   .byte  15,89,232                           // mulps         %xmm0,%xmm5
-  .byte  15,88,174,88,21,0,0                 // addps         0x1558(%esi),%xmm5
+  .byte  15,88,174,83,23,0,0                 // addps         0x1753(%esi),%xmm5
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,16,7                             // movups        (%edi),%xmm0
   .byte  15,17,175,128,0,0,0                 // movups        %xmm5,0x80(%edi)
@@ -50273,7 +55040,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7b26 <_sk_bicubic_p3x_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          852b <_sk_bicubic_p3x_sse2+0xe>
   .byte  89                                  // pop           %ecx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -50281,10 +55048,10 @@
   .byte  139,62                              // mov           (%esi),%edi
   .byte  15,16,7                             // movups        (%edi),%xmm0
   .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
-  .byte  15,88,129,202,20,0,0                // addps         0x14ca(%ecx),%xmm0
+  .byte  15,88,129,197,22,0,0                // addps         0x16c5(%ecx),%xmm0
   .byte  15,40,236                           // movaps        %xmm4,%xmm5
-  .byte  15,89,161,218,20,0,0                // mulps         0x14da(%ecx),%xmm4
-  .byte  15,88,161,234,20,0,0                // addps         0x14ea(%ecx),%xmm4
+  .byte  15,89,161,213,22,0,0                // mulps         0x16d5(%ecx),%xmm4
+  .byte  15,88,161,229,22,0,0                // addps         0x16e5(%ecx),%xmm4
   .byte  139,77,20                           // mov           0x14(%ebp),%ecx
   .byte  15,89,237                           // mulps         %xmm5,%xmm5
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -50322,7 +55089,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7bb7 <_sk_bicubic_n3y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          85bc <_sk_bicubic_n3y_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -50330,12 +55097,12 @@
   .byte  139,58                              // mov           (%edx),%edi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
   .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
-  .byte  15,88,142,105,20,0,0                // addps         0x1469(%esi),%xmm1
-  .byte  15,40,174,121,20,0,0                // movaps        0x1479(%esi),%xmm5
+  .byte  15,88,142,100,22,0,0                // addps         0x1664(%esi),%xmm1
+  .byte  15,40,174,116,22,0,0                // movaps        0x1674(%esi),%xmm5
   .byte  15,92,236                           // subps         %xmm4,%xmm5
   .byte  15,40,229                           // movaps        %xmm5,%xmm4
-  .byte  15,89,174,137,20,0,0                // mulps         0x1489(%esi),%xmm5
-  .byte  15,88,174,153,20,0,0                // addps         0x1499(%esi),%xmm5
+  .byte  15,89,174,132,22,0,0                // mulps         0x1684(%esi),%xmm5
+  .byte  15,88,174,148,22,0,0                // addps         0x1694(%esi),%xmm5
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,89,228                           // mulps         %xmm4,%xmm4
   .byte  15,89,236                           // mulps         %xmm4,%xmm5
@@ -50373,7 +55140,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7c53 <_sk_bicubic_n1y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          8658 <_sk_bicubic_n1y_sse2+0xe>
   .byte  94                                  // pop           %esi
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,77,16                           // mov           0x10(%ebp),%ecx
@@ -50381,16 +55148,16 @@
   .byte  139,58                              // mov           (%edx),%edi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
   .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
-  .byte  15,88,142,13,20,0,0                 // addps         0x140d(%esi),%xmm1
-  .byte  15,40,174,29,20,0,0                 // movaps        0x141d(%esi),%xmm5
+  .byte  15,88,142,8,22,0,0                  // addps         0x1608(%esi),%xmm1
+  .byte  15,40,174,24,22,0,0                 // movaps        0x1618(%esi),%xmm5
   .byte  15,92,236                           // subps         %xmm4,%xmm5
-  .byte  15,40,166,45,20,0,0                 // movaps        0x142d(%esi),%xmm4
+  .byte  15,40,166,40,22,0,0                 // movaps        0x1628(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,61,20,0,0                 // addps         0x143d(%esi),%xmm4
+  .byte  15,88,166,56,22,0,0                 // addps         0x1638(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,77,20,0,0                 // addps         0x144d(%esi),%xmm4
+  .byte  15,88,166,72,22,0,0                 // addps         0x1648(%esi),%xmm4
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
-  .byte  15,88,166,93,20,0,0                 // addps         0x145d(%esi),%xmm4
+  .byte  15,88,166,88,22,0,0                 // addps         0x1658(%esi),%xmm4
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
   .byte  139,125,24                          // mov           0x18(%ebp),%edi
@@ -50426,21 +55193,21 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7cfd <_sk_bicubic_p1y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          8702 <_sk_bicubic_p1y_sse2+0xe>
   .byte  94                                  // pop           %esi
   .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,58                              // mov           (%edx),%edi
-  .byte  15,40,166,195,19,0,0                // movaps        0x13c3(%esi),%xmm4
+  .byte  15,40,166,190,21,0,0                // movaps        0x15be(%esi),%xmm4
   .byte  15,16,79,96                         // movups        0x60(%edi),%xmm1
-  .byte  15,40,174,211,19,0,0                // movaps        0x13d3(%esi),%xmm5
+  .byte  15,40,174,206,21,0,0                // movaps        0x15ce(%esi),%xmm5
   .byte  15,89,233                           // mulps         %xmm1,%xmm5
-  .byte  15,88,174,227,19,0,0                // addps         0x13e3(%esi),%xmm5
+  .byte  15,88,174,222,21,0,0                // addps         0x15de(%esi),%xmm5
   .byte  15,89,233                           // mulps         %xmm1,%xmm5
   .byte  15,88,236                           // addps         %xmm4,%xmm5
   .byte  15,89,233                           // mulps         %xmm1,%xmm5
-  .byte  15,88,174,243,19,0,0                // addps         0x13f3(%esi),%xmm5
+  .byte  15,88,174,238,21,0,0                // addps         0x15ee(%esi),%xmm5
   .byte  139,117,20                          // mov           0x14(%ebp),%esi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
   .byte  15,17,175,160,0,0,0                 // movups        %xmm5,0xa0(%edi)
@@ -50478,7 +55245,7 @@
   .byte  87                                  // push          %edi
   .byte  86                                  // push          %esi
   .byte  131,236,108                         // sub           $0x6c,%esp
-  .byte  232,0,0,0,0                         // call          7d9c <_sk_bicubic_p3y_sse2+0xe>
+  .byte  232,0,0,0,0                         // call          87a1 <_sk_bicubic_p3y_sse2+0xe>
   .byte  89                                  // pop           %ecx
   .byte  139,69,8                            // mov           0x8(%ebp),%eax
   .byte  139,85,16                           // mov           0x10(%ebp),%edx
@@ -50486,10 +55253,10 @@
   .byte  139,62                              // mov           (%esi),%edi
   .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
   .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
-  .byte  15,88,137,100,19,0,0                // addps         0x1364(%ecx),%xmm1
+  .byte  15,88,137,95,21,0,0                 // addps         0x155f(%ecx),%xmm1
   .byte  15,40,236                           // movaps        %xmm4,%xmm5
-  .byte  15,89,161,116,19,0,0                // mulps         0x1374(%ecx),%xmm4
-  .byte  15,88,161,132,19,0,0                // addps         0x1384(%ecx),%xmm4
+  .byte  15,89,161,111,21,0,0                // mulps         0x156f(%ecx),%xmm4
+  .byte  15,88,161,127,21,0,0                // addps         0x157f(%ecx),%xmm4
   .byte  139,77,20                           // mov           0x14(%ebp),%ecx
   .byte  15,89,237                           // mulps         %xmm5,%xmm5
   .byte  15,89,229                           // mulps         %xmm5,%xmm4
@@ -50739,11 +55506,11 @@
   .byte  0,224                               // add           %ah,%al
   .byte  64                                  // inc           %eax
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,64                              // loopne        80e8 <.literal16+0x1d8>
+  .byte  224,64                              // loopne        8ae8 <.literal16+0x1d8>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,64                              // loopne        80ec <.literal16+0x1dc>
+  .byte  224,64                              // loopne        8aec <.literal16+0x1dc>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,64                              // loopne        80f0 <.literal16+0x1e0>
+  .byte  224,64                              // loopne        8af0 <.literal16+0x1e0>
   .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
@@ -50754,16 +55521,16 @@
   .byte  63                                  // aas
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8111 <.literal16+0x201>
+  .byte  225,61                              // loope         8b11 <.literal16+0x201>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8115 <.literal16+0x205>
+  .byte  225,61                              // loope         8b15 <.literal16+0x205>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8119 <.literal16+0x209>
+  .byte  225,61                              // loope         8b19 <.literal16+0x209>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         811d <.literal16+0x20d>
+  .byte  225,61                              // loope         8b1d <.literal16+0x20d>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -50780,16 +55547,16 @@
   .byte  63                                  // aas
   .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8151 <.literal16+0x241>
+  .byte  225,61                              // loope         8b51 <.literal16+0x241>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8155 <.literal16+0x245>
+  .byte  225,61                              // loope         8b55 <.literal16+0x245>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8159 <.literal16+0x249>
+  .byte  225,61                              // loope         8b59 <.literal16+0x249>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         815d <.literal16+0x24d>
+  .byte  225,61                              // loope         8b5d <.literal16+0x24d>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -50806,16 +55573,16 @@
   .byte  63                                  // aas
   .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8191 <.literal16+0x281>
+  .byte  225,61                              // loope         8b91 <.literal16+0x281>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8195 <.literal16+0x285>
+  .byte  225,61                              // loope         8b95 <.literal16+0x285>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         8199 <.literal16+0x289>
+  .byte  225,61                              // loope         8b99 <.literal16+0x289>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         819d <.literal16+0x28d>
+  .byte  225,61                              // loope         8b9d <.literal16+0x28d>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -50832,16 +55599,16 @@
   .byte  63                                  // aas
   .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         81d1 <.literal16+0x2c1>
+  .byte  225,61                              // loope         8bd1 <.literal16+0x2c1>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         81d5 <.literal16+0x2c5>
+  .byte  225,61                              // loope         8bd5 <.literal16+0x2c5>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         81d9 <.literal16+0x2c9>
+  .byte  225,61                              // loope         8bd9 <.literal16+0x2c9>
   .byte  174                                 // scas          %es:(%edi),%al
   .byte  71                                  // inc           %edi
-  .byte  225,61                              // loope         81dd <.literal16+0x2cd>
+  .byte  225,61                              // loope         8bdd <.literal16+0x2cd>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -50863,11 +55630,11 @@
   .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%eax)
   .byte  67                                  // inc           %ebx
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            821b <.literal16+0x30b>
+  .byte  127,67                              // jg            8c1b <.literal16+0x30b>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            821f <.literal16+0x30f>
+  .byte  127,67                              // jg            8c1f <.literal16+0x30f>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8223 <.literal16+0x313>
+  .byte  127,67                              // jg            8c23 <.literal16+0x313>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -50884,6 +55651,45 @@
   .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,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
+  .byte  63                                  // aas
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,63,145                          // cmpb          $0x91,(%edi)
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
+  .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,92                               // ds            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  145                                 // xchg          %eax,%ecx
   .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
   .byte  145                                 // xchg          %eax,%ecx
@@ -51097,13 +55903,13 @@
   .byte  132,55                              // test          %dh,(%edi)
   .byte  8,33                                // or            %ah,(%ecx)
   .byte  132,55                              // test          %dh,(%edi)
-  .byte  224,7                               // loopne        8409 <.literal16+0x4f9>
+  .byte  224,7                               // loopne        8e69 <.literal16+0x559>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        840d <.literal16+0x4fd>
+  .byte  224,7                               // loopne        8e6d <.literal16+0x55d>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        8411 <.literal16+0x501>
+  .byte  224,7                               // loopne        8e71 <.literal16+0x561>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        8415 <.literal16+0x505>
+  .byte  224,7                               // loopne        8e75 <.literal16+0x565>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  33,8                                // and           %ecx,(%eax)
   .byte  2,58                                // add           (%edx),%bh
@@ -51152,11 +55958,11 @@
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,127,67                            // add           %bh,0x43(%edi)
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            84cb <.literal16+0x5bb>
+  .byte  127,67                              // jg            8f2b <.literal16+0x61b>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            84cf <.literal16+0x5bf>
+  .byte  127,67                              // jg            8f2f <.literal16+0x61f>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            84d3 <.literal16+0x5c3>
+  .byte  127,67                              // jg            8f33 <.literal16+0x623>
   .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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%eax)
@@ -51171,16 +55977,16 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            84c4 <.literal16+0x5b4>
+  .byte  127,0                               // jg            8f24 <.literal16+0x614>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            84c8 <.literal16+0x5b8>
+  .byte  127,0                               // jg            8f28 <.literal16+0x618>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            84cc <.literal16+0x5bc>
+  .byte  127,0                               // jg            8f2c <.literal16+0x61c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            84d0 <.literal16+0x5c0>
+  .byte  127,0                               // jg            8f30 <.literal16+0x620>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
@@ -51189,7 +55995,7 @@
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
-  .byte  119,115                             // ja            8555 <.literal16+0x645>
+  .byte  119,115                             // ja            8fb5 <.literal16+0x6a5>
   .byte  248                                 // clc
   .byte  194,119,115                         // ret           $0x7377
   .byte  248                                 // clc
@@ -51200,7 +56006,7 @@
   .byte  194,117,191                         // ret           $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
-  .byte  117,191                             // jne           84b9 <.literal16+0x5a9>
+  .byte  117,191                             // jne           8f19 <.literal16+0x609>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
   .byte  249                                 // stc
@@ -51216,7 +56022,7 @@
   .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           e9a3c4f6 <_sk_callback_sse2+0xe9a346d6>
+  .byte  233,220,63,163,233                  // jmp           e9a3cf56 <_sk_callback_sse2+0xe9a34731>
   .byte  220,63                              // fdivrl        (%edi)
   .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -51271,16 +56077,16 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8594 <.literal16+0x684>
+  .byte  127,0                               // jg            8ff4 <.literal16+0x6e4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8598 <.literal16+0x688>
+  .byte  127,0                               // jg            8ff8 <.literal16+0x6e8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            859c <.literal16+0x68c>
+  .byte  127,0                               // jg            8ffc <.literal16+0x6ec>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            85a0 <.literal16+0x690>
+  .byte  127,0                               // jg            9000 <.literal16+0x6f0>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
@@ -51289,7 +56095,7 @@
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
-  .byte  119,115                             // ja            8625 <.literal16+0x715>
+  .byte  119,115                             // ja            9085 <.literal16+0x775>
   .byte  248                                 // clc
   .byte  194,119,115                         // ret           $0x7377
   .byte  248                                 // clc
@@ -51300,7 +56106,7 @@
   .byte  194,117,191                         // ret           $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
-  .byte  117,191                             // jne           8589 <.literal16+0x679>
+  .byte  117,191                             // jne           8fe9 <.literal16+0x6d9>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
   .byte  249                                 // stc
@@ -51316,7 +56122,7 @@
   .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           e9a3c5c6 <_sk_callback_sse2+0xe9a347a6>
+  .byte  233,220,63,163,233                  // jmp           e9a3d026 <_sk_callback_sse2+0xe9a34801>
   .byte  220,63                              // fdivrl        (%edi)
   .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -51371,16 +56177,16 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8664 <.literal16+0x754>
+  .byte  127,0                               // jg            90c4 <.literal16+0x7b4>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8668 <.literal16+0x758>
+  .byte  127,0                               // jg            90c8 <.literal16+0x7b8>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            866c <.literal16+0x75c>
+  .byte  127,0                               // jg            90cc <.literal16+0x7bc>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8670 <.literal16+0x760>
+  .byte  127,0                               // jg            90d0 <.literal16+0x7c0>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
@@ -51389,7 +56195,7 @@
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
-  .byte  119,115                             // ja            86f5 <.literal16+0x7e5>
+  .byte  119,115                             // ja            9155 <.literal16+0x845>
   .byte  248                                 // clc
   .byte  194,119,115                         // ret           $0x7377
   .byte  248                                 // clc
@@ -51400,7 +56206,7 @@
   .byte  194,117,191                         // ret           $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
-  .byte  117,191                             // jne           8659 <.literal16+0x749>
+  .byte  117,191                             // jne           90b9 <.literal16+0x7a9>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
   .byte  249                                 // stc
@@ -51416,7 +56222,7 @@
   .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           e9a3c696 <_sk_callback_sse2+0xe9a34876>
+  .byte  233,220,63,163,233                  // jmp           e9a3d0f6 <_sk_callback_sse2+0xe9a348d1>
   .byte  220,63                              // fdivrl        (%edi)
   .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -51471,16 +56277,16 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  52,255                              // xor           $0xff,%al
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8734 <.literal16+0x824>
+  .byte  127,0                               // jg            9194 <.literal16+0x884>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8738 <.literal16+0x828>
+  .byte  127,0                               // jg            9198 <.literal16+0x888>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            873c <.literal16+0x82c>
+  .byte  127,0                               // jg            919c <.literal16+0x88c>
   .byte  255                                 // (bad)
   .byte  255                                 // (bad)
-  .byte  127,0                               // jg            8740 <.literal16+0x830>
+  .byte  127,0                               // jg            91a0 <.literal16+0x890>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
@@ -51489,7 +56295,7 @@
   .byte  0,63                                // add           %bh,(%edi)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,63                                // add           %bh,(%edi)
-  .byte  119,115                             // ja            87c5 <.literal16+0x8b5>
+  .byte  119,115                             // ja            9225 <.literal16+0x915>
   .byte  248                                 // clc
   .byte  194,119,115                         // ret           $0x7377
   .byte  248                                 // clc
@@ -51500,7 +56306,7 @@
   .byte  194,117,191                         // ret           $0xbf75
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
-  .byte  117,191                             // jne           8729 <.literal16+0x819>
+  .byte  117,191                             // jne           9189 <.literal16+0x879>
   .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
   .byte  63                                  // aas
   .byte  249                                 // stc
@@ -51516,7 +56322,7 @@
   .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           e9a3c766 <_sk_callback_sse2+0xe9a34946>
+  .byte  233,220,63,163,233                  // jmp           e9a3d1c6 <_sk_callback_sse2+0xe9a349a1>
   .byte  220,63                              // fdivrl        (%edi)
   .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -51567,13 +56373,13 @@
   .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  127,67                              // jg            8847 <.literal16+0x937>
+  .byte  127,67                              // jg            92a7 <.literal16+0x997>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            884b <.literal16+0x93b>
+  .byte  127,67                              // jg            92ab <.literal16+0x99b>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            884f <.literal16+0x93f>
+  .byte  127,67                              // jg            92af <.literal16+0x99f>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8853 <.literal16+0x943>
+  .byte  127,67                              // jg            92b3 <.literal16+0x9a3>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,195                               // add           %al,%bl
   .byte  0,0                                 // add           %al,(%eax)
@@ -51624,16 +56430,16 @@
   .byte  128,3,62                            // addb          $0x3e,(%ebx)
   .byte  31                                  // pop           %ds
   .byte  215                                 // xlat          %ds:(%ebx)
-  .byte  118,63                              // jbe           88d3 <.literal16+0x9c3>
+  .byte  118,63                              // jbe           9333 <.literal16+0xa23>
   .byte  31                                  // pop           %ds
   .byte  215                                 // xlat          %ds:(%ebx)
-  .byte  118,63                              // jbe           88d7 <.literal16+0x9c7>
+  .byte  118,63                              // jbe           9337 <.literal16+0xa27>
   .byte  31                                  // pop           %ds
   .byte  215                                 // xlat          %ds:(%ebx)
-  .byte  118,63                              // jbe           88db <.literal16+0x9cb>
+  .byte  118,63                              // jbe           933b <.literal16+0xa2b>
   .byte  31                                  // pop           %ds
   .byte  215                                 // xlat          %ds:(%ebx)
-  .byte  118,63                              // jbe           88df <.literal16+0x9cf>
+  .byte  118,63                              // jbe           933f <.literal16+0xa2f>
   .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)
@@ -51648,16 +56454,25 @@
   .byte  0,0                                 // add           %al,(%eax)
   .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,255,0,0,0                // addb          $0x0,0xff3b(%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  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,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%eax)
   .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
   .byte  128,59,0                            // cmpb          $0x0,(%ebx)
   .byte  0,127,67                            // add           %bh,0x43(%edi)
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            892b <.literal16+0xa1b>
+  .byte  127,67                              // jg            93ab <.literal16+0xa9b>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            892f <.literal16+0xa1f>
+  .byte  127,67                              // jg            93af <.literal16+0xa9f>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8933 <.literal16+0xa23>
+  .byte  127,67                              // jg            93b3 <.literal16+0xaa3>
   .byte  255,0                               // incl          (%eax)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,0                                 // add           %al,(%eax)
@@ -51681,6 +56496,21 @@
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
   .byte  63                                  // aas
+  .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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%eax)
+  .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  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,0,128,63               // addb          $0x3f,-0x7fffffc5(%eax)
@@ -51713,13 +56543,13 @@
   .byte  132,55                              // test          %dh,(%edi)
   .byte  8,33                                // or            %ah,(%ecx)
   .byte  132,55                              // test          %dh,(%edi)
-  .byte  224,7                               // loopne        8999 <.literal16+0xa89>
+  .byte  224,7                               // loopne        9449 <.literal16+0xb39>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        899d <.literal16+0xa8d>
+  .byte  224,7                               // loopne        944d <.literal16+0xb3d>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        89a1 <.literal16+0xa91>
+  .byte  224,7                               // loopne        9451 <.literal16+0xb41>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        89a5 <.literal16+0xa95>
+  .byte  224,7                               // loopne        9455 <.literal16+0xb45>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  33,8                                // and           %ecx,(%eax)
   .byte  2,58                                // add           (%edx),%bh
@@ -51765,13 +56595,65 @@
   .byte  132,55                              // test          %dh,(%edi)
   .byte  8,33                                // or            %ah,(%ecx)
   .byte  132,55                              // test          %dh,(%edi)
-  .byte  224,7                               // loopne        8a09 <.literal16+0xaf9>
+  .byte  224,7                               // loopne        94b9 <.literal16+0xba9>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        8a0d <.literal16+0xafd>
+  .byte  224,7                               // loopne        94bd <.literal16+0xbad>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        8a11 <.literal16+0xb01>
+  .byte  224,7                               // loopne        94c1 <.literal16+0xbb1>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  224,7                               // loopne        8a15 <.literal16+0xb05>
+  .byte  224,7                               // loopne        94c5 <.literal16+0xbb5>
+  .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  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  248                                 // clc
+  .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  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        9529 <.literal16+0xc19>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        952d <.literal16+0xc1d>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        9531 <.literal16+0xc21>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        9535 <.literal16+0xc25>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  33,8                                // and           %ecx,(%eax)
   .byte  2,58                                // add           (%edx),%bh
@@ -51813,13 +56695,57 @@
   .byte  248                                 // clc
   .byte  65                                  // inc           %ecx
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  124,66                              // jl            8aa6 <.literal16+0xb96>
+  .byte  124,66                              // jl            95c6 <.literal16+0xcb6>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  124,66                              // jl            8aaa <.literal16+0xb9a>
+  .byte  124,66                              // jl            95ca <.literal16+0xcba>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  124,66                              // jl            8aae <.literal16+0xb9e>
+  .byte  124,66                              // jl            95ce <.literal16+0xcbe>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  124,66                              // jl            8ab2 <.literal16+0xba2>
+  .byte  124,66                              // jl            95d2 <.literal16+0xcc2>
+  .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,240                               // add           %dh,%al
   .byte  0,0                                 // add           %al,(%eax)
   .byte  0,240                               // add           %dh,%al
@@ -51909,13 +56835,13 @@
   .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            8bb5 <.literal16+0xca5>
+  .byte  112,65                              // jo            9755 <.literal16+0xe45>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  112,65                              // jo            8bb9 <.literal16+0xca9>
+  .byte  112,65                              // jo            9759 <.literal16+0xe49>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  112,65                              // jo            8bbd <.literal16+0xcad>
+  .byte  112,65                              // jo            975d <.literal16+0xe4d>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  112,65                              // jo            8bc1 <.literal16+0xcb1>
+  .byte  112,65                              // jo            9761 <.literal16+0xe51>
   .byte  255,0                               // incl          (%eax)
   .byte  0,0                                 // add           %al,(%eax)
   .byte  255,0                               // incl          (%eax)
@@ -51935,13 +56861,22 @@
   .byte  0,0                                 // add           %al,(%eax)
   .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,255,0,0,0                // addb          $0x0,0xff3b(%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  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,0,127,67               // addb          $0x43,0x7f00003b(%eax)
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8c0b <.literal16+0xcfb>
+  .byte  127,67                              // jg            97cb <.literal16+0xebb>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8c0f <.literal16+0xcff>
+  .byte  127,67                              // jg            97cf <.literal16+0xebf>
   .byte  0,0                                 // add           %al,(%eax)
-  .byte  127,67                              // jg            8c13 <.literal16+0xd03>
+  .byte  127,67                              // jg            97d3 <.literal16+0xec3>
   .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)
@@ -51982,6 +56917,26 @@
   .byte  128,0,4                             // addb          $0x4,(%eax)
   .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%eax)
   .byte  0,4,0                               // add           %al,(%eax,%eax,1)
+  .byte  128,0,128                           // addb          $0x80,(%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  0,128,0,0,0,0                       // add           %al,0x0(%eax)
+  .byte  0,56                                // add           %bh,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,56                                // add           %bh,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,56                                // add           %bh,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,56                                // add           %bh,(%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  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
+  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
+  .byte  128,0,4                             // addb          $0x4,(%eax)
+  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%eax)
+  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
   .byte  128,0,0                             // addb          $0x0,(%eax)
   .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
   .byte  0,0                                 // add           %al,(%eax)
@@ -52020,13 +56975,13 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  255                                 // (bad)
-  .byte  127,71                              // jg            8cfb <.literal16+0xdeb>
+  .byte  127,71                              // jg            98fb <.literal16+0xfeb>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            8cff <.literal16+0xdef>
+  .byte  127,71                              // jg            98ff <.literal16+0xfef>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            8d03 <.literal16+0xdf3>
+  .byte  127,71                              // jg            9903 <.literal16+0xff3>
   .byte  0,255                               // add           %bh,%bh
-  .byte  127,71                              // jg            8d07 <.literal16+0xdf7>
+  .byte  127,71                              // jg            9907 <.literal16+0xff7>
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,0                            // cmpb          $0x0,(%edi)
   .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
@@ -52134,7 +57089,7 @@
   .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110
   .byte  17,192                              // adc           %eax,%eax
   .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
-  .byte  120,57                              // js            8e0c <.literal16+0xefc>
+  .byte  120,57                              // js            9a0c <.literal16+0x10fc>
   .byte  64                                  // inc           %eax
   .byte  18,120,57                           // adc           0x39(%eax),%bh
   .byte  64                                  // inc           %eax
@@ -52268,11 +57223,11 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,114                          // cmpb          $0x72,(%edi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         8f52 <.literal16+0x1042>
+  .byte  62,114,28                           // jb,pt         9b52 <.literal16+0x1242>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         8f56 <.literal16+0x1046>
+  .byte  62,114,28                           // jb,pt         9b56 <.literal16+0x1246>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         8f5a <.literal16+0x104a>
+  .byte  62,114,28                           // jb,pt         9b5a <.literal16+0x124a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%edi)
   .byte  170                                 // stos          %al,%es:(%edi)
@@ -52351,13 +57306,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%edi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // aas
-  .byte  114,28                              // jb            901e <.literal16+0x110e>
+  .byte  114,28                              // jb            9c1e <.literal16+0x130e>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         9022 <.literal16+0x1112>
+  .byte  62,114,28                           // jb,pt         9c22 <.literal16+0x1312>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         9026 <.literal16+0x1116>
+  .byte  62,114,28                           // jb,pt         9c26 <.literal16+0x1316>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         902a <.literal16+0x111a>
+  .byte  62,114,28                           // jb,pt         9c2a <.literal16+0x131a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%edi)
   .byte  170                                 // stos          %al,%es:(%edi)
@@ -52378,11 +57333,11 @@
   .byte  0,0                                 // add           %al,(%eax)
   .byte  128,63,114                          // cmpb          $0x72,(%edi)
   .byte  28,199                              // sbb           $0xc7,%al
-  .byte  62,114,28                           // jb,pt         9062 <.literal16+0x1152>
+  .byte  62,114,28                           // jb,pt         9c62 <.literal16+0x1352>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         9066 <.literal16+0x1156>
+  .byte  62,114,28                           // jb,pt         9c66 <.literal16+0x1356>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         906a <.literal16+0x115a>
+  .byte  62,114,28                           // jb,pt         9c6a <.literal16+0x135a>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%edi)
   .byte  170                                 // stos          %al,%es:(%edi)
@@ -52461,13 +57416,13 @@
   .byte  192,63,0                            // sarb          $0x0,(%edi)
   .byte  0,192                               // add           %al,%al
   .byte  63                                  // aas
-  .byte  114,28                              // jb            912e <.literal16+0x121e>
+  .byte  114,28                              // jb            9d2e <.literal16+0x141e>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         9132 <_sk_callback_sse2+0x1312>
+  .byte  62,114,28                           // jb,pt         9d32 <_sk_callback_sse2+0x150d>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         9136 <_sk_callback_sse2+0x1316>
+  .byte  62,114,28                           // jb,pt         9d36 <_sk_callback_sse2+0x1511>
   .byte  199                                 // (bad)
-  .byte  62,114,28                           // jb,pt         913a <_sk_callback_sse2+0x131a>
+  .byte  62,114,28                           // jb,pt         9d3a <_sk_callback_sse2+0x1515>
   .byte  199                                 // (bad)
   .byte  62,171                              // ds            stos %eax,%es:(%edi)
   .byte  170                                 // stos          %al,%es:(%edi)
diff --git a/src/jumper/SkJumper_generated_win.S b/src/jumper/SkJumper_generated_win.S
index 4c93ee9..300f8ce 100644
--- a/src/jumper/SkJumper_generated_win.S
+++ b/src/jumper/SkJumper_generated_win.S
@@ -94,7 +94,7 @@
   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  196,226,125,24,13,226,75,0,0        ; vbroadcastss  0x4be2(%rip),%ymm1        # 4d14 <_sk_callback_hsw+0x12c>
+  DB  196,226,125,24,13,14,83,0,0         ; vbroadcastss  0x530e(%rip),%ymm1        # 5440 <_sk_callback_hsw+0x12c>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  197,252,88,7                        ; vaddps        (%rdi),%ymm0,%ymm0
   DB  197,249,110,209                     ; vmovd         %ecx,%xmm2
@@ -102,7 +102,7 @@
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
   DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,21,194,75,0,0        ; vbroadcastss  0x4bc2(%rip),%ymm2        # 4d18 <_sk_callback_hsw+0x130>
+  DB  196,226,125,24,21,238,82,0,0        ; vbroadcastss  0x52ee(%rip),%ymm2        # 5444 <_sk_callback_hsw+0x130>
   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
@@ -119,13 +119,13 @@
   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,137,75,0,0         ; vpbroadcastd  0x4b89(%rip),%ymm10        # 4d1c <_sk_callback_hsw+0x134>
+  DB  196,98,125,88,21,181,82,0,0         ; vpbroadcastd  0x52b5(%rip),%ymm10        # 5448 <_sk_callback_hsw+0x134>
   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,110,75,0,0         ; vpbroadcastd  0x4b6e(%rip),%ymm12        # 4d20 <_sk_callback_hsw+0x138>
-  DB  196,98,125,88,45,105,75,0,0         ; vpbroadcastd  0x4b69(%rip),%ymm13        # 4d24 <_sk_callback_hsw+0x13c>
+  DB  196,98,125,88,37,154,82,0,0         ; vpbroadcastd  0x529a(%rip),%ymm12        # 544c <_sk_callback_hsw+0x138>
+  DB  196,98,125,88,45,149,82,0,0         ; vpbroadcastd  0x5295(%rip),%ymm13        # 5450 <_sk_callback_hsw+0x13c>
   DB  196,65,53,219,245                   ; vpand         %ymm13,%ymm9,%ymm14
   DB  196,193,13,114,246,2                ; vpslld        $0x2,%ymm14,%ymm14
   DB  196,65,61,219,237                   ; vpand         %ymm13,%ymm8,%ymm13
@@ -140,8 +140,8 @@
   DB  196,65,61,235,194                   ; vpor          %ymm10,%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,27,75,0,0          ; vbroadcastss  0x4b1b(%rip),%ymm9        # 4d28 <_sk_callback_hsw+0x140>
-  DB  196,98,125,24,21,22,75,0,0          ; vbroadcastss  0x4b16(%rip),%ymm10        # 4d2c <_sk_callback_hsw+0x144>
+  DB  196,98,125,24,13,71,82,0,0          ; vbroadcastss  0x5247(%rip),%ymm9        # 5454 <_sk_callback_hsw+0x140>
+  DB  196,98,125,24,21,66,82,0,0          ; vbroadcastss  0x5242(%rip),%ymm10        # 5458 <_sk_callback_hsw+0x144>
   DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
   DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
   DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
@@ -200,7 +200,7 @@
 PUBLIC _sk_srcatop_hsw
 _sk_srcatop_hsw LABEL PROC
   DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
-  DB  196,98,125,24,5,110,74,0,0          ; vbroadcastss  0x4a6e(%rip),%ymm8        # 4d30 <_sk_callback_hsw+0x148>
+  DB  196,98,125,24,5,154,81,0,0          ; vbroadcastss  0x519a(%rip),%ymm8        # 545c <_sk_callback_hsw+0x148>
   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
@@ -214,7 +214,7 @@
 
 PUBLIC _sk_dstatop_hsw
 _sk_dstatop_hsw LABEL PROC
-  DB  196,98,125,24,5,65,74,0,0           ; vbroadcastss  0x4a41(%rip),%ymm8        # 4d34 <_sk_callback_hsw+0x14c>
+  DB  196,98,125,24,5,109,81,0,0          ; vbroadcastss  0x516d(%rip),%ymm8        # 5460 <_sk_callback_hsw+0x14c>
   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
@@ -247,7 +247,7 @@
 
 PUBLIC _sk_srcout_hsw
 _sk_srcout_hsw LABEL PROC
-  DB  196,98,125,24,5,232,73,0,0          ; vbroadcastss  0x49e8(%rip),%ymm8        # 4d38 <_sk_callback_hsw+0x150>
+  DB  196,98,125,24,5,20,81,0,0           ; vbroadcastss  0x5114(%rip),%ymm8        # 5464 <_sk_callback_hsw+0x150>
   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
@@ -258,7 +258,7 @@
 
 PUBLIC _sk_dstout_hsw
 _sk_dstout_hsw LABEL PROC
-  DB  196,226,125,24,5,203,73,0,0         ; vbroadcastss  0x49cb(%rip),%ymm0        # 4d3c <_sk_callback_hsw+0x154>
+  DB  196,226,125,24,5,247,80,0,0         ; vbroadcastss  0x50f7(%rip),%ymm0        # 5468 <_sk_callback_hsw+0x154>
   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
@@ -269,7 +269,7 @@
 
 PUBLIC _sk_srcover_hsw
 _sk_srcover_hsw LABEL PROC
-  DB  196,98,125,24,5,174,73,0,0          ; vbroadcastss  0x49ae(%rip),%ymm8        # 4d40 <_sk_callback_hsw+0x158>
+  DB  196,98,125,24,5,218,80,0,0          ; vbroadcastss  0x50da(%rip),%ymm8        # 546c <_sk_callback_hsw+0x158>
   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
@@ -280,7 +280,7 @@
 
 PUBLIC _sk_dstover_hsw
 _sk_dstover_hsw LABEL PROC
-  DB  196,98,125,24,5,141,73,0,0          ; vbroadcastss  0x498d(%rip),%ymm8        # 4d44 <_sk_callback_hsw+0x15c>
+  DB  196,98,125,24,5,185,80,0,0          ; vbroadcastss  0x50b9(%rip),%ymm8        # 5470 <_sk_callback_hsw+0x15c>
   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
@@ -300,7 +300,7 @@
 
 PUBLIC _sk_multiply_hsw
 _sk_multiply_hsw LABEL PROC
-  DB  196,98,125,24,5,88,73,0,0           ; vbroadcastss  0x4958(%rip),%ymm8        # 4d48 <_sk_callback_hsw+0x160>
+  DB  196,98,125,24,5,132,80,0,0          ; vbroadcastss  0x5084(%rip),%ymm8        # 5474 <_sk_callback_hsw+0x160>
   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
@@ -342,7 +342,7 @@
 
 PUBLIC _sk_xor__hsw
 _sk_xor__hsw LABEL PROC
-  DB  196,98,125,24,5,211,72,0,0          ; vbroadcastss  0x48d3(%rip),%ymm8        # 4d4c <_sk_callback_hsw+0x164>
+  DB  196,98,125,24,5,255,79,0,0          ; vbroadcastss  0x4fff(%rip),%ymm8        # 5478 <_sk_callback_hsw+0x164>
   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
@@ -374,7 +374,7 @@
   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,91,72,0,0           ; vbroadcastss  0x485b(%rip),%ymm8        # 4d50 <_sk_callback_hsw+0x168>
+  DB  196,98,125,24,5,135,79,0,0          ; vbroadcastss  0x4f87(%rip),%ymm8        # 547c <_sk_callback_hsw+0x168>
   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
@@ -397,7 +397,7 @@
   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,10,72,0,0           ; vbroadcastss  0x480a(%rip),%ymm8        # 4d54 <_sk_callback_hsw+0x16c>
+  DB  196,98,125,24,5,54,79,0,0           ; vbroadcastss  0x4f36(%rip),%ymm8        # 5480 <_sk_callback_hsw+0x16c>
   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
@@ -423,7 +423,7 @@
   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,173,71,0,0          ; vbroadcastss  0x47ad(%rip),%ymm8        # 4d58 <_sk_callback_hsw+0x170>
+  DB  196,98,125,24,5,217,78,0,0          ; vbroadcastss  0x4ed9(%rip),%ymm8        # 5484 <_sk_callback_hsw+0x170>
   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
@@ -443,7 +443,7 @@
   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,107,71,0,0          ; vbroadcastss  0x476b(%rip),%ymm8        # 4d5c <_sk_callback_hsw+0x174>
+  DB  196,98,125,24,5,151,78,0,0          ; vbroadcastss  0x4e97(%rip),%ymm8        # 5488 <_sk_callback_hsw+0x174>
   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
@@ -451,7 +451,7 @@
 
 PUBLIC _sk_colorburn_hsw
 _sk_colorburn_hsw LABEL PROC
-  DB  196,98,125,24,5,89,71,0,0           ; vbroadcastss  0x4759(%rip),%ymm8        # 4d60 <_sk_callback_hsw+0x178>
+  DB  196,98,125,24,5,133,78,0,0          ; vbroadcastss  0x4e85(%rip),%ymm8        # 548c <_sk_callback_hsw+0x178>
   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
@@ -507,7 +507,7 @@
 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,100,70,0,0         ; vbroadcastss  0x4664(%rip),%ymm9        # 4d64 <_sk_callback_hsw+0x17c>
+  DB  196,98,125,24,13,144,77,0,0         ; vbroadcastss  0x4d90(%rip),%ymm9        # 5490 <_sk_callback_hsw+0x17c>
   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
@@ -558,7 +558,7 @@
 
 PUBLIC _sk_hardlight_hsw
 _sk_hardlight_hsw LABEL PROC
-  DB  196,98,125,24,5,133,69,0,0          ; vbroadcastss  0x4585(%rip),%ymm8        # 4d68 <_sk_callback_hsw+0x180>
+  DB  196,98,125,24,5,177,76,0,0          ; vbroadcastss  0x4cb1(%rip),%ymm8        # 5494 <_sk_callback_hsw+0x180>
   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
@@ -607,7 +607,7 @@
 
 PUBLIC _sk_overlay_hsw
 _sk_overlay_hsw LABEL PROC
-  DB  196,98,125,24,5,189,68,0,0          ; vbroadcastss  0x44bd(%rip),%ymm8        # 4d6c <_sk_callback_hsw+0x184>
+  DB  196,98,125,24,5,233,75,0,0          ; vbroadcastss  0x4be9(%rip),%ymm8        # 5498 <_sk_callback_hsw+0x184>
   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
@@ -667,10 +667,10 @@
   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,196,67,0,0         ; vbroadcastss  0x43c4(%rip),%ymm11        # 4d74 <_sk_callback_hsw+0x18c>
+  DB  196,98,125,24,29,240,74,0,0         ; vbroadcastss  0x4af0(%rip),%ymm11        # 54a0 <_sk_callback_hsw+0x18c>
   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,181,67,0,0         ; vbroadcastss  0x43b5(%rip),%ymm12        # 4d78 <_sk_callback_hsw+0x190>
+  DB  196,98,125,24,37,225,74,0,0         ; vbroadcastss  0x4ae1(%rip),%ymm12        # 54a4 <_sk_callback_hsw+0x190>
   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
@@ -680,7 +680,7 @@
   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,120,67,0,0          ; vbroadcastss  0x4378(%rip),%ymm8        # 4d70 <_sk_callback_hsw+0x188>
+  DB  196,98,125,24,5,164,74,0,0          ; vbroadcastss  0x4aa4(%rip),%ymm8        # 549c <_sk_callback_hsw+0x188>
   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
@@ -793,11 +793,11 @@
   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,119,65,0,0         ; vbroadcastss  0x4177(%rip),%ymm14        # 4d7c <_sk_callback_hsw+0x194>
-  DB  196,98,125,24,61,114,65,0,0         ; vbroadcastss  0x4172(%rip),%ymm15        # 4d80 <_sk_callback_hsw+0x198>
+  DB  196,98,125,24,53,163,72,0,0         ; vbroadcastss  0x48a3(%rip),%ymm14        # 54a8 <_sk_callback_hsw+0x194>
+  DB  196,98,125,24,61,158,72,0,0         ; vbroadcastss  0x489e(%rip),%ymm15        # 54ac <_sk_callback_hsw+0x198>
   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,99,65,0,0          ; vbroadcastss  0x4163(%rip),%ymm0        # 4d84 <_sk_callback_hsw+0x19c>
+  DB  196,226,125,24,5,143,72,0,0         ; vbroadcastss  0x488f(%rip),%ymm0        # 54b0 <_sk_callback_hsw+0x19c>
   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
@@ -852,7 +852,7 @@
   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,80,64,0,0         ; vbroadcastss  0x4050(%rip),%ymm1        # 4d88 <_sk_callback_hsw+0x1a0>
+  DB  196,226,125,24,13,124,71,0,0        ; vbroadcastss  0x477c(%rip),%ymm1        # 54b4 <_sk_callback_hsw+0x1a0>
   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
@@ -906,11 +906,11 @@
   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,97,63,0,0          ; vbroadcastss  0x3f61(%rip),%ymm14        # 4d8c <_sk_callback_hsw+0x1a4>
-  DB  196,98,125,24,61,92,63,0,0          ; vbroadcastss  0x3f5c(%rip),%ymm15        # 4d90 <_sk_callback_hsw+0x1a8>
+  DB  196,98,125,24,53,141,70,0,0         ; vbroadcastss  0x468d(%rip),%ymm14        # 54b8 <_sk_callback_hsw+0x1a4>
+  DB  196,98,125,24,61,136,70,0,0         ; vbroadcastss  0x4688(%rip),%ymm15        # 54bc <_sk_callback_hsw+0x1a8>
   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,77,63,0,0          ; vbroadcastss  0x3f4d(%rip),%ymm0        # 4d94 <_sk_callback_hsw+0x1ac>
+  DB  196,226,125,24,5,121,70,0,0         ; vbroadcastss  0x4679(%rip),%ymm0        # 54c0 <_sk_callback_hsw+0x1ac>
   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
@@ -965,7 +965,7 @@
   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,58,62,0,0         ; vbroadcastss  0x3e3a(%rip),%ymm1        # 4d98 <_sk_callback_hsw+0x1b0>
+  DB  196,226,125,24,13,102,69,0,0        ; vbroadcastss  0x4566(%rip),%ymm1        # 54c4 <_sk_callback_hsw+0x1b0>
   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
@@ -993,11 +993,11 @@
   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,205,61,0,0         ; vbroadcastss  0x3dcd(%rip),%ymm13        # 4d9c <_sk_callback_hsw+0x1b4>
-  DB  196,98,125,24,53,200,61,0,0         ; vbroadcastss  0x3dc8(%rip),%ymm14        # 4da0 <_sk_callback_hsw+0x1b8>
+  DB  196,98,125,24,45,249,68,0,0         ; vbroadcastss  0x44f9(%rip),%ymm13        # 54c8 <_sk_callback_hsw+0x1b4>
+  DB  196,98,125,24,53,244,68,0,0         ; vbroadcastss  0x44f4(%rip),%ymm14        # 54cc <_sk_callback_hsw+0x1b8>
   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,185,61,0,0         ; vbroadcastss  0x3db9(%rip),%ymm15        # 4da4 <_sk_callback_hsw+0x1bc>
+  DB  196,98,125,24,61,229,68,0,0         ; vbroadcastss  0x44e5(%rip),%ymm15        # 54d0 <_sk_callback_hsw+0x1bc>
   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
@@ -1053,7 +1053,7 @@
   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,155,60,0,0         ; vbroadcastss  0x3c9b(%rip),%ymm0        # 4da8 <_sk_callback_hsw+0x1c0>
+  DB  196,226,125,24,5,199,67,0,0         ; vbroadcastss  0x43c7(%rip),%ymm0        # 54d4 <_sk_callback_hsw+0x1c0>
   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
@@ -1081,11 +1081,11 @@
   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,46,60,0,0          ; vbroadcastss  0x3c2e(%rip),%ymm13        # 4dac <_sk_callback_hsw+0x1c4>
-  DB  196,98,125,24,53,41,60,0,0          ; vbroadcastss  0x3c29(%rip),%ymm14        # 4db0 <_sk_callback_hsw+0x1c8>
+  DB  196,98,125,24,45,90,67,0,0          ; vbroadcastss  0x435a(%rip),%ymm13        # 54d8 <_sk_callback_hsw+0x1c4>
+  DB  196,98,125,24,53,85,67,0,0          ; vbroadcastss  0x4355(%rip),%ymm14        # 54dc <_sk_callback_hsw+0x1c8>
   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,26,60,0,0          ; vbroadcastss  0x3c1a(%rip),%ymm15        # 4db4 <_sk_callback_hsw+0x1cc>
+  DB  196,98,125,24,61,70,67,0,0          ; vbroadcastss  0x4346(%rip),%ymm15        # 54e0 <_sk_callback_hsw+0x1cc>
   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
@@ -1141,7 +1141,7 @@
   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,252,58,0,0         ; vbroadcastss  0x3afc(%rip),%ymm0        # 4db8 <_sk_callback_hsw+0x1d0>
+  DB  196,226,125,24,5,40,66,0,0          ; vbroadcastss  0x4228(%rip),%ymm0        # 54e4 <_sk_callback_hsw+0x1d0>
   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
@@ -1168,17 +1168,17 @@
   DB  77,133,192                          ; test          %r8,%r8
   DB  15,133,180,0,0,0                    ; jne           13ce <_sk_srcover_rgba_8888_hsw+0xcd>
   DB  196,193,124,16,58                   ; vmovups       (%r10),%ymm7
-  DB  197,196,84,37,25,62,0,0             ; vandps        0x3e19(%rip),%ymm7,%ymm4        # 5140 <_sk_callback_hsw+0x558>
+  DB  197,196,84,37,153,69,0,0            ; vandps        0x4599(%rip),%ymm7,%ymm4        # 58c0 <_sk_callback_hsw+0x5ac>
   DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
-  DB  196,226,69,0,45,44,62,0,0           ; vpshufb       0x3e2c(%rip),%ymm7,%ymm5        # 5160 <_sk_callback_hsw+0x578>
+  DB  196,226,69,0,45,172,69,0,0          ; vpshufb       0x45ac(%rip),%ymm7,%ymm5        # 58e0 <_sk_callback_hsw+0x5cc>
   DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
-  DB  196,226,69,0,53,63,62,0,0           ; vpshufb       0x3e3f(%rip),%ymm7,%ymm6        # 5180 <_sk_callback_hsw+0x598>
+  DB  196,226,69,0,53,191,69,0,0          ; vpshufb       0x45bf(%rip),%ymm7,%ymm6        # 5900 <_sk_callback_hsw+0x5ec>
   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,5,101,58,0,0          ; vbroadcastss  0x3a65(%rip),%ymm8        # 4dbc <_sk_callback_hsw+0x1d4>
+  DB  196,98,125,24,5,145,65,0,0          ; vbroadcastss  0x4191(%rip),%ymm8        # 54e8 <_sk_callback_hsw+0x1d4>
   DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
-  DB  196,98,125,24,13,92,58,0,0          ; vbroadcastss  0x3a5c(%rip),%ymm9        # 4dc0 <_sk_callback_hsw+0x1d8>
+  DB  196,98,125,24,13,136,65,0,0         ; vbroadcastss  0x4188(%rip),%ymm9        # 54ec <_sk_callback_hsw+0x1d8>
   DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
   DB  196,194,93,184,192                  ; vfmadd231ps   %ymm8,%ymm4,%ymm0
   DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
@@ -1234,7 +1234,7 @@
 
 PUBLIC _sk_clamp_1_hsw
 _sk_clamp_1_hsw LABEL PROC
-  DB  196,98,125,24,5,129,57,0,0          ; vbroadcastss  0x3981(%rip),%ymm8        # 4dc4 <_sk_callback_hsw+0x1dc>
+  DB  196,98,125,24,5,173,64,0,0          ; vbroadcastss  0x40ad(%rip),%ymm8        # 54f0 <_sk_callback_hsw+0x1dc>
   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
@@ -1244,7 +1244,7 @@
 
 PUBLIC _sk_clamp_a_hsw
 _sk_clamp_a_hsw LABEL PROC
-  DB  196,98,125,24,5,100,57,0,0          ; vbroadcastss  0x3964(%rip),%ymm8        # 4dc8 <_sk_callback_hsw+0x1e0>
+  DB  196,98,125,24,5,144,64,0,0          ; vbroadcastss  0x4090(%rip),%ymm8        # 54f4 <_sk_callback_hsw+0x1e0>
   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
@@ -1252,6 +1252,16 @@
   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,118,64,0,0          ; vbroadcastss  0x4076(%rip),%ymm8        # 54f8 <_sk_callback_hsw+0x1e4>
+  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
@@ -1269,6 +1279,14 @@
   DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_hsw
+_sk_swap_rb_dst_hsw LABEL PROC
+  DB  197,124,40,196                      ; vmovaps       %ymm4,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,230                      ; vmovaps       %ymm6,%ymm4
+  DB  197,124,41,198                      ; vmovaps       %ymm8,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_hsw
 _sk_swap_hsw LABEL PROC
   DB  197,124,40,195                      ; vmovaps       %ymm3,%ymm8
@@ -1316,7 +1334,7 @@
 _sk_unpremul_hsw LABEL PROC
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,65,100,194,200,0                ; vcmpeqps      %ymm8,%ymm3,%ymm9
-  DB  196,98,125,24,21,172,56,0,0         ; vbroadcastss  0x38ac(%rip),%ymm10        # 4dcc <_sk_callback_hsw+0x1e4>
+  DB  196,98,125,24,21,174,63,0,0         ; vbroadcastss  0x3fae(%rip),%ymm10        # 54fc <_sk_callback_hsw+0x1e8>
   DB  197,44,94,211                       ; vdivps        %ymm3,%ymm10,%ymm10
   DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
   DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
@@ -1327,16 +1345,16 @@
 
 PUBLIC _sk_from_srgb_hsw
 _sk_from_srgb_hsw LABEL PROC
-  DB  196,98,125,24,5,141,56,0,0          ; vbroadcastss  0x388d(%rip),%ymm8        # 4dd0 <_sk_callback_hsw+0x1e8>
+  DB  196,98,125,24,5,143,63,0,0          ; vbroadcastss  0x3f8f(%rip),%ymm8        # 5500 <_sk_callback_hsw+0x1ec>
   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,127,56,0,0         ; vbroadcastss  0x387f(%rip),%ymm11        # 4dd4 <_sk_callback_hsw+0x1ec>
-  DB  196,98,125,24,37,122,56,0,0         ; vbroadcastss  0x387a(%rip),%ymm12        # 4dd8 <_sk_callback_hsw+0x1f0>
+  DB  196,98,125,24,29,129,63,0,0         ; vbroadcastss  0x3f81(%rip),%ymm11        # 5504 <_sk_callback_hsw+0x1f0>
+  DB  196,98,125,24,37,124,63,0,0         ; vbroadcastss  0x3f7c(%rip),%ymm12        # 5508 <_sk_callback_hsw+0x1f4>
   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,107,56,0,0         ; vbroadcastss  0x386b(%rip),%ymm14        # 4ddc <_sk_callback_hsw+0x1f4>
+  DB  196,98,125,24,53,109,63,0,0         ; vbroadcastss  0x3f6d(%rip),%ymm14        # 550c <_sk_callback_hsw+0x1f8>
   DB  196,66,45,168,238                   ; vfmadd213ps   %ymm14,%ymm10,%ymm13
-  DB  196,98,125,24,21,97,56,0,0          ; vbroadcastss  0x3861(%rip),%ymm10        # 4de0 <_sk_callback_hsw+0x1f8>
+  DB  196,98,125,24,21,99,63,0,0          ; vbroadcastss  0x3f63(%rip),%ymm10        # 5510 <_sk_callback_hsw+0x1fc>
   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
@@ -1355,22 +1373,52 @@
   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,11,63,0,0           ; vbroadcastss  0x3f0b(%rip),%ymm8        # 5514 <_sk_callback_hsw+0x200>
+  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,253,62,0,0         ; vbroadcastss  0x3efd(%rip),%ymm11        # 5518 <_sk_callback_hsw+0x204>
+  DB  196,98,125,24,37,248,62,0,0         ; vbroadcastss  0x3ef8(%rip),%ymm12        # 551c <_sk_callback_hsw+0x208>
+  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,233,62,0,0         ; vbroadcastss  0x3ee9(%rip),%ymm14        # 5520 <_sk_callback_hsw+0x20c>
+  DB  196,66,45,168,238                   ; vfmadd213ps   %ymm14,%ymm10,%ymm13
+  DB  196,98,125,24,21,223,62,0,0         ; vbroadcastss  0x3edf(%rip),%ymm10        # 5524 <_sk_callback_hsw+0x210>
+  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,5,56,0,0            ; vbroadcastss  0x3805(%rip),%ymm8        # 4de4 <_sk_callback_hsw+0x1fc>
+  DB  196,98,125,24,5,131,62,0,0          ; vbroadcastss  0x3e83(%rip),%ymm8        # 5528 <_sk_callback_hsw+0x214>
   DB  196,65,124,89,208                   ; vmulps        %ymm8,%ymm0,%ymm10
-  DB  196,98,125,24,29,251,55,0,0         ; vbroadcastss  0x37fb(%rip),%ymm11        # 4de8 <_sk_callback_hsw+0x200>
-  DB  196,98,125,24,37,246,55,0,0         ; vbroadcastss  0x37f6(%rip),%ymm12        # 4dec <_sk_callback_hsw+0x204>
+  DB  196,98,125,24,29,121,62,0,0         ; vbroadcastss  0x3e79(%rip),%ymm11        # 552c <_sk_callback_hsw+0x218>
+  DB  196,98,125,24,37,116,62,0,0         ; vbroadcastss  0x3e74(%rip),%ymm12        # 5530 <_sk_callback_hsw+0x21c>
   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,231,55,0,0         ; vbroadcastss  0x37e7(%rip),%ymm14        # 4df0 <_sk_callback_hsw+0x208>
+  DB  196,98,125,24,53,101,62,0,0         ; vbroadcastss  0x3e65(%rip),%ymm14        # 5534 <_sk_callback_hsw+0x220>
   DB  196,66,53,168,238                   ; vfmadd213ps   %ymm14,%ymm9,%ymm13
-  DB  196,98,125,24,61,221,55,0,0         ; vbroadcastss  0x37dd(%rip),%ymm15        # 4df4 <_sk_callback_hsw+0x20c>
+  DB  196,98,125,24,61,91,62,0,0          ; vbroadcastss  0x3e5b(%rip),%ymm15        # 5538 <_sk_callback_hsw+0x224>
   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,201,55,0,0         ; vbroadcastss  0x37c9(%rip),%ymm13        # 4df8 <_sk_callback_hsw+0x210>
+  DB  196,98,125,24,45,71,62,0,0          ; vbroadcastss  0x3e47(%rip),%ymm13        # 553c <_sk_callback_hsw+0x228>
   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
@@ -1402,26 +1450,26 @@
   DB  197,124,93,201                      ; vminps        %ymm1,%ymm0,%ymm9
   DB  197,52,93,202                       ; vminps        %ymm2,%ymm9,%ymm9
   DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
-  DB  196,98,125,24,29,62,55,0,0          ; vbroadcastss  0x373e(%rip),%ymm11        # 4dfc <_sk_callback_hsw+0x214>
+  DB  196,98,125,24,29,188,61,0,0         ; vbroadcastss  0x3dbc(%rip),%ymm11        # 5540 <_sk_callback_hsw+0x22c>
   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,43,55,0,0          ; vbroadcastss  0x372b(%rip),%ymm14        # 4e00 <_sk_callback_hsw+0x218>
+  DB  196,98,125,24,53,169,61,0,0         ; vbroadcastss  0x3da9(%rip),%ymm14        # 5544 <_sk_callback_hsw+0x230>
   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,18,55,0,0          ; vbroadcastss  0x3712(%rip),%ymm14        # 4e08 <_sk_callback_hsw+0x220>
+  DB  196,98,125,24,53,144,61,0,0         ; vbroadcastss  0x3d90(%rip),%ymm14        # 554c <_sk_callback_hsw+0x238>
   DB  196,66,37,168,238                   ; vfmadd213ps   %ymm14,%ymm11,%ymm13
-  DB  196,98,125,24,53,0,55,0,0           ; vbroadcastss  0x3700(%rip),%ymm14        # 4e04 <_sk_callback_hsw+0x21c>
+  DB  196,98,125,24,53,126,61,0,0         ; vbroadcastss  0x3d7e(%rip),%ymm14        # 5548 <_sk_callback_hsw+0x234>
   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,227,54,0,0         ; vbroadcastss  0x36e3(%rip),%ymm11        # 4e10 <_sk_callback_hsw+0x228>
+  DB  196,98,125,24,29,97,61,0,0          ; vbroadcastss  0x3d61(%rip),%ymm11        # 5554 <_sk_callback_hsw+0x240>
   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
@@ -1431,7 +1479,7 @@
   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,166,54,0,0          ; vbroadcastss  0x36a6(%rip),%ymm8        # 4e0c <_sk_callback_hsw+0x224>
+  DB  196,98,125,24,5,36,61,0,0           ; vbroadcastss  0x3d24(%rip),%ymm8        # 5550 <_sk_callback_hsw+0x23c>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -1446,30 +1494,30 @@
   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,109,54,0,0          ; vbroadcastss  0x366d(%rip),%ymm8        # 4e14 <_sk_callback_hsw+0x22c>
+  DB  196,98,125,24,5,235,60,0,0          ; vbroadcastss  0x3ceb(%rip),%ymm8        # 5558 <_sk_callback_hsw+0x244>
   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,80,54,0,0          ; vbroadcastss  0x3650(%rip),%ymm9        # 4e18 <_sk_callback_hsw+0x230>
+  DB  196,98,125,24,13,206,60,0,0         ; vbroadcastss  0x3cce(%rip),%ymm9        # 555c <_sk_callback_hsw+0x248>
   DB  196,66,109,170,202                  ; vfmsub213ps   %ymm10,%ymm2,%ymm9
-  DB  196,98,125,24,29,70,54,0,0          ; vbroadcastss  0x3646(%rip),%ymm11        # 4e1c <_sk_callback_hsw+0x234>
+  DB  196,98,125,24,29,196,60,0,0         ; vbroadcastss  0x3cc4(%rip),%ymm11        # 5560 <_sk_callback_hsw+0x24c>
   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,48,54,0,0          ; vbroadcastss  0x3630(%rip),%ymm13        # 4e24 <_sk_callback_hsw+0x23c>
+  DB  196,98,125,24,45,174,60,0,0         ; vbroadcastss  0x3cae(%rip),%ymm13        # 5568 <_sk_callback_hsw+0x254>
   DB  196,193,4,89,197                    ; vmulps        %ymm13,%ymm15,%ymm0
-  DB  196,98,125,24,53,38,54,0,0          ; vbroadcastss  0x3626(%rip),%ymm14        # 4e28 <_sk_callback_hsw+0x240>
+  DB  196,98,125,24,53,164,60,0,0         ; vbroadcastss  0x3ca4(%rip),%ymm14        # 556c <_sk_callback_hsw+0x258>
   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,12,54,0,0         ; vbroadcastss  0x360c(%rip),%ymm3        # 4e20 <_sk_callback_hsw+0x238>
+  DB  196,226,125,24,29,138,60,0,0        ; vbroadcastss  0x3c8a(%rip),%ymm3        # 5564 <_sk_callback_hsw+0x250>
   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,247,53,0,0         ; vbroadcastss  0x35f7(%rip),%ymm12        # 4e2c <_sk_callback_hsw+0x244>
+  DB  196,98,125,24,37,117,60,0,0         ; vbroadcastss  0x3c75(%rip),%ymm12        # 5570 <_sk_callback_hsw+0x25c>
   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
@@ -1485,7 +1533,7 @@
   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,163,53,0,0         ; vbroadcastss  0x35a3(%rip),%ymm0        # 4e30 <_sk_callback_hsw+0x248>
+  DB  196,226,125,24,5,33,60,0,0          ; vbroadcastss  0x3c21(%rip),%ymm0        # 5574 <_sk_callback_hsw+0x260>
   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
@@ -1529,12 +1577,12 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,58                              ; jne           1974 <_sk_scale_u8_hsw+0x44>
+  DB  117,58                              ; jne           1a3a <_sk_scale_u8_hsw+0x44>
   DB  196,66,121,48,4,19                  ; vpmovzxbw     (%r11,%rdx,1),%xmm8
-  DB  197,57,219,5,216,57,0,0             ; vpand         0x39d8(%rip),%xmm8,%xmm8        # 5320 <_sk_callback_hsw+0x738>
+  DB  197,57,219,5,242,64,0,0             ; vpand         0x40f2(%rip),%xmm8,%xmm8        # 5b00 <_sk_callback_hsw+0x7ec>
   DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
   DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
-  DB  196,98,125,24,13,217,52,0,0         ; vbroadcastss  0x34d9(%rip),%ymm9        # 4e34 <_sk_callback_hsw+0x24c>
+  DB  196,98,125,24,13,87,59,0,0          ; vbroadcastss  0x3b57(%rip),%ymm9        # 5578 <_sk_callback_hsw+0x264>
   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
@@ -1547,15 +1595,15 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,183                             ; ja            1940 <_sk_scale_u8_hsw+0x10>
+  DB  119,183                             ; ja            1a06 <_sk_scale_u8_hsw+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,124,0,0,0                 ; lea           0x7c(%rip),%r10        # 1a10 <_sk_scale_u8_hsw+0xe0>
+  DB  76,141,21,122,0,0,0                 ; lea           0x7a(%rip),%r10        # 1ad4 <_sk_scale_u8_hsw+0xde>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  235,152                             ; jmp           1940 <_sk_scale_u8_hsw+0x10>
+  DB  235,152                             ; jmp           1a06 <_sk_scale_u8_hsw+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -1563,7 +1611,7 @@
   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,111,255,255,255                 ; jmpq          1940 <_sk_scale_u8_hsw+0x10>
+  DB  233,111,255,255,255                 ; jmpq          1a06 <_sk_scale_u8_hsw+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -1574,24 +1622,22 @@
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%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,51,255,255,255                  ; jmpq          1940 <_sk_scale_u8_hsw+0x10>
-  DB  15,31,0                             ; nopl          (%rax)
-  DB  141                                 ; (bad)
+  DB  233,51,255,255,255                  ; jmpq          1a06 <_sk_scale_u8_hsw+0x10>
+  DB  144                                 ; nop
+  DB  143                                 ; (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,170,255,255,255,154             ; ljmp          *-0x65000001(%rdx)
   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  233,255,255,255,222                 ; jmpq          ffffffffdf001ae4 <_sk_callback_hsw+0xffffffffdeffc7d0>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,193                             ; inc           %ecx
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
@@ -1616,12 +1662,12 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,78                              ; jne           1ab3 <_sk_lerp_u8_hsw+0x58>
+  DB  117,78                              ; jne           1b77 <_sk_lerp_u8_hsw+0x58>
   DB  196,66,121,48,4,19                  ; vpmovzxbw     (%r11,%rdx,1),%xmm8
-  DB  197,57,219,5,189,56,0,0             ; vpand         0x38bd(%rip),%xmm8,%xmm8        # 5330 <_sk_callback_hsw+0x748>
+  DB  197,57,219,5,217,63,0,0             ; vpand         0x3fd9(%rip),%xmm8,%xmm8        # 5b10 <_sk_callback_hsw+0x7fc>
   DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
   DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
-  DB  196,98,125,24,13,178,51,0,0         ; vbroadcastss  0x33b2(%rip),%ymm9        # 4e38 <_sk_callback_hsw+0x250>
+  DB  196,98,125,24,13,50,58,0,0          ; vbroadcastss  0x3a32(%rip),%ymm9        # 557c <_sk_callback_hsw+0x268>
   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
@@ -1638,15 +1684,15 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,163                             ; ja            1a6b <_sk_lerp_u8_hsw+0x10>
+  DB  119,163                             ; ja            1b2f <_sk_lerp_u8_hsw+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,121,0,0,0                 ; lea           0x79(%rip),%r10        # 1b4c <_sk_lerp_u8_hsw+0xf1>
+  DB  76,141,21,121,0,0,0                 ; lea           0x79(%rip),%r10        # 1c10 <_sk_lerp_u8_hsw+0xf1>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  235,132                             ; jmp           1a6b <_sk_lerp_u8_hsw+0x10>
+  DB  235,132                             ; jmp           1b2f <_sk_lerp_u8_hsw+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -1654,7 +1700,7 @@
   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,91,255,255,255                  ; jmpq          1a6b <_sk_lerp_u8_hsw+0x10>
+  DB  233,91,255,255,255                  ; jmpq          1b2f <_sk_lerp_u8_hsw+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -1665,7 +1711,7 @@
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%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,31,255,255,255                  ; jmpq          1a6b <_sk_lerp_u8_hsw+0x10>
+  DB  233,31,255,255,255                  ; jmpq          1b2f <_sk_lerp_u8_hsw+0x10>
   DB  144                                 ; nop
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -1692,23 +1738,23 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,169,0,0,0                    ; jne           1c1f <_sk_lerp_565_hsw+0xb7>
+  DB  15,133,169,0,0,0                    ; jne           1ce3 <_sk_lerp_565_hsw+0xb7>
   DB  196,65,122,111,4,83                 ; vmovdqu       (%r11,%rdx,2),%xmm8
   DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
-  DB  196,98,125,88,13,178,50,0,0         ; vpbroadcastd  0x32b2(%rip),%ymm9        # 4e3c <_sk_callback_hsw+0x254>
+  DB  196,98,125,88,13,50,57,0,0          ; vpbroadcastd  0x3932(%rip),%ymm9        # 5580 <_sk_callback_hsw+0x26c>
   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,163,50,0,0         ; vbroadcastss  0x32a3(%rip),%ymm10        # 4e40 <_sk_callback_hsw+0x258>
+  DB  196,98,125,24,21,35,57,0,0          ; vbroadcastss  0x3923(%rip),%ymm10        # 5584 <_sk_callback_hsw+0x270>
   DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
-  DB  196,98,125,88,21,153,50,0,0         ; vpbroadcastd  0x3299(%rip),%ymm10        # 4e44 <_sk_callback_hsw+0x25c>
+  DB  196,98,125,88,21,25,57,0,0          ; vpbroadcastd  0x3919(%rip),%ymm10        # 5588 <_sk_callback_hsw+0x274>
   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,138,50,0,0         ; vbroadcastss  0x328a(%rip),%ymm11        # 4e48 <_sk_callback_hsw+0x260>
+  DB  196,98,125,24,29,10,57,0,0          ; vbroadcastss  0x390a(%rip),%ymm11        # 558c <_sk_callback_hsw+0x278>
   DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
-  DB  196,98,125,88,29,128,50,0,0         ; vpbroadcastd  0x3280(%rip),%ymm11        # 4e4c <_sk_callback_hsw+0x264>
+  DB  196,98,125,88,29,0,57,0,0           ; vpbroadcastd  0x3900(%rip),%ymm11        # 5590 <_sk_callback_hsw+0x27c>
   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,113,50,0,0         ; vbroadcastss  0x3271(%rip),%ymm11        # 4e50 <_sk_callback_hsw+0x268>
+  DB  196,98,125,24,29,241,56,0,0         ; vbroadcastss  0x38f1(%rip),%ymm11        # 5594 <_sk_callback_hsw+0x280>
   DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
   DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
   DB  196,226,53,168,196                  ; vfmadd213ps   %ymm4,%ymm9,%ymm0
@@ -1729,27 +1775,27 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,68,255,255,255               ; ja            1b7c <_sk_lerp_565_hsw+0x14>
+  DB  15,135,68,255,255,255               ; ja            1c40 <_sk_lerp_565_hsw+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,101,0,0,0                 ; lea           0x65(%rip),%r10        # 1ca8 <_sk_lerp_565_hsw+0x140>
+  DB  76,141,21,101,0,0,0                 ; lea           0x65(%rip),%r10        # 1d6c <_sk_lerp_565_hsw+0x140>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  233,34,255,255,255                  ; jmpq          1b7c <_sk_lerp_565_hsw+0x14>
+  DB  233,34,255,255,255                  ; jmpq          1c40 <_sk_lerp_565_hsw+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,65,57,196,68,83,4,2             ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,121,110,12,83                ; vmovd         (%r11,%rdx,2),%xmm9
   DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  DB  233,4,255,255,255                   ; jmpq          1b7c <_sk_lerp_565_hsw+0x14>
+  DB  233,4,255,255,255                   ; jmpq          1c40 <_sk_lerp_565_hsw+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,65,57,196,68,83,12,6            ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,57,196,68,83,10,5            ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,57,196,68,83,8,4             ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,122,126,12,83                ; vmovq         (%r11,%rdx,2),%xmm9
   DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  DB  233,214,254,255,255                 ; jmpq          1b7c <_sk_lerp_565_hsw+0x14>
+  DB  233,214,254,255,255                 ; jmpq          1c40 <_sk_lerp_565_hsw+0x14>
   DB  102,144                             ; xchg          %ax,%ax
   DB  164                                 ; movsb         %ds:(%rsi),%es:(%rdi)
   DB  255                                 ; (bad)
@@ -1780,23 +1826,23 @@
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,105                             ; jne           1d42 <_sk_load_tables_hsw+0x7e>
+  DB  117,105                             ; jne           1e06 <_sk_load_tables_hsw+0x7e>
   DB  196,193,124,16,26                   ; vmovups       (%r10),%ymm3
-  DB  197,228,84,13,186,52,0,0            ; vandps        0x34ba(%rip),%ymm3,%ymm1        # 51a0 <_sk_callback_hsw+0x5b8>
+  DB  197,228,84,13,118,59,0,0            ; vandps        0x3b76(%rip),%ymm3,%ymm1        # 5920 <_sk_callback_hsw+0x60c>
   DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
   DB  72,139,72,8                         ; mov           0x8(%rax),%rcx
   DB  76,139,80,16                        ; mov           0x10(%rax),%r10
   DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
   DB  196,226,109,146,4,137               ; vgatherdps    %ymm2,(%rcx,%ymm1,4),%ymm0
-  DB  196,226,101,0,21,186,52,0,0         ; vpshufb       0x34ba(%rip),%ymm3,%ymm2        # 51c0 <_sk_callback_hsw+0x5d8>
+  DB  196,226,101,0,21,118,59,0,0         ; vpshufb       0x3b76(%rip),%ymm3,%ymm2        # 5940 <_sk_callback_hsw+0x62c>
   DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
   DB  196,194,53,146,12,146               ; vgatherdps    %ymm9,(%r10,%ymm2,4),%ymm1
   DB  72,139,64,24                        ; mov           0x18(%rax),%rax
-  DB  196,98,101,0,13,194,52,0,0          ; vpshufb       0x34c2(%rip),%ymm3,%ymm9        # 51e0 <_sk_callback_hsw+0x5f8>
+  DB  196,98,101,0,13,126,59,0,0          ; vpshufb       0x3b7e(%rip),%ymm3,%ymm9        # 5960 <_sk_callback_hsw+0x64c>
   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,30,49,0,0           ; vbroadcastss  0x311e(%rip),%ymm8        # 4e54 <_sk_callback_hsw+0x26c>
+  DB  196,98,125,24,5,158,55,0,0          ; vbroadcastss  0x379e(%rip),%ymm8        # 5598 <_sk_callback_hsw+0x284>
   DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,137,201                          ; mov           %r9,%rcx
@@ -1809,7 +1855,7 @@
   DB  196,193,249,110,195                 ; vmovq         %r11,%xmm0
   DB  196,226,125,33,192                  ; vpmovsxbd     %xmm0,%ymm0
   DB  196,194,125,44,26                   ; vmaskmovps    (%r10),%ymm0,%ymm3
-  DB  233,115,255,255,255                 ; jmpq          1cde <_sk_load_tables_hsw+0x1a>
+  DB  233,115,255,255,255                 ; jmpq          1da2 <_sk_load_tables_hsw+0x1a>
 
 PUBLIC _sk_load_tables_u16_be_hsw
 _sk_load_tables_u16_be_hsw LABEL PROC
@@ -1817,7 +1863,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,201,0,0,0                    ; jne           1e4a <_sk_load_tables_u16_be_hsw+0xdf>
+  DB  15,133,201,0,0,0                    ; jne           1f0e <_sk_load_tables_u16_be_hsw+0xdf>
   DB  196,1,121,16,4,81                   ; vmovupd       (%r9,%r10,2),%xmm8
   DB  196,129,121,16,84,81,16             ; vmovupd       0x10(%r9,%r10,2),%xmm2
   DB  196,129,121,16,92,81,32             ; vmovupd       0x20(%r9,%r10,2),%xmm3
@@ -1833,7 +1879,7 @@
   DB  197,185,108,200                     ; vpunpcklqdq   %xmm0,%xmm8,%xmm1
   DB  197,185,109,208                     ; vpunpckhqdq   %xmm0,%xmm8,%xmm2
   DB  197,49,108,195                      ; vpunpcklqdq   %xmm3,%xmm9,%xmm8
-  DB  197,121,111,21,110,53,0,0           ; vmovdqa       0x356e(%rip),%xmm10        # 5340 <_sk_callback_hsw+0x758>
+  DB  197,121,111,21,138,60,0,0           ; vmovdqa       0x3c8a(%rip),%xmm10        # 5b20 <_sk_callback_hsw+0x80c>
   DB  196,193,113,219,194                 ; vpand         %xmm10,%xmm1,%xmm0
   DB  196,226,125,51,200                  ; vpmovzxwd     %xmm0,%ymm1
   DB  196,65,37,118,219                   ; vpcmpeqd      %ymm11,%ymm11,%ymm11
@@ -1855,36 +1901,36 @@
   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,23,48,0,0           ; vbroadcastss  0x3017(%rip),%ymm8        # 4e58 <_sk_callback_hsw+0x270>
+  DB  196,98,125,24,5,151,54,0,0          ; vbroadcastss  0x3697(%rip),%ymm8        # 559c <_sk_callback_hsw+0x288>
   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,81                   ; vmovsd        (%r9,%r10,2),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,85                              ; je            1eb0 <_sk_load_tables_u16_be_hsw+0x145>
+  DB  116,85                              ; je            1f74 <_sk_load_tables_u16_be_hsw+0x145>
   DB  196,1,57,22,68,81,8                 ; vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,72                              ; jb            1eb0 <_sk_load_tables_u16_be_hsw+0x145>
+  DB  114,72                              ; jb            1f74 <_sk_load_tables_u16_be_hsw+0x145>
   DB  196,129,123,16,84,81,16             ; vmovsd        0x10(%r9,%r10,2),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,72                              ; je            1ebd <_sk_load_tables_u16_be_hsw+0x152>
+  DB  116,72                              ; je            1f81 <_sk_load_tables_u16_be_hsw+0x152>
   DB  196,129,105,22,84,81,24             ; vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,59                              ; jb            1ebd <_sk_load_tables_u16_be_hsw+0x152>
+  DB  114,59                              ; jb            1f81 <_sk_load_tables_u16_be_hsw+0x152>
   DB  196,129,123,16,92,81,32             ; vmovsd        0x20(%r9,%r10,2),%xmm3
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,9,255,255,255                ; je            1d9c <_sk_load_tables_u16_be_hsw+0x31>
+  DB  15,132,9,255,255,255                ; je            1e60 <_sk_load_tables_u16_be_hsw+0x31>
   DB  196,129,97,22,92,81,40              ; vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,248,254,255,255              ; jb            1d9c <_sk_load_tables_u16_be_hsw+0x31>
+  DB  15,130,248,254,255,255              ; jb            1e60 <_sk_load_tables_u16_be_hsw+0x31>
   DB  196,1,122,126,76,81,48              ; vmovq         0x30(%r9,%r10,2),%xmm9
-  DB  233,236,254,255,255                 ; jmpq          1d9c <_sk_load_tables_u16_be_hsw+0x31>
+  DB  233,236,254,255,255                 ; jmpq          1e60 <_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,223,254,255,255                 ; jmpq          1d9c <_sk_load_tables_u16_be_hsw+0x31>
+  DB  233,223,254,255,255                 ; jmpq          1e60 <_sk_load_tables_u16_be_hsw+0x31>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
-  DB  233,214,254,255,255                 ; jmpq          1d9c <_sk_load_tables_u16_be_hsw+0x31>
+  DB  233,214,254,255,255                 ; jmpq          1e60 <_sk_load_tables_u16_be_hsw+0x31>
 
 PUBLIC _sk_load_tables_rgb_u16_be_hsw
 _sk_load_tables_rgb_u16_be_hsw LABEL PROC
@@ -1892,7 +1938,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,82                        ; lea           (%rdx,%rdx,2),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,193,0,0,0                    ; jne           1f99 <_sk_load_tables_rgb_u16_be_hsw+0xd3>
+  DB  15,133,193,0,0,0                    ; jne           205d <_sk_load_tables_rgb_u16_be_hsw+0xd3>
   DB  196,129,122,111,4,81                ; vmovdqu       (%r9,%r10,2),%xmm0
   DB  196,129,122,111,84,81,12            ; vmovdqu       0xc(%r9,%r10,2),%xmm2
   DB  196,129,122,111,76,81,24            ; vmovdqu       0x18(%r9,%r10,2),%xmm1
@@ -1913,7 +1959,7 @@
   DB  197,185,108,218                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm3
   DB  197,185,109,210                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm2
   DB  197,121,108,193                     ; vpunpcklqdq   %xmm1,%xmm0,%xmm8
-  DB  197,121,111,13,14,52,0,0            ; vmovdqa       0x340e(%rip),%xmm9        # 5350 <_sk_callback_hsw+0x768>
+  DB  197,121,111,13,42,59,0,0            ; vmovdqa       0x3b2a(%rip),%xmm9        # 5b30 <_sk_callback_hsw+0x81c>
   DB  196,193,97,219,193                  ; vpand         %xmm9,%xmm3,%xmm0
   DB  196,226,125,51,200                  ; vpmovzxwd     %xmm0,%ymm1
   DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
@@ -1930,46 +1976,46 @@
   DB  196,98,125,51,194                   ; vpmovzxwd     %xmm2,%ymm8
   DB  196,162,101,146,20,128              ; vgatherdps    %ymm3,(%rax,%ymm8,4),%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,197,46,0,0        ; vbroadcastss  0x2ec5(%rip),%ymm3        # 4e5c <_sk_callback_hsw+0x274>
+  DB  196,226,125,24,29,69,53,0,0         ; vbroadcastss  0x3545(%rip),%ymm3        # 55a0 <_sk_callback_hsw+0x28c>
   DB  255,224                             ; jmpq          *%rax
   DB  196,129,121,110,4,81                ; vmovd         (%r9,%r10,2),%xmm0
   DB  196,129,121,196,68,81,4,2           ; vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,5                               ; jne           1fb2 <_sk_load_tables_rgb_u16_be_hsw+0xec>
-  DB  233,90,255,255,255                  ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  117,5                               ; jne           2076 <_sk_load_tables_rgb_u16_be_hsw+0xec>
+  DB  233,90,255,255,255                  ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
   DB  196,129,121,110,76,81,6             ; vmovd         0x6(%r9,%r10,2),%xmm1
   DB  196,1,113,196,68,81,10,2            ; vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,26                              ; jb            1fe1 <_sk_load_tables_rgb_u16_be_hsw+0x11b>
+  DB  114,26                              ; jb            20a5 <_sk_load_tables_rgb_u16_be_hsw+0x11b>
   DB  196,129,121,110,76,81,12            ; vmovd         0xc(%r9,%r10,2),%xmm1
   DB  196,129,113,196,84,81,16,2          ; vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  117,10                              ; jne           1fe6 <_sk_load_tables_rgb_u16_be_hsw+0x120>
-  DB  233,43,255,255,255                  ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  DB  233,38,255,255,255                  ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  117,10                              ; jne           20aa <_sk_load_tables_rgb_u16_be_hsw+0x120>
+  DB  233,43,255,255,255                  ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  233,38,255,255,255                  ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
   DB  196,129,121,110,76,81,18            ; vmovd         0x12(%r9,%r10,2),%xmm1
   DB  196,1,113,196,76,81,22,2            ; vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,26                              ; jb            2015 <_sk_load_tables_rgb_u16_be_hsw+0x14f>
+  DB  114,26                              ; jb            20d9 <_sk_load_tables_rgb_u16_be_hsw+0x14f>
   DB  196,129,121,110,76,81,24            ; vmovd         0x18(%r9,%r10,2),%xmm1
   DB  196,129,113,196,76,81,28,2          ; vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  117,10                              ; jne           201a <_sk_load_tables_rgb_u16_be_hsw+0x154>
-  DB  233,247,254,255,255                 ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  DB  233,242,254,255,255                 ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  117,10                              ; jne           20de <_sk_load_tables_rgb_u16_be_hsw+0x154>
+  DB  233,247,254,255,255                 ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  233,242,254,255,255                 ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
   DB  196,129,121,110,92,81,30            ; vmovd         0x1e(%r9,%r10,2),%xmm3
   DB  196,1,97,196,92,81,34,2             ; vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,20                              ; jb            2043 <_sk_load_tables_rgb_u16_be_hsw+0x17d>
+  DB  114,20                              ; jb            2107 <_sk_load_tables_rgb_u16_be_hsw+0x17d>
   DB  196,129,121,110,92,81,36            ; vmovd         0x24(%r9,%r10,2),%xmm3
   DB  196,129,97,196,92,81,40,2           ; vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
-  DB  233,201,254,255,255                 ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
-  DB  233,196,254,255,255                 ; jmpq          1f0c <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  233,201,254,255,255                 ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
+  DB  233,196,254,255,255                 ; jmpq          1fd0 <_sk_load_tables_rgb_u16_be_hsw+0x46>
 
 PUBLIC _sk_byte_tables_hsw
 _sk_byte_tables_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,13,46,0,0           ; vbroadcastss  0x2e0d(%rip),%ymm8        # 4e60 <_sk_callback_hsw+0x278>
+  DB  196,98,125,24,5,141,52,0,0          ; vbroadcastss  0x348d(%rip),%ymm8        # 55a4 <_sk_callback_hsw+0x290>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
   DB  197,125,91,200                      ; vcvtps2dq     %ymm0,%ymm9
   DB  196,65,249,126,201                  ; vmovq         %xmm9,%r9
@@ -2091,7 +2137,7 @@
   DB  67,15,182,4,26                      ; movzbl        (%r10,%r11,1),%eax
   DB  196,194,125,49,193                  ; vpmovzxbd     %xmm9,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,178,43,0,0          ; vbroadcastss  0x2bb2(%rip),%ymm8        # 4e64 <_sk_callback_hsw+0x27c>
+  DB  196,98,125,24,5,50,50,0,0           ; vbroadcastss  0x3232(%rip),%ymm8        # 55a8 <_sk_callback_hsw+0x294>
   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
@@ -2205,7 +2251,7 @@
   DB  67,15,182,4,26                      ; movzbl        (%r10,%r11,1),%eax
   DB  196,194,125,49,193                  ; vpmovzxbd     %xmm9,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,158,41,0,0          ; vbroadcastss  0x299e(%rip),%ymm8        # 4e68 <_sk_callback_hsw+0x280>
+  DB  196,98,125,24,5,30,48,0,0           ; vbroadcastss  0x301e(%rip),%ymm8        # 55ac <_sk_callback_hsw+0x298>
   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
@@ -2294,33 +2340,33 @@
   DB  196,66,125,168,211                  ; vfmadd213ps   %ymm11,%ymm0,%ymm10
   DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
   DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
-  DB  196,98,125,24,37,120,40,0,0         ; vbroadcastss  0x2878(%rip),%ymm12        # 4e6c <_sk_callback_hsw+0x284>
-  DB  196,98,125,24,45,115,40,0,0         ; vbroadcastss  0x2873(%rip),%ymm13        # 4e70 <_sk_callback_hsw+0x288>
+  DB  196,98,125,24,37,248,46,0,0         ; vbroadcastss  0x2ef8(%rip),%ymm12        # 55b0 <_sk_callback_hsw+0x29c>
+  DB  196,98,125,24,45,243,46,0,0         ; vbroadcastss  0x2ef3(%rip),%ymm13        # 55b4 <_sk_callback_hsw+0x2a0>
   DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,105,40,0,0         ; vbroadcastss  0x2869(%rip),%ymm13        # 4e74 <_sk_callback_hsw+0x28c>
+  DB  196,98,125,24,45,233,46,0,0         ; vbroadcastss  0x2ee9(%rip),%ymm13        # 55b8 <_sk_callback_hsw+0x2a4>
   DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,95,40,0,0          ; vbroadcastss  0x285f(%rip),%ymm13        # 4e78 <_sk_callback_hsw+0x290>
+  DB  196,98,125,24,45,223,46,0,0         ; vbroadcastss  0x2edf(%rip),%ymm13        # 55bc <_sk_callback_hsw+0x2a8>
   DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
-  DB  196,98,125,24,29,85,40,0,0          ; vbroadcastss  0x2855(%rip),%ymm11        # 4e7c <_sk_callback_hsw+0x294>
+  DB  196,98,125,24,29,213,46,0,0         ; vbroadcastss  0x2ed5(%rip),%ymm11        # 55c0 <_sk_callback_hsw+0x2ac>
   DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  DB  196,98,125,24,37,75,40,0,0          ; vbroadcastss  0x284b(%rip),%ymm12        # 4e80 <_sk_callback_hsw+0x298>
+  DB  196,98,125,24,37,203,46,0,0         ; vbroadcastss  0x2ecb(%rip),%ymm12        # 55c4 <_sk_callback_hsw+0x2b0>
   DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
-  DB  196,98,125,24,37,65,40,0,0          ; vbroadcastss  0x2841(%rip),%ymm12        # 4e84 <_sk_callback_hsw+0x29c>
+  DB  196,98,125,24,37,193,46,0,0         ; vbroadcastss  0x2ec1(%rip),%ymm12        # 55c8 <_sk_callback_hsw+0x2b4>
   DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
   DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
   DB  196,99,125,8,208,1                  ; vroundps      $0x1,%ymm0,%ymm10
   DB  196,65,124,92,210                   ; vsubps        %ymm10,%ymm0,%ymm10
-  DB  196,98,125,24,29,34,40,0,0          ; vbroadcastss  0x2822(%rip),%ymm11        # 4e88 <_sk_callback_hsw+0x2a0>
+  DB  196,98,125,24,29,162,46,0,0         ; vbroadcastss  0x2ea2(%rip),%ymm11        # 55cc <_sk_callback_hsw+0x2b8>
   DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
-  DB  196,98,125,24,29,24,40,0,0          ; vbroadcastss  0x2818(%rip),%ymm11        # 4e8c <_sk_callback_hsw+0x2a4>
+  DB  196,98,125,24,29,152,46,0,0         ; vbroadcastss  0x2e98(%rip),%ymm11        # 55d0 <_sk_callback_hsw+0x2bc>
   DB  196,98,45,172,216                   ; vfnmadd213ps  %ymm0,%ymm10,%ymm11
-  DB  196,226,125,24,5,14,40,0,0          ; vbroadcastss  0x280e(%rip),%ymm0        # 4e90 <_sk_callback_hsw+0x2a8>
+  DB  196,226,125,24,5,142,46,0,0         ; vbroadcastss  0x2e8e(%rip),%ymm0        # 55d4 <_sk_callback_hsw+0x2c0>
   DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
-  DB  196,98,125,24,21,4,40,0,0           ; vbroadcastss  0x2804(%rip),%ymm10        # 4e94 <_sk_callback_hsw+0x2ac>
+  DB  196,98,125,24,21,132,46,0,0         ; vbroadcastss  0x2e84(%rip),%ymm10        # 55d8 <_sk_callback_hsw+0x2c4>
   DB  197,172,94,192                      ; vdivps        %ymm0,%ymm10,%ymm0
   DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
-  DB  196,98,125,24,21,247,39,0,0         ; vbroadcastss  0x27f7(%rip),%ymm10        # 4e98 <_sk_callback_hsw+0x2b0>
+  DB  196,98,125,24,21,119,46,0,0         ; vbroadcastss  0x2e77(%rip),%ymm10        # 55dc <_sk_callback_hsw+0x2c8>
   DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
   DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -2328,7 +2374,7 @@
   DB  196,195,125,74,193,128              ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,5,206,39,0,0          ; vbroadcastss  0x27ce(%rip),%ymm8        # 4e9c <_sk_callback_hsw+0x2b4>
+  DB  196,98,125,24,5,78,46,0,0           ; vbroadcastss  0x2e4e(%rip),%ymm8        # 55e0 <_sk_callback_hsw+0x2cc>
   DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -2346,33 +2392,33 @@
   DB  196,66,117,168,211                  ; vfmadd213ps   %ymm11,%ymm1,%ymm10
   DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
   DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
-  DB  196,98,125,24,37,134,39,0,0         ; vbroadcastss  0x2786(%rip),%ymm12        # 4ea0 <_sk_callback_hsw+0x2b8>
-  DB  196,98,125,24,45,129,39,0,0         ; vbroadcastss  0x2781(%rip),%ymm13        # 4ea4 <_sk_callback_hsw+0x2bc>
+  DB  196,98,125,24,37,6,46,0,0           ; vbroadcastss  0x2e06(%rip),%ymm12        # 55e4 <_sk_callback_hsw+0x2d0>
+  DB  196,98,125,24,45,1,46,0,0           ; vbroadcastss  0x2e01(%rip),%ymm13        # 55e8 <_sk_callback_hsw+0x2d4>
   DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,119,39,0,0         ; vbroadcastss  0x2777(%rip),%ymm13        # 4ea8 <_sk_callback_hsw+0x2c0>
+  DB  196,98,125,24,45,247,45,0,0         ; vbroadcastss  0x2df7(%rip),%ymm13        # 55ec <_sk_callback_hsw+0x2d8>
   DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,109,39,0,0         ; vbroadcastss  0x276d(%rip),%ymm13        # 4eac <_sk_callback_hsw+0x2c4>
+  DB  196,98,125,24,45,237,45,0,0         ; vbroadcastss  0x2ded(%rip),%ymm13        # 55f0 <_sk_callback_hsw+0x2dc>
   DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
-  DB  196,98,125,24,29,99,39,0,0          ; vbroadcastss  0x2763(%rip),%ymm11        # 4eb0 <_sk_callback_hsw+0x2c8>
+  DB  196,98,125,24,29,227,45,0,0         ; vbroadcastss  0x2de3(%rip),%ymm11        # 55f4 <_sk_callback_hsw+0x2e0>
   DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  DB  196,98,125,24,37,89,39,0,0          ; vbroadcastss  0x2759(%rip),%ymm12        # 4eb4 <_sk_callback_hsw+0x2cc>
+  DB  196,98,125,24,37,217,45,0,0         ; vbroadcastss  0x2dd9(%rip),%ymm12        # 55f8 <_sk_callback_hsw+0x2e4>
   DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
-  DB  196,98,125,24,37,79,39,0,0          ; vbroadcastss  0x274f(%rip),%ymm12        # 4eb8 <_sk_callback_hsw+0x2d0>
+  DB  196,98,125,24,37,207,45,0,0         ; vbroadcastss  0x2dcf(%rip),%ymm12        # 55fc <_sk_callback_hsw+0x2e8>
   DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
   DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
   DB  196,99,125,8,209,1                  ; vroundps      $0x1,%ymm1,%ymm10
   DB  196,65,116,92,210                   ; vsubps        %ymm10,%ymm1,%ymm10
-  DB  196,98,125,24,29,48,39,0,0          ; vbroadcastss  0x2730(%rip),%ymm11        # 4ebc <_sk_callback_hsw+0x2d4>
+  DB  196,98,125,24,29,176,45,0,0         ; vbroadcastss  0x2db0(%rip),%ymm11        # 5600 <_sk_callback_hsw+0x2ec>
   DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
-  DB  196,98,125,24,29,38,39,0,0          ; vbroadcastss  0x2726(%rip),%ymm11        # 4ec0 <_sk_callback_hsw+0x2d8>
+  DB  196,98,125,24,29,166,45,0,0         ; vbroadcastss  0x2da6(%rip),%ymm11        # 5604 <_sk_callback_hsw+0x2f0>
   DB  196,98,45,172,217                   ; vfnmadd213ps  %ymm1,%ymm10,%ymm11
-  DB  196,226,125,24,13,28,39,0,0         ; vbroadcastss  0x271c(%rip),%ymm1        # 4ec4 <_sk_callback_hsw+0x2dc>
+  DB  196,226,125,24,13,156,45,0,0        ; vbroadcastss  0x2d9c(%rip),%ymm1        # 5608 <_sk_callback_hsw+0x2f4>
   DB  196,193,116,92,202                  ; vsubps        %ymm10,%ymm1,%ymm1
-  DB  196,98,125,24,21,18,39,0,0          ; vbroadcastss  0x2712(%rip),%ymm10        # 4ec8 <_sk_callback_hsw+0x2e0>
+  DB  196,98,125,24,21,146,45,0,0         ; vbroadcastss  0x2d92(%rip),%ymm10        # 560c <_sk_callback_hsw+0x2f8>
   DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
   DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
-  DB  196,98,125,24,21,5,39,0,0           ; vbroadcastss  0x2705(%rip),%ymm10        # 4ecc <_sk_callback_hsw+0x2e4>
+  DB  196,98,125,24,21,133,45,0,0         ; vbroadcastss  0x2d85(%rip),%ymm10        # 5610 <_sk_callback_hsw+0x2fc>
   DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
   DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -2380,7 +2426,7 @@
   DB  196,195,117,74,201,128              ; vblendvps     %ymm8,%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,98,125,24,5,220,38,0,0          ; vbroadcastss  0x26dc(%rip),%ymm8        # 4ed0 <_sk_callback_hsw+0x2e8>
+  DB  196,98,125,24,5,92,45,0,0           ; vbroadcastss  0x2d5c(%rip),%ymm8        # 5614 <_sk_callback_hsw+0x300>
   DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -2398,33 +2444,33 @@
   DB  196,66,109,168,211                  ; vfmadd213ps   %ymm11,%ymm2,%ymm10
   DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
   DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
-  DB  196,98,125,24,37,148,38,0,0         ; vbroadcastss  0x2694(%rip),%ymm12        # 4ed4 <_sk_callback_hsw+0x2ec>
-  DB  196,98,125,24,45,143,38,0,0         ; vbroadcastss  0x268f(%rip),%ymm13        # 4ed8 <_sk_callback_hsw+0x2f0>
+  DB  196,98,125,24,37,20,45,0,0          ; vbroadcastss  0x2d14(%rip),%ymm12        # 5618 <_sk_callback_hsw+0x304>
+  DB  196,98,125,24,45,15,45,0,0          ; vbroadcastss  0x2d0f(%rip),%ymm13        # 561c <_sk_callback_hsw+0x308>
   DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,133,38,0,0         ; vbroadcastss  0x2685(%rip),%ymm13        # 4edc <_sk_callback_hsw+0x2f4>
+  DB  196,98,125,24,45,5,45,0,0           ; vbroadcastss  0x2d05(%rip),%ymm13        # 5620 <_sk_callback_hsw+0x30c>
   DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,123,38,0,0         ; vbroadcastss  0x267b(%rip),%ymm13        # 4ee0 <_sk_callback_hsw+0x2f8>
+  DB  196,98,125,24,45,251,44,0,0         ; vbroadcastss  0x2cfb(%rip),%ymm13        # 5624 <_sk_callback_hsw+0x310>
   DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
-  DB  196,98,125,24,29,113,38,0,0         ; vbroadcastss  0x2671(%rip),%ymm11        # 4ee4 <_sk_callback_hsw+0x2fc>
+  DB  196,98,125,24,29,241,44,0,0         ; vbroadcastss  0x2cf1(%rip),%ymm11        # 5628 <_sk_callback_hsw+0x314>
   DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  DB  196,98,125,24,37,103,38,0,0         ; vbroadcastss  0x2667(%rip),%ymm12        # 4ee8 <_sk_callback_hsw+0x300>
+  DB  196,98,125,24,37,231,44,0,0         ; vbroadcastss  0x2ce7(%rip),%ymm12        # 562c <_sk_callback_hsw+0x318>
   DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
-  DB  196,98,125,24,37,93,38,0,0          ; vbroadcastss  0x265d(%rip),%ymm12        # 4eec <_sk_callback_hsw+0x304>
+  DB  196,98,125,24,37,221,44,0,0         ; vbroadcastss  0x2cdd(%rip),%ymm12        # 5630 <_sk_callback_hsw+0x31c>
   DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
   DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
   DB  196,99,125,8,210,1                  ; vroundps      $0x1,%ymm2,%ymm10
   DB  196,65,108,92,210                   ; vsubps        %ymm10,%ymm2,%ymm10
-  DB  196,98,125,24,29,62,38,0,0          ; vbroadcastss  0x263e(%rip),%ymm11        # 4ef0 <_sk_callback_hsw+0x308>
+  DB  196,98,125,24,29,190,44,0,0         ; vbroadcastss  0x2cbe(%rip),%ymm11        # 5634 <_sk_callback_hsw+0x320>
   DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
-  DB  196,98,125,24,29,52,38,0,0          ; vbroadcastss  0x2634(%rip),%ymm11        # 4ef4 <_sk_callback_hsw+0x30c>
+  DB  196,98,125,24,29,180,44,0,0         ; vbroadcastss  0x2cb4(%rip),%ymm11        # 5638 <_sk_callback_hsw+0x324>
   DB  196,98,45,172,218                   ; vfnmadd213ps  %ymm2,%ymm10,%ymm11
-  DB  196,226,125,24,21,42,38,0,0         ; vbroadcastss  0x262a(%rip),%ymm2        # 4ef8 <_sk_callback_hsw+0x310>
+  DB  196,226,125,24,21,170,44,0,0        ; vbroadcastss  0x2caa(%rip),%ymm2        # 563c <_sk_callback_hsw+0x328>
   DB  196,193,108,92,210                  ; vsubps        %ymm10,%ymm2,%ymm2
-  DB  196,98,125,24,21,32,38,0,0          ; vbroadcastss  0x2620(%rip),%ymm10        # 4efc <_sk_callback_hsw+0x314>
+  DB  196,98,125,24,21,160,44,0,0         ; vbroadcastss  0x2ca0(%rip),%ymm10        # 5640 <_sk_callback_hsw+0x32c>
   DB  197,172,94,210                      ; vdivps        %ymm2,%ymm10,%ymm2
   DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
-  DB  196,98,125,24,21,19,38,0,0          ; vbroadcastss  0x2613(%rip),%ymm10        # 4f00 <_sk_callback_hsw+0x318>
+  DB  196,98,125,24,21,147,44,0,0         ; vbroadcastss  0x2c93(%rip),%ymm10        # 5644 <_sk_callback_hsw+0x330>
   DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
   DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -2432,7 +2478,7 @@
   DB  196,195,109,74,209,128              ; vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,24,5,234,37,0,0          ; vbroadcastss  0x25ea(%rip),%ymm8        # 4f04 <_sk_callback_hsw+0x31c>
+  DB  196,98,125,24,5,106,44,0,0          ; vbroadcastss  0x2c6a(%rip),%ymm8        # 5648 <_sk_callback_hsw+0x334>
   DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -2450,33 +2496,33 @@
   DB  196,66,101,168,211                  ; vfmadd213ps   %ymm11,%ymm3,%ymm10
   DB  196,226,125,24,24                   ; vbroadcastss  (%rax),%ymm3
   DB  196,65,124,91,218                   ; vcvtdq2ps     %ymm10,%ymm11
-  DB  196,98,125,24,37,162,37,0,0         ; vbroadcastss  0x25a2(%rip),%ymm12        # 4f08 <_sk_callback_hsw+0x320>
-  DB  196,98,125,24,45,157,37,0,0         ; vbroadcastss  0x259d(%rip),%ymm13        # 4f0c <_sk_callback_hsw+0x324>
+  DB  196,98,125,24,37,34,44,0,0          ; vbroadcastss  0x2c22(%rip),%ymm12        # 564c <_sk_callback_hsw+0x338>
+  DB  196,98,125,24,45,29,44,0,0          ; vbroadcastss  0x2c1d(%rip),%ymm13        # 5650 <_sk_callback_hsw+0x33c>
   DB  196,65,44,84,213                    ; vandps        %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,147,37,0,0         ; vbroadcastss  0x2593(%rip),%ymm13        # 4f10 <_sk_callback_hsw+0x328>
+  DB  196,98,125,24,45,19,44,0,0          ; vbroadcastss  0x2c13(%rip),%ymm13        # 5654 <_sk_callback_hsw+0x340>
   DB  196,65,44,86,213                    ; vorps         %ymm13,%ymm10,%ymm10
-  DB  196,98,125,24,45,137,37,0,0         ; vbroadcastss  0x2589(%rip),%ymm13        # 4f14 <_sk_callback_hsw+0x32c>
+  DB  196,98,125,24,45,9,44,0,0           ; vbroadcastss  0x2c09(%rip),%ymm13        # 5658 <_sk_callback_hsw+0x344>
   DB  196,66,37,184,236                   ; vfmadd231ps   %ymm12,%ymm11,%ymm13
-  DB  196,98,125,24,29,127,37,0,0         ; vbroadcastss  0x257f(%rip),%ymm11        # 4f18 <_sk_callback_hsw+0x330>
+  DB  196,98,125,24,29,255,43,0,0         ; vbroadcastss  0x2bff(%rip),%ymm11        # 565c <_sk_callback_hsw+0x348>
   DB  196,66,45,172,221                   ; vfnmadd213ps  %ymm13,%ymm10,%ymm11
-  DB  196,98,125,24,37,117,37,0,0         ; vbroadcastss  0x2575(%rip),%ymm12        # 4f1c <_sk_callback_hsw+0x334>
+  DB  196,98,125,24,37,245,43,0,0         ; vbroadcastss  0x2bf5(%rip),%ymm12        # 5660 <_sk_callback_hsw+0x34c>
   DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
-  DB  196,98,125,24,37,107,37,0,0         ; vbroadcastss  0x256b(%rip),%ymm12        # 4f20 <_sk_callback_hsw+0x338>
+  DB  196,98,125,24,37,235,43,0,0         ; vbroadcastss  0x2beb(%rip),%ymm12        # 5664 <_sk_callback_hsw+0x350>
   DB  196,65,28,94,210                    ; vdivps        %ymm10,%ymm12,%ymm10
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
   DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
   DB  196,99,125,8,211,1                  ; vroundps      $0x1,%ymm3,%ymm10
   DB  196,65,100,92,210                   ; vsubps        %ymm10,%ymm3,%ymm10
-  DB  196,98,125,24,29,76,37,0,0          ; vbroadcastss  0x254c(%rip),%ymm11        # 4f24 <_sk_callback_hsw+0x33c>
+  DB  196,98,125,24,29,204,43,0,0         ; vbroadcastss  0x2bcc(%rip),%ymm11        # 5668 <_sk_callback_hsw+0x354>
   DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
-  DB  196,98,125,24,29,66,37,0,0          ; vbroadcastss  0x2542(%rip),%ymm11        # 4f28 <_sk_callback_hsw+0x340>
+  DB  196,98,125,24,29,194,43,0,0         ; vbroadcastss  0x2bc2(%rip),%ymm11        # 566c <_sk_callback_hsw+0x358>
   DB  196,98,45,172,219                   ; vfnmadd213ps  %ymm3,%ymm10,%ymm11
-  DB  196,226,125,24,29,56,37,0,0         ; vbroadcastss  0x2538(%rip),%ymm3        # 4f2c <_sk_callback_hsw+0x344>
+  DB  196,226,125,24,29,184,43,0,0        ; vbroadcastss  0x2bb8(%rip),%ymm3        # 5670 <_sk_callback_hsw+0x35c>
   DB  196,193,100,92,218                  ; vsubps        %ymm10,%ymm3,%ymm3
-  DB  196,98,125,24,21,46,37,0,0          ; vbroadcastss  0x252e(%rip),%ymm10        # 4f30 <_sk_callback_hsw+0x348>
+  DB  196,98,125,24,21,174,43,0,0         ; vbroadcastss  0x2bae(%rip),%ymm10        # 5674 <_sk_callback_hsw+0x360>
   DB  197,172,94,219                      ; vdivps        %ymm3,%ymm10,%ymm3
   DB  197,164,88,219                      ; vaddps        %ymm3,%ymm11,%ymm3
-  DB  196,98,125,24,21,33,37,0,0          ; vbroadcastss  0x2521(%rip),%ymm10        # 4f34 <_sk_callback_hsw+0x34c>
+  DB  196,98,125,24,21,161,43,0,0         ; vbroadcastss  0x2ba1(%rip),%ymm10        # 5678 <_sk_callback_hsw+0x364>
   DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
   DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -2484,33 +2530,33 @@
   DB  196,195,101,74,217,128              ; vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
-  DB  196,98,125,24,5,248,36,0,0          ; vbroadcastss  0x24f8(%rip),%ymm8        # 4f38 <_sk_callback_hsw+0x350>
+  DB  196,98,125,24,5,120,43,0,0          ; vbroadcastss  0x2b78(%rip),%ymm8        # 567c <_sk_callback_hsw+0x368>
   DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
 
 PUBLIC _sk_lab_to_xyz_hsw
 _sk_lab_to_xyz_hsw LABEL PROC
-  DB  196,98,125,24,5,234,36,0,0          ; vbroadcastss  0x24ea(%rip),%ymm8        # 4f3c <_sk_callback_hsw+0x354>
-  DB  196,98,125,24,13,229,36,0,0         ; vbroadcastss  0x24e5(%rip),%ymm9        # 4f40 <_sk_callback_hsw+0x358>
-  DB  196,98,125,24,21,224,36,0,0         ; vbroadcastss  0x24e0(%rip),%ymm10        # 4f44 <_sk_callback_hsw+0x35c>
+  DB  196,98,125,24,5,106,43,0,0          ; vbroadcastss  0x2b6a(%rip),%ymm8        # 5680 <_sk_callback_hsw+0x36c>
+  DB  196,98,125,24,13,101,43,0,0         ; vbroadcastss  0x2b65(%rip),%ymm9        # 5684 <_sk_callback_hsw+0x370>
+  DB  196,98,125,24,21,96,43,0,0          ; vbroadcastss  0x2b60(%rip),%ymm10        # 5688 <_sk_callback_hsw+0x374>
   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,209,36,0,0         ; vbroadcastss  0x24d1(%rip),%ymm9        # 4f48 <_sk_callback_hsw+0x360>
+  DB  196,98,125,24,13,81,43,0,0          ; vbroadcastss  0x2b51(%rip),%ymm9        # 568c <_sk_callback_hsw+0x378>
   DB  196,66,125,184,200                  ; vfmadd231ps   %ymm8,%ymm0,%ymm9
-  DB  196,226,125,24,5,199,36,0,0         ; vbroadcastss  0x24c7(%rip),%ymm0        # 4f4c <_sk_callback_hsw+0x364>
+  DB  196,226,125,24,5,71,43,0,0          ; vbroadcastss  0x2b47(%rip),%ymm0        # 5690 <_sk_callback_hsw+0x37c>
   DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
-  DB  196,98,125,24,5,190,36,0,0          ; vbroadcastss  0x24be(%rip),%ymm8        # 4f50 <_sk_callback_hsw+0x368>
+  DB  196,98,125,24,5,62,43,0,0           ; vbroadcastss  0x2b3e(%rip),%ymm8        # 5694 <_sk_callback_hsw+0x380>
   DB  196,98,117,168,192                  ; vfmadd213ps   %ymm0,%ymm1,%ymm8
-  DB  196,98,125,24,13,180,36,0,0         ; vbroadcastss  0x24b4(%rip),%ymm9        # 4f54 <_sk_callback_hsw+0x36c>
+  DB  196,98,125,24,13,52,43,0,0          ; vbroadcastss  0x2b34(%rip),%ymm9        # 5698 <_sk_callback_hsw+0x384>
   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,161,36,0,0        ; vbroadcastss  0x24a1(%rip),%ymm2        # 4f58 <_sk_callback_hsw+0x370>
+  DB  196,226,125,24,21,33,43,0,0         ; vbroadcastss  0x2b21(%rip),%ymm2        # 569c <_sk_callback_hsw+0x388>
   DB  197,108,194,209,1                   ; vcmpltps      %ymm1,%ymm2,%ymm10
-  DB  196,98,125,24,29,151,36,0,0         ; vbroadcastss  0x2497(%rip),%ymm11        # 4f5c <_sk_callback_hsw+0x374>
+  DB  196,98,125,24,29,23,43,0,0          ; vbroadcastss  0x2b17(%rip),%ymm11        # 56a0 <_sk_callback_hsw+0x38c>
   DB  196,65,60,88,195                    ; vaddps        %ymm11,%ymm8,%ymm8
-  DB  196,98,125,24,37,141,36,0,0         ; vbroadcastss  0x248d(%rip),%ymm12        # 4f60 <_sk_callback_hsw+0x378>
+  DB  196,98,125,24,37,13,43,0,0          ; vbroadcastss  0x2b0d(%rip),%ymm12        # 56a4 <_sk_callback_hsw+0x390>
   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
@@ -2525,9 +2571,9 @@
   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,66,36,0,0          ; vbroadcastss  0x2442(%rip),%ymm0        # 4f64 <_sk_callback_hsw+0x37c>
+  DB  196,226,125,24,5,194,42,0,0         ; vbroadcastss  0x2ac2(%rip),%ymm0        # 56a8 <_sk_callback_hsw+0x394>
   DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
-  DB  196,98,125,24,5,57,36,0,0           ; vbroadcastss  0x2439(%rip),%ymm8        # 4f68 <_sk_callback_hsw+0x380>
+  DB  196,98,125,24,5,185,42,0,0          ; vbroadcastss  0x2ab9(%rip),%ymm8        # 56ac <_sk_callback_hsw+0x398>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -2537,12 +2583,12 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,52                              ; jne           2b76 <_sk_load_a8_hsw+0x3e>
+  DB  117,52                              ; jne           2c3a <_sk_load_a8_hsw+0x3e>
   DB  196,194,121,48,4,19                 ; vpmovzxbw     (%r11,%rdx,1),%xmm0
-  DB  197,249,219,5,16,40,0,0             ; vpand         0x2810(%rip),%xmm0,%xmm0        # 5360 <_sk_callback_hsw+0x778>
+  DB  197,249,219,5,44,47,0,0             ; vpand         0x2f2c(%rip),%xmm0,%xmm0        # 5b40 <_sk_callback_hsw+0x82c>
   DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,10,36,0,0         ; vbroadcastss  0x240a(%rip),%ymm1        # 4f6c <_sk_callback_hsw+0x384>
+  DB  196,226,125,24,13,138,42,0,0        ; vbroadcastss  0x2a8a(%rip),%ymm1        # 56b0 <_sk_callback_hsw+0x39c>
   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
@@ -2554,15 +2600,15 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,190                             ; ja            2b48 <_sk_load_a8_hsw+0x10>
+  DB  119,190                             ; ja            2c0c <_sk_load_a8_hsw+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,119,0,0,0                 ; lea           0x77(%rip),%r10        # 2c0c <_sk_load_a8_hsw+0xd4>
+  DB  76,141,21,119,0,0,0                 ; lea           0x77(%rip),%r10        # 2cd0 <_sk_load_a8_hsw+0xd4>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,159                             ; jmp           2b48 <_sk_load_a8_hsw+0x10>
+  DB  235,159                             ; jmp           2c0c <_sk_load_a8_hsw+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -2570,7 +2616,7 @@
   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,119,255,255,255                 ; jmpq          2b48 <_sk_load_a8_hsw+0x10>
+  DB  233,119,255,255,255                 ; jmpq          2c0c <_sk_load_a8_hsw+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -2581,7 +2627,77 @@
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%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,60,255,255,255                  ; jmpq          2b48 <_sk_load_a8_hsw+0x10>
+  DB  233,60,255,255,255                  ; jmpq          2c0c <_sk_load_a8_hsw+0x10>
+  DB  146                                 ; xchg          %eax,%edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,172,255,255,255,157,255         ; ljmp          *-0x620001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,52                              ; jne           2d2a <_sk_load_a8_dst_hsw+0x3e>
+  DB  196,194,121,48,36,19                ; vpmovzxbw     (%r11,%rdx,1),%xmm4
+  DB  197,217,219,37,76,46,0,0            ; vpand         0x2e4c(%rip),%xmm4,%xmm4        # 5b50 <_sk_callback_hsw+0x83c>
+  DB  196,226,125,51,228                  ; vpmovzxwd     %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,158,41,0,0        ; vbroadcastss  0x299e(%rip),%ymm5        # 56b4 <_sk_callback_hsw+0x3a0>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,190                             ; ja            2cfc <_sk_load_a8_dst_hsw+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,119,0,0,0                 ; lea           0x77(%rip),%r10        # 2dc0 <_sk_load_a8_dst_hsw+0xd4>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,159                             ; jmp           2cfc <_sk_load_a8_dst_hsw+0x10>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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,119,255,255,255                 ; jmpq          2cfc <_sk_load_a8_dst_hsw+0x10>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%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,60,255,255,255                  ; jmpq          2cfc <_sk_load_a8_dst_hsw+0x10>
   DB  146                                 ; xchg          %eax,%edx
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -2640,7 +2756,7 @@
   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,146,34,0,0        ; vbroadcastss  0x2292(%rip),%ymm1        # 4f70 <_sk_callback_hsw+0x388>
+  DB  196,226,125,24,13,38,40,0,0         ; vbroadcastss  0x2826(%rip),%ymm1        # 56b8 <_sk_callback_hsw+0x3a4>
   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
@@ -2652,14 +2768,14 @@
 _sk_store_a8_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,116,34,0,0          ; vbroadcastss  0x2274(%rip),%ymm8        # 4f74 <_sk_callback_hsw+0x38c>
+  DB  196,98,125,24,5,8,40,0,0            ; vbroadcastss  0x2808(%rip),%ymm8        # 56bc <_sk_callback_hsw+0x3a8>
   DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%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  196,65,57,103,192                   ; vpackuswb     %xmm8,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           2d29 <_sk_store_a8_hsw+0x37>
+  DB  117,10                              ; jne           2edd <_sk_store_a8_hsw+0x37>
   DB  196,65,123,17,4,19                  ; vmovsd        %xmm8,(%r11,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -2667,25 +2783,25 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            2d25 <_sk_store_a8_hsw+0x33>
+  DB  119,236                             ; ja            2ed9 <_sk_store_a8_hsw+0x33>
   DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,87,0,0,0                  ; lea           0x57(%rip),%r10        # 2da0 <_sk_store_a8_hsw+0xae>
+  DB  76,141,21,87,0,0,0                  ; lea           0x57(%rip),%r10        # 2f54 <_sk_store_a8_hsw+0xae>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,20,4,19,0                ; vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,202                             ; jmp           2d25 <_sk_store_a8_hsw+0x33>
+  DB  235,202                             ; jmp           2ed9 <_sk_store_a8_hsw+0x33>
   DB  196,67,121,20,68,19,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
-  DB  196,98,57,0,5,4,38,0,0              ; vpshufb       0x2604(%rip),%xmm8,%xmm8        # 5370 <_sk_callback_hsw+0x788>
+  DB  196,98,57,0,5,64,44,0,0             ; vpshufb       0x2c40(%rip),%xmm8,%xmm8        # 5b60 <_sk_callback_hsw+0x84c>
   DB  196,67,121,21,4,19,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,176                             ; jmp           2d25 <_sk_store_a8_hsw+0x33>
+  DB  235,176                             ; jmp           2ed9 <_sk_store_a8_hsw+0x33>
   DB  196,67,121,20,68,19,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
   DB  196,67,121,20,68,19,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
   DB  196,67,121,20,68,19,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
-  DB  196,98,57,0,5,234,37,0,0            ; vpshufb       0x25ea(%rip),%xmm8,%xmm8        # 5380 <_sk_callback_hsw+0x798>
+  DB  196,98,57,0,5,38,44,0,0             ; vpshufb       0x2c26(%rip),%xmm8,%xmm8        # 5b70 <_sk_callback_hsw+0x85c>
   DB  196,65,121,126,4,19                 ; vmovd         %xmm8,(%r11,%rdx,1)
-  DB  235,135                             ; jmp           2d25 <_sk_store_a8_hsw+0x33>
+  DB  235,135                             ; jmp           2ed9 <_sk_store_a8_hsw+0x33>
   DB  102,144                             ; xchg          %ax,%ax
   DB  178,255                             ; mov           $0xff,%dl
   DB  255                                 ; (bad)
@@ -2712,15 +2828,15 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,57                              ; jne           2dff <_sk_load_g8_hsw+0x43>
+  DB  117,57                              ; jne           2fb3 <_sk_load_g8_hsw+0x43>
   DB  196,194,121,48,4,19                 ; vpmovzxbw     (%r11,%rdx,1),%xmm0
-  DB  197,249,219,5,188,37,0,0            ; vpand         0x25bc(%rip),%xmm0,%xmm0        # 5390 <_sk_callback_hsw+0x7a8>
+  DB  197,249,219,5,248,43,0,0            ; vpand         0x2bf8(%rip),%xmm0,%xmm0        # 5b80 <_sk_callback_hsw+0x86c>
   DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,146,33,0,0        ; vbroadcastss  0x2192(%rip),%ymm1        # 4f78 <_sk_callback_hsw+0x390>
+  DB  196,226,125,24,13,38,39,0,0         ; vbroadcastss  0x2726(%rip),%ymm1        # 56c0 <_sk_callback_hsw+0x3ac>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,135,33,0,0        ; vbroadcastss  0x2187(%rip),%ymm3        # 4f7c <_sk_callback_hsw+0x394>
+  DB  196,226,125,24,29,27,39,0,0         ; vbroadcastss  0x271b(%rip),%ymm3        # 56c4 <_sk_callback_hsw+0x3b0>
   DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
   DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
   DB  255,224                             ; jmpq          *%rax
@@ -2729,15 +2845,15 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,185                             ; ja            2dcc <_sk_load_g8_hsw+0x10>
+  DB  119,185                             ; ja            2f80 <_sk_load_g8_hsw+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,122,0,0,0                 ; lea           0x7a(%rip),%r10        # 2e98 <_sk_load_g8_hsw+0xdc>
+  DB  76,141,21,122,0,0,0                 ; lea           0x7a(%rip),%r10        # 304c <_sk_load_g8_hsw+0xdc>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,154                             ; jmp           2dcc <_sk_load_g8_hsw+0x10>
+  DB  235,154                             ; jmp           2f80 <_sk_load_g8_hsw+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -2745,7 +2861,7 @@
   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,114,255,255,255                 ; jmpq          2dcc <_sk_load_g8_hsw+0x10>
+  DB  233,114,255,255,255                 ; jmpq          2f80 <_sk_load_g8_hsw+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -2756,7 +2872,78 @@
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%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,55,255,255,255                  ; jmpq          2dcc <_sk_load_g8_hsw+0x10>
+  DB  233,55,255,255,255                  ; jmpq          2f80 <_sk_load_g8_hsw+0x10>
+  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_load_g8_dst_hsw
+_sk_load_g8_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,57                              ; jne           30ab <_sk_load_g8_dst_hsw+0x43>
+  DB  196,194,121,48,36,19                ; vpmovzxbw     (%r11,%rdx,1),%xmm4
+  DB  197,217,219,37,16,43,0,0            ; vpand         0x2b10(%rip),%xmm4,%xmm4        # 5b90 <_sk_callback_hsw+0x87c>
+  DB  196,226,125,51,228                  ; vpmovzxwd     %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,54,38,0,0         ; vbroadcastss  0x2636(%rip),%ymm5        # 56c8 <_sk_callback_hsw+0x3b4>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,43,38,0,0         ; vbroadcastss  0x262b(%rip),%ymm7        # 56cc <_sk_callback_hsw+0x3b8>
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  197,252,40,244                      ; vmovaps       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,185                             ; ja            3078 <_sk_load_g8_dst_hsw+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,122,0,0,0                 ; lea           0x7a(%rip),%r10        # 3144 <_sk_load_g8_dst_hsw+0xdc>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,154                             ; jmp           3078 <_sk_load_g8_dst_hsw+0x10>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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,114,255,255,255                 ; jmpq          3078 <_sk_load_g8_dst_hsw+0x10>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%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,55,255,255,255                  ; jmpq          3078 <_sk_load_g8_dst_hsw+0x10>
   DB  15,31,0                             ; nopl          (%rax)
   DB  143                                 ; (bad)
   DB  255                                 ; (bad)
@@ -2816,10 +3003,10 @@
   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,22,32,0,0         ; vbroadcastss  0x2016(%rip),%ymm1        # 4f80 <_sk_callback_hsw+0x398>
+  DB  196,226,125,24,13,186,36,0,0        ; vbroadcastss  0x24ba(%rip),%ymm1        # 56d0 <_sk_callback_hsw+0x3bc>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,11,32,0,0         ; vbroadcastss  0x200b(%rip),%ymm3        # 4f84 <_sk_callback_hsw+0x39c>
+  DB  196,226,125,24,29,175,36,0,0        ; vbroadcastss  0x24af(%rip),%ymm3        # 56d4 <_sk_callback_hsw+0x3c0>
   DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
   DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
   DB  255,224                             ; jmpq          *%rax
@@ -2829,9 +3016,9 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,137,193                          ; mov           %rax,%r9
   DB  77,133,201                          ; test          %r9,%r9
-  DB  116,5                               ; je            2f92 <_sk_gather_i8_hsw+0xf>
+  DB  116,5                               ; je            323e <_sk_gather_i8_hsw+0xf>
   DB  76,137,200                          ; mov           %r9,%rax
-  DB  235,2                               ; jmp           2f94 <_sk_gather_i8_hsw+0x11>
+  DB  235,2                               ; jmp           3240 <_sk_gather_i8_hsw+0x11>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  83                                  ; push          %rbx
   DB  76,139,16                           ; mov           (%rax),%r10
@@ -2865,14 +3052,14 @@
   DB  73,139,65,8                         ; mov           0x8(%r9),%rax
   DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
   DB  196,226,117,144,28,128              ; vpgatherdd    %ymm1,(%rax,%ymm0,4),%ymm3
-  DB  197,229,219,5,199,33,0,0            ; vpand         0x21c7(%rip),%ymm3,%ymm0        # 5200 <_sk_callback_hsw+0x618>
+  DB  197,229,219,5,155,38,0,0            ; vpand         0x269b(%rip),%ymm3,%ymm0        # 5980 <_sk_callback_hsw+0x66c>
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,66,31,0,0           ; vbroadcastss  0x1f42(%rip),%ymm8        # 4f88 <_sk_callback_hsw+0x3a0>
+  DB  196,98,125,24,5,230,35,0,0          ; vbroadcastss  0x23e6(%rip),%ymm8        # 56d8 <_sk_callback_hsw+0x3c4>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
-  DB  196,226,101,0,13,204,33,0,0         ; vpshufb       0x21cc(%rip),%ymm3,%ymm1        # 5220 <_sk_callback_hsw+0x638>
+  DB  196,226,101,0,13,160,38,0,0         ; vpshufb       0x26a0(%rip),%ymm3,%ymm1        # 59a0 <_sk_callback_hsw+0x68c>
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
   DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
-  DB  196,226,101,0,21,218,33,0,0         ; vpshufb       0x21da(%rip),%ymm3,%ymm2        # 5240 <_sk_callback_hsw+0x658>
+  DB  196,226,101,0,21,174,38,0,0         ; vpshufb       0x26ae(%rip),%ymm3,%ymm2        # 59c0 <_sk_callback_hsw+0x6ac>
   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
@@ -2887,53 +3074,53 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,114                             ; jne           30fe <_sk_load_565_hsw+0x7c>
+  DB  117,114                             ; jne           33aa <_sk_load_565_hsw+0x7c>
   DB  196,193,122,111,4,83                ; vmovdqu       (%r11,%rdx,2),%xmm0
   DB  196,226,125,51,208                  ; vpmovzxwd     %xmm0,%ymm2
-  DB  196,226,125,88,5,236,30,0,0         ; vpbroadcastd  0x1eec(%rip),%ymm0        # 4f8c <_sk_callback_hsw+0x3a4>
+  DB  196,226,125,88,5,144,35,0,0         ; vpbroadcastd  0x2390(%rip),%ymm0        # 56dc <_sk_callback_hsw+0x3c8>
   DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,223,30,0,0        ; vbroadcastss  0x1edf(%rip),%ymm1        # 4f90 <_sk_callback_hsw+0x3a8>
+  DB  196,226,125,24,13,131,35,0,0        ; vbroadcastss  0x2383(%rip),%ymm1        # 56e0 <_sk_callback_hsw+0x3cc>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,88,13,214,30,0,0        ; vpbroadcastd  0x1ed6(%rip),%ymm1        # 4f94 <_sk_callback_hsw+0x3ac>
+  DB  196,226,125,88,13,122,35,0,0        ; vpbroadcastd  0x237a(%rip),%ymm1        # 56e4 <_sk_callback_hsw+0x3d0>
   DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,29,201,30,0,0        ; vbroadcastss  0x1ec9(%rip),%ymm3        # 4f98 <_sk_callback_hsw+0x3b0>
+  DB  196,226,125,24,29,109,35,0,0        ; vbroadcastss  0x236d(%rip),%ymm3        # 56e8 <_sk_callback_hsw+0x3d4>
   DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
-  DB  196,226,125,88,29,192,30,0,0        ; vpbroadcastd  0x1ec0(%rip),%ymm3        # 4f9c <_sk_callback_hsw+0x3b4>
+  DB  196,226,125,88,29,100,35,0,0        ; vpbroadcastd  0x2364(%rip),%ymm3        # 56ec <_sk_callback_hsw+0x3d8>
   DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,226,125,24,29,179,30,0,0        ; vbroadcastss  0x1eb3(%rip),%ymm3        # 4fa0 <_sk_callback_hsw+0x3b8>
+  DB  196,226,125,24,29,87,35,0,0         ; vbroadcastss  0x2357(%rip),%ymm3        # 56f0 <_sk_callback_hsw+0x3dc>
   DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,168,30,0,0        ; vbroadcastss  0x1ea8(%rip),%ymm3        # 4fa4 <_sk_callback_hsw+0x3bc>
+  DB  196,226,125,24,29,76,35,0,0         ; vbroadcastss  0x234c(%rip),%ymm3        # 56f4 <_sk_callback_hsw+0x3e0>
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,128                             ; ja            3092 <_sk_load_565_hsw+0x10>
+  DB  119,128                             ; ja            333e <_sk_load_565_hsw+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 3180 <_sk_load_565_hsw+0xfe>
+  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 342c <_sk_load_565_hsw+0xfe>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  233,94,255,255,255                  ; jmpq          3092 <_sk_load_565_hsw+0x10>
+  DB  233,94,255,255,255                  ; jmpq          333e <_sk_load_565_hsw+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,110,12,83               ; vmovd         (%r11,%rdx,2),%xmm1
   DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  DB  233,65,255,255,255                  ; jmpq          3092 <_sk_load_565_hsw+0x10>
+  DB  233,65,255,255,255                  ; jmpq          333e <_sk_load_565_hsw+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,122,126,12,83               ; vmovq         (%r11,%rdx,2),%xmm1
   DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  DB  233,20,255,255,255                  ; jmpq          3092 <_sk_load_565_hsw+0x10>
+  DB  233,20,255,255,255                  ; jmpq          333e <_sk_load_565_hsw+0x10>
   DB  102,144                             ; xchg          %ax,%ax
   DB  166                                 ; cmpsb         %es:(%rdi),%ds:(%rsi)
   DB  255                                 ; (bad)
@@ -2954,6 +3141,77 @@
   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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,114                             ; jne           34c4 <_sk_load_565_dst_hsw+0x7c>
+  DB  196,193,122,111,36,83               ; vmovdqu       (%r11,%rdx,2),%xmm4
+  DB  196,226,125,51,244                  ; vpmovzxwd     %xmm4,%ymm6
+  DB  196,226,125,88,37,146,34,0,0        ; vpbroadcastd  0x2292(%rip),%ymm4        # 56f8 <_sk_callback_hsw+0x3e4>
+  DB  197,205,219,228                     ; vpand         %ymm4,%ymm6,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,133,34,0,0        ; vbroadcastss  0x2285(%rip),%ymm5        # 56fc <_sk_callback_hsw+0x3e8>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,88,45,124,34,0,0        ; vpbroadcastd  0x227c(%rip),%ymm5        # 5700 <_sk_callback_hsw+0x3ec>
+  DB  197,205,219,237                     ; vpand         %ymm5,%ymm6,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,61,111,34,0,0        ; vbroadcastss  0x226f(%rip),%ymm7        # 5704 <_sk_callback_hsw+0x3f0>
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  196,226,125,88,61,102,34,0,0        ; vpbroadcastd  0x2266(%rip),%ymm7        # 5708 <_sk_callback_hsw+0x3f4>
+  DB  197,205,219,247                     ; vpand         %ymm7,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,226,125,24,61,89,34,0,0         ; vbroadcastss  0x2259(%rip),%ymm7        # 570c <_sk_callback_hsw+0x3f8>
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,78,34,0,0         ; vbroadcastss  0x224e(%rip),%ymm7        # 5710 <_sk_callback_hsw+0x3fc>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,128                             ; ja            3458 <_sk_load_565_dst_hsw+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,97,0,0,0                  ; lea           0x61(%rip),%r10        # 3544 <_sk_load_565_dst_hsw+0xfc>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,94,255,255,255                  ; jmpq          3458 <_sk_load_565_dst_hsw+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,83               ; vmovd         (%r11,%rdx,2),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,65,255,255,255                  ; jmpq          3458 <_sk_load_565_dst_hsw+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,83               ; vmovq         (%r11,%rdx,2),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,20,255,255,255                  ; jmpq          3458 <_sk_load_565_dst_hsw+0x10>
+  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  72,173                              ; lods          %ds:(%rsi),%rax
@@ -2993,34 +3251,34 @@
   DB  67,15,183,4,89                      ; movzwl        (%r9,%r11,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,91,29,0,0          ; vpbroadcastd  0x1d5b(%rip),%ymm0        # 4fa8 <_sk_callback_hsw+0x3c0>
+  DB  196,226,125,88,5,3,33,0,0           ; vpbroadcastd  0x2103(%rip),%ymm0        # 5714 <_sk_callback_hsw+0x400>
   DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,78,29,0,0         ; vbroadcastss  0x1d4e(%rip),%ymm1        # 4fac <_sk_callback_hsw+0x3c4>
+  DB  196,226,125,24,13,246,32,0,0        ; vbroadcastss  0x20f6(%rip),%ymm1        # 5718 <_sk_callback_hsw+0x404>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,88,13,69,29,0,0         ; vpbroadcastd  0x1d45(%rip),%ymm1        # 4fb0 <_sk_callback_hsw+0x3c8>
+  DB  196,226,125,88,13,237,32,0,0        ; vpbroadcastd  0x20ed(%rip),%ymm1        # 571c <_sk_callback_hsw+0x408>
   DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,29,56,29,0,0         ; vbroadcastss  0x1d38(%rip),%ymm3        # 4fb4 <_sk_callback_hsw+0x3cc>
+  DB  196,226,125,24,29,224,32,0,0        ; vbroadcastss  0x20e0(%rip),%ymm3        # 5720 <_sk_callback_hsw+0x40c>
   DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
-  DB  196,226,125,88,29,47,29,0,0         ; vpbroadcastd  0x1d2f(%rip),%ymm3        # 4fb8 <_sk_callback_hsw+0x3d0>
+  DB  196,226,125,88,29,215,32,0,0        ; vpbroadcastd  0x20d7(%rip),%ymm3        # 5724 <_sk_callback_hsw+0x410>
   DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,226,125,24,29,34,29,0,0         ; vbroadcastss  0x1d22(%rip),%ymm3        # 4fbc <_sk_callback_hsw+0x3d4>
+  DB  196,226,125,24,29,202,32,0,0        ; vbroadcastss  0x20ca(%rip),%ymm3        # 5728 <_sk_callback_hsw+0x414>
   DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,23,29,0,0         ; vbroadcastss  0x1d17(%rip),%ymm3        # 4fc0 <_sk_callback_hsw+0x3d8>
+  DB  196,226,125,24,29,191,32,0,0        ; vbroadcastss  0x20bf(%rip),%ymm3        # 572c <_sk_callback_hsw+0x418>
   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,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,11,29,0,0           ; vbroadcastss  0x1d0b(%rip),%ymm8        # 4fc4 <_sk_callback_hsw+0x3dc>
+  DB  196,98,125,24,5,179,32,0,0          ; vbroadcastss  0x20b3(%rip),%ymm8        # 5730 <_sk_callback_hsw+0x41c>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,193,53,114,241,11               ; vpslld        $0xb,%ymm9,%ymm9
-  DB  196,98,125,24,21,246,28,0,0         ; vbroadcastss  0x1cf6(%rip),%ymm10        # 4fc8 <_sk_callback_hsw+0x3e0>
+  DB  196,98,125,24,21,158,32,0,0         ; vbroadcastss  0x209e(%rip),%ymm10        # 5734 <_sk_callback_hsw+0x420>
   DB  196,65,116,89,210                   ; vmulps        %ymm10,%ymm1,%ymm10
   DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
   DB  196,193,45,114,242,5                ; vpslld        $0x5,%ymm10,%ymm10
@@ -3031,7 +3289,7 @@
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3310 <_sk_store_565_hsw+0x65>
+  DB  117,10                              ; jne           36d4 <_sk_store_565_hsw+0x65>
   DB  196,65,122,127,4,83                 ; vmovdqu       %xmm8,(%r11,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3039,22 +3297,22 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            330c <_sk_store_565_hsw+0x61>
+  DB  119,236                             ; ja            36d0 <_sk_store_565_hsw+0x61>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,69,0,0,0                  ; lea           0x45(%rip),%r10        # 3370 <_sk_store_565_hsw+0xc5>
+  DB  76,141,21,69,0,0,0                  ; lea           0x45(%rip),%r10        # 3734 <_sk_store_565_hsw+0xc5>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,21,4,83,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  DB  235,207                             ; jmp           330c <_sk_store_565_hsw+0x61>
+  DB  235,207                             ; jmp           36d0 <_sk_store_565_hsw+0x61>
   DB  196,67,121,21,68,83,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   DB  196,65,121,126,4,83                 ; vmovd         %xmm8,(%r11,%rdx,2)
-  DB  235,191                             ; jmp           330c <_sk_store_565_hsw+0x61>
+  DB  235,191                             ; jmp           36d0 <_sk_store_565_hsw+0x61>
   DB  196,67,121,21,68,83,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   DB  196,67,121,21,68,83,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   DB  196,67,121,21,68,83,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   DB  196,65,121,214,4,83                 ; vmovq         %xmm8,(%r11,%rdx,2)
-  DB  235,159                             ; jmp           330c <_sk_store_565_hsw+0x61>
+  DB  235,159                             ; jmp           36d0 <_sk_store_565_hsw+0x61>
   DB  15,31,0                             ; nopl          (%rax)
   DB  196                                 ; (bad)
   DB  255                                 ; (bad)
@@ -3085,28 +3343,28 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,138,0,0,0                    ; jne           3424 <_sk_load_4444_hsw+0x98>
+  DB  15,133,138,0,0,0                    ; jne           37e8 <_sk_load_4444_hsw+0x98>
   DB  196,193,122,111,4,83                ; vmovdqu       (%r11,%rdx,2),%xmm0
   DB  196,226,125,51,216                  ; vpmovzxwd     %xmm0,%ymm3
-  DB  196,226,125,88,5,30,28,0,0          ; vpbroadcastd  0x1c1e(%rip),%ymm0        # 4fcc <_sk_callback_hsw+0x3e4>
+  DB  196,226,125,88,5,198,31,0,0         ; vpbroadcastd  0x1fc6(%rip),%ymm0        # 5738 <_sk_callback_hsw+0x424>
   DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,17,28,0,0         ; vbroadcastss  0x1c11(%rip),%ymm1        # 4fd0 <_sk_callback_hsw+0x3e8>
+  DB  196,226,125,24,13,185,31,0,0        ; vbroadcastss  0x1fb9(%rip),%ymm1        # 573c <_sk_callback_hsw+0x428>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,88,13,8,28,0,0          ; vpbroadcastd  0x1c08(%rip),%ymm1        # 4fd4 <_sk_callback_hsw+0x3ec>
+  DB  196,226,125,88,13,176,31,0,0        ; vpbroadcastd  0x1fb0(%rip),%ymm1        # 5740 <_sk_callback_hsw+0x42c>
   DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,21,251,27,0,0        ; vbroadcastss  0x1bfb(%rip),%ymm2        # 4fd8 <_sk_callback_hsw+0x3f0>
+  DB  196,226,125,24,21,163,31,0,0        ; vbroadcastss  0x1fa3(%rip),%ymm2        # 5744 <_sk_callback_hsw+0x430>
   DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
-  DB  196,226,125,88,21,242,27,0,0        ; vpbroadcastd  0x1bf2(%rip),%ymm2        # 4fdc <_sk_callback_hsw+0x3f4>
+  DB  196,226,125,88,21,154,31,0,0        ; vpbroadcastd  0x1f9a(%rip),%ymm2        # 5748 <_sk_callback_hsw+0x434>
   DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,98,125,24,5,229,27,0,0          ; vbroadcastss  0x1be5(%rip),%ymm8        # 4fe0 <_sk_callback_hsw+0x3f8>
+  DB  196,98,125,24,5,141,31,0,0          ; vbroadcastss  0x1f8d(%rip),%ymm8        # 574c <_sk_callback_hsw+0x438>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,88,5,219,27,0,0          ; vpbroadcastd  0x1bdb(%rip),%ymm8        # 4fe4 <_sk_callback_hsw+0x3fc>
+  DB  196,98,125,88,5,131,31,0,0          ; vpbroadcastd  0x1f83(%rip),%ymm8        # 5750 <_sk_callback_hsw+0x43c>
   DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
   DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
-  DB  196,98,125,24,5,205,27,0,0          ; vbroadcastss  0x1bcd(%rip),%ymm8        # 4fe8 <_sk_callback_hsw+0x400>
+  DB  196,98,125,24,5,117,31,0,0          ; vbroadcastss  0x1f75(%rip),%ymm8        # 5754 <_sk_callback_hsw+0x440>
   DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3115,27 +3373,102 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,100,255,255,255              ; ja            33a0 <_sk_load_4444_hsw+0x14>
+  DB  15,135,100,255,255,255              ; ja            3764 <_sk_load_4444_hsw+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,97,0,0,0                  ; lea           0x61(%rip),%r10        # 34a8 <_sk_load_4444_hsw+0x11c>
+  DB  76,141,21,97,0,0,0                  ; lea           0x61(%rip),%r10        # 386c <_sk_load_4444_hsw+0x11c>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  233,66,255,255,255                  ; jmpq          33a0 <_sk_load_4444_hsw+0x14>
+  DB  233,66,255,255,255                  ; jmpq          3764 <_sk_load_4444_hsw+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,110,12,83               ; vmovd         (%r11,%rdx,2),%xmm1
   DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  DB  233,37,255,255,255                  ; jmpq          33a0 <_sk_load_4444_hsw+0x14>
+  DB  233,37,255,255,255                  ; jmpq          3764 <_sk_load_4444_hsw+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,122,126,12,83               ; vmovq         (%r11,%rdx,2),%xmm1
   DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  DB  233,248,254,255,255                 ; jmpq          33a0 <_sk_load_4444_hsw+0x14>
+  DB  233,248,254,255,255                 ; jmpq          3764 <_sk_load_4444_hsw+0x14>
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,138,0,0,0                    ; jne           3920 <_sk_load_4444_dst_hsw+0x98>
+  DB  196,193,122,111,36,83               ; vmovdqu       (%r11,%rdx,2),%xmm4
+  DB  196,226,125,51,252                  ; vpmovzxwd     %xmm4,%ymm7
+  DB  196,226,125,88,37,174,30,0,0        ; vpbroadcastd  0x1eae(%rip),%ymm4        # 5758 <_sk_callback_hsw+0x444>
+  DB  197,197,219,228                     ; vpand         %ymm4,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,161,30,0,0        ; vbroadcastss  0x1ea1(%rip),%ymm5        # 575c <_sk_callback_hsw+0x448>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,88,45,152,30,0,0        ; vpbroadcastd  0x1e98(%rip),%ymm5        # 5760 <_sk_callback_hsw+0x44c>
+  DB  197,197,219,237                     ; vpand         %ymm5,%ymm7,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,53,139,30,0,0        ; vbroadcastss  0x1e8b(%rip),%ymm6        # 5764 <_sk_callback_hsw+0x450>
+  DB  197,212,89,238                      ; vmulps        %ymm6,%ymm5,%ymm5
+  DB  196,226,125,88,53,130,30,0,0        ; vpbroadcastd  0x1e82(%rip),%ymm6        # 5768 <_sk_callback_hsw+0x454>
+  DB  197,197,219,246                     ; vpand         %ymm6,%ymm7,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,98,125,24,5,117,30,0,0          ; vbroadcastss  0x1e75(%rip),%ymm8        # 576c <_sk_callback_hsw+0x458>
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,98,125,88,5,107,30,0,0          ; vpbroadcastd  0x1e6b(%rip),%ymm8        # 5770 <_sk_callback_hsw+0x45c>
+  DB  196,193,69,219,248                  ; vpand         %ymm8,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,93,30,0,0           ; vbroadcastss  0x1e5d(%rip),%ymm8        # 5774 <_sk_callback_hsw+0x460>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,100,255,255,255              ; ja            389c <_sk_load_4444_dst_hsw+0x14>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,97,0,0,0                  ; lea           0x61(%rip),%r10        # 39a4 <_sk_load_4444_dst_hsw+0x11c>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,66,255,255,255                  ; jmpq          389c <_sk_load_4444_dst_hsw+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,83               ; vmovd         (%r11,%rdx,2),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,37,255,255,255                  ; jmpq          389c <_sk_load_4444_dst_hsw+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,83               ; vmovq         (%r11,%rdx,2),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,248,254,255,255                 ; jmpq          389c <_sk_load_4444_dst_hsw+0x14>
   DB  168,255                             ; test          $0xff,%al
   DB  255                                 ; (bad)
   DB  255,194                             ; inc           %edx
@@ -3194,25 +3527,25 @@
   DB  67,15,183,4,89                      ; movzwl        (%r9,%r11,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,119,26,0,0         ; vpbroadcastd  0x1a77(%rip),%ymm0        # 4fec <_sk_callback_hsw+0x404>
+  DB  196,226,125,88,5,7,29,0,0           ; vpbroadcastd  0x1d07(%rip),%ymm0        # 5778 <_sk_callback_hsw+0x464>
   DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,106,26,0,0        ; vbroadcastss  0x1a6a(%rip),%ymm1        # 4ff0 <_sk_callback_hsw+0x408>
+  DB  196,226,125,24,13,250,28,0,0        ; vbroadcastss  0x1cfa(%rip),%ymm1        # 577c <_sk_callback_hsw+0x468>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,88,13,97,26,0,0         ; vpbroadcastd  0x1a61(%rip),%ymm1        # 4ff4 <_sk_callback_hsw+0x40c>
+  DB  196,226,125,88,13,241,28,0,0        ; vpbroadcastd  0x1cf1(%rip),%ymm1        # 5780 <_sk_callback_hsw+0x46c>
   DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,21,84,26,0,0         ; vbroadcastss  0x1a54(%rip),%ymm2        # 4ff8 <_sk_callback_hsw+0x410>
+  DB  196,226,125,24,21,228,28,0,0        ; vbroadcastss  0x1ce4(%rip),%ymm2        # 5784 <_sk_callback_hsw+0x470>
   DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
-  DB  196,226,125,88,21,75,26,0,0         ; vpbroadcastd  0x1a4b(%rip),%ymm2        # 4ffc <_sk_callback_hsw+0x414>
+  DB  196,226,125,88,21,219,28,0,0        ; vpbroadcastd  0x1cdb(%rip),%ymm2        # 5788 <_sk_callback_hsw+0x474>
   DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,98,125,24,5,62,26,0,0           ; vbroadcastss  0x1a3e(%rip),%ymm8        # 5000 <_sk_callback_hsw+0x418>
+  DB  196,98,125,24,5,206,28,0,0          ; vbroadcastss  0x1cce(%rip),%ymm8        # 578c <_sk_callback_hsw+0x478>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,88,5,52,26,0,0           ; vpbroadcastd  0x1a34(%rip),%ymm8        # 5004 <_sk_callback_hsw+0x41c>
+  DB  196,98,125,88,5,196,28,0,0          ; vpbroadcastd  0x1cc4(%rip),%ymm8        # 5790 <_sk_callback_hsw+0x47c>
   DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
   DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
-  DB  196,98,125,24,5,38,26,0,0           ; vbroadcastss  0x1a26(%rip),%ymm8        # 5008 <_sk_callback_hsw+0x420>
+  DB  196,98,125,24,5,182,28,0,0          ; vbroadcastss  0x1cb6(%rip),%ymm8        # 5794 <_sk_callback_hsw+0x480>
   DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3221,7 +3554,7 @@
 _sk_store_4444_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,19,26,0,0           ; vbroadcastss  0x1a13(%rip),%ymm8        # 500c <_sk_callback_hsw+0x424>
+  DB  196,98,125,24,5,163,28,0,0          ; vbroadcastss  0x1ca3(%rip),%ymm8        # 5798 <_sk_callback_hsw+0x484>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,193,53,114,241,12               ; vpslld        $0xc,%ymm9,%ymm9
@@ -3239,7 +3572,7 @@
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           365c <_sk_store_4444_hsw+0x71>
+  DB  117,10                              ; jne           3b58 <_sk_store_4444_hsw+0x71>
   DB  196,65,122,127,4,83                 ; vmovdqu       %xmm8,(%r11,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3247,22 +3580,22 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            3658 <_sk_store_4444_hsw+0x6d>
+  DB  119,236                             ; ja            3b54 <_sk_store_4444_hsw+0x6d>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,69,0,0,0                  ; lea           0x45(%rip),%r10        # 36bc <_sk_store_4444_hsw+0xd1>
+  DB  76,141,21,69,0,0,0                  ; lea           0x45(%rip),%r10        # 3bb8 <_sk_store_4444_hsw+0xd1>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,21,4,83,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  DB  235,207                             ; jmp           3658 <_sk_store_4444_hsw+0x6d>
+  DB  235,207                             ; jmp           3b54 <_sk_store_4444_hsw+0x6d>
   DB  196,67,121,21,68,83,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   DB  196,65,121,126,4,83                 ; vmovd         %xmm8,(%r11,%rdx,2)
-  DB  235,191                             ; jmp           3658 <_sk_store_4444_hsw+0x6d>
+  DB  235,191                             ; jmp           3b54 <_sk_store_4444_hsw+0x6d>
   DB  196,67,121,21,68,83,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   DB  196,67,121,21,68,83,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   DB  196,67,121,21,68,83,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   DB  196,65,121,214,4,83                 ; vmovq         %xmm8,(%r11,%rdx,2)
-  DB  235,159                             ; jmp           3658 <_sk_store_4444_hsw+0x6d>
+  DB  235,159                             ; jmp           3b54 <_sk_store_4444_hsw+0x6d>
   DB  15,31,0                             ; nopl          (%rax)
   DB  196                                 ; (bad)
   DB  255                                 ; (bad)
@@ -3295,16 +3628,16 @@
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,88                              ; jne           3745 <_sk_load_8888_hsw+0x6d>
+  DB  117,88                              ; jne           3c41 <_sk_load_8888_hsw+0x6d>
   DB  196,193,124,16,26                   ; vmovups       (%r10),%ymm3
-  DB  197,228,84,5,102,27,0,0             ; vandps        0x1b66(%rip),%ymm3,%ymm0        # 5260 <_sk_callback_hsw+0x678>
+  DB  197,228,84,5,234,29,0,0             ; vandps        0x1dea(%rip),%ymm3,%ymm0        # 59e0 <_sk_callback_hsw+0x6cc>
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,9,25,0,0            ; vbroadcastss  0x1909(%rip),%ymm8        # 5010 <_sk_callback_hsw+0x428>
+  DB  196,98,125,24,5,153,27,0,0          ; vbroadcastss  0x1b99(%rip),%ymm8        # 579c <_sk_callback_hsw+0x488>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
-  DB  196,226,101,0,13,107,27,0,0         ; vpshufb       0x1b6b(%rip),%ymm3,%ymm1        # 5280 <_sk_callback_hsw+0x698>
+  DB  196,226,101,0,13,239,29,0,0         ; vpshufb       0x1def(%rip),%ymm3,%ymm1        # 5a00 <_sk_callback_hsw+0x6ec>
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
   DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
-  DB  196,226,101,0,21,121,27,0,0         ; vpshufb       0x1b79(%rip),%ymm3,%ymm2        # 52a0 <_sk_callback_hsw+0x6b8>
+  DB  196,226,101,0,21,253,29,0,0         ; vpshufb       0x1dfd(%rip),%ymm3,%ymm2        # 5a20 <_sk_callback_hsw+0x70c>
   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
@@ -3321,7 +3654,42 @@
   DB  196,225,249,110,192                 ; vmovq         %rax,%xmm0
   DB  196,226,125,33,192                  ; vpmovsxbd     %xmm0,%ymm0
   DB  196,194,125,44,26                   ; vmaskmovps    (%r10),%ymm0,%ymm3
-  DB  235,135                             ; jmp           36f2 <_sk_load_8888_hsw+0x1a>
+  DB  235,135                             ; jmp           3bee <_sk_load_8888_hsw+0x1a>
+
+PUBLIC _sk_load_8888_dst_hsw
+_sk_load_8888_dst_hsw LABEL PROC
+  DB  73,137,201                          ; mov           %rcx,%r9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
+  DB  76,3,16                             ; add           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,88                              ; jne           3cd4 <_sk_load_8888_dst_hsw+0x6d>
+  DB  196,193,124,16,58                   ; vmovups       (%r10),%ymm7
+  DB  197,196,84,37,183,29,0,0            ; vandps        0x1db7(%rip),%ymm7,%ymm4        # 5a40 <_sk_callback_hsw+0x72c>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,10,27,0,0           ; vbroadcastss  0x1b0a(%rip),%ymm8        # 57a0 <_sk_callback_hsw+0x48c>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  196,226,69,0,45,188,29,0,0          ; vpshufb       0x1dbc(%rip),%ymm7,%ymm5        # 5a60 <_sk_callback_hsw+0x74c>
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  196,226,69,0,53,202,29,0,0          ; vpshufb       0x1dca(%rip),%ymm7,%ymm6        # 5a80 <_sk_callback_hsw+0x76c>
+  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  76,137,201                          ; mov           %r9,%rcx
+  DB  255,224                             ; jmpq          *%rax
+  DB  185,8,0,0,0                         ; mov           $0x8,%ecx
+  DB  68,41,193                           ; sub           %r8d,%ecx
+  DB  192,225,3                           ; shl           $0x3,%cl
+  DB  72,199,192,255,255,255,255          ; mov           $0xffffffffffffffff,%rax
+  DB  72,211,232                          ; shr           %cl,%rax
+  DB  196,225,249,110,224                 ; vmovq         %rax,%xmm4
+  DB  196,226,125,33,228                  ; vpmovsxbd     %xmm4,%ymm4
+  DB  196,194,93,44,58                    ; vmaskmovps    (%r10),%ymm4,%ymm7
+  DB  235,135                             ; jmp           3c81 <_sk_load_8888_dst_hsw+0x1a>
 
 PUBLIC _sk_gather_8888_hsw
 _sk_gather_8888_hsw LABEL PROC
@@ -3334,14 +3702,14 @@
   DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
   DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
   DB  196,194,117,144,28,129              ; vpgatherdd    %ymm1,(%r9,%ymm0,4),%ymm3
-  DB  197,229,219,5,39,27,0,0             ; vpand         0x1b27(%rip),%ymm3,%ymm0        # 52c0 <_sk_callback_hsw+0x6d8>
+  DB  197,229,219,5,120,29,0,0            ; vpand         0x1d78(%rip),%ymm3,%ymm0        # 5aa0 <_sk_callback_hsw+0x78c>
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,110,24,0,0          ; vbroadcastss  0x186e(%rip),%ymm8        # 5014 <_sk_callback_hsw+0x42c>
+  DB  196,98,125,24,5,111,26,0,0          ; vbroadcastss  0x1a6f(%rip),%ymm8        # 57a4 <_sk_callback_hsw+0x490>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
-  DB  196,226,101,0,13,44,27,0,0          ; vpshufb       0x1b2c(%rip),%ymm3,%ymm1        # 52e0 <_sk_callback_hsw+0x6f8>
+  DB  196,226,101,0,13,125,29,0,0         ; vpshufb       0x1d7d(%rip),%ymm3,%ymm1        # 5ac0 <_sk_callback_hsw+0x7ac>
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
   DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
-  DB  196,226,101,0,21,58,27,0,0          ; vpshufb       0x1b3a(%rip),%ymm3,%ymm2        # 5300 <_sk_callback_hsw+0x718>
+  DB  196,226,101,0,21,139,29,0,0         ; vpshufb       0x1d8b(%rip),%ymm3,%ymm2        # 5ae0 <_sk_callback_hsw+0x7cc>
   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
@@ -3356,7 +3724,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
-  DB  196,98,125,24,5,30,24,0,0           ; vbroadcastss  0x181e(%rip),%ymm8        # 5018 <_sk_callback_hsw+0x430>
+  DB  196,98,125,24,5,31,26,0,0           ; vbroadcastss  0x1a1f(%rip),%ymm8        # 57a8 <_sk_callback_hsw+0x494>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
@@ -3372,7 +3740,7 @@
   DB  196,65,45,235,192                   ; vpor          %ymm8,%ymm10,%ymm8
   DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,12                              ; jne           3854 <_sk_store_8888_hsw+0x73>
+  DB  117,12                              ; jne           3de3 <_sk_store_8888_hsw+0x73>
   DB  196,65,124,17,2                     ; vmovups       %ymm8,(%r10)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,137,201                          ; mov           %r9,%rcx
@@ -3385,14 +3753,14 @@
   DB  196,97,249,110,200                  ; vmovq         %rax,%xmm9
   DB  196,66,125,33,201                   ; vpmovsxbd     %xmm9,%ymm9
   DB  196,66,53,46,2                      ; vmaskmovps    %ymm8,%ymm9,(%r10)
-  DB  235,211                             ; jmp           384d <_sk_store_8888_hsw+0x6c>
+  DB  235,211                             ; jmp           3ddc <_sk_store_8888_hsw+0x6c>
 
 PUBLIC _sk_load_f16_hsw
 _sk_load_f16_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,97                              ; jne           38e5 <_sk_load_f16_hsw+0x6b>
+  DB  117,97                              ; jne           3e74 <_sk_load_f16_hsw+0x6b>
   DB  197,121,16,4,208                    ; vmovupd       (%rax,%rdx,8),%xmm8
   DB  197,249,16,84,208,16                ; vmovupd       0x10(%rax,%rdx,8),%xmm2
   DB  197,249,16,92,208,32                ; vmovupd       0x20(%rax,%rdx,8),%xmm3
@@ -3418,29 +3786,84 @@
   DB  197,123,16,4,208                    ; vmovsd        (%rax,%rdx,8),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,79                              ; je            3944 <_sk_load_f16_hsw+0xca>
+  DB  116,79                              ; je            3ed3 <_sk_load_f16_hsw+0xca>
   DB  197,57,22,68,208,8                  ; vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,67                              ; jb            3944 <_sk_load_f16_hsw+0xca>
+  DB  114,67                              ; jb            3ed3 <_sk_load_f16_hsw+0xca>
   DB  197,251,16,84,208,16                ; vmovsd        0x10(%rax,%rdx,8),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,68                              ; je            3951 <_sk_load_f16_hsw+0xd7>
+  DB  116,68                              ; je            3ee0 <_sk_load_f16_hsw+0xd7>
   DB  197,233,22,84,208,24                ; vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,56                              ; jb            3951 <_sk_load_f16_hsw+0xd7>
+  DB  114,56                              ; jb            3ee0 <_sk_load_f16_hsw+0xd7>
   DB  197,251,16,92,208,32                ; vmovsd        0x20(%rax,%rdx,8),%xmm3
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,114,255,255,255              ; je            389b <_sk_load_f16_hsw+0x21>
+  DB  15,132,114,255,255,255              ; je            3e2a <_sk_load_f16_hsw+0x21>
   DB  197,225,22,92,208,40                ; vmovhpd       0x28(%rax,%rdx,8),%xmm3,%xmm3
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,98,255,255,255               ; jb            389b <_sk_load_f16_hsw+0x21>
+  DB  15,130,98,255,255,255               ; jb            3e2a <_sk_load_f16_hsw+0x21>
   DB  197,122,126,76,208,48               ; vmovq         0x30(%rax,%rdx,8),%xmm9
-  DB  233,87,255,255,255                  ; jmpq          389b <_sk_load_f16_hsw+0x21>
+  DB  233,87,255,255,255                  ; jmpq          3e2a <_sk_load_f16_hsw+0x21>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
   DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
-  DB  233,74,255,255,255                  ; jmpq          389b <_sk_load_f16_hsw+0x21>
+  DB  233,74,255,255,255                  ; jmpq          3e2a <_sk_load_f16_hsw+0x21>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
-  DB  233,65,255,255,255                  ; jmpq          389b <_sk_load_f16_hsw+0x21>
+  DB  233,65,255,255,255                  ; jmpq          3e2a <_sk_load_f16_hsw+0x21>
+
+PUBLIC _sk_load_f16_dst_hsw
+_sk_load_f16_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,97                              ; jne           3f54 <_sk_load_f16_dst_hsw+0x6b>
+  DB  197,121,16,4,208                    ; vmovupd       (%rax,%rdx,8),%xmm8
+  DB  197,249,16,116,208,16               ; vmovupd       0x10(%rax,%rdx,8),%xmm6
+  DB  197,249,16,124,208,32               ; vmovupd       0x20(%rax,%rdx,8),%xmm7
+  DB  197,122,111,76,208,48               ; vmovdqu       0x30(%rax,%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  197,123,16,4,208                    ; vmovsd        (%rax,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  116,79                              ; je            3fb3 <_sk_load_f16_dst_hsw+0xca>
+  DB  197,57,22,68,208,8                  ; vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  114,67                              ; jb            3fb3 <_sk_load_f16_dst_hsw+0xca>
+  DB  197,251,16,116,208,16               ; vmovsd        0x10(%rax,%rdx,8),%xmm6
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  116,68                              ; je            3fc0 <_sk_load_f16_dst_hsw+0xd7>
+  DB  197,201,22,116,208,24               ; vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
+  DB  73,131,248,5                        ; cmp           $0x5,%r8
+  DB  114,56                              ; jb            3fc0 <_sk_load_f16_dst_hsw+0xd7>
+  DB  197,251,16,124,208,32               ; vmovsd        0x20(%rax,%rdx,8),%xmm7
+  DB  73,131,248,5                        ; cmp           $0x5,%r8
+  DB  15,132,114,255,255,255              ; je            3f0a <_sk_load_f16_dst_hsw+0x21>
+  DB  197,193,22,124,208,40               ; vmovhpd       0x28(%rax,%rdx,8),%xmm7,%xmm7
+  DB  73,131,248,7                        ; cmp           $0x7,%r8
+  DB  15,130,98,255,255,255               ; jb            3f0a <_sk_load_f16_dst_hsw+0x21>
+  DB  197,122,126,76,208,48               ; vmovq         0x30(%rax,%rdx,8),%xmm9
+  DB  233,87,255,255,255                  ; jmpq          3f0a <_sk_load_f16_dst_hsw+0x21>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  197,201,87,246                      ; vxorpd        %xmm6,%xmm6,%xmm6
+  DB  233,74,255,255,255                  ; jmpq          3f0a <_sk_load_f16_dst_hsw+0x21>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  233,65,255,255,255                  ; jmpq          3f0a <_sk_load_f16_dst_hsw+0x21>
 
 PUBLIC _sk_gather_f16_hsw
 _sk_gather_f16_hsw LABEL PROC
@@ -3494,7 +3917,7 @@
   DB  196,65,57,98,205                    ; vpunpckldq    %xmm13,%xmm8,%xmm9
   DB  196,65,57,106,197                   ; vpunpckhdq    %xmm13,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,27                              ; jne           3a49 <_sk_store_f16_hsw+0x65>
+  DB  117,27                              ; jne           40b8 <_sk_store_f16_hsw+0x65>
   DB  197,120,17,28,208                   ; vmovups       %xmm11,(%rax,%rdx,8)
   DB  197,120,17,84,208,16                ; vmovups       %xmm10,0x10(%rax,%rdx,8)
   DB  197,120,17,76,208,32                ; vmovups       %xmm9,0x20(%rax,%rdx,8)
@@ -3503,22 +3926,22 @@
   DB  255,224                             ; jmpq          *%rax
   DB  197,121,214,28,208                  ; vmovq         %xmm11,(%rax,%rdx,8)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,241                             ; je            3a45 <_sk_store_f16_hsw+0x61>
+  DB  116,241                             ; je            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,23,92,208,8                 ; vmovhpd       %xmm11,0x8(%rax,%rdx,8)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,229                             ; jb            3a45 <_sk_store_f16_hsw+0x61>
+  DB  114,229                             ; jb            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,214,84,208,16               ; vmovq         %xmm10,0x10(%rax,%rdx,8)
-  DB  116,221                             ; je            3a45 <_sk_store_f16_hsw+0x61>
+  DB  116,221                             ; je            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,23,84,208,24                ; vmovhpd       %xmm10,0x18(%rax,%rdx,8)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,209                             ; jb            3a45 <_sk_store_f16_hsw+0x61>
+  DB  114,209                             ; jb            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,214,76,208,32               ; vmovq         %xmm9,0x20(%rax,%rdx,8)
-  DB  116,201                             ; je            3a45 <_sk_store_f16_hsw+0x61>
+  DB  116,201                             ; je            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,23,76,208,40                ; vmovhpd       %xmm9,0x28(%rax,%rdx,8)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,189                             ; jb            3a45 <_sk_store_f16_hsw+0x61>
+  DB  114,189                             ; jb            40b4 <_sk_store_f16_hsw+0x61>
   DB  197,121,214,68,208,48               ; vmovq         %xmm8,0x30(%rax,%rdx,8)
-  DB  235,181                             ; jmp           3a45 <_sk_store_f16_hsw+0x61>
+  DB  235,181                             ; jmp           40b4 <_sk_store_f16_hsw+0x61>
 
 PUBLIC _sk_load_u16_be_hsw
 _sk_load_u16_be_hsw LABEL PROC
@@ -3526,7 +3949,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,204,0,0,0                    ; jne           3b72 <_sk_load_u16_be_hsw+0xe2>
+  DB  15,133,204,0,0,0                    ; jne           41e1 <_sk_load_u16_be_hsw+0xe2>
   DB  196,65,121,16,4,65                  ; vmovupd       (%r9,%rax,2),%xmm8
   DB  196,193,121,16,84,65,16             ; vmovupd       0x10(%r9,%rax,2),%xmm2
   DB  196,193,121,16,92,65,32             ; vmovupd       0x20(%r9,%rax,2),%xmm3
@@ -3545,7 +3968,7 @@
   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,21,21,0,0          ; vbroadcastss  0x1515(%rip),%ymm10        # 501c <_sk_callback_hsw+0x434>
+  DB  196,98,125,24,21,54,22,0,0          ; vbroadcastss  0x1636(%rip),%ymm10        # 57ac <_sk_callback_hsw+0x498>
   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
@@ -3573,29 +3996,29 @@
   DB  196,65,123,16,4,65                  ; vmovsd        (%r9,%rax,2),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,85                              ; je            3bd8 <_sk_load_u16_be_hsw+0x148>
+  DB  116,85                              ; je            4247 <_sk_load_u16_be_hsw+0x148>
   DB  196,65,57,22,68,65,8                ; vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,72                              ; jb            3bd8 <_sk_load_u16_be_hsw+0x148>
+  DB  114,72                              ; jb            4247 <_sk_load_u16_be_hsw+0x148>
   DB  196,193,123,16,84,65,16             ; vmovsd        0x10(%r9,%rax,2),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,72                              ; je            3be5 <_sk_load_u16_be_hsw+0x155>
+  DB  116,72                              ; je            4254 <_sk_load_u16_be_hsw+0x155>
   DB  196,193,105,22,84,65,24             ; vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,59                              ; jb            3be5 <_sk_load_u16_be_hsw+0x155>
+  DB  114,59                              ; jb            4254 <_sk_load_u16_be_hsw+0x155>
   DB  196,193,123,16,92,65,32             ; vmovsd        0x20(%r9,%rax,2),%xmm3
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,6,255,255,255                ; je            3ac1 <_sk_load_u16_be_hsw+0x31>
+  DB  15,132,6,255,255,255                ; je            4130 <_sk_load_u16_be_hsw+0x31>
   DB  196,193,97,22,92,65,40              ; vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,245,254,255,255              ; jb            3ac1 <_sk_load_u16_be_hsw+0x31>
+  DB  15,130,245,254,255,255              ; jb            4130 <_sk_load_u16_be_hsw+0x31>
   DB  196,65,122,126,76,65,48             ; vmovq         0x30(%r9,%rax,2),%xmm9
-  DB  233,233,254,255,255                 ; jmpq          3ac1 <_sk_load_u16_be_hsw+0x31>
+  DB  233,233,254,255,255                 ; jmpq          4130 <_sk_load_u16_be_hsw+0x31>
   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          3ac1 <_sk_load_u16_be_hsw+0x31>
+  DB  233,220,254,255,255                 ; jmpq          4130 <_sk_load_u16_be_hsw+0x31>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
-  DB  233,211,254,255,255                 ; jmpq          3ac1 <_sk_load_u16_be_hsw+0x31>
+  DB  233,211,254,255,255                 ; jmpq          4130 <_sk_load_u16_be_hsw+0x31>
 
 PUBLIC _sk_load_rgb_u16_be_hsw
 _sk_load_rgb_u16_be_hsw LABEL PROC
@@ -3603,7 +4026,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,82                         ; lea           (%rdx,%rdx,2),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,204,0,0,0                    ; jne           3ccc <_sk_load_rgb_u16_be_hsw+0xde>
+  DB  15,133,204,0,0,0                    ; jne           433b <_sk_load_rgb_u16_be_hsw+0xde>
   DB  196,193,122,111,4,65                ; vmovdqu       (%r9,%rax,2),%xmm0
   DB  196,193,122,111,84,65,12            ; vmovdqu       0xc(%r9,%rax,2),%xmm2
   DB  196,193,122,111,76,65,24            ; vmovdqu       0x18(%r9,%rax,2),%xmm1
@@ -3627,7 +4050,7 @@
   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,166,19,0,0         ; vbroadcastss  0x13a6(%rip),%ymm10        # 5020 <_sk_callback_hsw+0x438>
+  DB  196,98,125,24,21,199,20,0,0         ; vbroadcastss  0x14c7(%rip),%ymm10        # 57b0 <_sk_callback_hsw+0x49c>
   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
@@ -3644,48 +4067,48 @@
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
   DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,90,19,0,0         ; vbroadcastss  0x135a(%rip),%ymm3        # 5024 <_sk_callback_hsw+0x43c>
+  DB  196,226,125,24,29,123,20,0,0        ; vbroadcastss  0x147b(%rip),%ymm3        # 57b4 <_sk_callback_hsw+0x4a0>
   DB  255,224                             ; jmpq          *%rax
   DB  196,193,121,110,4,65                ; vmovd         (%r9,%rax,2),%xmm0
   DB  196,193,121,196,68,65,4,2           ; vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,5                               ; jne           3ce5 <_sk_load_rgb_u16_be_hsw+0xf7>
-  DB  233,79,255,255,255                  ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  117,5                               ; jne           4354 <_sk_load_rgb_u16_be_hsw+0xf7>
+  DB  233,79,255,255,255                  ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
   DB  196,193,121,110,76,65,6             ; vmovd         0x6(%r9,%rax,2),%xmm1
   DB  196,65,113,196,68,65,10,2           ; vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,26                              ; jb            3d14 <_sk_load_rgb_u16_be_hsw+0x126>
+  DB  114,26                              ; jb            4383 <_sk_load_rgb_u16_be_hsw+0x126>
   DB  196,193,121,110,76,65,12            ; vmovd         0xc(%r9,%rax,2),%xmm1
   DB  196,193,113,196,84,65,16,2          ; vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  117,10                              ; jne           3d19 <_sk_load_rgb_u16_be_hsw+0x12b>
-  DB  233,32,255,255,255                  ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
-  DB  233,27,255,255,255                  ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  117,10                              ; jne           4388 <_sk_load_rgb_u16_be_hsw+0x12b>
+  DB  233,32,255,255,255                  ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  233,27,255,255,255                  ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
   DB  196,193,121,110,76,65,18            ; vmovd         0x12(%r9,%rax,2),%xmm1
   DB  196,65,113,196,76,65,22,2           ; vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,26                              ; jb            3d48 <_sk_load_rgb_u16_be_hsw+0x15a>
+  DB  114,26                              ; jb            43b7 <_sk_load_rgb_u16_be_hsw+0x15a>
   DB  196,193,121,110,76,65,24            ; vmovd         0x18(%r9,%rax,2),%xmm1
   DB  196,193,113,196,76,65,28,2          ; vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  117,10                              ; jne           3d4d <_sk_load_rgb_u16_be_hsw+0x15f>
-  DB  233,236,254,255,255                 ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
-  DB  233,231,254,255,255                 ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  117,10                              ; jne           43bc <_sk_load_rgb_u16_be_hsw+0x15f>
+  DB  233,236,254,255,255                 ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  233,231,254,255,255                 ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
   DB  196,193,121,110,92,65,30            ; vmovd         0x1e(%r9,%rax,2),%xmm3
   DB  196,65,97,196,92,65,34,2            ; vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,20                              ; jb            3d76 <_sk_load_rgb_u16_be_hsw+0x188>
+  DB  114,20                              ; jb            43e5 <_sk_load_rgb_u16_be_hsw+0x188>
   DB  196,193,121,110,92,65,36            ; vmovd         0x24(%r9,%rax,2),%xmm3
   DB  196,193,97,196,92,65,40,2           ; vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
-  DB  233,190,254,255,255                 ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
-  DB  233,185,254,255,255                 ; jmpq          3c34 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  233,190,254,255,255                 ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
+  DB  233,185,254,255,255                 ; jmpq          42a3 <_sk_load_rgb_u16_be_hsw+0x46>
 
 PUBLIC _sk_store_u16_be_hsw
 _sk_store_u16_be_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
-  DB  196,98,125,24,5,151,18,0,0          ; vbroadcastss  0x1297(%rip),%ymm8        # 5028 <_sk_callback_hsw+0x440>
+  DB  196,98,125,24,5,184,19,0,0          ; vbroadcastss  0x13b8(%rip),%ymm8        # 57b8 <_sk_callback_hsw+0x4a4>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
@@ -3723,7 +4146,7 @@
   DB  196,65,17,98,200                    ; vpunpckldq    %xmm8,%xmm13,%xmm9
   DB  196,65,17,106,192                   ; vpunpckhdq    %xmm8,%xmm13,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,31                              ; jne           3e75 <_sk_store_u16_be_hsw+0xfa>
+  DB  117,31                              ; jne           44e4 <_sk_store_u16_be_hsw+0xfa>
   DB  196,65,120,17,28,65                 ; vmovups       %xmm11,(%r9,%rax,2)
   DB  196,65,120,17,84,65,16              ; vmovups       %xmm10,0x10(%r9,%rax,2)
   DB  196,65,120,17,76,65,32              ; vmovups       %xmm9,0x20(%r9,%rax,2)
@@ -3732,31 +4155,31 @@
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,214,28,65                ; vmovq         %xmm11,(%r9,%rax,2)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  116,240                             ; je            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,23,92,65,8               ; vmovhpd       %xmm11,0x8(%r9,%rax,2)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  114,227                             ; jb            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,214,84,65,16             ; vmovq         %xmm10,0x10(%r9,%rax,2)
-  DB  116,218                             ; je            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  116,218                             ; je            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,23,84,65,24              ; vmovhpd       %xmm10,0x18(%r9,%rax,2)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,205                             ; jb            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  114,205                             ; jb            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,214,76,65,32             ; vmovq         %xmm9,0x20(%r9,%rax,2)
-  DB  116,196                             ; je            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  116,196                             ; je            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,23,76,65,40              ; vmovhpd       %xmm9,0x28(%r9,%rax,2)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,183                             ; jb            3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  114,183                             ; jb            44e0 <_sk_store_u16_be_hsw+0xf6>
   DB  196,65,121,214,68,65,48             ; vmovq         %xmm8,0x30(%r9,%rax,2)
-  DB  235,174                             ; jmp           3e71 <_sk_store_u16_be_hsw+0xf6>
+  DB  235,174                             ; jmp           44e0 <_sk_store_u16_be_hsw+0xf6>
 
 PUBLIC _sk_load_f32_hsw
 _sk_load_f32_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  119,110                             ; ja            3f39 <_sk_load_f32_hsw+0x76>
+  DB  119,110                             ; ja            45a8 <_sk_load_f32_hsw+0x76>
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
-  DB  76,141,29,135,0,0,0                 ; lea           0x87(%rip),%r11        # 3f64 <_sk_load_f32_hsw+0xa1>
+  DB  76,141,29,132,0,0,0                 ; lea           0x84(%rip),%r11        # 45d0 <_sk_load_f32_hsw+0x9e>
   DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
   DB  76,1,216                            ; add           %r11,%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3782,21 +4205,69 @@
   DB  196,193,101,21,216                  ; vunpckhpd     %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
-  DB  15,31,0                             ; nopl          (%rax)
-  DB  130                                 ; (bad)
+  DB  133,255                             ; test          %edi,%edi
   DB  255                                 ; (bad)
-  DB  255                                 ; (bad)
-  DB  255,201                             ; dec           %ecx
+  DB  255,204                             ; dec           %esp
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  188,255,255,255,175                 ; mov           $0xafffffff,%esp
+  DB  191,255,255,255,178                 ; mov           $0xb2ffffff,%edi
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,162,255,255,255,154             ; jmpq          *-0x65000001(%rdx)
+  DB  255,165,255,255,255,157             ; jmpq          *-0x62000001(%rbp)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,146,255,255,255,138             ; callq         *-0x75000001(%rdx)
+  DB  255,149,255,255,255,141             ; callq         *-0x72000001(%rbp)
+  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,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,131,248,7                        ; cmp           $0x7,%r8
+  DB  119,110                             ; ja            4666 <_sk_load_f32_dst_hsw+0x76>
+  DB  76,139,8                            ; mov           (%rax),%r9
+  DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
+  DB  76,141,29,134,0,0,0                 ; lea           0x86(%rip),%r11        # 4690 <_sk_load_f32_dst_hsw+0xa0>
+  DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,3,125,24,68,145,112,1           ; vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
+  DB  196,131,125,24,124,145,96,1         ; vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
+  DB  196,131,125,24,108,145,80,1         ; vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
+  DB  196,131,125,24,116,145,64,1         ; vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
+  DB  196,129,121,16,100,145,48           ; vmovupd       0x30(%r9,%r10,4),%xmm4
+  DB  196,195,93,13,224,12                ; vblendpd      $0xc,%ymm8,%ymm4,%ymm4
+  DB  196,1,121,16,68,145,32              ; vmovupd       0x20(%r9,%r10,4),%xmm8
+  DB  196,99,61,13,207,12                 ; vblendpd      $0xc,%ymm7,%ymm8,%ymm9
+  DB  196,129,121,16,124,145,16           ; vmovupd       0x10(%r9,%r10,4),%xmm7
+  DB  196,99,69,13,213,12                 ; vblendpd      $0xc,%ymm5,%ymm7,%ymm10
+  DB  196,129,121,16,44,145               ; vmovupd       (%r9,%r10,4),%xmm5
+  DB  196,227,85,13,238,12                ; vblendpd      $0xc,%ymm6,%ymm5,%ymm5
+  DB  196,193,84,20,242                   ; vunpcklps     %ymm10,%ymm5,%ymm6
+  DB  196,193,84,21,250                   ; vunpckhps     %ymm10,%ymm5,%ymm7
+  DB  197,180,20,236                      ; vunpcklps     %ymm4,%ymm9,%ymm5
+  DB  197,52,21,196                       ; vunpckhps     %ymm4,%ymm9,%ymm8
+  DB  197,205,20,229                      ; vunpcklpd     %ymm5,%ymm6,%ymm4
+  DB  197,205,21,237                      ; vunpckhpd     %ymm5,%ymm6,%ymm5
+  DB  196,193,69,20,240                   ; vunpcklpd     %ymm8,%ymm7,%ymm6
+  DB  196,193,69,21,248                   ; vunpckhpd     %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  131,255,255                         ; cmp           $0xffffffff,%edi
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,176                 ; mov           $0xb0ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,163,255,255,255,155             ; jmpq          *-0x64000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,147,255,255,255,139             ; callq         *-0x74000001(%rbx)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
@@ -3815,7 +4286,7 @@
   DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
   DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,55                              ; jne           3ff1 <_sk_store_f32_hsw+0x6d>
+  DB  117,55                              ; jne           471d <_sk_store_f32_hsw+0x6d>
   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
@@ -3828,22 +4299,22 @@
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,17,20,129                ; vmovupd       %xmm10,(%r9,%rax,4)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            3fed <_sk_store_f32_hsw+0x69>
+  DB  116,240                             ; je            4719 <_sk_store_f32_hsw+0x69>
   DB  196,65,121,17,76,129,16             ; vmovupd       %xmm9,0x10(%r9,%rax,4)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            3fed <_sk_store_f32_hsw+0x69>
+  DB  114,227                             ; jb            4719 <_sk_store_f32_hsw+0x69>
   DB  196,65,121,17,68,129,32             ; vmovupd       %xmm8,0x20(%r9,%rax,4)
-  DB  116,218                             ; je            3fed <_sk_store_f32_hsw+0x69>
+  DB  116,218                             ; je            4719 <_sk_store_f32_hsw+0x69>
   DB  196,65,121,17,92,129,48             ; vmovupd       %xmm11,0x30(%r9,%rax,4)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,205                             ; jb            3fed <_sk_store_f32_hsw+0x69>
+  DB  114,205                             ; jb            4719 <_sk_store_f32_hsw+0x69>
   DB  196,67,125,25,84,129,64,1           ; vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
-  DB  116,195                             ; je            3fed <_sk_store_f32_hsw+0x69>
+  DB  116,195                             ; je            4719 <_sk_store_f32_hsw+0x69>
   DB  196,67,125,25,76,129,80,1           ; vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,181                             ; jb            3fed <_sk_store_f32_hsw+0x69>
+  DB  114,181                             ; jb            4719 <_sk_store_f32_hsw+0x69>
   DB  196,67,125,25,68,129,96,1           ; vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
-  DB  235,171                             ; jmp           3fed <_sk_store_f32_hsw+0x69>
+  DB  235,171                             ; jmp           4719 <_sk_store_f32_hsw+0x69>
 
 PUBLIC _sk_clamp_x_hsw
 _sk_clamp_x_hsw LABEL PROC
@@ -3906,7 +4377,7 @@
   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,37,15,0,0              ; vmulss        0xf25(%rip),%xmm9,%xmm0        # 502c <_sk_callback_hsw+0x444>
+  DB  197,178,89,5,137,15,0,0             ; vmulss        0xf89(%rip),%xmm9,%xmm0        # 57bc <_sk_callback_hsw+0x4a8>
   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
@@ -3930,7 +4401,7 @@
   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,201,14,0,0            ; vmulss        0xec9(%rip),%xmm9,%xmm1        # 5030 <_sk_callback_hsw+0x448>
+  DB  197,178,89,13,45,15,0,0             ; vmulss        0xf2d(%rip),%xmm9,%xmm1        # 57c0 <_sk_callback_hsw+0x4ac>
   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
@@ -3949,7 +4420,7 @@
 _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,130,14,0,0          ; vbroadcastss  0xe82(%rip),%ymm8        # 5034 <_sk_callback_hsw+0x44c>
+  DB  196,98,125,24,5,230,14,0,0          ; vbroadcastss  0xee6(%rip),%ymm8        # 57c4 <_sk_callback_hsw+0x4b0>
   DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -3963,9 +4434,9 @@
 
 PUBLIC _sk_mirror_x_1_hsw
 _sk_mirror_x_1_hsw LABEL PROC
-  DB  196,98,125,24,5,101,14,0,0          ; vbroadcastss  0xe65(%rip),%ymm8        # 5038 <_sk_callback_hsw+0x450>
+  DB  196,98,125,24,5,201,14,0,0          ; vbroadcastss  0xec9(%rip),%ymm8        # 57c8 <_sk_callback_hsw+0x4b4>
   DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,13,91,14,0,0          ; vbroadcastss  0xe5b(%rip),%ymm9        # 503c <_sk_callback_hsw+0x454>
+  DB  196,98,125,24,13,191,14,0,0         ; vbroadcastss  0xebf(%rip),%ymm9        # 57cc <_sk_callback_hsw+0x4b8>
   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
@@ -3979,11 +4450,11 @@
 
 PUBLIC _sk_luminance_to_alpha_hsw
 _sk_luminance_to_alpha_hsw LABEL PROC
-  DB  196,226,125,24,29,43,14,0,0         ; vbroadcastss  0xe2b(%rip),%ymm3        # 5040 <_sk_callback_hsw+0x458>
-  DB  196,98,125,24,5,38,14,0,0           ; vbroadcastss  0xe26(%rip),%ymm8        # 5044 <_sk_callback_hsw+0x45c>
+  DB  196,226,125,24,29,143,14,0,0        ; vbroadcastss  0xe8f(%rip),%ymm3        # 57d0 <_sk_callback_hsw+0x4bc>
+  DB  196,98,125,24,5,138,14,0,0          ; vbroadcastss  0xe8a(%rip),%ymm8        # 57d4 <_sk_callback_hsw+0x4c0>
   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,23,14,0,0         ; vbroadcastss  0xe17(%rip),%ymm3        # 5048 <_sk_callback_hsw+0x460>
+  DB  196,226,125,24,29,123,14,0,0        ; vbroadcastss  0xe7b(%rip),%ymm3        # 57d8 <_sk_callback_hsw+0x4c4>
   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
@@ -4145,9 +4616,9 @@
   DB  76,139,72,8                         ; mov           0x8(%rax),%r9
   DB  77,137,211                          ; mov           %r10,%r11
   DB  73,255,203                          ; dec           %r11
-  DB  120,7                               ; js            44ea <_sk_evenly_spaced_gradient_hsw+0x19>
+  DB  120,7                               ; js            4c16 <_sk_evenly_spaced_gradient_hsw+0x19>
   DB  196,193,242,42,203                  ; vcvtsi2ss     %r11,%xmm1,%xmm1
-  DB  235,22                              ; jmp           4500 <_sk_evenly_spaced_gradient_hsw+0x2f>
+  DB  235,22                              ; jmp           4c2c <_sk_evenly_spaced_gradient_hsw+0x2f>
   DB  76,137,219                          ; mov           %r11,%rbx
   DB  72,209,235                          ; shr           %rbx
   DB  65,131,227,1                        ; and           $0x1,%r11d
@@ -4158,7 +4629,7 @@
   DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
   DB  197,126,91,217                      ; vcvttps2dq    %ymm1,%ymm11
   DB  73,131,250,8                        ; cmp           $0x8,%r10
-  DB  119,70                              ; ja            4559 <_sk_evenly_spaced_gradient_hsw+0x88>
+  DB  119,70                              ; ja            4c85 <_sk_evenly_spaced_gradient_hsw+0x88>
   DB  196,66,37,22,1                      ; vpermps       (%r9),%ymm11,%ymm8
   DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
   DB  196,98,37,22,11                     ; vpermps       (%rbx),%ymm11,%ymm9
@@ -4174,7 +4645,7 @@
   DB  196,226,37,22,27                    ; vpermps       (%rbx),%ymm11,%ymm3
   DB  72,139,64,64                        ; mov           0x40(%rax),%rax
   DB  196,98,37,22,40                     ; vpermps       (%rax),%ymm11,%ymm13
-  DB  235,110                             ; jmp           45c7 <_sk_evenly_spaced_gradient_hsw+0xf6>
+  DB  235,110                             ; jmp           4cf3 <_sk_evenly_spaced_gradient_hsw+0xf6>
   DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
   DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
   DB  196,2,117,146,4,153                 ; vgatherdps    %ymm1,(%r9,%ymm11,4),%ymm8
@@ -4209,14 +4680,14 @@
 
 PUBLIC _sk_gauss_a_to_rgba_hsw
 _sk_gauss_a_to_rgba_hsw LABEL PROC
-  DB  196,226,125,24,5,95,10,0,0          ; vbroadcastss  0xa5f(%rip),%ymm0        # 504c <_sk_callback_hsw+0x464>
-  DB  196,226,125,24,13,90,10,0,0         ; vbroadcastss  0xa5a(%rip),%ymm1        # 5050 <_sk_callback_hsw+0x468>
+  DB  196,226,125,24,5,195,10,0,0         ; vbroadcastss  0xac3(%rip),%ymm0        # 57dc <_sk_callback_hsw+0x4c8>
+  DB  196,226,125,24,13,190,10,0,0        ; vbroadcastss  0xabe(%rip),%ymm1        # 57e0 <_sk_callback_hsw+0x4cc>
   DB  196,226,101,168,200                 ; vfmadd213ps   %ymm0,%ymm3,%ymm1
-  DB  196,226,125,24,5,80,10,0,0          ; vbroadcastss  0xa50(%rip),%ymm0        # 5054 <_sk_callback_hsw+0x46c>
+  DB  196,226,125,24,5,180,10,0,0         ; vbroadcastss  0xab4(%rip),%ymm0        # 57e4 <_sk_callback_hsw+0x4d0>
   DB  196,226,101,184,193                 ; vfmadd231ps   %ymm1,%ymm3,%ymm0
-  DB  196,226,125,24,13,70,10,0,0         ; vbroadcastss  0xa46(%rip),%ymm1        # 5058 <_sk_callback_hsw+0x470>
+  DB  196,226,125,24,13,170,10,0,0        ; vbroadcastss  0xaaa(%rip),%ymm1        # 57e8 <_sk_callback_hsw+0x4d4>
   DB  196,226,101,184,200                 ; vfmadd231ps   %ymm0,%ymm3,%ymm1
-  DB  196,226,125,24,5,60,10,0,0          ; vbroadcastss  0xa3c(%rip),%ymm0        # 505c <_sk_callback_hsw+0x474>
+  DB  196,226,125,24,5,160,10,0,0         ; vbroadcastss  0xaa0(%rip),%ymm0        # 57ec <_sk_callback_hsw+0x4d8>
   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
@@ -4229,11 +4700,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  73,131,249,1                        ; cmp           $0x1,%r9
-  DB  15,134,180,0,0,0                    ; jbe           46f8 <_sk_gradient_hsw+0xc3>
+  DB  15,134,180,0,0,0                    ; jbe           4e24 <_sk_gradient_hsw+0xc3>
   DB  76,139,80,72                        ; mov           0x48(%rax),%r10
   DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
   DB  65,187,1,0,0,0                      ; mov           $0x1,%r11d
-  DB  196,226,125,24,21,5,10,0,0          ; vbroadcastss  0xa05(%rip),%ymm2        # 5060 <_sk_callback_hsw+0x478>
+  DB  196,226,125,24,21,105,10,0,0        ; vbroadcastss  0xa69(%rip),%ymm2        # 57f0 <_sk_callback_hsw+0x4dc>
   DB  196,65,53,239,201                   ; vpxor         %ymm9,%ymm9,%ymm9
   DB  196,130,125,24,28,154               ; vbroadcastss  (%r10,%r11,4),%ymm3
   DB  197,228,194,216,2                   ; vcmpleps      %ymm0,%ymm3,%ymm3
@@ -4241,10 +4712,10 @@
   DB  196,65,101,254,201                  ; vpaddd        %ymm9,%ymm3,%ymm9
   DB  73,255,195                          ; inc           %r11
   DB  77,57,217                           ; cmp           %r11,%r9
-  DB  117,226                             ; jne           4660 <_sk_gradient_hsw+0x2b>
+  DB  117,226                             ; jne           4d8c <_sk_gradient_hsw+0x2b>
   DB  76,139,80,8                         ; mov           0x8(%rax),%r10
   DB  73,131,249,8                        ; cmp           $0x8,%r9
-  DB  118,121                             ; jbe           4701 <_sk_gradient_hsw+0xcc>
+  DB  118,121                             ; jbe           4e2d <_sk_gradient_hsw+0xcc>
   DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
   DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
   DB  196,2,117,146,4,138                 ; vgatherdps    %ymm1,(%r10,%ymm9,4),%ymm8
@@ -4268,7 +4739,7 @@
   DB  196,130,21,146,28,137               ; vgatherdps    %ymm13,(%r9,%ymm9,4),%ymm3
   DB  72,139,64,64                        ; mov           0x40(%rax),%rax
   DB  196,34,13,146,44,136                ; vgatherdps    %ymm14,(%rax,%ymm9,4),%ymm13
-  DB  235,77                              ; jmp           4745 <_sk_gradient_hsw+0x110>
+  DB  235,77                              ; jmp           4e71 <_sk_gradient_hsw+0x110>
   DB  76,139,80,8                         ; mov           0x8(%rax),%r10
   DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
   DB  196,66,53,22,2                      ; vpermps       (%r10),%ymm9,%ymm8
@@ -4324,24 +4795,24 @@
   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,132,8,0,0          ; vbroadcastss  0x884(%rip),%ymm13        # 5064 <_sk_callback_hsw+0x47c>
-  DB  196,98,125,24,53,127,8,0,0          ; vbroadcastss  0x87f(%rip),%ymm14        # 5068 <_sk_callback_hsw+0x480>
+  DB  196,98,125,24,45,232,8,0,0          ; vbroadcastss  0x8e8(%rip),%ymm13        # 57f4 <_sk_callback_hsw+0x4e0>
+  DB  196,98,125,24,53,227,8,0,0          ; vbroadcastss  0x8e3(%rip),%ymm14        # 57f8 <_sk_callback_hsw+0x4e4>
   DB  196,66,29,184,245                   ; vfmadd231ps   %ymm13,%ymm12,%ymm14
-  DB  196,98,125,24,45,117,8,0,0          ; vbroadcastss  0x875(%rip),%ymm13        # 506c <_sk_callback_hsw+0x484>
+  DB  196,98,125,24,45,217,8,0,0          ; vbroadcastss  0x8d9(%rip),%ymm13        # 57fc <_sk_callback_hsw+0x4e8>
   DB  196,66,29,184,238                   ; vfmadd231ps   %ymm14,%ymm12,%ymm13
-  DB  196,98,125,24,53,107,8,0,0          ; vbroadcastss  0x86b(%rip),%ymm14        # 5070 <_sk_callback_hsw+0x488>
+  DB  196,98,125,24,53,207,8,0,0          ; vbroadcastss  0x8cf(%rip),%ymm14        # 5800 <_sk_callback_hsw+0x4ec>
   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,86,8,0,0           ; vbroadcastss  0x856(%rip),%ymm10        # 5074 <_sk_callback_hsw+0x48c>
+  DB  196,98,125,24,21,186,8,0,0          ; vbroadcastss  0x8ba(%rip),%ymm10        # 5804 <_sk_callback_hsw+0x4f0>
   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,64,8,0,0           ; vbroadcastss  0x840(%rip),%ymm10        # 5078 <_sk_callback_hsw+0x490>
+  DB  196,98,125,24,21,164,8,0,0          ; vbroadcastss  0x8a4(%rip),%ymm10        # 5808 <_sk_callback_hsw+0x4f4>
   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,42,8,0,0           ; vbroadcastss  0x82a(%rip),%ymm10        # 507c <_sk_callback_hsw+0x494>
+  DB  196,98,125,24,21,142,8,0,0          ; vbroadcastss  0x88e(%rip),%ymm10        # 580c <_sk_callback_hsw+0x4f8>
   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
@@ -4360,7 +4831,7 @@
 PUBLIC _sk_save_xy_hsw
 _sk_save_xy_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,247,7,0,0           ; vbroadcastss  0x7f7(%rip),%ymm8        # 5080 <_sk_callback_hsw+0x498>
+  DB  196,98,125,24,5,91,8,0,0            ; vbroadcastss  0x85b(%rip),%ymm8        # 5810 <_sk_callback_hsw+0x4fc>
   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
@@ -4390,9 +4861,9 @@
 PUBLIC _sk_bilinear_nx_hsw
 _sk_bilinear_nx_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,139,7,0,0          ; vbroadcastss  0x78b(%rip),%ymm0        # 5084 <_sk_callback_hsw+0x49c>
+  DB  196,226,125,24,5,239,7,0,0          ; vbroadcastss  0x7ef(%rip),%ymm0        # 5814 <_sk_callback_hsw+0x500>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,130,7,0,0           ; vbroadcastss  0x782(%rip),%ymm8        # 5088 <_sk_callback_hsw+0x4a0>
+  DB  196,98,125,24,5,230,7,0,0           ; vbroadcastss  0x7e6(%rip),%ymm8        # 5818 <_sk_callback_hsw+0x504>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4401,7 +4872,7 @@
 PUBLIC _sk_bilinear_px_hsw
 _sk_bilinear_px_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,106,7,0,0          ; vbroadcastss  0x76a(%rip),%ymm0        # 508c <_sk_callback_hsw+0x4a4>
+  DB  196,226,125,24,5,206,7,0,0          ; vbroadcastss  0x7ce(%rip),%ymm0        # 581c <_sk_callback_hsw+0x508>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
   DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -4411,9 +4882,9 @@
 PUBLIC _sk_bilinear_ny_hsw
 _sk_bilinear_ny_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,78,7,0,0          ; vbroadcastss  0x74e(%rip),%ymm1        # 5090 <_sk_callback_hsw+0x4a8>
+  DB  196,226,125,24,13,178,7,0,0         ; vbroadcastss  0x7b2(%rip),%ymm1        # 5820 <_sk_callback_hsw+0x50c>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,68,7,0,0            ; vbroadcastss  0x744(%rip),%ymm8        # 5094 <_sk_callback_hsw+0x4ac>
+  DB  196,98,125,24,5,168,7,0,0           ; vbroadcastss  0x7a8(%rip),%ymm8        # 5824 <_sk_callback_hsw+0x510>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4422,7 +4893,7 @@
 PUBLIC _sk_bilinear_py_hsw
 _sk_bilinear_py_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,44,7,0,0          ; vbroadcastss  0x72c(%rip),%ymm1        # 5098 <_sk_callback_hsw+0x4b0>
+  DB  196,226,125,24,13,144,7,0,0         ; vbroadcastss  0x790(%rip),%ymm1        # 5828 <_sk_callback_hsw+0x514>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
   DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -4432,13 +4903,13 @@
 PUBLIC _sk_bicubic_n3x_hsw
 _sk_bicubic_n3x_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,15,7,0,0           ; vbroadcastss  0x70f(%rip),%ymm0        # 509c <_sk_callback_hsw+0x4b4>
+  DB  196,226,125,24,5,115,7,0,0          ; vbroadcastss  0x773(%rip),%ymm0        # 582c <_sk_callback_hsw+0x518>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,6,7,0,0             ; vbroadcastss  0x706(%rip),%ymm8        # 50a0 <_sk_callback_hsw+0x4b8>
+  DB  196,98,125,24,5,106,7,0,0           ; vbroadcastss  0x76a(%rip),%ymm8        # 5830 <_sk_callback_hsw+0x51c>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,247,6,0,0          ; vbroadcastss  0x6f7(%rip),%ymm10        # 50a4 <_sk_callback_hsw+0x4bc>
-  DB  196,98,125,24,29,242,6,0,0          ; vbroadcastss  0x6f2(%rip),%ymm11        # 50a8 <_sk_callback_hsw+0x4c0>
+  DB  196,98,125,24,21,91,7,0,0           ; vbroadcastss  0x75b(%rip),%ymm10        # 5834 <_sk_callback_hsw+0x520>
+  DB  196,98,125,24,29,86,7,0,0           ; vbroadcastss  0x756(%rip),%ymm11        # 5838 <_sk_callback_hsw+0x524>
   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,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -4448,16 +4919,16 @@
 PUBLIC _sk_bicubic_n1x_hsw
 _sk_bicubic_n1x_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,213,6,0,0          ; vbroadcastss  0x6d5(%rip),%ymm0        # 50ac <_sk_callback_hsw+0x4c4>
+  DB  196,226,125,24,5,57,7,0,0           ; vbroadcastss  0x739(%rip),%ymm0        # 583c <_sk_callback_hsw+0x528>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,204,6,0,0           ; vbroadcastss  0x6cc(%rip),%ymm8        # 50b0 <_sk_callback_hsw+0x4c8>
+  DB  196,98,125,24,5,48,7,0,0            ; vbroadcastss  0x730(%rip),%ymm8        # 5840 <_sk_callback_hsw+0x52c>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
-  DB  196,98,125,24,13,194,6,0,0          ; vbroadcastss  0x6c2(%rip),%ymm9        # 50b4 <_sk_callback_hsw+0x4cc>
-  DB  196,98,125,24,21,189,6,0,0          ; vbroadcastss  0x6bd(%rip),%ymm10        # 50b8 <_sk_callback_hsw+0x4d0>
+  DB  196,98,125,24,13,38,7,0,0           ; vbroadcastss  0x726(%rip),%ymm9        # 5844 <_sk_callback_hsw+0x530>
+  DB  196,98,125,24,21,33,7,0,0           ; vbroadcastss  0x721(%rip),%ymm10        # 5848 <_sk_callback_hsw+0x534>
   DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
-  DB  196,98,125,24,13,179,6,0,0          ; vbroadcastss  0x6b3(%rip),%ymm9        # 50bc <_sk_callback_hsw+0x4d4>
+  DB  196,98,125,24,13,23,7,0,0           ; vbroadcastss  0x717(%rip),%ymm9        # 584c <_sk_callback_hsw+0x538>
   DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
-  DB  196,98,125,24,21,169,6,0,0          ; vbroadcastss  0x6a9(%rip),%ymm10        # 50c0 <_sk_callback_hsw+0x4d8>
+  DB  196,98,125,24,21,13,7,0,0           ; vbroadcastss  0x70d(%rip),%ymm10        # 5850 <_sk_callback_hsw+0x53c>
   DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
   DB  197,124,17,144,128,0,0,0            ; vmovups       %ymm10,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4466,14 +4937,14 @@
 PUBLIC _sk_bicubic_p1x_hsw
 _sk_bicubic_p1x_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,145,6,0,0           ; vbroadcastss  0x691(%rip),%ymm8        # 50c4 <_sk_callback_hsw+0x4dc>
+  DB  196,98,125,24,5,245,6,0,0           ; vbroadcastss  0x6f5(%rip),%ymm8        # 5854 <_sk_callback_hsw+0x540>
   DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
   DB  197,124,16,72,64                    ; vmovups       0x40(%rax),%ymm9
-  DB  196,98,125,24,21,131,6,0,0          ; vbroadcastss  0x683(%rip),%ymm10        # 50c8 <_sk_callback_hsw+0x4e0>
-  DB  196,98,125,24,29,126,6,0,0          ; vbroadcastss  0x67e(%rip),%ymm11        # 50cc <_sk_callback_hsw+0x4e4>
+  DB  196,98,125,24,21,231,6,0,0          ; vbroadcastss  0x6e7(%rip),%ymm10        # 5858 <_sk_callback_hsw+0x544>
+  DB  196,98,125,24,29,226,6,0,0          ; vbroadcastss  0x6e2(%rip),%ymm11        # 585c <_sk_callback_hsw+0x548>
   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,111,6,0,0           ; vbroadcastss  0x66f(%rip),%ymm8        # 50d0 <_sk_callback_hsw+0x4e8>
+  DB  196,98,125,24,5,211,6,0,0           ; vbroadcastss  0x6d3(%rip),%ymm8        # 5860 <_sk_callback_hsw+0x54c>
   DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4482,12 +4953,12 @@
 PUBLIC _sk_bicubic_p3x_hsw
 _sk_bicubic_p3x_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,87,6,0,0           ; vbroadcastss  0x657(%rip),%ymm0        # 50d4 <_sk_callback_hsw+0x4ec>
+  DB  196,226,125,24,5,187,6,0,0          ; vbroadcastss  0x6bb(%rip),%ymm0        # 5864 <_sk_callback_hsw+0x550>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
   DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,68,6,0,0           ; vbroadcastss  0x644(%rip),%ymm10        # 50d8 <_sk_callback_hsw+0x4f0>
-  DB  196,98,125,24,29,63,6,0,0           ; vbroadcastss  0x63f(%rip),%ymm11        # 50dc <_sk_callback_hsw+0x4f4>
+  DB  196,98,125,24,21,168,6,0,0          ; vbroadcastss  0x6a8(%rip),%ymm10        # 5868 <_sk_callback_hsw+0x554>
+  DB  196,98,125,24,29,163,6,0,0          ; vbroadcastss  0x6a3(%rip),%ymm11        # 586c <_sk_callback_hsw+0x558>
   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,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -4497,13 +4968,13 @@
 PUBLIC _sk_bicubic_n3y_hsw
 _sk_bicubic_n3y_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,34,6,0,0          ; vbroadcastss  0x622(%rip),%ymm1        # 50e0 <_sk_callback_hsw+0x4f8>
+  DB  196,226,125,24,13,134,6,0,0         ; vbroadcastss  0x686(%rip),%ymm1        # 5870 <_sk_callback_hsw+0x55c>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,24,6,0,0            ; vbroadcastss  0x618(%rip),%ymm8        # 50e4 <_sk_callback_hsw+0x4fc>
+  DB  196,98,125,24,5,124,6,0,0           ; vbroadcastss  0x67c(%rip),%ymm8        # 5874 <_sk_callback_hsw+0x560>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,9,6,0,0            ; vbroadcastss  0x609(%rip),%ymm10        # 50e8 <_sk_callback_hsw+0x500>
-  DB  196,98,125,24,29,4,6,0,0            ; vbroadcastss  0x604(%rip),%ymm11        # 50ec <_sk_callback_hsw+0x504>
+  DB  196,98,125,24,21,109,6,0,0          ; vbroadcastss  0x66d(%rip),%ymm10        # 5878 <_sk_callback_hsw+0x564>
+  DB  196,98,125,24,29,104,6,0,0          ; vbroadcastss  0x668(%rip),%ymm11        # 587c <_sk_callback_hsw+0x568>
   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,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -4513,16 +4984,16 @@
 PUBLIC _sk_bicubic_n1y_hsw
 _sk_bicubic_n1y_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,231,5,0,0         ; vbroadcastss  0x5e7(%rip),%ymm1        # 50f0 <_sk_callback_hsw+0x508>
+  DB  196,226,125,24,13,75,6,0,0          ; vbroadcastss  0x64b(%rip),%ymm1        # 5880 <_sk_callback_hsw+0x56c>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,221,5,0,0           ; vbroadcastss  0x5dd(%rip),%ymm8        # 50f4 <_sk_callback_hsw+0x50c>
+  DB  196,98,125,24,5,65,6,0,0            ; vbroadcastss  0x641(%rip),%ymm8        # 5884 <_sk_callback_hsw+0x570>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
-  DB  196,98,125,24,13,211,5,0,0          ; vbroadcastss  0x5d3(%rip),%ymm9        # 50f8 <_sk_callback_hsw+0x510>
-  DB  196,98,125,24,21,206,5,0,0          ; vbroadcastss  0x5ce(%rip),%ymm10        # 50fc <_sk_callback_hsw+0x514>
+  DB  196,98,125,24,13,55,6,0,0           ; vbroadcastss  0x637(%rip),%ymm9        # 5888 <_sk_callback_hsw+0x574>
+  DB  196,98,125,24,21,50,6,0,0           ; vbroadcastss  0x632(%rip),%ymm10        # 588c <_sk_callback_hsw+0x578>
   DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
-  DB  196,98,125,24,13,196,5,0,0          ; vbroadcastss  0x5c4(%rip),%ymm9        # 5100 <_sk_callback_hsw+0x518>
+  DB  196,98,125,24,13,40,6,0,0           ; vbroadcastss  0x628(%rip),%ymm9        # 5890 <_sk_callback_hsw+0x57c>
   DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
-  DB  196,98,125,24,21,186,5,0,0          ; vbroadcastss  0x5ba(%rip),%ymm10        # 5104 <_sk_callback_hsw+0x51c>
+  DB  196,98,125,24,21,30,6,0,0           ; vbroadcastss  0x61e(%rip),%ymm10        # 5894 <_sk_callback_hsw+0x580>
   DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
   DB  197,124,17,144,160,0,0,0            ; vmovups       %ymm10,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4531,14 +5002,14 @@
 PUBLIC _sk_bicubic_p1y_hsw
 _sk_bicubic_p1y_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,162,5,0,0           ; vbroadcastss  0x5a2(%rip),%ymm8        # 5108 <_sk_callback_hsw+0x520>
+  DB  196,98,125,24,5,6,6,0,0             ; vbroadcastss  0x606(%rip),%ymm8        # 5898 <_sk_callback_hsw+0x584>
   DB  197,188,88,72,32                    ; vaddps        0x20(%rax),%ymm8,%ymm1
   DB  197,124,16,72,96                    ; vmovups       0x60(%rax),%ymm9
-  DB  196,98,125,24,21,147,5,0,0          ; vbroadcastss  0x593(%rip),%ymm10        # 510c <_sk_callback_hsw+0x524>
-  DB  196,98,125,24,29,142,5,0,0          ; vbroadcastss  0x58e(%rip),%ymm11        # 5110 <_sk_callback_hsw+0x528>
+  DB  196,98,125,24,21,247,5,0,0          ; vbroadcastss  0x5f7(%rip),%ymm10        # 589c <_sk_callback_hsw+0x588>
+  DB  196,98,125,24,29,242,5,0,0          ; vbroadcastss  0x5f2(%rip),%ymm11        # 58a0 <_sk_callback_hsw+0x58c>
   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,127,5,0,0           ; vbroadcastss  0x57f(%rip),%ymm8        # 5114 <_sk_callback_hsw+0x52c>
+  DB  196,98,125,24,5,227,5,0,0           ; vbroadcastss  0x5e3(%rip),%ymm8        # 58a4 <_sk_callback_hsw+0x590>
   DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -4547,12 +5018,12 @@
 PUBLIC _sk_bicubic_p3y_hsw
 _sk_bicubic_p3y_hsw LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,103,5,0,0         ; vbroadcastss  0x567(%rip),%ymm1        # 5118 <_sk_callback_hsw+0x530>
+  DB  196,226,125,24,13,203,5,0,0         ; vbroadcastss  0x5cb(%rip),%ymm1        # 58a8 <_sk_callback_hsw+0x594>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
   DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,83,5,0,0           ; vbroadcastss  0x553(%rip),%ymm10        # 511c <_sk_callback_hsw+0x534>
-  DB  196,98,125,24,29,78,5,0,0           ; vbroadcastss  0x54e(%rip),%ymm11        # 5120 <_sk_callback_hsw+0x538>
+  DB  196,98,125,24,21,183,5,0,0          ; vbroadcastss  0x5b7(%rip),%ymm10        # 58ac <_sk_callback_hsw+0x598>
+  DB  196,98,125,24,29,178,5,0,0          ; vbroadcastss  0x5b2(%rip),%ymm11        # 58b0 <_sk_callback_hsw+0x59c>
   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,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -4674,25 +5145,25 @@
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 4dc5 <.literal4+0xb1>
+  DB  71,225,61                           ; rex.RXB       loope 54f1 <.literal4+0xb1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 4dd5 <.literal4+0xc1>
+  DB  71,225,61                           ; rex.RXB       loope 5501 <.literal4+0xc1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 4de5 <.literal4+0xd1>
+  DB  71,225,61                           ; rex.RXB       loope 5511 <.literal4+0xd1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 4df5 <.literal4+0xe1>
+  DB  71,225,61                           ; rex.RXB       loope 5521 <.literal4+0xe1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,127                    ; add           %al,0x7f00003f(%rax)
@@ -4700,7 +5171,8 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
   DB  63                                  ; (bad)
-  DB  145                                 ; xchg          %eax,%ecx
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,63,145                          ; cmpb          $0x91,(%rdi)
   DB  131,158,61,92,143,50,63             ; sbbl          $0x3f,0x328f5c3d(%rsi)
   DB  154                                 ; (bad)
   DB  153                                 ; cltd
@@ -4709,6 +5181,17 @@
   DB  35,59                               ; and           (%rbx),%edi
   DB  174                                 ; scas          %es:(%rdi),%al
   DB  71,97                               ; rex.RXB       (bad)
+  DB  61,145,131,158,61                   ; cmp           $0x3d9e8391,%eax
+  DB  92                                  ; pop           %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  DB  154                                 ; (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,10,215                           ; ds            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)
@@ -4742,7 +5225,7 @@
   DB  190,129,128,128,59                  ; mov           $0x3b808081,%esi
   DB  129,128,128,59,0,248,0,0,8,33       ; addl          $0x21080000,-0x7ffc480(%rax)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        4e4d <.literal4+0x139>
+  DB  224,7                               ; loopne        5591 <.literal4+0x151>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -4758,10 +5241,10 @@
   DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
   DB  0,52,255                            ; add           %dh,(%rdi,%rdi,8)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            4e74 <.literal4+0x160>
+  DB  127,0                               ; jg            55b8 <.literal4+0x178>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            4eed <.literal4+0x1d9>
+  DB  119,115                             ; ja            5631 <.literal4+0x1f1>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -4775,10 +5258,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            4ea8 <.literal4+0x194>
+  DB  127,0                               ; jg            55ec <.literal4+0x1ac>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            4f21 <.literal4+0x20d>
+  DB  119,115                             ; ja            5665 <.literal4+0x225>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -4792,10 +5275,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            4edc <.literal4+0x1c8>
+  DB  127,0                               ; jg            5620 <.literal4+0x1e0>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            4f55 <.literal4+0x241>
+  DB  119,115                             ; ja            5699 <.literal4+0x259>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -4809,10 +5292,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            4f10 <.literal4+0x1fc>
+  DB  127,0                               ; jg            5654 <.literal4+0x214>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            4f89 <.literal4+0x275>
+  DB  119,115                             ; ja            56cd <.literal4+0x28d>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -4825,7 +5308,7 @@
   DB  0,75,0                              ; add           %cl,0x0(%rbx)
   DB  0,128,63,0,0,200                    ; add           %al,-0x37ffffc1(%rax)
   DB  66,0,0                              ; rex.X         add %al,(%rax)
-  DB  127,67                              ; jg            4f87 <.literal4+0x273>
+  DB  127,67                              ; jg            56cb <.literal4+0x28b>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,195                               ; add           %al,%bl
   DB  0,0                                 ; add           %al,(%rax)
@@ -4837,19 +5320,22 @@
   DB  190,80,128,3,62                     ; mov           $0x3e038050,%esi
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           4fa7 <.literal4+0x293>
+  DB  118,63                              ; jbe           56eb <.literal4+0x2ab>
   DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
-  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
-  DB  127,67                              ; jg            4fbb <.literal4+0x2a7>
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
+  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
+  DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  129,128,128,59,0,0,128,63,129,128   ; addl          $0x80813f80,0x3b80(%rax)
   DB  128,59,0                            ; cmpb          $0x0,(%rbx)
   DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
   DB  59,0                                ; cmp           (%rax),%eax
+  DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
+  DB  59,0                                ; cmp           (%rax),%eax
   DB  248                                 ; clc
   DB  0,0                                 ; add           %al,(%rax)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        4f9d <.literal4+0x289>
+  DB  224,7                               ; loopne        56ed <.literal4+0x2ad>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -4861,7 +5347,19 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        4fb9 <.literal4+0x2a5>
+  DB  224,7                               ; loopne        5709 <.literal4+0x2c9>
+  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,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
+  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        5725 <.literal4+0x2e5>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -4872,7 +5370,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  248                                 ; clc
   DB  65,0,0                              ; add           %al,(%r8)
-  DB  124,66                              ; jl            500e <.literal4+0x2fa>
+  DB  124,66                              ; jl            577a <.literal4+0x33a>
   DB  0,240                               ; add           %dh,%al
   DB  0,0                                 ; add           %al,(%rax)
   DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
@@ -4889,10 +5387,19 @@
   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,240                ; mov           %ecx,-0xfffc278(%rax)
+  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            5051 <.literal4+0x33d>
-  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
-  DB  127,67                              ; jg            505f <.literal4+0x34b>
+  DB  112,65                              ; jo            57dd <.literal4+0x39d>
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
+  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
+  DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  128,0,128                           ; addb          $0x80,(%rax)
   DB  55                                  ; (bad)
   DB  128,0,128                           ; addb          $0x80,(%rax)
@@ -4900,7 +5407,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  255                                 ; (bad)
-  DB  127,71                              ; jg            5073 <.literal4+0x35f>
+  DB  127,71                              ; jg            5803 <.literal4+0x3c3>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -5012,16 +5519,16 @@
   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)        # a005168 <_sk_callback_hsw+0xa000580>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a0058e8 <_sk_callback_hsw+0xa0005d4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005170 <_sk_callback_hsw+0x12000588>
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 120058f0 <_sk_callback_hsw+0x120005dc>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005178 <_sk_callback_hsw+0x1a000590>
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a0058f8 <_sk_callback_hsw+0x1a0005e4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005180 <_sk_callback_hsw+0x3000598>
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005900 <_sk_callback_hsw+0x30005ec>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -5064,16 +5571,16 @@
   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)        # a0051c8 <_sk_callback_hsw+0xa0005e0>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a005948 <_sk_callback_hsw+0xa000634>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 120051d0 <_sk_callback_hsw+0x120005e8>
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005950 <_sk_callback_hsw+0x1200063c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a0051d8 <_sk_callback_hsw+0x1a0005f0>
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005958 <_sk_callback_hsw+0x1a000644>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 30051e0 <_sk_callback_hsw+0x30005f8>
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005960 <_sk_callback_hsw+0x300064c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -5116,16 +5623,16 @@
   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)        # a005228 <_sk_callback_hsw+0xa000640>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a0059a8 <_sk_callback_hsw+0xa000694>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005230 <_sk_callback_hsw+0x12000648>
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 120059b0 <_sk_callback_hsw+0x1200069c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005238 <_sk_callback_hsw+0x1a000650>
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a0059b8 <_sk_callback_hsw+0x1a0006a4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005240 <_sk_callback_hsw+0x3000658>
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 30059c0 <_sk_callback_hsw+0x30006ac>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -5168,16 +5675,16 @@
   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)        # a005288 <_sk_callback_hsw+0xa0006a0>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a005a08 <_sk_callback_hsw+0xa0006f4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005290 <_sk_callback_hsw+0x120006a8>
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005a10 <_sk_callback_hsw+0x120006fc>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005298 <_sk_callback_hsw+0x1a0006b0>
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005a18 <_sk_callback_hsw+0x1a000704>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 30052a0 <_sk_callback_hsw+0x30006b8>
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005a20 <_sk_callback_hsw+0x300070c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -5220,16 +5727,68 @@
   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)        # a0052e8 <_sk_callback_hsw+0xa000700>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a005a68 <_sk_callback_hsw+0xa000754>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 120052f0 <_sk_callback_hsw+0x12000708>
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005a70 <_sk_callback_hsw+0x1200075c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a0052f8 <_sk_callback_hsw+0x1a000710>
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005a78 <_sk_callback_hsw+0x1a000764>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005300 <_sk_callback_hsw+0x3000718>
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005a80 <_sk_callback_hsw+0x300076c>
+  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)        # a005ac8 <_sk_callback_hsw+0xa0007b4>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12005ad0 <_sk_callback_hsw+0x120007bc>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a005ad8 <_sk_callback_hsw+0x1a0007c4>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3005ae0 <_sk_callback_hsw+0x30007cc>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -5296,6 +5855,14 @@
   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,2                                 ; add           %al,(%rdx)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -5320,6 +5887,14 @@
   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 32
 
 PUBLIC _sk_start_pipeline_avx
@@ -5407,7 +5982,7 @@
   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  196,226,125,24,13,56,104,0,0        ; vbroadcastss  0x6838(%rip),%ymm1        # 6970 <_sk_callback_avx+0x12a>
+  DB  196,226,125,24,13,108,114,0,0       ; vbroadcastss  0x726c(%rip),%ymm1        # 73a4 <_sk_callback_avx+0x12a>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  197,252,88,7                        ; vaddps        (%rdi),%ymm0,%ymm0
   DB  197,249,110,209                     ; vmovd         %ecx,%xmm2
@@ -5416,7 +5991,7 @@
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
   DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,21,18,104,0,0        ; vbroadcastss  0x6812(%rip),%ymm2        # 6974 <_sk_callback_avx+0x12e>
+  DB  196,226,125,24,21,70,114,0,0        ; vbroadcastss  0x7246(%rip),%ymm2        # 73a8 <_sk_callback_avx+0x12e>
   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
@@ -5438,7 +6013,7 @@
   DB  196,65,121,112,201,0                ; vpshufd       $0x0,%xmm9,%xmm9
   DB  196,67,53,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
   DB  196,65,52,87,208                    ; vxorps        %ymm8,%ymm9,%ymm10
-  DB  196,98,125,24,29,187,103,0,0        ; vbroadcastss  0x67bb(%rip),%ymm11        # 6978 <_sk_callback_avx+0x132>
+  DB  196,98,125,24,29,239,113,0,0        ; vbroadcastss  0x71ef(%rip),%ymm11        # 73ac <_sk_callback_avx+0x132>
   DB  196,65,44,84,203                    ; vandps        %ymm11,%ymm10,%ymm9
   DB  196,193,25,114,241,5                ; vpslld        $0x5,%xmm9,%xmm12
   DB  196,67,125,25,201,1                 ; vextractf128  $0x1,%ymm9,%xmm9
@@ -5449,8 +6024,8 @@
   DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
   DB  196,193,33,114,243,4                ; vpslld        $0x4,%xmm11,%xmm11
   DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
-  DB  196,98,125,24,37,124,103,0,0        ; vbroadcastss  0x677c(%rip),%ymm12        # 697c <_sk_callback_avx+0x136>
-  DB  196,98,125,24,45,119,103,0,0        ; vbroadcastss  0x6777(%rip),%ymm13        # 6980 <_sk_callback_avx+0x13a>
+  DB  196,98,125,24,37,176,113,0,0        ; vbroadcastss  0x71b0(%rip),%ymm12        # 73b0 <_sk_callback_avx+0x136>
+  DB  196,98,125,24,45,171,113,0,0        ; vbroadcastss  0x71ab(%rip),%ymm13        # 73b4 <_sk_callback_avx+0x13a>
   DB  196,65,44,84,245                    ; vandps        %ymm13,%ymm10,%ymm14
   DB  196,193,1,114,246,2                 ; vpslld        $0x2,%xmm14,%xmm15
   DB  196,67,125,25,246,1                 ; vextractf128  $0x1,%ymm14,%xmm14
@@ -5477,9 +6052,9 @@
   DB  196,65,60,86,193                    ; vorps         %ymm9,%ymm8,%ymm8
   DB  196,65,60,86,194                    ; vorps         %ymm10,%ymm8,%ymm8
   DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
-  DB  196,98,125,24,13,226,102,0,0        ; vbroadcastss  0x66e2(%rip),%ymm9        # 6984 <_sk_callback_avx+0x13e>
+  DB  196,98,125,24,13,22,113,0,0         ; vbroadcastss  0x7116(%rip),%ymm9        # 73b8 <_sk_callback_avx+0x13e>
   DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
-  DB  196,98,125,24,13,216,102,0,0        ; vbroadcastss  0x66d8(%rip),%ymm9        # 6988 <_sk_callback_avx+0x142>
+  DB  196,98,125,24,13,12,113,0,0         ; vbroadcastss  0x710c(%rip),%ymm9        # 73bc <_sk_callback_avx+0x142>
   DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
   DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
   DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
@@ -5538,7 +6113,7 @@
 PUBLIC _sk_srcatop_avx
 _sk_srcatop_avx LABEL PROC
   DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
-  DB  196,98,125,24,5,48,102,0,0          ; vbroadcastss  0x6630(%rip),%ymm8        # 698c <_sk_callback_avx+0x146>
+  DB  196,98,125,24,5,100,112,0,0         ; vbroadcastss  0x7064(%rip),%ymm8        # 73c0 <_sk_callback_avx+0x146>
   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
@@ -5557,7 +6132,7 @@
 PUBLIC _sk_dstatop_avx
 _sk_dstatop_avx LABEL PROC
   DB  197,100,89,196                      ; vmulps        %ymm4,%ymm3,%ymm8
-  DB  196,98,125,24,13,242,101,0,0        ; vbroadcastss  0x65f2(%rip),%ymm9        # 6990 <_sk_callback_avx+0x14a>
+  DB  196,98,125,24,13,38,112,0,0         ; vbroadcastss  0x7026(%rip),%ymm9        # 73c4 <_sk_callback_avx+0x14a>
   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
@@ -5593,7 +6168,7 @@
 
 PUBLIC _sk_srcout_avx
 _sk_srcout_avx LABEL PROC
-  DB  196,98,125,24,5,145,101,0,0         ; vbroadcastss  0x6591(%rip),%ymm8        # 6994 <_sk_callback_avx+0x14e>
+  DB  196,98,125,24,5,197,111,0,0         ; vbroadcastss  0x6fc5(%rip),%ymm8        # 73c8 <_sk_callback_avx+0x14e>
   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
@@ -5604,7 +6179,7 @@
 
 PUBLIC _sk_dstout_avx
 _sk_dstout_avx LABEL PROC
-  DB  196,226,125,24,5,116,101,0,0        ; vbroadcastss  0x6574(%rip),%ymm0        # 6998 <_sk_callback_avx+0x152>
+  DB  196,226,125,24,5,168,111,0,0        ; vbroadcastss  0x6fa8(%rip),%ymm0        # 73cc <_sk_callback_avx+0x152>
   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
@@ -5615,7 +6190,7 @@
 
 PUBLIC _sk_srcover_avx
 _sk_srcover_avx LABEL PROC
-  DB  196,98,125,24,5,87,101,0,0          ; vbroadcastss  0x6557(%rip),%ymm8        # 699c <_sk_callback_avx+0x156>
+  DB  196,98,125,24,5,139,111,0,0         ; vbroadcastss  0x6f8b(%rip),%ymm8        # 73d0 <_sk_callback_avx+0x156>
   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
@@ -5630,7 +6205,7 @@
 
 PUBLIC _sk_dstover_avx
 _sk_dstover_avx LABEL PROC
-  DB  196,98,125,24,5,42,101,0,0          ; vbroadcastss  0x652a(%rip),%ymm8        # 69a0 <_sk_callback_avx+0x15a>
+  DB  196,98,125,24,5,94,111,0,0          ; vbroadcastss  0x6f5e(%rip),%ymm8        # 73d4 <_sk_callback_avx+0x15a>
   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
@@ -5654,7 +6229,7 @@
 
 PUBLIC _sk_multiply_avx
 _sk_multiply_avx LABEL PROC
-  DB  196,98,125,24,5,233,100,0,0         ; vbroadcastss  0x64e9(%rip),%ymm8        # 69a4 <_sk_callback_avx+0x15e>
+  DB  196,98,125,24,5,29,111,0,0          ; vbroadcastss  0x6f1d(%rip),%ymm8        # 73d8 <_sk_callback_avx+0x15e>
   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
@@ -5708,7 +6283,7 @@
 
 PUBLIC _sk_xor__avx
 _sk_xor__avx LABEL PROC
-  DB  196,98,125,24,5,56,100,0,0          ; vbroadcastss  0x6438(%rip),%ymm8        # 69a8 <_sk_callback_avx+0x162>
+  DB  196,98,125,24,5,108,110,0,0         ; vbroadcastss  0x6e6c(%rip),%ymm8        # 73dc <_sk_callback_avx+0x162>
   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
@@ -5743,7 +6318,7 @@
   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,184,99,0,0          ; vbroadcastss  0x63b8(%rip),%ymm8        # 69ac <_sk_callback_avx+0x166>
+  DB  196,98,125,24,5,236,109,0,0         ; vbroadcastss  0x6dec(%rip),%ymm8        # 73e0 <_sk_callback_avx+0x166>
   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
@@ -5767,7 +6342,7 @@
   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,100,99,0,0          ; vbroadcastss  0x6364(%rip),%ymm8        # 69b0 <_sk_callback_avx+0x16a>
+  DB  196,98,125,24,5,152,109,0,0         ; vbroadcastss  0x6d98(%rip),%ymm8        # 73e4 <_sk_callback_avx+0x16a>
   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
@@ -5794,7 +6369,7 @@
   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,4,99,0,0            ; vbroadcastss  0x6304(%rip),%ymm8        # 69b4 <_sk_callback_avx+0x16e>
+  DB  196,98,125,24,5,56,109,0,0          ; vbroadcastss  0x6d38(%rip),%ymm8        # 73e8 <_sk_callback_avx+0x16e>
   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
@@ -5815,7 +6390,7 @@
   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,191,98,0,0          ; vbroadcastss  0x62bf(%rip),%ymm8        # 69b8 <_sk_callback_avx+0x172>
+  DB  196,98,125,24,5,243,108,0,0         ; vbroadcastss  0x6cf3(%rip),%ymm8        # 73ec <_sk_callback_avx+0x172>
   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
@@ -5824,7 +6399,7 @@
 
 PUBLIC _sk_colorburn_avx
 _sk_colorburn_avx LABEL PROC
-  DB  196,98,125,24,5,170,98,0,0          ; vbroadcastss  0x62aa(%rip),%ymm8        # 69bc <_sk_callback_avx+0x176>
+  DB  196,98,125,24,5,222,108,0,0         ; vbroadcastss  0x6cde(%rip),%ymm8        # 73f0 <_sk_callback_avx+0x176>
   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
@@ -5884,7 +6459,7 @@
 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,166,97,0,0         ; vbroadcastss  0x61a6(%rip),%ymm9        # 69c0 <_sk_callback_avx+0x17a>
+  DB  196,98,125,24,13,218,107,0,0        ; vbroadcastss  0x6bda(%rip),%ymm9        # 73f4 <_sk_callback_avx+0x17a>
   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
@@ -5939,7 +6514,7 @@
 
 PUBLIC _sk_hardlight_avx
 _sk_hardlight_avx LABEL PROC
-  DB  196,98,125,24,5,184,96,0,0          ; vbroadcastss  0x60b8(%rip),%ymm8        # 69c4 <_sk_callback_avx+0x17e>
+  DB  196,98,125,24,5,236,106,0,0         ; vbroadcastss  0x6aec(%rip),%ymm8        # 73f8 <_sk_callback_avx+0x17e>
   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
@@ -5992,7 +6567,7 @@
 
 PUBLIC _sk_overlay_avx
 _sk_overlay_avx LABEL PROC
-  DB  196,98,125,24,5,225,95,0,0          ; vbroadcastss  0x5fe1(%rip),%ymm8        # 69c8 <_sk_callback_avx+0x182>
+  DB  196,98,125,24,5,21,106,0,0          ; vbroadcastss  0x6a15(%rip),%ymm8        # 73fc <_sk_callback_avx+0x182>
   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
@@ -6057,10 +6632,10 @@
   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,212,94,0,0         ; vbroadcastss  0x5ed4(%rip),%ymm11        # 69d0 <_sk_callback_avx+0x18a>
+  DB  196,98,125,24,29,8,105,0,0          ; vbroadcastss  0x6908(%rip),%ymm11        # 7404 <_sk_callback_avx+0x18a>
   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,197,94,0,0         ; vbroadcastss  0x5ec5(%rip),%ymm13        # 69d4 <_sk_callback_avx+0x18e>
+  DB  196,98,125,24,45,249,104,0,0        ; vbroadcastss  0x68f9(%rip),%ymm13        # 7408 <_sk_callback_avx+0x18e>
   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
@@ -6071,7 +6646,7 @@
   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,131,94,0,0          ; vbroadcastss  0x5e83(%rip),%ymm8        # 69cc <_sk_callback_avx+0x186>
+  DB  196,98,125,24,5,183,104,0,0         ; vbroadcastss  0x68b7(%rip),%ymm8        # 7400 <_sk_callback_avx+0x186>
   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
@@ -6198,12 +6773,12 @@
   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,77,92,0,0          ; vbroadcastss  0x5c4d(%rip),%ymm14        # 69d8 <_sk_callback_avx+0x192>
+  DB  196,98,125,24,53,129,102,0,0        ; vbroadcastss  0x6681(%rip),%ymm14        # 740c <_sk_callback_avx+0x192>
   DB  196,65,92,89,222                    ; vmulps        %ymm14,%ymm4,%ymm11
-  DB  196,98,125,24,61,67,92,0,0          ; vbroadcastss  0x5c43(%rip),%ymm15        # 69dc <_sk_callback_avx+0x196>
+  DB  196,98,125,24,61,119,102,0,0        ; vbroadcastss  0x6677(%rip),%ymm15        # 7410 <_sk_callback_avx+0x196>
   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,52,92,0,0          ; vbroadcastss  0x5c34(%rip),%ymm0        # 69e0 <_sk_callback_avx+0x19a>
+  DB  196,226,125,24,5,104,102,0,0        ; vbroadcastss  0x6668(%rip),%ymm0        # 7414 <_sk_callback_avx+0x19a>
   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
@@ -6264,7 +6839,7 @@
   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,13,91,0,0           ; vbroadcastss  0x5b0d(%rip),%ymm8        # 69e4 <_sk_callback_avx+0x19e>
+  DB  196,98,125,24,5,65,101,0,0          ; vbroadcastss  0x6541(%rip),%ymm8        # 7418 <_sk_callback_avx+0x19e>
   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
@@ -6321,12 +6896,12 @@
   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,21,90,0,0          ; vbroadcastss  0x5a15(%rip),%ymm14        # 69e8 <_sk_callback_avx+0x1a2>
+  DB  196,98,125,24,53,73,100,0,0         ; vbroadcastss  0x6449(%rip),%ymm14        # 741c <_sk_callback_avx+0x1a2>
   DB  196,65,92,89,222                    ; vmulps        %ymm14,%ymm4,%ymm11
-  DB  196,98,125,24,61,11,90,0,0          ; vbroadcastss  0x5a0b(%rip),%ymm15        # 69ec <_sk_callback_avx+0x1a6>
+  DB  196,98,125,24,61,63,100,0,0         ; vbroadcastss  0x643f(%rip),%ymm15        # 7420 <_sk_callback_avx+0x1a6>
   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,252,89,0,0         ; vbroadcastss  0x59fc(%rip),%ymm0        # 69f0 <_sk_callback_avx+0x1aa>
+  DB  196,226,125,24,5,48,100,0,0         ; vbroadcastss  0x6430(%rip),%ymm0        # 7424 <_sk_callback_avx+0x1aa>
   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
@@ -6387,7 +6962,7 @@
   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,213,88,0,0          ; vbroadcastss  0x58d5(%rip),%ymm8        # 69f4 <_sk_callback_avx+0x1ae>
+  DB  196,98,125,24,5,9,99,0,0            ; vbroadcastss  0x6309(%rip),%ymm8        # 7428 <_sk_callback_avx+0x1ae>
   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
@@ -6416,12 +6991,12 @@
   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,101,88,0,0         ; vbroadcastss  0x5865(%rip),%ymm13        # 69f8 <_sk_callback_avx+0x1b2>
+  DB  196,98,125,24,45,153,98,0,0         ; vbroadcastss  0x6299(%rip),%ymm13        # 742c <_sk_callback_avx+0x1b2>
   DB  196,65,92,89,213                    ; vmulps        %ymm13,%ymm4,%ymm10
-  DB  196,98,125,24,53,91,88,0,0          ; vbroadcastss  0x585b(%rip),%ymm14        # 69fc <_sk_callback_avx+0x1b6>
+  DB  196,98,125,24,53,143,98,0,0         ; vbroadcastss  0x628f(%rip),%ymm14        # 7430 <_sk_callback_avx+0x1b6>
   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,76,88,0,0          ; vbroadcastss  0x584c(%rip),%ymm15        # 6a00 <_sk_callback_avx+0x1ba>
+  DB  196,98,125,24,61,128,98,0,0         ; vbroadcastss  0x6280(%rip),%ymm15        # 7434 <_sk_callback_avx+0x1ba>
   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
@@ -6484,7 +7059,7 @@
   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,19,87,0,0          ; vbroadcastss  0x5713(%rip),%ymm0        # 6a04 <_sk_callback_avx+0x1be>
+  DB  196,226,125,24,5,71,97,0,0          ; vbroadcastss  0x6147(%rip),%ymm0        # 7438 <_sk_callback_avx+0x1be>
   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
@@ -6514,12 +7089,12 @@
   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,159,86,0,0         ; vbroadcastss  0x569f(%rip),%ymm13        # 6a08 <_sk_callback_avx+0x1c2>
+  DB  196,98,125,24,45,211,96,0,0         ; vbroadcastss  0x60d3(%rip),%ymm13        # 743c <_sk_callback_avx+0x1c2>
   DB  196,65,108,89,213                   ; vmulps        %ymm13,%ymm2,%ymm10
-  DB  196,98,125,24,53,149,86,0,0         ; vbroadcastss  0x5695(%rip),%ymm14        # 6a0c <_sk_callback_avx+0x1c6>
+  DB  196,98,125,24,53,201,96,0,0         ; vbroadcastss  0x60c9(%rip),%ymm14        # 7440 <_sk_callback_avx+0x1c6>
   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,134,86,0,0         ; vbroadcastss  0x5686(%rip),%ymm15        # 6a10 <_sk_callback_avx+0x1ca>
+  DB  196,98,125,24,61,186,96,0,0         ; vbroadcastss  0x60ba(%rip),%ymm15        # 7444 <_sk_callback_avx+0x1ca>
   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
@@ -6582,7 +7157,7 @@
   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,77,85,0,0          ; vbroadcastss  0x554d(%rip),%ymm0        # 6a14 <_sk_callback_avx+0x1ce>
+  DB  196,226,125,24,5,129,95,0,0         ; vbroadcastss  0x5f81(%rip),%ymm0        # 7448 <_sk_callback_avx+0x1ce>
   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
@@ -6613,7 +7188,7 @@
   DB  77,133,192                          ; test          %r8,%r8
   DB  15,133,47,1,0,0                     ; jne           1661 <_sk_srcover_rgba_8888_avx+0x14c>
   DB  196,193,124,16,58                   ; vmovups       (%r10),%ymm7
-  DB  197,124,40,13,129,89,0,0            ; vmovaps       0x5981(%rip),%ymm9        # 6ec0 <_sk_callback_avx+0x67a>
+  DB  197,124,40,13,97,100,0,0            ; vmovaps       0x6461(%rip),%ymm9        # 79a0 <_sk_callback_avx+0x726>
   DB  196,193,68,84,225                   ; vandps        %ymm9,%ymm7,%ymm4
   DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
   DB  197,209,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm5
@@ -6631,9 +7206,9 @@
   DB  196,193,65,114,208,24               ; vpsrld        $0x18,%xmm8,%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,5,120,84,0,0          ; vbroadcastss  0x5478(%rip),%ymm8        # 6a18 <_sk_callback_avx+0x1d2>
+  DB  196,98,125,24,5,172,94,0,0          ; vbroadcastss  0x5eac(%rip),%ymm8        # 744c <_sk_callback_avx+0x1d2>
   DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
-  DB  196,98,125,24,13,111,84,0,0         ; vbroadcastss  0x546f(%rip),%ymm9        # 6a1c <_sk_callback_avx+0x1d6>
+  DB  196,98,125,24,13,163,94,0,0         ; vbroadcastss  0x5ea3(%rip),%ymm9        # 7450 <_sk_callback_avx+0x1d6>
   DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
   DB  197,60,89,212                       ; vmulps        %ymm4,%ymm8,%ymm10
   DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
@@ -6679,9 +7254,9 @@
   DB  72,211,232                          ; shr           %cl,%rax
   DB  196,225,249,110,224                 ; vmovq         %rax,%xmm4
   DB  196,226,121,48,228                  ; vpmovzxbw     %xmm4,%xmm4
-  DB  196,226,89,0,45,39,87,0,0           ; vpshufb       0x5727(%rip),%xmm4,%xmm5        # 6db0 <_sk_callback_avx+0x56a>
+  DB  196,226,89,0,45,199,97,0,0          ; vpshufb       0x61c7(%rip),%xmm4,%xmm5        # 7850 <_sk_callback_avx+0x5d6>
   DB  196,226,121,33,237                  ; vpmovsxbd     %xmm5,%xmm5
-  DB  196,226,89,0,37,41,87,0,0           ; vpshufb       0x5729(%rip),%xmm4,%xmm4        # 6dc0 <_sk_callback_avx+0x57a>
+  DB  196,226,89,0,37,201,97,0,0          ; vpshufb       0x61c9(%rip),%xmm4,%xmm4        # 7860 <_sk_callback_avx+0x5e6>
   DB  196,226,121,33,228                  ; vpmovsxbd     %xmm4,%xmm4
   DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
   DB  196,194,93,44,58                    ; vmaskmovps    (%r10),%ymm4,%ymm7
@@ -6693,9 +7268,9 @@
   DB  72,211,232                          ; shr           %cl,%rax
   DB  196,97,249,110,200                  ; vmovq         %rax,%xmm9
   DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
-  DB  196,98,49,0,21,220,86,0,0           ; vpshufb       0x56dc(%rip),%xmm9,%xmm10        # 6db0 <_sk_callback_avx+0x56a>
+  DB  196,98,49,0,21,124,97,0,0           ; vpshufb       0x617c(%rip),%xmm9,%xmm10        # 7850 <_sk_callback_avx+0x5d6>
   DB  196,66,121,33,210                   ; vpmovsxbd     %xmm10,%xmm10
-  DB  196,98,49,0,13,222,86,0,0           ; vpshufb       0x56de(%rip),%xmm9,%xmm9        # 6dc0 <_sk_callback_avx+0x57a>
+  DB  196,98,49,0,13,126,97,0,0           ; vpshufb       0x617e(%rip),%xmm9,%xmm9        # 7860 <_sk_callback_avx+0x5e6>
   DB  196,66,121,33,201                   ; vpmovsxbd     %xmm9,%xmm9
   DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
   DB  196,66,53,46,2                      ; vmaskmovps    %ymm8,%ymm9,(%r10)
@@ -6713,7 +7288,7 @@
 
 PUBLIC _sk_clamp_1_avx
 _sk_clamp_1_avx LABEL PROC
-  DB  196,98,125,24,5,3,83,0,0            ; vbroadcastss  0x5303(%rip),%ymm8        # 6a20 <_sk_callback_avx+0x1da>
+  DB  196,98,125,24,5,55,93,0,0           ; vbroadcastss  0x5d37(%rip),%ymm8        # 7454 <_sk_callback_avx+0x1da>
   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
@@ -6723,7 +7298,7 @@
 
 PUBLIC _sk_clamp_a_avx
 _sk_clamp_a_avx LABEL PROC
-  DB  196,98,125,24,5,230,82,0,0          ; vbroadcastss  0x52e6(%rip),%ymm8        # 6a24 <_sk_callback_avx+0x1de>
+  DB  196,98,125,24,5,26,93,0,0           ; vbroadcastss  0x5d1a(%rip),%ymm8        # 7458 <_sk_callback_avx+0x1de>
   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
@@ -6731,6 +7306,16 @@
   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,0,93,0,0            ; vbroadcastss  0x5d00(%rip),%ymm8        # 745c <_sk_callback_avx+0x1e2>
+  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
@@ -6748,6 +7333,14 @@
   DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_avx
+_sk_swap_rb_dst_avx LABEL PROC
+  DB  197,124,40,196                      ; vmovaps       %ymm4,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,230                      ; vmovaps       %ymm6,%ymm4
+  DB  197,124,41,198                      ; vmovaps       %ymm8,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_avx
 _sk_swap_avx LABEL PROC
   DB  197,124,40,195                      ; vmovaps       %ymm3,%ymm8
@@ -6795,7 +7388,7 @@
 _sk_unpremul_avx LABEL PROC
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,65,100,194,200,0                ; vcmpeqps      %ymm8,%ymm3,%ymm9
-  DB  196,98,125,24,21,46,82,0,0          ; vbroadcastss  0x522e(%rip),%ymm10        # 6a28 <_sk_callback_avx+0x1e2>
+  DB  196,98,125,24,21,56,92,0,0          ; vbroadcastss  0x5c38(%rip),%ymm10        # 7460 <_sk_callback_avx+0x1e6>
   DB  197,44,94,211                       ; vdivps        %ymm3,%ymm10,%ymm10
   DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
   DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
@@ -6806,17 +7399,17 @@
 
 PUBLIC _sk_from_srgb_avx
 _sk_from_srgb_avx LABEL PROC
-  DB  196,98,125,24,5,15,82,0,0           ; vbroadcastss  0x520f(%rip),%ymm8        # 6a2c <_sk_callback_avx+0x1e6>
+  DB  196,98,125,24,5,25,92,0,0           ; vbroadcastss  0x5c19(%rip),%ymm8        # 7464 <_sk_callback_avx+0x1ea>
   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,1,82,0,0           ; vbroadcastss  0x5201(%rip),%ymm11        # 6a30 <_sk_callback_avx+0x1ea>
+  DB  196,98,125,24,29,11,92,0,0          ; vbroadcastss  0x5c0b(%rip),%ymm11        # 7468 <_sk_callback_avx+0x1ee>
   DB  196,65,124,89,227                   ; vmulps        %ymm11,%ymm0,%ymm12
-  DB  196,98,125,24,45,247,81,0,0         ; vbroadcastss  0x51f7(%rip),%ymm13        # 6a34 <_sk_callback_avx+0x1ee>
+  DB  196,98,125,24,45,1,92,0,0           ; vbroadcastss  0x5c01(%rip),%ymm13        # 746c <_sk_callback_avx+0x1f2>
   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,232,81,0,0         ; vbroadcastss  0x51e8(%rip),%ymm12        # 6a38 <_sk_callback_avx+0x1f2>
+  DB  196,98,125,24,37,242,91,0,0         ; vbroadcastss  0x5bf2(%rip),%ymm12        # 7470 <_sk_callback_avx+0x1f6>
   DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
-  DB  196,98,125,24,53,222,81,0,0         ; vbroadcastss  0x51de(%rip),%ymm14        # 6a3c <_sk_callback_avx+0x1f6>
+  DB  196,98,125,24,53,232,91,0,0         ; vbroadcastss  0x5be8(%rip),%ymm14        # 7474 <_sk_callback_avx+0x1fa>
   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
@@ -6838,23 +7431,57 @@
   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,129,91,0,0          ; vbroadcastss  0x5b81(%rip),%ymm8        # 7478 <_sk_callback_avx+0x1fe>
+  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,115,91,0,0         ; vbroadcastss  0x5b73(%rip),%ymm11        # 747c <_sk_callback_avx+0x202>
+  DB  196,65,92,89,227                    ; vmulps        %ymm11,%ymm4,%ymm12
+  DB  196,98,125,24,45,105,91,0,0         ; vbroadcastss  0x5b69(%rip),%ymm13        # 7480 <_sk_callback_avx+0x206>
+  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,90,91,0,0          ; vbroadcastss  0x5b5a(%rip),%ymm12        # 7484 <_sk_callback_avx+0x20a>
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,98,125,24,53,80,91,0,0          ; vbroadcastss  0x5b50(%rip),%ymm14        # 7488 <_sk_callback_avx+0x20e>
+  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,115,81,0,0          ; vbroadcastss  0x5173(%rip),%ymm8        # 6a40 <_sk_callback_avx+0x1fa>
+  DB  196,98,125,24,5,229,90,0,0          ; vbroadcastss  0x5ae5(%rip),%ymm8        # 748c <_sk_callback_avx+0x212>
   DB  196,65,124,89,208                   ; vmulps        %ymm8,%ymm0,%ymm10
-  DB  196,98,125,24,29,105,81,0,0         ; vbroadcastss  0x5169(%rip),%ymm11        # 6a44 <_sk_callback_avx+0x1fe>
+  DB  196,98,125,24,29,219,90,0,0         ; vbroadcastss  0x5adb(%rip),%ymm11        # 7490 <_sk_callback_avx+0x216>
   DB  196,65,52,89,227                    ; vmulps        %ymm11,%ymm9,%ymm12
-  DB  196,98,125,24,45,95,81,0,0          ; vbroadcastss  0x515f(%rip),%ymm13        # 6a48 <_sk_callback_avx+0x202>
+  DB  196,98,125,24,45,209,90,0,0         ; vbroadcastss  0x5ad1(%rip),%ymm13        # 7494 <_sk_callback_avx+0x21a>
   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,80,81,0,0          ; vbroadcastss  0x5150(%rip),%ymm14        # 6a4c <_sk_callback_avx+0x206>
+  DB  196,98,125,24,53,194,90,0,0         ; vbroadcastss  0x5ac2(%rip),%ymm14        # 7498 <_sk_callback_avx+0x21e>
   DB  196,65,28,88,230                    ; vaddps        %ymm14,%ymm12,%ymm12
-  DB  196,98,125,24,61,70,81,0,0          ; vbroadcastss  0x5146(%rip),%ymm15        # 6a50 <_sk_callback_avx+0x20a>
+  DB  196,98,125,24,61,184,90,0,0         ; vbroadcastss  0x5ab8(%rip),%ymm15        # 749c <_sk_callback_avx+0x222>
   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,50,81,0,0          ; vbroadcastss  0x5132(%rip),%ymm12        # 6a54 <_sk_callback_avx+0x20e>
+  DB  196,98,125,24,37,164,90,0,0         ; vbroadcastss  0x5aa4(%rip),%ymm12        # 74a0 <_sk_callback_avx+0x226>
   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
@@ -6889,7 +7516,7 @@
   DB  197,124,93,201                      ; vminps        %ymm1,%ymm0,%ymm9
   DB  197,52,93,202                       ; vminps        %ymm2,%ymm9,%ymm9
   DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
-  DB  196,98,125,24,29,152,80,0,0         ; vbroadcastss  0x5098(%rip),%ymm11        # 6a58 <_sk_callback_avx+0x212>
+  DB  196,98,125,24,29,10,90,0,0          ; vbroadcastss  0x5a0a(%rip),%ymm11        # 74a4 <_sk_callback_avx+0x22a>
   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
@@ -6899,19 +7526,19 @@
   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,113,80,0,0         ; vbroadcastss  0x5071(%rip),%ymm11        # 6a64 <_sk_callback_avx+0x21e>
+  DB  196,98,125,24,29,227,89,0,0         ; vbroadcastss  0x59e3(%rip),%ymm11        # 74b0 <_sk_callback_avx+0x236>
   DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
-  DB  196,98,125,24,29,95,80,0,0          ; vbroadcastss  0x505f(%rip),%ymm11        # 6a60 <_sk_callback_avx+0x21a>
+  DB  196,98,125,24,29,209,89,0,0         ; vbroadcastss  0x59d1(%rip),%ymm11        # 74ac <_sk_callback_avx+0x232>
   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,71,80,0,0         ; vbroadcastss  0x5047(%rip),%ymm2        # 6a5c <_sk_callback_avx+0x216>
+  DB  196,226,125,24,21,185,89,0,0        ; vbroadcastss  0x59b9(%rip),%ymm2        # 74a8 <_sk_callback_avx+0x22e>
   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,46,80,0,0          ; vbroadcastss  0x502e(%rip),%ymm12        # 6a6c <_sk_callback_avx+0x226>
+  DB  196,98,125,24,37,160,89,0,0         ; vbroadcastss  0x59a0(%rip),%ymm12        # 74b8 <_sk_callback_avx+0x23e>
   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
@@ -6921,7 +7548,7 @@
   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,241,79,0,0          ; vbroadcastss  0x4ff1(%rip),%ymm8        # 6a68 <_sk_callback_avx+0x222>
+  DB  196,98,125,24,5,99,89,0,0           ; vbroadcastss  0x5963(%rip),%ymm8        # 74b4 <_sk_callback_avx+0x23a>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -6936,7 +7563,7 @@
   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,184,79,0,0          ; vbroadcastss  0x4fb8(%rip),%ymm8        # 6a70 <_sk_callback_avx+0x22a>
+  DB  196,98,125,24,5,42,89,0,0           ; vbroadcastss  0x592a(%rip),%ymm8        # 74bc <_sk_callback_avx+0x242>
   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
@@ -6944,23 +7571,23 @@
   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,146,79,0,0         ; vbroadcastss  0x4f92(%rip),%ymm11        # 6a74 <_sk_callback_avx+0x22e>
+  DB  196,98,125,24,29,4,89,0,0           ; vbroadcastss  0x5904(%rip),%ymm11        # 74c0 <_sk_callback_avx+0x246>
   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,124,79,0,0         ; vbroadcastss  0x4f7c(%rip),%ymm12        # 6a7c <_sk_callback_avx+0x236>
+  DB  196,98,125,24,37,238,88,0,0         ; vbroadcastss  0x58ee(%rip),%ymm12        # 74c8 <_sk_callback_avx+0x24e>
   DB  196,193,4,89,196                    ; vmulps        %ymm12,%ymm15,%ymm0
-  DB  196,98,125,24,45,114,79,0,0         ; vbroadcastss  0x4f72(%rip),%ymm13        # 6a80 <_sk_callback_avx+0x23a>
+  DB  196,98,125,24,45,228,88,0,0         ; vbroadcastss  0x58e4(%rip),%ymm13        # 74cc <_sk_callback_avx+0x252>
   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,83,79,0,0         ; vbroadcastss  0x4f53(%rip),%ymm1        # 6a78 <_sk_callback_avx+0x232>
+  DB  196,226,125,24,13,197,88,0,0        ; vbroadcastss  0x58c5(%rip),%ymm1        # 74c4 <_sk_callback_avx+0x24a>
   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,62,79,0,0          ; vbroadcastss  0x4f3e(%rip),%ymm14        # 6a84 <_sk_callback_avx+0x23e>
+  DB  196,98,125,24,53,176,88,0,0         ; vbroadcastss  0x58b0(%rip),%ymm14        # 74d0 <_sk_callback_avx+0x256>
   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
@@ -6979,7 +7606,7 @@
   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,224,78,0,0         ; vbroadcastss  0x4ee0(%rip),%ymm0        # 6a88 <_sk_callback_avx+0x242>
+  DB  196,226,125,24,5,82,88,0,0          ; vbroadcastss  0x5852(%rip),%ymm0        # 74d4 <_sk_callback_avx+0x25a>
   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
@@ -7025,15 +7652,15 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,74                              ; jne           1ca5 <_sk_scale_u8_avx+0x54>
+  DB  117,74                              ; jne           1d7f <_sk_scale_u8_avx+0x54>
   DB  196,66,121,48,4,19                  ; vpmovzxbw     (%r11,%rdx,1),%xmm8
-  DB  197,57,219,5,103,81,0,0             ; vpand         0x5167(%rip),%xmm8,%xmm8        # 6dd0 <_sk_callback_avx+0x58a>
+  DB  197,57,219,5,45,91,0,0              ; vpand         0x5b2d(%rip),%xmm8,%xmm8        # 7870 <_sk_callback_avx+0x5f6>
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  196,65,57,105,201                   ; vpunpckhwd    %xmm9,%xmm8,%xmm9
   DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
   DB  196,67,61,24,193,1                  ; vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
   DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
-  DB  196,98,125,24,13,0,78,0,0           ; vbroadcastss  0x4e00(%rip),%ymm9        # 6a8c <_sk_callback_avx+0x246>
+  DB  196,98,125,24,13,114,87,0,0         ; vbroadcastss  0x5772(%rip),%ymm9        # 74d8 <_sk_callback_avx+0x25e>
   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
@@ -7046,15 +7673,15 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,167                             ; ja            1c61 <_sk_scale_u8_avx+0x10>
+  DB  119,167                             ; ja            1d3b <_sk_scale_u8_avx+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,123,0,0,0                 ; lea           0x7b(%rip),%r10        # 1d40 <_sk_scale_u8_avx+0xef>
+  DB  76,141,21,121,0,0,0                 ; lea           0x79(%rip),%r10        # 1e18 <_sk_scale_u8_avx+0xed>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  235,136                             ; jmp           1c61 <_sk_scale_u8_avx+0x10>
+  DB  235,136                             ; jmp           1d3b <_sk_scale_u8_avx+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -7062,7 +7689,7 @@
   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,95,255,255,255                  ; jmpq          1c61 <_sk_scale_u8_avx+0x10>
+  DB  233,95,255,255,255                  ; jmpq          1d3b <_sk_scale_u8_avx+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -7073,21 +7700,24 @@
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%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,35,255,255,255                  ; jmpq          1c61 <_sk_scale_u8_avx+0x10>
-  DB  102,144                             ; xchg          %ax,%ax
-  DB  142,255                             ; mov           %edi,%?
+  DB  233,35,255,255,255                  ; jmpq          1d3b <_sk_scale_u8_avx+0x10>
+  DB  144                                 ; nop
   DB  255                                 ; (bad)
-  DB  255,169,255,255,255,153             ; ljmp          *-0x66000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,171,255,255,255,155             ; ljmp          *-0x64000001(%rbx)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  232,255,255,255,221                 ; callq         ffffffffde001d50 <_sk_callback_avx+0xffffffffddffb50a>
+  DB  234                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,194                             ; inc           %edx
+  DB  255,196                             ; inc           %esp
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
@@ -7116,15 +7746,15 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,110                             ; jne           1e13 <_sk_lerp_u8_avx+0x78>
+  DB  117,110                             ; jne           1eeb <_sk_lerp_u8_avx+0x78>
   DB  196,66,121,48,4,19                  ; vpmovzxbw     (%r11,%rdx,1),%xmm8
-  DB  197,57,219,5,45,80,0,0              ; vpand         0x502d(%rip),%xmm8,%xmm8        # 6de0 <_sk_callback_avx+0x59a>
+  DB  197,57,219,5,245,89,0,0             ; vpand         0x59f5(%rip),%xmm8,%xmm8        # 7880 <_sk_callback_avx+0x606>
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  196,65,57,105,201                   ; vpunpckhwd    %xmm9,%xmm8,%xmm9
   DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
   DB  196,67,61,24,193,1                  ; vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
   DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
-  DB  196,98,125,24,13,186,76,0,0         ; vbroadcastss  0x4cba(%rip),%ymm9        # 6a90 <_sk_callback_avx+0x24a>
+  DB  196,98,125,24,13,46,86,0,0          ; vbroadcastss  0x562e(%rip),%ymm9        # 74dc <_sk_callback_avx+0x262>
   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
@@ -7145,15 +7775,15 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,131                             ; ja            1dab <_sk_lerp_u8_avx+0x10>
+  DB  119,131                             ; ja            1e83 <_sk_lerp_u8_avx+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,125,0,0,0                 ; lea           0x7d(%rip),%r10        # 1eb0 <_sk_lerp_u8_avx+0x115>
+  DB  76,141,21,125,0,0,0                 ; lea           0x7d(%rip),%r10        # 1f88 <_sk_lerp_u8_avx+0x115>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  233,97,255,255,255                  ; jmpq          1dab <_sk_lerp_u8_avx+0x10>
+  DB  233,97,255,255,255                  ; jmpq          1e83 <_sk_lerp_u8_avx+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
@@ -7161,7 +7791,7 @@
   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,56,255,255,255                  ; jmpq          1dab <_sk_lerp_u8_avx+0x10>
+  DB  233,56,255,255,255                  ; jmpq          1e83 <_sk_lerp_u8_avx+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
@@ -7172,7 +7802,7 @@
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%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,252,254,255,255                 ; jmpq          1dab <_sk_lerp_u8_avx+0x10>
+  DB  233,252,254,255,255                 ; jmpq          1e83 <_sk_lerp_u8_avx+0x10>
   DB  144                                 ; nop
   DB  140,255                             ; mov           %?,%edi
   DB  255                                 ; (bad)
@@ -7180,7 +7810,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  233,255,255,255,222                 ; jmpq          ffffffffdf001ec0 <_sk_callback_avx+0xffffffffdeffb67a>
+  DB  233,255,255,255,222                 ; jmpq          ffffffffdf001f98 <_sk_callback_avx+0xffffffffdeffad1e>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,211                             ; callq         *%rbx
@@ -7196,26 +7826,26 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,208,0,0,0                    ; jne           1faa <_sk_lerp_565_avx+0xde>
+  DB  15,133,208,0,0,0                    ; jne           2082 <_sk_lerp_565_avx+0xde>
   DB  196,65,122,111,4,83                 ; vmovdqu       (%r11,%rdx,2),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  196,65,57,105,201                   ; vpunpckhwd    %xmm9,%xmm8,%xmm9
   DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
   DB  196,67,61,24,193,1                  ; vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
-  DB  196,98,125,24,13,150,75,0,0         ; vbroadcastss  0x4b96(%rip),%ymm9        # 6a94 <_sk_callback_avx+0x24e>
+  DB  196,98,125,24,13,10,85,0,0          ; vbroadcastss  0x550a(%rip),%ymm9        # 74e0 <_sk_callback_avx+0x266>
   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,135,75,0,0         ; vbroadcastss  0x4b87(%rip),%ymm10        # 6a98 <_sk_callback_avx+0x252>
+  DB  196,98,125,24,21,251,84,0,0         ; vbroadcastss  0x54fb(%rip),%ymm10        # 74e4 <_sk_callback_avx+0x26a>
   DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
-  DB  196,98,125,24,21,125,75,0,0         ; vbroadcastss  0x4b7d(%rip),%ymm10        # 6a9c <_sk_callback_avx+0x256>
+  DB  196,98,125,24,21,241,84,0,0         ; vbroadcastss  0x54f1(%rip),%ymm10        # 74e8 <_sk_callback_avx+0x26e>
   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,110,75,0,0         ; vbroadcastss  0x4b6e(%rip),%ymm11        # 6aa0 <_sk_callback_avx+0x25a>
+  DB  196,98,125,24,29,226,84,0,0         ; vbroadcastss  0x54e2(%rip),%ymm11        # 74ec <_sk_callback_avx+0x272>
   DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
-  DB  196,98,125,24,29,100,75,0,0         ; vbroadcastss  0x4b64(%rip),%ymm11        # 6aa4 <_sk_callback_avx+0x25e>
+  DB  196,98,125,24,29,216,84,0,0         ; vbroadcastss  0x54d8(%rip),%ymm11        # 74f0 <_sk_callback_avx+0x276>
   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,85,75,0,0          ; vbroadcastss  0x4b55(%rip),%ymm11        # 6aa8 <_sk_callback_avx+0x262>
+  DB  196,98,125,24,29,201,84,0,0         ; vbroadcastss  0x54c9(%rip),%ymm11        # 74f4 <_sk_callback_avx+0x27a>
   DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
   DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
   DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
@@ -7242,27 +7872,27 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,29,255,255,255               ; ja            1ee0 <_sk_lerp_565_avx+0x14>
+  DB  15,135,29,255,255,255               ; ja            1fb8 <_sk_lerp_565_avx+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,102,0,0,0                 ; lea           0x66(%rip),%r10        # 2034 <_sk_lerp_565_avx+0x168>
+  DB  76,141,21,102,0,0,0                 ; lea           0x66(%rip),%r10        # 210c <_sk_lerp_565_avx+0x168>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  233,251,254,255,255                 ; jmpq          1ee0 <_sk_lerp_565_avx+0x14>
+  DB  233,251,254,255,255                 ; jmpq          1fb8 <_sk_lerp_565_avx+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,65,57,196,68,83,4,2             ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,121,110,12,83                ; vmovd         (%r11,%rdx,2),%xmm9
   DB  196,67,57,14,193,3                  ; vpblendw      $0x3,%xmm9,%xmm8,%xmm8
-  DB  233,221,254,255,255                 ; jmpq          1ee0 <_sk_lerp_565_avx+0x14>
+  DB  233,221,254,255,255                 ; jmpq          1fb8 <_sk_lerp_565_avx+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,65,57,196,68,83,12,6            ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,57,196,68,83,10,5            ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,57,196,68,83,8,4             ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
   DB  196,65,122,126,12,83                ; vmovq         (%r11,%rdx,2),%xmm9
   DB  196,67,49,14,192,240                ; vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
-  DB  233,175,254,255,255                 ; jmpq          1ee0 <_sk_lerp_565_avx+0x14>
+  DB  233,175,254,255,255                 ; jmpq          1fb8 <_sk_lerp_565_avx+0x14>
   DB  15,31,0                             ; nopl          (%rax)
   DB  163,255,255,255,190,255,255,255,177 ; movabs        %eax,0xb1ffffffbeffffff
   DB  255                                 ; (bad)
@@ -7292,9 +7922,9 @@
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,251,1,0,0                    ; jne           226e <_sk_load_tables_avx+0x21e>
+  DB  15,133,251,1,0,0                    ; jne           2346 <_sk_load_tables_avx+0x21e>
   DB  196,65,124,16,18                    ; vmovups       (%r10),%ymm10
-  DB  197,124,40,13,96,78,0,0             ; vmovaps       0x4e60(%rip),%ymm9        # 6ee0 <_sk_callback_avx+0x69a>
+  DB  197,124,40,13,104,88,0,0            ; vmovaps       0x5868(%rip),%ymm9        # 79c0 <_sk_callback_avx+0x746>
   DB  196,193,44,84,201                   ; vandps        %ymm9,%ymm10,%ymm1
   DB  196,227,125,25,200,1                ; vextractf128  $0x1,%ymm1,%xmm0
   DB  196,193,249,126,195                 ; vmovq         %xmm0,%r11
@@ -7386,7 +8016,7 @@
   DB  196,193,65,114,208,24               ; vpsrld        $0x18,%xmm8,%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,83,72,0,0         ; vbroadcastss  0x4853(%rip),%ymm7        # 6aac <_sk_callback_avx+0x266>
+  DB  196,226,125,24,61,199,81,0,0        ; vbroadcastss  0x51c7(%rip),%ymm7        # 74f8 <_sk_callback_avx+0x27e>
   DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,137,201                          ; mov           %r9,%rcx
@@ -7401,13 +8031,13 @@
   DB  73,211,235                          ; shr           %cl,%r11
   DB  196,193,249,110,195                 ; vmovq         %r11,%xmm0
   DB  196,226,121,48,192                  ; vpmovzxbw     %xmm0,%xmm0
-  DB  196,226,121,0,13,90,75,0,0          ; vpshufb       0x4b5a(%rip),%xmm0,%xmm1        # 6df0 <_sk_callback_avx+0x5aa>
+  DB  196,226,121,0,13,34,85,0,0          ; vpshufb       0x5522(%rip),%xmm0,%xmm1        # 7890 <_sk_callback_avx+0x616>
   DB  196,226,121,33,201                  ; vpmovsxbd     %xmm1,%xmm1
-  DB  196,226,121,0,5,92,75,0,0           ; vpshufb       0x4b5c(%rip),%xmm0,%xmm0        # 6e00 <_sk_callback_avx+0x5ba>
+  DB  196,226,121,0,5,36,85,0,0           ; vpshufb       0x5524(%rip),%xmm0,%xmm0        # 78a0 <_sk_callback_avx+0x626>
   DB  196,226,121,33,192                  ; vpmovsxbd     %xmm0,%xmm0
   DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
   DB  196,66,125,44,18                    ; vmaskmovps    (%r10),%ymm0,%ymm10
-  DB  233,191,253,255,255                 ; jmpq          2078 <_sk_load_tables_avx+0x28>
+  DB  233,191,253,255,255                 ; jmpq          2150 <_sk_load_tables_avx+0x28>
 
 PUBLIC _sk_load_tables_u16_be_avx
 _sk_load_tables_u16_be_avx LABEL PROC
@@ -7417,7 +8047,7 @@
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  77,133,192                          ; test          %r8,%r8
   DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
-  DB  15,133,87,2,0,0                     ; jne           252f <_sk_load_tables_u16_be_avx+0x276>
+  DB  15,133,87,2,0,0                     ; jne           2607 <_sk_load_tables_u16_be_avx+0x276>
   DB  196,1,121,16,4,81                   ; vmovupd       (%r9,%r10,2),%xmm8
   DB  196,129,121,16,84,81,16             ; vmovupd       0x10(%r9,%r10,2),%xmm2
   DB  196,129,121,16,92,81,32             ; vmovupd       0x20(%r9,%r10,2),%xmm3
@@ -7432,7 +8062,7 @@
   DB  197,113,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm11
   DB  197,177,108,200                     ; vpunpcklqdq   %xmm0,%xmm9,%xmm1
   DB  197,49,109,224                      ; vpunpckhqdq   %xmm0,%xmm9,%xmm12
-  DB  197,121,111,21,235,74,0,0           ; vmovdqa       0x4aeb(%rip),%xmm10        # 6e10 <_sk_callback_avx+0x5ca>
+  DB  197,121,111,21,179,84,0,0           ; vmovdqa       0x54b3(%rip),%xmm10        # 78b0 <_sk_callback_avx+0x636>
   DB  196,193,113,219,202                 ; vpand         %xmm10,%xmm1,%xmm1
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  196,193,113,105,209                 ; vpunpckhwd    %xmm9,%xmm1,%xmm2
@@ -7530,7 +8160,7 @@
   DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
   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,146,69,0,0        ; vbroadcastss  0x4592(%rip),%ymm7        # 6ab0 <_sk_callback_avx+0x26a>
+  DB  196,226,125,24,61,6,79,0,0          ; vbroadcastss  0x4f06(%rip),%ymm7        # 74fc <_sk_callback_avx+0x282>
   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
@@ -7539,29 +8169,29 @@
   DB  196,1,123,16,4,81                   ; vmovsd        (%r9,%r10,2),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,85                              ; je            2595 <_sk_load_tables_u16_be_avx+0x2dc>
+  DB  116,85                              ; je            266d <_sk_load_tables_u16_be_avx+0x2dc>
   DB  196,1,57,22,68,81,8                 ; vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,72                              ; jb            2595 <_sk_load_tables_u16_be_avx+0x2dc>
+  DB  114,72                              ; jb            266d <_sk_load_tables_u16_be_avx+0x2dc>
   DB  196,129,123,16,84,81,16             ; vmovsd        0x10(%r9,%r10,2),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,72                              ; je            25a2 <_sk_load_tables_u16_be_avx+0x2e9>
+  DB  116,72                              ; je            267a <_sk_load_tables_u16_be_avx+0x2e9>
   DB  196,129,105,22,84,81,24             ; vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,59                              ; jb            25a2 <_sk_load_tables_u16_be_avx+0x2e9>
+  DB  114,59                              ; jb            267a <_sk_load_tables_u16_be_avx+0x2e9>
   DB  196,129,123,16,92,81,32             ; vmovsd        0x20(%r9,%r10,2),%xmm3
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,123,253,255,255              ; je            22f3 <_sk_load_tables_u16_be_avx+0x3a>
+  DB  15,132,123,253,255,255              ; je            23cb <_sk_load_tables_u16_be_avx+0x3a>
   DB  196,129,97,22,92,81,40              ; vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,106,253,255,255              ; jb            22f3 <_sk_load_tables_u16_be_avx+0x3a>
+  DB  15,130,106,253,255,255              ; jb            23cb <_sk_load_tables_u16_be_avx+0x3a>
   DB  196,1,122,126,76,81,48              ; vmovq         0x30(%r9,%r10,2),%xmm9
-  DB  233,94,253,255,255                  ; jmpq          22f3 <_sk_load_tables_u16_be_avx+0x3a>
+  DB  233,94,253,255,255                  ; jmpq          23cb <_sk_load_tables_u16_be_avx+0x3a>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
   DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
-  DB  233,81,253,255,255                  ; jmpq          22f3 <_sk_load_tables_u16_be_avx+0x3a>
+  DB  233,81,253,255,255                  ; jmpq          23cb <_sk_load_tables_u16_be_avx+0x3a>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
-  DB  233,72,253,255,255                  ; jmpq          22f3 <_sk_load_tables_u16_be_avx+0x3a>
+  DB  233,72,253,255,255                  ; jmpq          23cb <_sk_load_tables_u16_be_avx+0x3a>
 
 PUBLIC _sk_load_tables_rgb_u16_be_avx
 _sk_load_tables_rgb_u16_be_avx LABEL PROC
@@ -7572,7 +8202,7 @@
   DB  77,133,192                          ; test          %r8,%r8
   DB  197,252,17,124,36,32                ; vmovups       %ymm7,0x20(%rsp)
   DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
-  DB  15,133,74,2,0,0                     ; jne           2816 <_sk_load_tables_rgb_u16_be_avx+0x26b>
+  DB  15,133,74,2,0,0                     ; jne           28ee <_sk_load_tables_rgb_u16_be_avx+0x26b>
   DB  196,129,122,111,4,81                ; vmovdqu       (%r9,%r10,2),%xmm0
   DB  196,129,122,111,84,81,12            ; vmovdqu       0xc(%r9,%r10,2),%xmm2
   DB  196,129,122,111,76,81,24            ; vmovdqu       0x18(%r9,%r10,2),%xmm1
@@ -7593,7 +8223,7 @@
   DB  197,185,108,218                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm3
   DB  197,57,109,218                      ; vpunpckhqdq   %xmm2,%xmm8,%xmm11
   DB  197,121,108,193                     ; vpunpcklqdq   %xmm1,%xmm0,%xmm8
-  DB  197,121,111,13,234,71,0,0           ; vmovdqa       0x47ea(%rip),%xmm9        # 6e20 <_sk_callback_avx+0x5da>
+  DB  197,121,111,13,178,81,0,0           ; vmovdqa       0x51b2(%rip),%xmm9        # 78c0 <_sk_callback_avx+0x646>
   DB  196,193,97,219,193                  ; vpand         %xmm9,%xmm3,%xmm0
   DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
   DB  196,193,121,105,202                 ; vpunpckhwd    %xmm10,%xmm0,%xmm1
@@ -7683,7 +8313,7 @@
   DB  196,195,105,33,211,48               ; vinsertps     $0x30,%xmm11,%xmm2,%xmm2
   DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,175,66,0,0        ; vbroadcastss  0x42af(%rip),%ymm3        # 6ab4 <_sk_callback_avx+0x26e>
+  DB  196,226,125,24,29,35,76,0,0         ; vbroadcastss  0x4c23(%rip),%ymm3        # 7500 <_sk_callback_avx+0x286>
   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
@@ -7691,41 +8321,41 @@
   DB  196,129,121,110,4,81                ; vmovd         (%r9,%r10,2),%xmm0
   DB  196,129,121,196,68,81,4,2           ; vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,5                               ; jne           282f <_sk_load_tables_rgb_u16_be_avx+0x284>
-  DB  233,209,253,255,255                 ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  117,5                               ; jne           2907 <_sk_load_tables_rgb_u16_be_avx+0x284>
+  DB  233,209,253,255,255                 ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
   DB  196,129,121,110,76,81,6             ; vmovd         0x6(%r9,%r10,2),%xmm1
   DB  196,1,113,196,68,81,10,2            ; vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,26                              ; jb            285e <_sk_load_tables_rgb_u16_be_avx+0x2b3>
+  DB  114,26                              ; jb            2936 <_sk_load_tables_rgb_u16_be_avx+0x2b3>
   DB  196,129,121,110,76,81,12            ; vmovd         0xc(%r9,%r10,2),%xmm1
   DB  196,129,113,196,84,81,16,2          ; vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  117,10                              ; jne           2863 <_sk_load_tables_rgb_u16_be_avx+0x2b8>
-  DB  233,162,253,255,255                 ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
-  DB  233,157,253,255,255                 ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  117,10                              ; jne           293b <_sk_load_tables_rgb_u16_be_avx+0x2b8>
+  DB  233,162,253,255,255                 ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  233,157,253,255,255                 ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
   DB  196,129,121,110,76,81,18            ; vmovd         0x12(%r9,%r10,2),%xmm1
   DB  196,1,113,196,76,81,22,2            ; vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,26                              ; jb            2892 <_sk_load_tables_rgb_u16_be_avx+0x2e7>
+  DB  114,26                              ; jb            296a <_sk_load_tables_rgb_u16_be_avx+0x2e7>
   DB  196,129,121,110,76,81,24            ; vmovd         0x18(%r9,%r10,2),%xmm1
   DB  196,129,113,196,76,81,28,2          ; vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  117,10                              ; jne           2897 <_sk_load_tables_rgb_u16_be_avx+0x2ec>
-  DB  233,110,253,255,255                 ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
-  DB  233,105,253,255,255                 ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  117,10                              ; jne           296f <_sk_load_tables_rgb_u16_be_avx+0x2ec>
+  DB  233,110,253,255,255                 ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  233,105,253,255,255                 ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
   DB  196,129,121,110,92,81,30            ; vmovd         0x1e(%r9,%r10,2),%xmm3
   DB  196,1,97,196,92,81,34,2             ; vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,20                              ; jb            28c0 <_sk_load_tables_rgb_u16_be_avx+0x315>
+  DB  114,20                              ; jb            2998 <_sk_load_tables_rgb_u16_be_avx+0x315>
   DB  196,129,121,110,92,81,36            ; vmovd         0x24(%r9,%r10,2),%xmm3
   DB  196,129,97,196,92,81,40,2           ; vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
-  DB  233,64,253,255,255                  ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
-  DB  233,59,253,255,255                  ; jmpq          2600 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  233,64,253,255,255                  ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
+  DB  233,59,253,255,255                  ; jmpq          26d8 <_sk_load_tables_rgb_u16_be_avx+0x55>
 
 PUBLIC _sk_byte_tables_avx
 _sk_byte_tables_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,232,65,0,0          ; vbroadcastss  0x41e8(%rip),%ymm8        # 6ab8 <_sk_callback_avx+0x272>
+  DB  196,98,125,24,5,92,75,0,0           ; vbroadcastss  0x4b5c(%rip),%ymm8        # 7504 <_sk_callback_avx+0x28a>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
   DB  197,125,91,200                      ; vcvtps2dq     %ymm0,%ymm9
   DB  196,65,249,126,201                  ; vmovq         %xmm9,%r9
@@ -7844,7 +8474,7 @@
   DB  196,194,121,49,204                  ; vpmovzxbd     %xmm12,%xmm1
   DB  196,194,121,49,213                  ; vpmovzxbd     %xmm13,%xmm2
   DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
-  DB  196,98,125,24,13,146,63,0,0         ; vbroadcastss  0x3f92(%rip),%ymm9        # 6abc <_sk_callback_avx+0x276>
+  DB  196,98,125,24,13,6,73,0,0           ; vbroadcastss  0x4906(%rip),%ymm9        # 7508 <_sk_callback_avx+0x28e>
   DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
   DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
@@ -7958,7 +8588,7 @@
   DB  196,194,121,49,203                  ; vpmovzxbd     %xmm11,%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,115,61,0,0         ; vbroadcastss  0x3d73(%rip),%ymm9        # 6ac0 <_sk_callback_avx+0x27a>
+  DB  196,98,125,24,13,231,70,0,0         ; vbroadcastss  0x46e7(%rip),%ymm9        # 750c <_sk_callback_avx+0x292>
   DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
   DB  196,194,121,49,202                  ; vpmovzxbd     %xmm10,%xmm1
   DB  196,194,121,49,212                  ; vpmovzxbd     %xmm12,%xmm2
@@ -8153,36 +8783,36 @@
   DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
   DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
   DB  197,124,91,216                      ; vcvtdq2ps     %ymm0,%ymm11
-  DB  196,98,125,24,37,32,58,0,0          ; vbroadcastss  0x3a20(%rip),%ymm12        # 6ac4 <_sk_callback_avx+0x27e>
+  DB  196,98,125,24,37,148,67,0,0         ; vbroadcastss  0x4394(%rip),%ymm12        # 7510 <_sk_callback_avx+0x296>
   DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,22,58,0,0          ; vbroadcastss  0x3a16(%rip),%ymm12        # 6ac8 <_sk_callback_avx+0x282>
+  DB  196,98,125,24,37,138,67,0,0         ; vbroadcastss  0x438a(%rip),%ymm12        # 7514 <_sk_callback_avx+0x29a>
   DB  196,193,124,84,196                  ; vandps        %ymm12,%ymm0,%ymm0
-  DB  196,98,125,24,37,12,58,0,0          ; vbroadcastss  0x3a0c(%rip),%ymm12        # 6acc <_sk_callback_avx+0x286>
+  DB  196,98,125,24,37,128,67,0,0         ; vbroadcastss  0x4380(%rip),%ymm12        # 7518 <_sk_callback_avx+0x29e>
   DB  196,193,124,86,196                  ; vorps         %ymm12,%ymm0,%ymm0
-  DB  196,98,125,24,37,2,58,0,0           ; vbroadcastss  0x3a02(%rip),%ymm12        # 6ad0 <_sk_callback_avx+0x28a>
+  DB  196,98,125,24,37,118,67,0,0         ; vbroadcastss  0x4376(%rip),%ymm12        # 751c <_sk_callback_avx+0x2a2>
   DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,248,57,0,0         ; vbroadcastss  0x39f8(%rip),%ymm12        # 6ad4 <_sk_callback_avx+0x28e>
+  DB  196,98,125,24,37,108,67,0,0         ; vbroadcastss  0x436c(%rip),%ymm12        # 7520 <_sk_callback_avx+0x2a6>
   DB  196,65,124,89,228                   ; vmulps        %ymm12,%ymm0,%ymm12
   DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,233,57,0,0         ; vbroadcastss  0x39e9(%rip),%ymm12        # 6ad8 <_sk_callback_avx+0x292>
+  DB  196,98,125,24,37,93,67,0,0          ; vbroadcastss  0x435d(%rip),%ymm12        # 7524 <_sk_callback_avx+0x2aa>
   DB  196,193,124,88,196                  ; vaddps        %ymm12,%ymm0,%ymm0
-  DB  196,98,125,24,37,223,57,0,0         ; vbroadcastss  0x39df(%rip),%ymm12        # 6adc <_sk_callback_avx+0x296>
+  DB  196,98,125,24,37,83,67,0,0          ; vbroadcastss  0x4353(%rip),%ymm12        # 7528 <_sk_callback_avx+0x2ae>
   DB  197,156,94,192                      ; vdivps        %ymm0,%ymm12,%ymm0
   DB  197,164,92,192                      ; vsubps        %ymm0,%ymm11,%ymm0
   DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
   DB  196,99,125,8,208,1                  ; vroundps      $0x1,%ymm0,%ymm10
   DB  196,65,124,92,210                   ; vsubps        %ymm10,%ymm0,%ymm10
-  DB  196,98,125,24,29,195,57,0,0         ; vbroadcastss  0x39c3(%rip),%ymm11        # 6ae0 <_sk_callback_avx+0x29a>
+  DB  196,98,125,24,29,55,67,0,0          ; vbroadcastss  0x4337(%rip),%ymm11        # 752c <_sk_callback_avx+0x2b2>
   DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
-  DB  196,98,125,24,29,185,57,0,0         ; vbroadcastss  0x39b9(%rip),%ymm11        # 6ae4 <_sk_callback_avx+0x29e>
+  DB  196,98,125,24,29,45,67,0,0          ; vbroadcastss  0x432d(%rip),%ymm11        # 7530 <_sk_callback_avx+0x2b6>
   DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
   DB  196,193,124,92,195                  ; vsubps        %ymm11,%ymm0,%ymm0
-  DB  196,98,125,24,29,170,57,0,0         ; vbroadcastss  0x39aa(%rip),%ymm11        # 6ae8 <_sk_callback_avx+0x2a2>
+  DB  196,98,125,24,29,30,67,0,0          ; vbroadcastss  0x431e(%rip),%ymm11        # 7534 <_sk_callback_avx+0x2ba>
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
-  DB  196,98,125,24,29,160,57,0,0         ; vbroadcastss  0x39a0(%rip),%ymm11        # 6aec <_sk_callback_avx+0x2a6>
+  DB  196,98,125,24,29,20,67,0,0          ; vbroadcastss  0x4314(%rip),%ymm11        # 7538 <_sk_callback_avx+0x2be>
   DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
   DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
-  DB  196,98,125,24,21,145,57,0,0         ; vbroadcastss  0x3991(%rip),%ymm10        # 6af0 <_sk_callback_avx+0x2aa>
+  DB  196,98,125,24,21,5,67,0,0           ; vbroadcastss  0x4305(%rip),%ymm10        # 753c <_sk_callback_avx+0x2c2>
   DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
   DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -8190,7 +8820,7 @@
   DB  196,195,125,74,193,128              ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,5,104,57,0,0          ; vbroadcastss  0x3968(%rip),%ymm8        # 6af4 <_sk_callback_avx+0x2ae>
+  DB  196,98,125,24,5,220,66,0,0          ; vbroadcastss  0x42dc(%rip),%ymm8        # 7540 <_sk_callback_avx+0x2c6>
   DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8210,36 +8840,36 @@
   DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
   DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
   DB  197,124,91,217                      ; vcvtdq2ps     %ymm1,%ymm11
-  DB  196,98,125,24,37,25,57,0,0          ; vbroadcastss  0x3919(%rip),%ymm12        # 6af8 <_sk_callback_avx+0x2b2>
+  DB  196,98,125,24,37,141,66,0,0         ; vbroadcastss  0x428d(%rip),%ymm12        # 7544 <_sk_callback_avx+0x2ca>
   DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,15,57,0,0          ; vbroadcastss  0x390f(%rip),%ymm12        # 6afc <_sk_callback_avx+0x2b6>
+  DB  196,98,125,24,37,131,66,0,0         ; vbroadcastss  0x4283(%rip),%ymm12        # 7548 <_sk_callback_avx+0x2ce>
   DB  196,193,116,84,204                  ; vandps        %ymm12,%ymm1,%ymm1
-  DB  196,98,125,24,37,5,57,0,0           ; vbroadcastss  0x3905(%rip),%ymm12        # 6b00 <_sk_callback_avx+0x2ba>
+  DB  196,98,125,24,37,121,66,0,0         ; vbroadcastss  0x4279(%rip),%ymm12        # 754c <_sk_callback_avx+0x2d2>
   DB  196,193,116,86,204                  ; vorps         %ymm12,%ymm1,%ymm1
-  DB  196,98,125,24,37,251,56,0,0         ; vbroadcastss  0x38fb(%rip),%ymm12        # 6b04 <_sk_callback_avx+0x2be>
+  DB  196,98,125,24,37,111,66,0,0         ; vbroadcastss  0x426f(%rip),%ymm12        # 7550 <_sk_callback_avx+0x2d6>
   DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,241,56,0,0         ; vbroadcastss  0x38f1(%rip),%ymm12        # 6b08 <_sk_callback_avx+0x2c2>
+  DB  196,98,125,24,37,101,66,0,0         ; vbroadcastss  0x4265(%rip),%ymm12        # 7554 <_sk_callback_avx+0x2da>
   DB  196,65,116,89,228                   ; vmulps        %ymm12,%ymm1,%ymm12
   DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,226,56,0,0         ; vbroadcastss  0x38e2(%rip),%ymm12        # 6b0c <_sk_callback_avx+0x2c6>
+  DB  196,98,125,24,37,86,66,0,0          ; vbroadcastss  0x4256(%rip),%ymm12        # 7558 <_sk_callback_avx+0x2de>
   DB  196,193,116,88,204                  ; vaddps        %ymm12,%ymm1,%ymm1
-  DB  196,98,125,24,37,216,56,0,0         ; vbroadcastss  0x38d8(%rip),%ymm12        # 6b10 <_sk_callback_avx+0x2ca>
+  DB  196,98,125,24,37,76,66,0,0          ; vbroadcastss  0x424c(%rip),%ymm12        # 755c <_sk_callback_avx+0x2e2>
   DB  197,156,94,201                      ; vdivps        %ymm1,%ymm12,%ymm1
   DB  197,164,92,201                      ; vsubps        %ymm1,%ymm11,%ymm1
   DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
   DB  196,99,125,8,209,1                  ; vroundps      $0x1,%ymm1,%ymm10
   DB  196,65,116,92,210                   ; vsubps        %ymm10,%ymm1,%ymm10
-  DB  196,98,125,24,29,188,56,0,0         ; vbroadcastss  0x38bc(%rip),%ymm11        # 6b14 <_sk_callback_avx+0x2ce>
+  DB  196,98,125,24,29,48,66,0,0          ; vbroadcastss  0x4230(%rip),%ymm11        # 7560 <_sk_callback_avx+0x2e6>
   DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
-  DB  196,98,125,24,29,178,56,0,0         ; vbroadcastss  0x38b2(%rip),%ymm11        # 6b18 <_sk_callback_avx+0x2d2>
+  DB  196,98,125,24,29,38,66,0,0          ; vbroadcastss  0x4226(%rip),%ymm11        # 7564 <_sk_callback_avx+0x2ea>
   DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
   DB  196,193,116,92,203                  ; vsubps        %ymm11,%ymm1,%ymm1
-  DB  196,98,125,24,29,163,56,0,0         ; vbroadcastss  0x38a3(%rip),%ymm11        # 6b1c <_sk_callback_avx+0x2d6>
+  DB  196,98,125,24,29,23,66,0,0          ; vbroadcastss  0x4217(%rip),%ymm11        # 7568 <_sk_callback_avx+0x2ee>
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
-  DB  196,98,125,24,29,153,56,0,0         ; vbroadcastss  0x3899(%rip),%ymm11        # 6b20 <_sk_callback_avx+0x2da>
+  DB  196,98,125,24,29,13,66,0,0          ; vbroadcastss  0x420d(%rip),%ymm11        # 756c <_sk_callback_avx+0x2f2>
   DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
   DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
-  DB  196,98,125,24,21,138,56,0,0         ; vbroadcastss  0x388a(%rip),%ymm10        # 6b24 <_sk_callback_avx+0x2de>
+  DB  196,98,125,24,21,254,65,0,0         ; vbroadcastss  0x41fe(%rip),%ymm10        # 7570 <_sk_callback_avx+0x2f6>
   DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
   DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -8247,7 +8877,7 @@
   DB  196,195,117,74,201,128              ; vblendvps     %ymm8,%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,98,125,24,5,97,56,0,0           ; vbroadcastss  0x3861(%rip),%ymm8        # 6b28 <_sk_callback_avx+0x2e2>
+  DB  196,98,125,24,5,213,65,0,0          ; vbroadcastss  0x41d5(%rip),%ymm8        # 7574 <_sk_callback_avx+0x2fa>
   DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8267,36 +8897,36 @@
   DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
   DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
   DB  197,124,91,218                      ; vcvtdq2ps     %ymm2,%ymm11
-  DB  196,98,125,24,37,18,56,0,0          ; vbroadcastss  0x3812(%rip),%ymm12        # 6b2c <_sk_callback_avx+0x2e6>
+  DB  196,98,125,24,37,134,65,0,0         ; vbroadcastss  0x4186(%rip),%ymm12        # 7578 <_sk_callback_avx+0x2fe>
   DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,8,56,0,0           ; vbroadcastss  0x3808(%rip),%ymm12        # 6b30 <_sk_callback_avx+0x2ea>
+  DB  196,98,125,24,37,124,65,0,0         ; vbroadcastss  0x417c(%rip),%ymm12        # 757c <_sk_callback_avx+0x302>
   DB  196,193,108,84,212                  ; vandps        %ymm12,%ymm2,%ymm2
-  DB  196,98,125,24,37,254,55,0,0         ; vbroadcastss  0x37fe(%rip),%ymm12        # 6b34 <_sk_callback_avx+0x2ee>
+  DB  196,98,125,24,37,114,65,0,0         ; vbroadcastss  0x4172(%rip),%ymm12        # 7580 <_sk_callback_avx+0x306>
   DB  196,193,108,86,212                  ; vorps         %ymm12,%ymm2,%ymm2
-  DB  196,98,125,24,37,244,55,0,0         ; vbroadcastss  0x37f4(%rip),%ymm12        # 6b38 <_sk_callback_avx+0x2f2>
+  DB  196,98,125,24,37,104,65,0,0         ; vbroadcastss  0x4168(%rip),%ymm12        # 7584 <_sk_callback_avx+0x30a>
   DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,234,55,0,0         ; vbroadcastss  0x37ea(%rip),%ymm12        # 6b3c <_sk_callback_avx+0x2f6>
+  DB  196,98,125,24,37,94,65,0,0          ; vbroadcastss  0x415e(%rip),%ymm12        # 7588 <_sk_callback_avx+0x30e>
   DB  196,65,108,89,228                   ; vmulps        %ymm12,%ymm2,%ymm12
   DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,219,55,0,0         ; vbroadcastss  0x37db(%rip),%ymm12        # 6b40 <_sk_callback_avx+0x2fa>
+  DB  196,98,125,24,37,79,65,0,0          ; vbroadcastss  0x414f(%rip),%ymm12        # 758c <_sk_callback_avx+0x312>
   DB  196,193,108,88,212                  ; vaddps        %ymm12,%ymm2,%ymm2
-  DB  196,98,125,24,37,209,55,0,0         ; vbroadcastss  0x37d1(%rip),%ymm12        # 6b44 <_sk_callback_avx+0x2fe>
+  DB  196,98,125,24,37,69,65,0,0          ; vbroadcastss  0x4145(%rip),%ymm12        # 7590 <_sk_callback_avx+0x316>
   DB  197,156,94,210                      ; vdivps        %ymm2,%ymm12,%ymm2
   DB  197,164,92,210                      ; vsubps        %ymm2,%ymm11,%ymm2
   DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
   DB  196,99,125,8,210,1                  ; vroundps      $0x1,%ymm2,%ymm10
   DB  196,65,108,92,210                   ; vsubps        %ymm10,%ymm2,%ymm10
-  DB  196,98,125,24,29,181,55,0,0         ; vbroadcastss  0x37b5(%rip),%ymm11        # 6b48 <_sk_callback_avx+0x302>
+  DB  196,98,125,24,29,41,65,0,0          ; vbroadcastss  0x4129(%rip),%ymm11        # 7594 <_sk_callback_avx+0x31a>
   DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
-  DB  196,98,125,24,29,171,55,0,0         ; vbroadcastss  0x37ab(%rip),%ymm11        # 6b4c <_sk_callback_avx+0x306>
+  DB  196,98,125,24,29,31,65,0,0          ; vbroadcastss  0x411f(%rip),%ymm11        # 7598 <_sk_callback_avx+0x31e>
   DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
   DB  196,193,108,92,211                  ; vsubps        %ymm11,%ymm2,%ymm2
-  DB  196,98,125,24,29,156,55,0,0         ; vbroadcastss  0x379c(%rip),%ymm11        # 6b50 <_sk_callback_avx+0x30a>
+  DB  196,98,125,24,29,16,65,0,0          ; vbroadcastss  0x4110(%rip),%ymm11        # 759c <_sk_callback_avx+0x322>
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
-  DB  196,98,125,24,29,146,55,0,0         ; vbroadcastss  0x3792(%rip),%ymm11        # 6b54 <_sk_callback_avx+0x30e>
+  DB  196,98,125,24,29,6,65,0,0           ; vbroadcastss  0x4106(%rip),%ymm11        # 75a0 <_sk_callback_avx+0x326>
   DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
   DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
-  DB  196,98,125,24,21,131,55,0,0         ; vbroadcastss  0x3783(%rip),%ymm10        # 6b58 <_sk_callback_avx+0x312>
+  DB  196,98,125,24,21,247,64,0,0         ; vbroadcastss  0x40f7(%rip),%ymm10        # 75a4 <_sk_callback_avx+0x32a>
   DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
   DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -8304,7 +8934,7 @@
   DB  196,195,109,74,209,128              ; vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,24,5,90,55,0,0           ; vbroadcastss  0x375a(%rip),%ymm8        # 6b5c <_sk_callback_avx+0x316>
+  DB  196,98,125,24,5,206,64,0,0          ; vbroadcastss  0x40ce(%rip),%ymm8        # 75a8 <_sk_callback_avx+0x32e>
   DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8324,36 +8954,36 @@
   DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
   DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
   DB  197,124,91,219                      ; vcvtdq2ps     %ymm3,%ymm11
-  DB  196,98,125,24,37,11,55,0,0          ; vbroadcastss  0x370b(%rip),%ymm12        # 6b60 <_sk_callback_avx+0x31a>
+  DB  196,98,125,24,37,127,64,0,0         ; vbroadcastss  0x407f(%rip),%ymm12        # 75ac <_sk_callback_avx+0x332>
   DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,1,55,0,0           ; vbroadcastss  0x3701(%rip),%ymm12        # 6b64 <_sk_callback_avx+0x31e>
+  DB  196,98,125,24,37,117,64,0,0         ; vbroadcastss  0x4075(%rip),%ymm12        # 75b0 <_sk_callback_avx+0x336>
   DB  196,193,100,84,220                  ; vandps        %ymm12,%ymm3,%ymm3
-  DB  196,98,125,24,37,247,54,0,0         ; vbroadcastss  0x36f7(%rip),%ymm12        # 6b68 <_sk_callback_avx+0x322>
+  DB  196,98,125,24,37,107,64,0,0         ; vbroadcastss  0x406b(%rip),%ymm12        # 75b4 <_sk_callback_avx+0x33a>
   DB  196,193,100,86,220                  ; vorps         %ymm12,%ymm3,%ymm3
-  DB  196,98,125,24,37,237,54,0,0         ; vbroadcastss  0x36ed(%rip),%ymm12        # 6b6c <_sk_callback_avx+0x326>
+  DB  196,98,125,24,37,97,64,0,0          ; vbroadcastss  0x4061(%rip),%ymm12        # 75b8 <_sk_callback_avx+0x33e>
   DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,227,54,0,0         ; vbroadcastss  0x36e3(%rip),%ymm12        # 6b70 <_sk_callback_avx+0x32a>
+  DB  196,98,125,24,37,87,64,0,0          ; vbroadcastss  0x4057(%rip),%ymm12        # 75bc <_sk_callback_avx+0x342>
   DB  196,65,100,89,228                   ; vmulps        %ymm12,%ymm3,%ymm12
   DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
-  DB  196,98,125,24,37,212,54,0,0         ; vbroadcastss  0x36d4(%rip),%ymm12        # 6b74 <_sk_callback_avx+0x32e>
+  DB  196,98,125,24,37,72,64,0,0          ; vbroadcastss  0x4048(%rip),%ymm12        # 75c0 <_sk_callback_avx+0x346>
   DB  196,193,100,88,220                  ; vaddps        %ymm12,%ymm3,%ymm3
-  DB  196,98,125,24,37,202,54,0,0         ; vbroadcastss  0x36ca(%rip),%ymm12        # 6b78 <_sk_callback_avx+0x332>
+  DB  196,98,125,24,37,62,64,0,0          ; vbroadcastss  0x403e(%rip),%ymm12        # 75c4 <_sk_callback_avx+0x34a>
   DB  197,156,94,219                      ; vdivps        %ymm3,%ymm12,%ymm3
   DB  197,164,92,219                      ; vsubps        %ymm3,%ymm11,%ymm3
   DB  197,172,89,219                      ; vmulps        %ymm3,%ymm10,%ymm3
   DB  196,99,125,8,211,1                  ; vroundps      $0x1,%ymm3,%ymm10
   DB  196,65,100,92,210                   ; vsubps        %ymm10,%ymm3,%ymm10
-  DB  196,98,125,24,29,174,54,0,0         ; vbroadcastss  0x36ae(%rip),%ymm11        # 6b7c <_sk_callback_avx+0x336>
+  DB  196,98,125,24,29,34,64,0,0          ; vbroadcastss  0x4022(%rip),%ymm11        # 75c8 <_sk_callback_avx+0x34e>
   DB  196,193,100,88,219                  ; vaddps        %ymm11,%ymm3,%ymm3
-  DB  196,98,125,24,29,164,54,0,0         ; vbroadcastss  0x36a4(%rip),%ymm11        # 6b80 <_sk_callback_avx+0x33a>
+  DB  196,98,125,24,29,24,64,0,0          ; vbroadcastss  0x4018(%rip),%ymm11        # 75cc <_sk_callback_avx+0x352>
   DB  196,65,44,89,219                    ; vmulps        %ymm11,%ymm10,%ymm11
   DB  196,193,100,92,219                  ; vsubps        %ymm11,%ymm3,%ymm3
-  DB  196,98,125,24,29,149,54,0,0         ; vbroadcastss  0x3695(%rip),%ymm11        # 6b84 <_sk_callback_avx+0x33e>
+  DB  196,98,125,24,29,9,64,0,0           ; vbroadcastss  0x4009(%rip),%ymm11        # 75d0 <_sk_callback_avx+0x356>
   DB  196,65,36,92,210                    ; vsubps        %ymm10,%ymm11,%ymm10
-  DB  196,98,125,24,29,139,54,0,0         ; vbroadcastss  0x368b(%rip),%ymm11        # 6b88 <_sk_callback_avx+0x342>
+  DB  196,98,125,24,29,255,63,0,0         ; vbroadcastss  0x3fff(%rip),%ymm11        # 75d4 <_sk_callback_avx+0x35a>
   DB  196,65,36,94,210                    ; vdivps        %ymm10,%ymm11,%ymm10
   DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
-  DB  196,98,125,24,21,124,54,0,0         ; vbroadcastss  0x367c(%rip),%ymm10        # 6b8c <_sk_callback_avx+0x346>
+  DB  196,98,125,24,21,240,63,0,0         ; vbroadcastss  0x3ff0(%rip),%ymm10        # 75d8 <_sk_callback_avx+0x35e>
   DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
   DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
   DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
@@ -8361,38 +8991,38 @@
   DB  196,195,101,74,217,128              ; vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
   DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
   DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
-  DB  196,98,125,24,5,83,54,0,0           ; vbroadcastss  0x3653(%rip),%ymm8        # 6b90 <_sk_callback_avx+0x34a>
+  DB  196,98,125,24,5,199,63,0,0          ; vbroadcastss  0x3fc7(%rip),%ymm8        # 75dc <_sk_callback_avx+0x362>
   DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
 
 PUBLIC _sk_lab_to_xyz_avx
 _sk_lab_to_xyz_avx LABEL PROC
-  DB  196,98,125,24,5,69,54,0,0           ; vbroadcastss  0x3645(%rip),%ymm8        # 6b94 <_sk_callback_avx+0x34e>
+  DB  196,98,125,24,5,185,63,0,0          ; vbroadcastss  0x3fb9(%rip),%ymm8        # 75e0 <_sk_callback_avx+0x366>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,5,59,54,0,0           ; vbroadcastss  0x363b(%rip),%ymm8        # 6b98 <_sk_callback_avx+0x352>
+  DB  196,98,125,24,5,175,63,0,0          ; vbroadcastss  0x3faf(%rip),%ymm8        # 75e4 <_sk_callback_avx+0x36a>
   DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
-  DB  196,98,125,24,13,49,54,0,0          ; vbroadcastss  0x3631(%rip),%ymm9        # 6b9c <_sk_callback_avx+0x356>
+  DB  196,98,125,24,13,165,63,0,0         ; vbroadcastss  0x3fa5(%rip),%ymm9        # 75e8 <_sk_callback_avx+0x36e>
   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,29,54,0,0           ; vbroadcastss  0x361d(%rip),%ymm8        # 6ba0 <_sk_callback_avx+0x35a>
+  DB  196,98,125,24,5,145,63,0,0          ; vbroadcastss  0x3f91(%rip),%ymm8        # 75ec <_sk_callback_avx+0x372>
   DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,5,19,54,0,0           ; vbroadcastss  0x3613(%rip),%ymm8        # 6ba4 <_sk_callback_avx+0x35e>
+  DB  196,98,125,24,5,135,63,0,0          ; vbroadcastss  0x3f87(%rip),%ymm8        # 75f0 <_sk_callback_avx+0x376>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,5,9,54,0,0            ; vbroadcastss  0x3609(%rip),%ymm8        # 6ba8 <_sk_callback_avx+0x362>
+  DB  196,98,125,24,5,125,63,0,0          ; vbroadcastss  0x3f7d(%rip),%ymm8        # 75f4 <_sk_callback_avx+0x37a>
   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,251,53,0,0          ; vbroadcastss  0x35fb(%rip),%ymm8        # 6bac <_sk_callback_avx+0x366>
+  DB  196,98,125,24,5,111,63,0,0          ; vbroadcastss  0x3f6f(%rip),%ymm8        # 75f8 <_sk_callback_avx+0x37e>
   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,228,53,0,0         ; vbroadcastss  0x35e4(%rip),%ymm9        # 6bb0 <_sk_callback_avx+0x36a>
+  DB  196,98,125,24,13,88,63,0,0          ; vbroadcastss  0x3f58(%rip),%ymm9        # 75fc <_sk_callback_avx+0x382>
   DB  196,65,52,194,208,1                 ; vcmpltps      %ymm8,%ymm9,%ymm10
-  DB  196,98,125,24,29,217,53,0,0         ; vbroadcastss  0x35d9(%rip),%ymm11        # 6bb4 <_sk_callback_avx+0x36e>
+  DB  196,98,125,24,29,77,63,0,0          ; vbroadcastss  0x3f4d(%rip),%ymm11        # 7600 <_sk_callback_avx+0x386>
   DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
-  DB  196,98,125,24,37,207,53,0,0         ; vbroadcastss  0x35cf(%rip),%ymm12        # 6bb8 <_sk_callback_avx+0x372>
+  DB  196,98,125,24,37,67,63,0,0          ; vbroadcastss  0x3f43(%rip),%ymm12        # 7604 <_sk_callback_avx+0x38a>
   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
@@ -8407,9 +9037,9 @@
   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,133,53,0,0         ; vbroadcastss  0x3585(%rip),%ymm0        # 6bbc <_sk_callback_avx+0x376>
+  DB  196,226,125,24,5,249,62,0,0         ; vbroadcastss  0x3ef9(%rip),%ymm0        # 7608 <_sk_callback_avx+0x38e>
   DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
-  DB  196,98,125,24,5,124,53,0,0          ; vbroadcastss  0x357c(%rip),%ymm8        # 6bc0 <_sk_callback_avx+0x37a>
+  DB  196,98,125,24,5,240,62,0,0          ; vbroadcastss  0x3ef0(%rip),%ymm8        # 760c <_sk_callback_avx+0x392>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8419,15 +9049,15 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,66                              ; jne           3699 <_sk_load_a8_avx+0x4c>
+  DB  117,66                              ; jne           3771 <_sk_load_a8_avx+0x4c>
   DB  196,194,121,48,4,19                 ; vpmovzxbw     (%r11,%rdx,1),%xmm0
-  DB  197,249,219,5,203,55,0,0            ; vpand         0x37cb(%rip),%xmm0,%xmm0        # 6e30 <_sk_callback_avx+0x5ea>
+  DB  197,249,219,5,147,65,0,0            ; vpand         0x4193(%rip),%xmm0,%xmm0        # 78d0 <_sk_callback_avx+0x656>
   DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   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,63,53,0,0         ; vbroadcastss  0x353f(%rip),%ymm1        # 6bc4 <_sk_callback_avx+0x37e>
+  DB  196,226,125,24,13,179,62,0,0        ; vbroadcastss  0x3eb3(%rip),%ymm1        # 7610 <_sk_callback_avx+0x396>
   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
@@ -8439,15 +9069,15 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,176                             ; ja            365d <_sk_load_a8_avx+0x10>
+  DB  119,176                             ; ja            3735 <_sk_load_a8_avx+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,120,0,0,0                 ; lea           0x78(%rip),%r10        # 3730 <_sk_load_a8_avx+0xe3>
+  DB  76,141,21,120,0,0,0                 ; lea           0x78(%rip),%r10        # 3808 <_sk_load_a8_avx+0xe3>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,145                             ; jmp           365d <_sk_load_a8_avx+0x10>
+  DB  235,145                             ; jmp           3735 <_sk_load_a8_avx+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -8455,7 +9085,7 @@
   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          365d <_sk_load_a8_avx+0x10>
+  DB  233,105,255,255,255                 ; jmpq          3735 <_sk_load_a8_avx+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -8466,7 +9096,7 @@
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%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          365d <_sk_load_a8_avx+0x10>
+  DB  233,46,255,255,255                  ; jmpq          3735 <_sk_load_a8_avx+0x10>
   DB  144                                 ; nop
   DB  145                                 ; xchg          %eax,%ecx
   DB  255                                 ; (bad)
@@ -8475,7 +9105,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  233,255,255,255,222                 ; jmpq          ffffffffdf003740 <_sk_callback_avx+0xffffffffdeffcefa>
+  DB  233,255,255,255,222                 ; jmpq          ffffffffdf003818 <_sk_callback_avx+0xffffffffdeffc59e>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,211                             ; callq         *%rbx
@@ -8486,6 +9116,78 @@
   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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,66                              ; jne           3870 <_sk_load_a8_dst_avx+0x4c>
+  DB  196,194,121,48,36,19                ; vpmovzxbw     (%r11,%rdx,1),%xmm4
+  DB  197,217,219,37,164,64,0,0           ; vpand         0x40a4(%rip),%xmm4,%xmm4        # 78e0 <_sk_callback_avx+0x666>
+  DB  197,209,239,237                     ; vpxor         %xmm5,%xmm5,%xmm5
+  DB  197,217,105,237                     ; vpunpckhwd    %xmm5,%xmm4,%xmm5
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,184,61,0,0        ; vbroadcastss  0x3db8(%rip),%ymm5        # 7614 <_sk_callback_avx+0x39a>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,176                             ; ja            3834 <_sk_load_a8_dst_avx+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,121,0,0,0                 ; lea           0x79(%rip),%r10        # 3908 <_sk_load_a8_dst_avx+0xe4>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,145                             ; jmp           3834 <_sk_load_a8_dst_avx+0x10>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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          3834 <_sk_load_a8_dst_avx+0x10>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%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          3834 <_sk_load_a8_dst_avx+0x10>
+  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         ffffffffde003918 <_sk_callback_avx+0xffffffffddffc69e>
+  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_avx
 _sk_gather_a8_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -8528,7 +9230,7 @@
   DB  196,226,121,49,192                  ; vpmovzxbd     %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,176,51,0,0        ; vbroadcastss  0x33b0(%rip),%ymm1        # 6bc8 <_sk_callback_avx+0x382>
+  DB  196,226,125,24,13,40,60,0,0         ; vbroadcastss  0x3c28(%rip),%ymm1        # 7618 <_sk_callback_avx+0x39e>
   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
@@ -8540,14 +9242,14 @@
 _sk_store_a8_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,146,51,0,0          ; vbroadcastss  0x3392(%rip),%ymm8        # 6bcc <_sk_callback_avx+0x386>
+  DB  196,98,125,24,5,10,60,0,0           ; vbroadcastss  0x3c0a(%rip),%ymm8        # 761c <_sk_callback_avx+0x3a2>
   DB  196,65,100,89,192                   ; vmulps        %ymm8,%ymm3,%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  196,65,57,103,192                   ; vpackuswb     %xmm8,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3863 <_sk_store_a8_avx+0x37>
+  DB  117,10                              ; jne           3a3b <_sk_store_a8_avx+0x37>
   DB  196,65,123,17,4,19                  ; vmovsd        %xmm8,(%r11,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8555,25 +9257,25 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            385f <_sk_store_a8_avx+0x33>
+  DB  119,236                             ; ja            3a37 <_sk_store_a8_avx+0x33>
   DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,85,0,0,0                  ; lea           0x55(%rip),%r10        # 38d8 <_sk_store_a8_avx+0xac>
+  DB  76,141,21,85,0,0,0                  ; lea           0x55(%rip),%r10        # 3ab0 <_sk_store_a8_avx+0xac>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,20,4,19,0                ; vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,202                             ; jmp           385f <_sk_store_a8_avx+0x33>
+  DB  235,202                             ; jmp           3a37 <_sk_store_a8_avx+0x33>
   DB  196,67,121,20,68,19,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
-  DB  196,98,57,0,5,154,53,0,0            ; vpshufb       0x359a(%rip),%xmm8,%xmm8        # 6e40 <_sk_callback_avx+0x5fa>
+  DB  196,98,57,0,5,114,62,0,0            ; vpshufb       0x3e72(%rip),%xmm8,%xmm8        # 78f0 <_sk_callback_avx+0x676>
   DB  196,67,121,21,4,19,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,176                             ; jmp           385f <_sk_store_a8_avx+0x33>
+  DB  235,176                             ; jmp           3a37 <_sk_store_a8_avx+0x33>
   DB  196,67,121,20,68,19,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
   DB  196,67,121,20,68,19,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
   DB  196,67,121,20,68,19,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
-  DB  196,98,57,0,5,128,53,0,0            ; vpshufb       0x3580(%rip),%xmm8,%xmm8        # 6e50 <_sk_callback_avx+0x60a>
+  DB  196,98,57,0,5,88,62,0,0             ; vpshufb       0x3e58(%rip),%xmm8,%xmm8        # 7900 <_sk_callback_avx+0x686>
   DB  196,65,121,126,4,19                 ; vmovd         %xmm8,(%r11,%rdx,1)
-  DB  235,135                             ; jmp           385f <_sk_store_a8_avx+0x33>
+  DB  235,135                             ; jmp           3a37 <_sk_store_a8_avx+0x33>
   DB  180,255                             ; mov           $0xff,%ah
   DB  255                                 ; (bad)
   DB  255,197                             ; inc           %ebp
@@ -8599,18 +9301,18 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,71                              ; jne           3945 <_sk_load_g8_avx+0x51>
+  DB  117,71                              ; jne           3b1d <_sk_load_g8_avx+0x51>
   DB  196,194,121,48,4,19                 ; vpmovzxbw     (%r11,%rdx,1),%xmm0
-  DB  197,249,219,5,84,53,0,0             ; vpand         0x3554(%rip),%xmm0,%xmm0        # 6e60 <_sk_callback_avx+0x61a>
+  DB  197,249,219,5,44,62,0,0             ; vpand         0x3e2c(%rip),%xmm0,%xmm0        # 7910 <_sk_callback_avx+0x696>
   DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   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,164,50,0,0        ; vbroadcastss  0x32a4(%rip),%ymm1        # 6bd0 <_sk_callback_avx+0x38a>
+  DB  196,226,125,24,13,28,59,0,0         ; vbroadcastss  0x3b1c(%rip),%ymm1        # 7620 <_sk_callback_avx+0x3a6>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,153,50,0,0        ; vbroadcastss  0x3299(%rip),%ymm3        # 6bd4 <_sk_callback_avx+0x38e>
+  DB  196,226,125,24,29,17,59,0,0         ; vbroadcastss  0x3b11(%rip),%ymm3        # 7624 <_sk_callback_avx+0x3aa>
   DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
   DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
   DB  255,224                             ; jmpq          *%rax
@@ -8619,15 +9321,15 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,171                             ; ja            3904 <_sk_load_g8_avx+0x10>
+  DB  119,171                             ; ja            3adc <_sk_load_g8_avx+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,120,0,0,0                 ; lea           0x78(%rip),%r10        # 39dc <_sk_load_g8_avx+0xe8>
+  DB  76,141,21,120,0,0,0                 ; lea           0x78(%rip),%r10        # 3bb4 <_sk_load_g8_avx+0xe8>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,140                             ; jmp           3904 <_sk_load_g8_avx+0x10>
+  DB  235,140                             ; jmp           3adc <_sk_load_g8_avx+0x10>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
@@ -8635,7 +9337,7 @@
   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,100,255,255,255                 ; jmpq          3904 <_sk_load_g8_avx+0x10>
+  DB  233,100,255,255,255                 ; jmpq          3adc <_sk_load_g8_avx+0x10>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
@@ -8646,7 +9348,7 @@
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%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,41,255,255,255                  ; jmpq          3904 <_sk_load_g8_avx+0x10>
+  DB  233,41,255,255,255                  ; jmpq          3adc <_sk_load_g8_avx+0x10>
   DB  144                                 ; nop
   DB  145                                 ; xchg          %eax,%ecx
   DB  255                                 ; (bad)
@@ -8655,7 +9357,79 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  233,255,255,255,222                 ; jmpq          ffffffffdf0039ec <_sk_callback_avx+0xffffffffdeffd1a6>
+  DB  233,255,255,255,222                 ; jmpq          ffffffffdf003bc4 <_sk_callback_avx+0xffffffffdeffc94a>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,71                              ; jne           3c21 <_sk_load_g8_dst_avx+0x51>
+  DB  196,194,121,48,36,19                ; vpmovzxbw     (%r11,%rdx,1),%xmm4
+  DB  197,217,219,37,56,61,0,0            ; vpand         0x3d38(%rip),%xmm4,%xmm4        # 7920 <_sk_callback_avx+0x6a6>
+  DB  197,209,239,237                     ; vpxor         %xmm5,%xmm5,%xmm5
+  DB  197,217,105,237                     ; vpunpckhwd    %xmm5,%xmm4,%xmm5
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,32,58,0,0         ; vbroadcastss  0x3a20(%rip),%ymm5        # 7628 <_sk_callback_avx+0x3ae>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,21,58,0,0         ; vbroadcastss  0x3a15(%rip),%ymm7        # 762c <_sk_callback_avx+0x3b2>
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  197,252,40,244                      ; vmovaps       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,171                             ; ja            3be0 <_sk_load_g8_dst_avx+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,120,0,0,0                 ; lea           0x78(%rip),%r10        # 3cb8 <_sk_load_g8_dst_avx+0xe8>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,140                             ; jmp           3be0 <_sk_load_g8_dst_avx+0x10>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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,100,255,255,255                 ; jmpq          3be0 <_sk_load_g8_dst_avx+0x10>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%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,41,255,255,255                  ; jmpq          3be0 <_sk_load_g8_dst_avx+0x10>
+  DB  144                                 ; nop
+  DB  145                                 ; xchg          %eax,%ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,171,255,255,255,156             ; ljmp          *-0x63000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  233,255,255,255,222                 ; jmpq          ffffffffdf003cc8 <_sk_callback_avx+0xffffffffdeffca4e>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,211                             ; callq         *%rbx
@@ -8708,10 +9482,10 @@
   DB  196,226,121,49,192                  ; vpmovzxbd     %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,20,49,0,0         ; vbroadcastss  0x3114(%rip),%ymm1        # 6bd8 <_sk_callback_avx+0x392>
+  DB  196,226,125,24,13,144,56,0,0        ; vbroadcastss  0x3890(%rip),%ymm1        # 7630 <_sk_callback_avx+0x3b6>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,9,49,0,0          ; vbroadcastss  0x3109(%rip),%ymm3        # 6bdc <_sk_callback_avx+0x396>
+  DB  196,226,125,24,29,133,56,0,0        ; vbroadcastss  0x3885(%rip),%ymm3        # 7634 <_sk_callback_avx+0x3ba>
   DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
   DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
   DB  255,224                             ; jmpq          *%rax
@@ -8721,9 +9495,9 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,137,193                          ; mov           %rax,%r9
   DB  77,133,201                          ; test          %r9,%r9
-  DB  116,5                               ; je            3aec <_sk_gather_i8_avx+0xf>
+  DB  116,5                               ; je            3dc8 <_sk_gather_i8_avx+0xf>
   DB  76,137,200                          ; mov           %r9,%rax
-  DB  235,2                               ; jmp           3aee <_sk_gather_i8_avx+0x11>
+  DB  235,2                               ; jmp           3dca <_sk_gather_i8_avx+0x11>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  83                                  ; push          %rbx
   DB  76,139,16                           ; mov           (%rax),%r10
@@ -8781,10 +9555,10 @@
   DB  72,193,235,30                       ; shr           $0x1e,%rbx
   DB  196,195,121,34,28,27,3              ; vpinsrd       $0x3,(%r11,%rbx,1),%xmm0,%xmm3
   DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
-  DB  197,124,40,21,244,50,0,0            ; vmovaps       0x32f4(%rip),%ymm10        # 6f00 <_sk_callback_avx+0x6ba>
+  DB  197,124,40,21,248,58,0,0            ; vmovaps       0x3af8(%rip),%ymm10        # 79e0 <_sk_callback_avx+0x766>
   DB  196,193,124,84,194                  ; vandps        %ymm10,%ymm0,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,13,194,47,0,0         ; vbroadcastss  0x2fc2(%rip),%ymm9        # 6be0 <_sk_callback_avx+0x39a>
+  DB  196,98,125,24,13,62,55,0,0          ; vbroadcastss  0x373e(%rip),%ymm9        # 7638 <_sk_callback_avx+0x3be>
   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
@@ -8812,56 +9586,131 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,128,0,0,0                    ; jne           3d0e <_sk_load_565_avx+0x8e>
+  DB  15,133,128,0,0,0                    ; jne           3fea <_sk_load_565_avx+0x8e>
   DB  196,193,122,111,4,83                ; vmovdqu       (%r11,%rdx,2),%xmm0
   DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
-  DB  196,226,125,24,5,52,47,0,0          ; vbroadcastss  0x2f34(%rip),%ymm0        # 6be4 <_sk_callback_avx+0x39e>
+  DB  196,226,125,24,5,176,54,0,0         ; vbroadcastss  0x36b0(%rip),%ymm0        # 763c <_sk_callback_avx+0x3c2>
   DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,39,47,0,0         ; vbroadcastss  0x2f27(%rip),%ymm1        # 6be8 <_sk_callback_avx+0x3a2>
+  DB  196,226,125,24,13,163,54,0,0        ; vbroadcastss  0x36a3(%rip),%ymm1        # 7640 <_sk_callback_avx+0x3c6>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,24,13,30,47,0,0         ; vbroadcastss  0x2f1e(%rip),%ymm1        # 6bec <_sk_callback_avx+0x3a6>
+  DB  196,226,125,24,13,154,54,0,0        ; vbroadcastss  0x369a(%rip),%ymm1        # 7644 <_sk_callback_avx+0x3ca>
   DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,29,17,47,0,0         ; vbroadcastss  0x2f11(%rip),%ymm3        # 6bf0 <_sk_callback_avx+0x3aa>
+  DB  196,226,125,24,29,141,54,0,0        ; vbroadcastss  0x368d(%rip),%ymm3        # 7648 <_sk_callback_avx+0x3ce>
   DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
-  DB  196,226,125,24,29,8,47,0,0          ; vbroadcastss  0x2f08(%rip),%ymm3        # 6bf4 <_sk_callback_avx+0x3ae>
+  DB  196,226,125,24,29,132,54,0,0        ; vbroadcastss  0x3684(%rip),%ymm3        # 764c <_sk_callback_avx+0x3d2>
   DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,226,125,24,29,251,46,0,0        ; vbroadcastss  0x2efb(%rip),%ymm3        # 6bf8 <_sk_callback_avx+0x3b2>
+  DB  196,226,125,24,29,119,54,0,0        ; vbroadcastss  0x3677(%rip),%ymm3        # 7650 <_sk_callback_avx+0x3d6>
   DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,240,46,0,0        ; vbroadcastss  0x2ef0(%rip),%ymm3        # 6bfc <_sk_callback_avx+0x3b6>
+  DB  196,226,125,24,29,108,54,0,0        ; vbroadcastss  0x366c(%rip),%ymm3        # 7654 <_sk_callback_avx+0x3da>
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,110,255,255,255              ; ja            3c94 <_sk_load_565_avx+0x14>
+  DB  15,135,110,255,255,255              ; ja            3f70 <_sk_load_565_avx+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 3d94 <_sk_load_565_avx+0x114>
+  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 4070 <_sk_load_565_avx+0x114>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  233,76,255,255,255                  ; jmpq          3c94 <_sk_load_565_avx+0x14>
+  DB  233,76,255,255,255                  ; jmpq          3f70 <_sk_load_565_avx+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,110,12,83               ; vmovd         (%r11,%rdx,2),%xmm1
   DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
-  DB  233,47,255,255,255                  ; jmpq          3c94 <_sk_load_565_avx+0x14>
+  DB  233,47,255,255,255                  ; jmpq          3f70 <_sk_load_565_avx+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,122,126,12,83               ; vmovq         (%r11,%rdx,2),%xmm1
   DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
-  DB  233,2,255,255,255                   ; jmpq          3c94 <_sk_load_565_avx+0x14>
+  DB  233,2,255,255,255                   ; jmpq          3f70 <_sk_load_565_avx+0x14>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  166                                 ; cmpsb         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,192                             ; inc           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,180,255,255,255,237,255         ; pushq         -0x120001(%rdi,%rdi,8)
+  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,209                             ; callq         *%rcx
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,128,0,0,0                    ; jne           411a <_sk_load_565_dst_avx+0x8e>
+  DB  196,193,122,111,36,83               ; vmovdqu       (%r11,%rdx,2),%xmm4
+  DB  197,209,239,237                     ; vpxor         %xmm5,%xmm5,%xmm5
+  DB  197,217,105,237                     ; vpunpckhwd    %xmm5,%xmm4,%xmm5
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,93,24,245,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm6
+  DB  196,226,125,24,37,156,53,0,0        ; vbroadcastss  0x359c(%rip),%ymm4        # 7658 <_sk_callback_avx+0x3de>
+  DB  197,204,84,228                      ; vandps        %ymm4,%ymm6,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,143,53,0,0        ; vbroadcastss  0x358f(%rip),%ymm5        # 765c <_sk_callback_avx+0x3e2>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,24,45,134,53,0,0        ; vbroadcastss  0x3586(%rip),%ymm5        # 7660 <_sk_callback_avx+0x3e6>
+  DB  197,204,84,237                      ; vandps        %ymm5,%ymm6,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,61,121,53,0,0        ; vbroadcastss  0x3579(%rip),%ymm7        # 7664 <_sk_callback_avx+0x3ea>
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  196,226,125,24,61,112,53,0,0        ; vbroadcastss  0x3570(%rip),%ymm7        # 7668 <_sk_callback_avx+0x3ee>
+  DB  197,204,84,247                      ; vandps        %ymm7,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,226,125,24,61,99,53,0,0         ; vbroadcastss  0x3563(%rip),%ymm7        # 766c <_sk_callback_avx+0x3f2>
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,88,53,0,0         ; vbroadcastss  0x3558(%rip),%ymm7        # 7670 <_sk_callback_avx+0x3f6>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,110,255,255,255              ; ja            40a0 <_sk_load_565_dst_avx+0x14>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 41a0 <_sk_load_565_dst_avx+0x114>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,76,255,255,255                  ; jmpq          40a0 <_sk_load_565_dst_avx+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,83               ; vmovd         (%r11,%rdx,2),%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,47,255,255,255                  ; jmpq          40a0 <_sk_load_565_dst_avx+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,83               ; vmovq         (%r11,%rdx,2),%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,2,255,255,255                   ; jmpq          40a0 <_sk_load_565_dst_avx+0x14>
   DB  102,144                             ; xchg          %ax,%ax
   DB  166                                 ; cmpsb         %es:(%rdi),%ds:(%rsi)
   DB  255                                 ; (bad)
@@ -8928,37 +9777,37 @@
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
-  DB  196,226,125,24,5,126,45,0,0         ; vbroadcastss  0x2d7e(%rip),%ymm0        # 6c00 <_sk_callback_avx+0x3ba>
+  DB  196,226,125,24,5,230,51,0,0         ; vbroadcastss  0x33e6(%rip),%ymm0        # 7674 <_sk_callback_avx+0x3fa>
   DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,113,45,0,0        ; vbroadcastss  0x2d71(%rip),%ymm1        # 6c04 <_sk_callback_avx+0x3be>
+  DB  196,226,125,24,13,217,51,0,0        ; vbroadcastss  0x33d9(%rip),%ymm1        # 7678 <_sk_callback_avx+0x3fe>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,24,13,104,45,0,0        ; vbroadcastss  0x2d68(%rip),%ymm1        # 6c08 <_sk_callback_avx+0x3c2>
+  DB  196,226,125,24,13,208,51,0,0        ; vbroadcastss  0x33d0(%rip),%ymm1        # 767c <_sk_callback_avx+0x402>
   DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,29,91,45,0,0         ; vbroadcastss  0x2d5b(%rip),%ymm3        # 6c0c <_sk_callback_avx+0x3c6>
+  DB  196,226,125,24,29,195,51,0,0        ; vbroadcastss  0x33c3(%rip),%ymm3        # 7680 <_sk_callback_avx+0x406>
   DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
-  DB  196,226,125,24,29,82,45,0,0         ; vbroadcastss  0x2d52(%rip),%ymm3        # 6c10 <_sk_callback_avx+0x3ca>
+  DB  196,226,125,24,29,186,51,0,0        ; vbroadcastss  0x33ba(%rip),%ymm3        # 7684 <_sk_callback_avx+0x40a>
   DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,226,125,24,29,69,45,0,0         ; vbroadcastss  0x2d45(%rip),%ymm3        # 6c14 <_sk_callback_avx+0x3ce>
+  DB  196,226,125,24,29,173,51,0,0        ; vbroadcastss  0x33ad(%rip),%ymm3        # 7688 <_sk_callback_avx+0x40e>
   DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,58,45,0,0         ; vbroadcastss  0x2d3a(%rip),%ymm3        # 6c18 <_sk_callback_avx+0x3d2>
+  DB  196,226,125,24,29,162,51,0,0        ; vbroadcastss  0x33a2(%rip),%ymm3        # 768c <_sk_callback_avx+0x412>
   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,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,46,45,0,0           ; vbroadcastss  0x2d2e(%rip),%ymm8        # 6c1c <_sk_callback_avx+0x3d6>
+  DB  196,98,125,24,5,150,51,0,0          ; vbroadcastss  0x3396(%rip),%ymm8        # 7690 <_sk_callback_avx+0x416>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,193,41,114,241,11               ; vpslld        $0xb,%xmm9,%xmm10
   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,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
-  DB  196,98,125,24,21,7,45,0,0           ; vbroadcastss  0x2d07(%rip),%ymm10        # 6c20 <_sk_callback_avx+0x3da>
+  DB  196,98,125,24,21,111,51,0,0         ; vbroadcastss  0x336f(%rip),%ymm10        # 7694 <_sk_callback_avx+0x41a>
   DB  196,65,116,89,210                   ; vmulps        %ymm10,%ymm1,%ymm10
   DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
   DB  196,193,33,114,242,5                ; vpslld        $0x5,%xmm10,%xmm11
@@ -8972,7 +9821,7 @@
   DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
   DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3f69 <_sk_store_565_avx+0x89>
+  DB  117,10                              ; jne           4375 <_sk_store_565_avx+0x89>
   DB  196,65,122,127,4,83                 ; vmovdqu       %xmm8,(%r11,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -8980,22 +9829,22 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            3f65 <_sk_store_565_avx+0x85>
+  DB  119,236                             ; ja            4371 <_sk_store_565_avx+0x85>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,68,0,0,0                  ; lea           0x44(%rip),%r10        # 3fc8 <_sk_store_565_avx+0xe8>
+  DB  76,141,21,68,0,0,0                  ; lea           0x44(%rip),%r10        # 43d4 <_sk_store_565_avx+0xe8>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,21,4,83,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  DB  235,207                             ; jmp           3f65 <_sk_store_565_avx+0x85>
+  DB  235,207                             ; jmp           4371 <_sk_store_565_avx+0x85>
   DB  196,67,121,21,68,83,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   DB  196,65,121,126,4,83                 ; vmovd         %xmm8,(%r11,%rdx,2)
-  DB  235,191                             ; jmp           3f65 <_sk_store_565_avx+0x85>
+  DB  235,191                             ; jmp           4371 <_sk_store_565_avx+0x85>
   DB  196,67,121,21,68,83,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   DB  196,67,121,21,68,83,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   DB  196,67,121,21,68,83,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   DB  196,65,121,214,4,83                 ; vmovq         %xmm8,(%r11,%rdx,2)
-  DB  235,159                             ; jmp           3f65 <_sk_store_565_avx+0x85>
+  DB  235,159                             ; jmp           4371 <_sk_store_565_avx+0x85>
   DB  102,144                             ; xchg          %ax,%ax
   DB  197,255,255                         ; (bad)
   DB  255,214                             ; callq         *%rsi
@@ -9024,31 +9873,31 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,152,0,0,0                    ; jne           408a <_sk_load_4444_avx+0xa6>
+  DB  15,133,152,0,0,0                    ; jne           4496 <_sk_load_4444_avx+0xa6>
   DB  196,193,122,111,4,83                ; vmovdqu       (%r11,%rdx,2),%xmm0
   DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
-  DB  196,226,125,24,5,16,44,0,0          ; vbroadcastss  0x2c10(%rip),%ymm0        # 6c24 <_sk_callback_avx+0x3de>
+  DB  196,226,125,24,5,120,50,0,0         ; vbroadcastss  0x3278(%rip),%ymm0        # 7698 <_sk_callback_avx+0x41e>
   DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,3,44,0,0          ; vbroadcastss  0x2c03(%rip),%ymm1        # 6c28 <_sk_callback_avx+0x3e2>
+  DB  196,226,125,24,13,107,50,0,0        ; vbroadcastss  0x326b(%rip),%ymm1        # 769c <_sk_callback_avx+0x422>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,24,13,250,43,0,0        ; vbroadcastss  0x2bfa(%rip),%ymm1        # 6c2c <_sk_callback_avx+0x3e6>
+  DB  196,226,125,24,13,98,50,0,0         ; vbroadcastss  0x3262(%rip),%ymm1        # 76a0 <_sk_callback_avx+0x426>
   DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,21,237,43,0,0        ; vbroadcastss  0x2bed(%rip),%ymm2        # 6c30 <_sk_callback_avx+0x3ea>
+  DB  196,226,125,24,21,85,50,0,0         ; vbroadcastss  0x3255(%rip),%ymm2        # 76a4 <_sk_callback_avx+0x42a>
   DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
-  DB  196,226,125,24,21,228,43,0,0        ; vbroadcastss  0x2be4(%rip),%ymm2        # 6c34 <_sk_callback_avx+0x3ee>
+  DB  196,226,125,24,21,76,50,0,0         ; vbroadcastss  0x324c(%rip),%ymm2        # 76a8 <_sk_callback_avx+0x42e>
   DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,98,125,24,5,215,43,0,0          ; vbroadcastss  0x2bd7(%rip),%ymm8        # 6c38 <_sk_callback_avx+0x3f2>
+  DB  196,98,125,24,5,63,50,0,0           ; vbroadcastss  0x323f(%rip),%ymm8        # 76ac <_sk_callback_avx+0x432>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,24,5,205,43,0,0          ; vbroadcastss  0x2bcd(%rip),%ymm8        # 6c3c <_sk_callback_avx+0x3f6>
+  DB  196,98,125,24,5,53,50,0,0           ; vbroadcastss  0x3235(%rip),%ymm8        # 76b0 <_sk_callback_avx+0x436>
   DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
   DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
-  DB  196,98,125,24,5,191,43,0,0          ; vbroadcastss  0x2bbf(%rip),%ymm8        # 6c40 <_sk_callback_avx+0x3fa>
+  DB  196,98,125,24,5,39,50,0,0           ; vbroadcastss  0x3227(%rip),%ymm8        # 76b4 <_sk_callback_avx+0x43a>
   DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -9057,27 +9906,106 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,86,255,255,255               ; ja            3ff8 <_sk_load_4444_avx+0x14>
+  DB  15,135,86,255,255,255               ; ja            4404 <_sk_load_4444_avx+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 4110 <_sk_load_4444_avx+0x12c>
+  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 451c <_sk_load_4444_avx+0x12c>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  233,52,255,255,255                  ; jmpq          3ff8 <_sk_load_4444_avx+0x14>
+  DB  233,52,255,255,255                  ; jmpq          4404 <_sk_load_4444_avx+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,110,12,83               ; vmovd         (%r11,%rdx,2),%xmm1
   DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
-  DB  233,23,255,255,255                  ; jmpq          3ff8 <_sk_load_4444_avx+0x14>
+  DB  233,23,255,255,255                  ; jmpq          4404 <_sk_load_4444_avx+0x14>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,193,121,196,68,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,121,196,68,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
   DB  196,193,122,126,12,83               ; vmovq         (%r11,%rdx,2),%xmm1
   DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
-  DB  233,234,254,255,255                 ; jmpq          3ff8 <_sk_load_4444_avx+0x14>
+  DB  233,234,254,255,255                 ; jmpq          4404 <_sk_load_4444_avx+0x14>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  166                                 ; cmpsb         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,192                             ; inc           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,180,255,255,255,237,255         ; pushq         -0x120001(%rdi,%rdi,8)
+  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,209                             ; callq         *%rcx
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,152,0,0,0                    ; jne           45de <_sk_load_4444_dst_avx+0xa6>
+  DB  196,193,122,111,36,83               ; vmovdqu       (%r11,%rdx,2),%xmm4
+  DB  197,209,239,237                     ; vpxor         %xmm5,%xmm5,%xmm5
+  DB  197,217,105,237                     ; vpunpckhwd    %xmm5,%xmm4,%xmm5
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,93,24,253,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm7
+  DB  196,226,125,24,37,80,49,0,0         ; vbroadcastss  0x3150(%rip),%ymm4        # 76b8 <_sk_callback_avx+0x43e>
+  DB  197,196,84,228                      ; vandps        %ymm4,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,67,49,0,0         ; vbroadcastss  0x3143(%rip),%ymm5        # 76bc <_sk_callback_avx+0x442>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,24,45,58,49,0,0         ; vbroadcastss  0x313a(%rip),%ymm5        # 76c0 <_sk_callback_avx+0x446>
+  DB  197,196,84,237                      ; vandps        %ymm5,%ymm7,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,53,45,49,0,0         ; vbroadcastss  0x312d(%rip),%ymm6        # 76c4 <_sk_callback_avx+0x44a>
+  DB  197,212,89,238                      ; vmulps        %ymm6,%ymm5,%ymm5
+  DB  196,226,125,24,53,36,49,0,0         ; vbroadcastss  0x3124(%rip),%ymm6        # 76c8 <_sk_callback_avx+0x44e>
+  DB  197,196,84,246                      ; vandps        %ymm6,%ymm7,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,98,125,24,5,23,49,0,0           ; vbroadcastss  0x3117(%rip),%ymm8        # 76cc <_sk_callback_avx+0x452>
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,98,125,24,5,13,49,0,0           ; vbroadcastss  0x310d(%rip),%ymm8        # 76d0 <_sk_callback_avx+0x456>
+  DB  196,193,68,84,248                   ; vandps        %ymm8,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,255,48,0,0          ; vbroadcastss  0x30ff(%rip),%ymm8        # 76d4 <_sk_callback_avx+0x45a>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,86,255,255,255               ; ja            454c <_sk_load_4444_dst_avx+0x14>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,99,0,0,0                  ; lea           0x63(%rip),%r10        # 4664 <_sk_load_4444_dst_avx+0x12c>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,83                      ; movzwl        (%r11,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,52,255,255,255                  ; jmpq          454c <_sk_load_4444_dst_avx+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,4,2           ; vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,83               ; vmovd         (%r11,%rdx,2),%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,23,255,255,255                  ; jmpq          454c <_sk_load_4444_dst_avx+0x14>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,83,12,6          ; vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,10,5          ; vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,83,8,4           ; vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,83               ; vmovq         (%r11,%rdx,2),%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,234,254,255,255                 ; jmpq          454c <_sk_load_4444_dst_avx+0x14>
   DB  102,144                             ; xchg          %ax,%ax
   DB  166                                 ; cmpsb         %es:(%rdi),%ds:(%rsi)
   DB  255                                 ; (bad)
@@ -9144,25 +10072,25 @@
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
-  DB  196,226,125,24,5,70,42,0,0          ; vbroadcastss  0x2a46(%rip),%ymm0        # 6c44 <_sk_callback_avx+0x3fe>
+  DB  196,226,125,24,5,134,47,0,0         ; vbroadcastss  0x2f86(%rip),%ymm0        # 76d8 <_sk_callback_avx+0x45e>
   DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,226,125,24,13,57,42,0,0         ; vbroadcastss  0x2a39(%rip),%ymm1        # 6c48 <_sk_callback_avx+0x402>
+  DB  196,226,125,24,13,121,47,0,0        ; vbroadcastss  0x2f79(%rip),%ymm1        # 76dc <_sk_callback_avx+0x462>
   DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,24,13,48,42,0,0         ; vbroadcastss  0x2a30(%rip),%ymm1        # 6c4c <_sk_callback_avx+0x406>
+  DB  196,226,125,24,13,112,47,0,0        ; vbroadcastss  0x2f70(%rip),%ymm1        # 76e0 <_sk_callback_avx+0x466>
   DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
   DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
-  DB  196,226,125,24,21,35,42,0,0         ; vbroadcastss  0x2a23(%rip),%ymm2        # 6c50 <_sk_callback_avx+0x40a>
+  DB  196,226,125,24,21,99,47,0,0         ; vbroadcastss  0x2f63(%rip),%ymm2        # 76e4 <_sk_callback_avx+0x46a>
   DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
-  DB  196,226,125,24,21,26,42,0,0         ; vbroadcastss  0x2a1a(%rip),%ymm2        # 6c54 <_sk_callback_avx+0x40e>
+  DB  196,226,125,24,21,90,47,0,0         ; vbroadcastss  0x2f5a(%rip),%ymm2        # 76e8 <_sk_callback_avx+0x46e>
   DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
-  DB  196,98,125,24,5,13,42,0,0           ; vbroadcastss  0x2a0d(%rip),%ymm8        # 6c58 <_sk_callback_avx+0x412>
+  DB  196,98,125,24,5,77,47,0,0           ; vbroadcastss  0x2f4d(%rip),%ymm8        # 76ec <_sk_callback_avx+0x472>
   DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
-  DB  196,98,125,24,5,3,42,0,0            ; vbroadcastss  0x2a03(%rip),%ymm8        # 6c5c <_sk_callback_avx+0x416>
+  DB  196,98,125,24,5,67,47,0,0           ; vbroadcastss  0x2f43(%rip),%ymm8        # 76f0 <_sk_callback_avx+0x476>
   DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
   DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
-  DB  196,98,125,24,5,245,41,0,0          ; vbroadcastss  0x29f5(%rip),%ymm8        # 6c60 <_sk_callback_avx+0x41a>
+  DB  196,98,125,24,5,53,47,0,0           ; vbroadcastss  0x2f35(%rip),%ymm8        # 76f4 <_sk_callback_avx+0x47a>
   DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -9171,7 +10099,7 @@
 _sk_store_4444_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
-  DB  196,98,125,24,5,226,41,0,0          ; vbroadcastss  0x29e2(%rip),%ymm8        # 6c64 <_sk_callback_avx+0x41e>
+  DB  196,98,125,24,5,34,47,0,0           ; vbroadcastss  0x2f22(%rip),%ymm8        # 76f8 <_sk_callback_avx+0x47e>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,193,41,114,241,12               ; vpslld        $0xc,%xmm9,%xmm10
@@ -9198,7 +10126,7 @@
   DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
   DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           431b <_sk_store_4444_avx+0xa7>
+  DB  117,10                              ; jne           486f <_sk_store_4444_avx+0xa7>
   DB  196,65,122,127,4,83                 ; vmovdqu       %xmm8,(%r11,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -9206,22 +10134,22 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            4317 <_sk_store_4444_avx+0xa3>
+  DB  119,236                             ; ja            486b <_sk_store_4444_avx+0xa3>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,66,0,0,0                  ; lea           0x42(%rip),%r10        # 4378 <_sk_store_4444_avx+0x104>
+  DB  76,141,21,66,0,0,0                  ; lea           0x42(%rip),%r10        # 48cc <_sk_store_4444_avx+0x104>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,21,4,83,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
-  DB  235,207                             ; jmp           4317 <_sk_store_4444_avx+0xa3>
+  DB  235,207                             ; jmp           486b <_sk_store_4444_avx+0xa3>
   DB  196,67,121,21,68,83,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
   DB  196,65,121,126,4,83                 ; vmovd         %xmm8,(%r11,%rdx,2)
-  DB  235,191                             ; jmp           4317 <_sk_store_4444_avx+0xa3>
+  DB  235,191                             ; jmp           486b <_sk_store_4444_avx+0xa3>
   DB  196,67,121,21,68,83,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
   DB  196,67,121,21,68,83,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
   DB  196,67,121,21,68,83,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
   DB  196,65,121,214,4,83                 ; vmovq         %xmm8,(%r11,%rdx,2)
-  DB  235,159                             ; jmp           4317 <_sk_store_4444_avx+0xa3>
+  DB  235,159                             ; jmp           486b <_sk_store_4444_avx+0xa3>
   DB  199                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -9239,7 +10167,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  232,255,255,255,224                 ; callq         ffffffffe1004390 <_sk_callback_avx+0xffffffffe0ffdb4a>
+  DB  232,255,255,255,224                 ; callq         ffffffffe10048e4 <_sk_callback_avx+0xffffffffe0ffd66a>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
@@ -9252,12 +10180,12 @@
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,139,0,0,0                    ; jne           4439 <_sk_load_8888_avx+0xa5>
+  DB  15,133,139,0,0,0                    ; jne           498d <_sk_load_8888_avx+0xa5>
   DB  196,193,124,16,26                   ; vmovups       (%r10),%ymm3
-  DB  197,124,40,21,101,43,0,0            ; vmovaps       0x2b65(%rip),%ymm10        # 6f20 <_sk_callback_avx+0x6da>
+  DB  197,124,40,21,241,48,0,0            ; vmovaps       0x30f1(%rip),%ymm10        # 7a00 <_sk_callback_avx+0x786>
   DB  196,193,100,84,194                  ; vandps        %ymm10,%ymm3,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,5,155,40,0,0          ; vbroadcastss  0x289b(%rip),%ymm8        # 6c68 <_sk_callback_avx+0x422>
+  DB  196,98,125,24,5,219,45,0,0          ; vbroadcastss  0x2ddb(%rip),%ymm8        # 76fc <_sk_callback_avx+0x482>
   DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
   DB  197,241,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm1
   DB  196,195,125,25,217,1                ; vextractf128  $0x1,%ymm3,%xmm9
@@ -9288,13 +10216,65 @@
   DB  72,211,232                          ; shr           %cl,%rax
   DB  196,225,249,110,192                 ; vmovq         %rax,%xmm0
   DB  196,226,121,48,192                  ; vpmovzxbw     %xmm0,%xmm0
-  DB  196,226,121,0,13,15,42,0,0          ; vpshufb       0x2a0f(%rip),%xmm0,%xmm1        # 6e70 <_sk_callback_avx+0x62a>
+  DB  196,226,121,0,13,123,47,0,0         ; vpshufb       0x2f7b(%rip),%xmm0,%xmm1        # 7930 <_sk_callback_avx+0x6b6>
   DB  196,226,121,33,201                  ; vpmovsxbd     %xmm1,%xmm1
-  DB  196,226,121,0,5,17,42,0,0           ; vpshufb       0x2a11(%rip),%xmm0,%xmm0        # 6e80 <_sk_callback_avx+0x63a>
+  DB  196,226,121,0,5,125,47,0,0          ; vpshufb       0x2f7d(%rip),%xmm0,%xmm0        # 7940 <_sk_callback_avx+0x6c6>
   DB  196,226,121,33,192                  ; vpmovsxbd     %xmm0,%xmm0
   DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
   DB  196,194,125,44,26                   ; vmaskmovps    (%r10),%ymm0,%ymm3
-  DB  233,47,255,255,255                  ; jmpq          43b3 <_sk_load_8888_avx+0x1f>
+  DB  233,47,255,255,255                  ; jmpq          4907 <_sk_load_8888_avx+0x1f>
+
+PUBLIC _sk_load_8888_dst_avx
+_sk_load_8888_dst_avx LABEL PROC
+  DB  80                                  ; push          %rax
+  DB  73,137,201                          ; mov           %rcx,%r9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
+  DB  76,3,16                             ; add           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,139,0,0,0                    ; jne           4a7d <_sk_load_8888_dst_avx+0xa5>
+  DB  196,193,124,16,58                   ; vmovups       (%r10),%ymm7
+  DB  197,124,40,21,33,48,0,0             ; vmovaps       0x3021(%rip),%ymm10        # 7a20 <_sk_callback_avx+0x7a6>
+  DB  196,193,68,84,226                   ; vandps        %ymm10,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,239,44,0,0          ; vbroadcastss  0x2cef(%rip),%ymm8        # 7700 <_sk_callback_avx+0x486>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  197,209,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm5
+  DB  196,195,125,25,249,1                ; vextractf128  $0x1,%ymm7,%xmm9
+  DB  196,193,73,114,209,8                ; vpsrld        $0x8,%xmm9,%xmm6
+  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  DB  196,193,84,84,234                   ; vandps        %ymm10,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  197,161,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm11
+  DB  196,193,73,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm6
+  DB  196,227,37,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
+  DB  196,193,76,84,242                   ; vandps        %ymm10,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  197,169,114,215,24                  ; vpsrld        $0x18,%xmm7,%xmm10
+  DB  196,193,65,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm7
+  DB  196,227,45,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm10,%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  76,137,201                          ; mov           %r9,%rcx
+  DB  65,89                               ; pop           %r9
+  DB  255,224                             ; jmpq          *%rax
+  DB  185,8,0,0,0                         ; mov           $0x8,%ecx
+  DB  68,41,193                           ; sub           %r8d,%ecx
+  DB  192,225,3                           ; shl           $0x3,%cl
+  DB  72,199,192,255,255,255,255          ; mov           $0xffffffffffffffff,%rax
+  DB  72,211,232                          ; shr           %cl,%rax
+  DB  196,225,249,110,224                 ; vmovq         %rax,%xmm4
+  DB  196,226,121,48,228                  ; vpmovzxbw     %xmm4,%xmm4
+  DB  196,226,89,0,45,171,46,0,0          ; vpshufb       0x2eab(%rip),%xmm4,%xmm5        # 7950 <_sk_callback_avx+0x6d6>
+  DB  196,226,121,33,237                  ; vpmovsxbd     %xmm5,%xmm5
+  DB  196,226,89,0,37,173,46,0,0          ; vpshufb       0x2ead(%rip),%xmm4,%xmm4        # 7960 <_sk_callback_avx+0x6e6>
+  DB  196,226,121,33,228                  ; vpmovsxbd     %xmm4,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,194,93,44,58                    ; vmaskmovps    (%r10),%ymm4,%ymm7
+  DB  233,47,255,255,255                  ; jmpq          49f7 <_sk_load_8888_dst_avx+0x1f>
 
 PUBLIC _sk_gather_8888_avx
 _sk_gather_8888_avx LABEL PROC
@@ -9331,10 +10311,10 @@
   DB  73,193,234,32                       ; shr           $0x20,%r10
   DB  196,131,121,34,28,145,3             ; vpinsrd       $0x3,(%r9,%r10,4),%xmm0,%xmm3
   DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
-  DB  197,124,40,21,17,42,0,0             ; vmovaps       0x2a11(%rip),%ymm10        # 6f40 <_sk_callback_avx+0x6fa>
+  DB  197,124,40,21,205,46,0,0            ; vmovaps       0x2ecd(%rip),%ymm10        # 7a40 <_sk_callback_avx+0x7c6>
   DB  196,193,124,84,194                  ; vandps        %ymm10,%ymm0,%ymm0
   DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
-  DB  196,98,125,24,13,43,39,0,0          ; vbroadcastss  0x272b(%rip),%ymm9        # 6c6c <_sk_callback_avx+0x426>
+  DB  196,98,125,24,13,127,43,0,0         ; vbroadcastss  0x2b7f(%rip),%ymm9        # 7704 <_sk_callback_avx+0x48a>
   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
@@ -9363,7 +10343,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  76,3,16                             ; add           (%rax),%r10
-  DB  196,98,125,24,5,180,38,0,0          ; vbroadcastss  0x26b4(%rip),%ymm8        # 6c70 <_sk_callback_avx+0x42a>
+  DB  196,98,125,24,5,8,43,0,0            ; vbroadcastss  0x2b08(%rip),%ymm8        # 7708 <_sk_callback_avx+0x48e>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
@@ -9388,7 +10368,7 @@
   DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
   DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,14                              ; jne           464e <_sk_store_8888_avx+0xac>
+  DB  117,14                              ; jne           4c92 <_sk_store_8888_avx+0xac>
   DB  196,65,124,17,2                     ; vmovups       %ymm8,(%r10)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,137,201                          ; mov           %r9,%rcx
@@ -9401,13 +10381,13 @@
   DB  72,211,232                          ; shr           %cl,%rax
   DB  196,97,249,110,200                  ; vmovq         %rax,%xmm9
   DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
-  DB  196,98,49,0,21,26,40,0,0            ; vpshufb       0x281a(%rip),%xmm9,%xmm10        # 6e90 <_sk_callback_avx+0x64a>
+  DB  196,98,49,0,21,182,44,0,0           ; vpshufb       0x2cb6(%rip),%xmm9,%xmm10        # 7970 <_sk_callback_avx+0x6f6>
   DB  196,66,121,33,210                   ; vpmovsxbd     %xmm10,%xmm10
-  DB  196,98,49,0,13,28,40,0,0            ; vpshufb       0x281c(%rip),%xmm9,%xmm9        # 6ea0 <_sk_callback_avx+0x65a>
+  DB  196,98,49,0,13,184,44,0,0           ; vpshufb       0x2cb8(%rip),%xmm9,%xmm9        # 7980 <_sk_callback_avx+0x706>
   DB  196,66,121,33,201                   ; vpmovsxbd     %xmm9,%xmm9
   DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
   DB  196,66,53,46,2                      ; vmaskmovps    %ymm8,%ymm9,(%r10)
-  DB  235,175                             ; jmp           4645 <_sk_store_8888_avx+0xa3>
+  DB  235,175                             ; jmp           4c89 <_sk_store_8888_avx+0xa3>
 
 PUBLIC _sk_load_f16_avx
 _sk_load_f16_avx LABEL PROC
@@ -9419,7 +10399,7 @@
   DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
   DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
   DB  197,254,127,36,36                   ; vmovdqu       %ymm4,(%rsp)
-  DB  15,133,143,2,0,0                    ; jne           4951 <_sk_load_f16_avx+0x2bb>
+  DB  15,133,143,2,0,0                    ; jne           4f95 <_sk_load_f16_avx+0x2bb>
   DB  197,121,16,4,208                    ; vmovupd       (%rax,%rdx,8),%xmm8
   DB  197,249,16,84,208,16                ; vmovupd       0x10(%rax,%rdx,8),%xmm2
   DB  197,249,16,76,208,32                ; vmovupd       0x20(%rax,%rdx,8),%xmm1
@@ -9437,13 +10417,13 @@
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
-  DB  196,98,125,24,37,89,37,0,0          ; vbroadcastss  0x2559(%rip),%ymm12        # 6c74 <_sk_callback_avx+0x42e>
+  DB  196,98,125,24,37,173,41,0,0         ; vbroadcastss  0x29ad(%rip),%ymm12        # 770c <_sk_callback_avx+0x492>
   DB  196,193,124,84,204                  ; vandps        %ymm12,%ymm0,%ymm1
   DB  197,252,87,193                      ; vxorps        %ymm1,%ymm0,%ymm0
   DB  196,195,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm14
-  DB  196,98,121,24,29,69,37,0,0          ; vbroadcastss  0x2545(%rip),%xmm11        # 6c78 <_sk_callback_avx+0x432>
+  DB  196,98,121,24,29,153,41,0,0         ; vbroadcastss  0x2999(%rip),%xmm11        # 7710 <_sk_callback_avx+0x496>
   DB  196,193,8,87,219                    ; vxorps        %xmm11,%xmm14,%xmm3
-  DB  196,98,121,24,45,59,37,0,0          ; vbroadcastss  0x253b(%rip),%xmm13        # 6c7c <_sk_callback_avx+0x436>
+  DB  196,98,121,24,45,143,41,0,0         ; vbroadcastss  0x298f(%rip),%xmm13        # 7714 <_sk_callback_avx+0x49a>
   DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
   DB  196,65,120,87,211                   ; vxorps        %xmm11,%xmm0,%xmm10
   DB  196,65,17,102,210                   ; vpcmpgtd      %xmm10,%xmm13,%xmm10
@@ -9457,7 +10437,7 @@
   DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
   DB  197,252,86,193                      ; vorps         %ymm1,%ymm0,%ymm0
   DB  196,227,125,25,193,1                ; vextractf128  $0x1,%ymm0,%xmm1
-  DB  196,226,121,24,29,241,36,0,0        ; vbroadcastss  0x24f1(%rip),%xmm3        # 6c80 <_sk_callback_avx+0x43a>
+  DB  196,226,121,24,29,69,41,0,0         ; vbroadcastss  0x2945(%rip),%xmm3        # 7718 <_sk_callback_avx+0x49e>
   DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
   DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
   DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
@@ -9550,29 +10530,194 @@
   DB  197,123,16,4,208                    ; vmovsd        (%rax,%rdx,8),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,79                              ; je            49b0 <_sk_load_f16_avx+0x31a>
+  DB  116,79                              ; je            4ff4 <_sk_load_f16_avx+0x31a>
   DB  197,57,22,68,208,8                  ; vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,67                              ; jb            49b0 <_sk_load_f16_avx+0x31a>
+  DB  114,67                              ; jb            4ff4 <_sk_load_f16_avx+0x31a>
   DB  197,251,16,84,208,16                ; vmovsd        0x10(%rax,%rdx,8),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,68                              ; je            49bd <_sk_load_f16_avx+0x327>
+  DB  116,68                              ; je            5001 <_sk_load_f16_avx+0x327>
   DB  197,233,22,84,208,24                ; vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,56                              ; jb            49bd <_sk_load_f16_avx+0x327>
+  DB  114,56                              ; jb            5001 <_sk_load_f16_avx+0x327>
   DB  197,251,16,76,208,32                ; vmovsd        0x20(%rax,%rdx,8),%xmm1
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,68,253,255,255               ; je            46d9 <_sk_load_f16_avx+0x43>
+  DB  15,132,68,253,255,255               ; je            4d1d <_sk_load_f16_avx+0x43>
   DB  197,241,22,76,208,40                ; vmovhpd       0x28(%rax,%rdx,8),%xmm1,%xmm1
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,52,253,255,255               ; jb            46d9 <_sk_load_f16_avx+0x43>
+  DB  15,130,52,253,255,255               ; jb            4d1d <_sk_load_f16_avx+0x43>
   DB  197,122,126,76,208,48               ; vmovq         0x30(%rax,%rdx,8),%xmm9
-  DB  233,41,253,255,255                  ; jmpq          46d9 <_sk_load_f16_avx+0x43>
+  DB  233,41,253,255,255                  ; jmpq          4d1d <_sk_load_f16_avx+0x43>
   DB  197,241,87,201                      ; vxorpd        %xmm1,%xmm1,%xmm1
   DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
-  DB  233,28,253,255,255                  ; jmpq          46d9 <_sk_load_f16_avx+0x43>
+  DB  233,28,253,255,255                  ; jmpq          4d1d <_sk_load_f16_avx+0x43>
   DB  197,241,87,201                      ; vxorpd        %xmm1,%xmm1,%xmm1
-  DB  233,19,253,255,255                  ; jmpq          46d9 <_sk_load_f16_avx+0x43>
+  DB  233,19,253,255,255                  ; jmpq          4d1d <_sk_load_f16_avx+0x43>
+
+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  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  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,254,127,4,36                    ; vmovdqu       %ymm0,(%rsp)
+  DB  15,133,143,2,0,0                    ; jne           52c5 <_sk_load_f16_dst_avx+0x2bb>
+  DB  197,121,16,4,208                    ; vmovupd       (%rax,%rdx,8),%xmm8
+  DB  197,249,16,116,208,16               ; vmovupd       0x10(%rax,%rdx,8),%xmm6
+  DB  197,249,16,108,208,32               ; vmovupd       0x20(%rax,%rdx,8),%xmm5
+  DB  197,122,111,76,208,48               ; vmovdqu       0x30(%rax,%rdx,8),%xmm9
+  DB  197,185,97,230                      ; vpunpcklwd    %xmm6,%xmm8,%xmm4
+  DB  197,185,105,246                     ; vpunpckhwd    %xmm6,%xmm8,%xmm6
+  DB  196,193,81,97,249                   ; vpunpcklwd    %xmm9,%xmm5,%xmm7
+  DB  196,193,81,105,233                  ; vpunpckhwd    %xmm9,%xmm5,%xmm5
+  DB  197,89,97,254                       ; vpunpcklwd    %xmm6,%xmm4,%xmm15
+  DB  197,89,105,198                      ; vpunpckhwd    %xmm6,%xmm4,%xmm8
+  DB  197,193,97,245                      ; vpunpcklwd    %xmm5,%xmm7,%xmm6
+  DB  197,65,105,205                      ; vpunpckhwd    %xmm5,%xmm7,%xmm9
+  DB  197,129,108,230                     ; vpunpcklqdq   %xmm6,%xmm15,%xmm4
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,217,105,232                     ; vpunpckhwd    %xmm0,%xmm4,%xmm5
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,98,125,24,37,141,38,0,0         ; vbroadcastss  0x268d(%rip),%ymm12        # 771c <_sk_callback_avx+0x4a2>
+  DB  196,193,92,84,236                   ; vandps        %ymm12,%ymm4,%ymm5
+  DB  197,220,87,229                      ; vxorps        %ymm5,%ymm4,%ymm4
+  DB  196,195,125,25,230,1                ; vextractf128  $0x1,%ymm4,%xmm14
+  DB  196,98,121,24,29,121,38,0,0         ; vbroadcastss  0x2679(%rip),%xmm11        # 7720 <_sk_callback_avx+0x4a6>
+  DB  196,193,8,87,251                    ; vxorps        %xmm11,%xmm14,%xmm7
+  DB  196,98,121,24,45,111,38,0,0         ; vbroadcastss  0x266f(%rip),%xmm13        # 7724 <_sk_callback_avx+0x4aa>
+  DB  197,145,102,255                     ; vpcmpgtd      %xmm7,%xmm13,%xmm7
+  DB  196,65,88,87,211                    ; vxorps        %xmm11,%xmm4,%xmm10
+  DB  196,65,17,102,210                   ; vpcmpgtd      %xmm10,%xmm13,%xmm10
+  DB  196,99,45,24,215,1                  ; vinsertf128   $0x1,%xmm7,%ymm10,%ymm10
+  DB  197,193,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm7
+  DB  196,227,125,25,237,1                ; vextractf128  $0x1,%ymm5,%xmm5
+  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
+  DB  196,227,69,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm7,%ymm5
+  DB  197,217,114,244,13                  ; vpslld        $0xd,%xmm4,%xmm4
+  DB  196,193,65,114,246,13               ; vpslld        $0xd,%xmm14,%xmm7
+  DB  196,227,93,24,231,1                 ; vinsertf128   $0x1,%xmm7,%ymm4,%ymm4
+  DB  197,220,86,229                      ; vorps         %ymm5,%ymm4,%ymm4
+  DB  196,227,125,25,229,1                ; vextractf128  $0x1,%ymm4,%xmm5
+  DB  196,226,121,24,61,37,38,0,0         ; vbroadcastss  0x2625(%rip),%xmm7        # 7728 <_sk_callback_avx+0x4ae>
+  DB  197,209,254,239                     ; vpaddd        %xmm7,%xmm5,%xmm5
+  DB  197,217,254,231                     ; vpaddd        %xmm7,%xmm4,%xmm4
+  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,195,93,74,230,160               ; vblendvps     %ymm10,%ymm14,%ymm4,%ymm4
+  DB  197,129,109,238                     ; vpunpckhqdq   %xmm6,%xmm15,%xmm5
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,209,105,240                     ; vpunpckhwd    %xmm0,%xmm5,%xmm6
+  DB  196,226,121,51,237                  ; vpmovzxwd     %xmm5,%xmm5
+  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  DB  196,193,84,84,244                   ; vandps        %ymm12,%ymm5,%ymm6
+  DB  197,212,87,238                      ; vxorps        %ymm6,%ymm5,%ymm5
+  DB  196,195,125,25,234,1                ; vextractf128  $0x1,%ymm5,%xmm10
+  DB  196,193,40,87,219                   ; vxorps        %xmm11,%xmm10,%xmm3
+  DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
+  DB  196,193,80,87,211                   ; vxorps        %xmm11,%xmm5,%xmm2
+  DB  197,145,102,210                     ; vpcmpgtd      %xmm2,%xmm13,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,225,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm3
+  DB  196,227,125,25,246,1                ; vextractf128  $0x1,%ymm6,%xmm6
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  196,227,101,24,222,1                ; vinsertf128   $0x1,%xmm6,%ymm3,%ymm3
+  DB  197,209,114,245,13                  ; vpslld        $0xd,%xmm5,%xmm5
+  DB  196,193,73,114,242,13               ; vpslld        $0xd,%xmm10,%xmm6
+  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  DB  197,212,86,219                      ; vorps         %ymm3,%ymm5,%ymm3
+  DB  196,227,125,25,221,1                ; vextractf128  $0x1,%ymm3,%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,195,101,74,238,32               ; vblendvps     %ymm2,%ymm14,%ymm3,%ymm5
+  DB  196,193,57,108,209                  ; vpunpcklqdq   %xmm9,%xmm8,%xmm2
+  DB  197,233,105,216                     ; vpunpckhwd    %xmm0,%xmm2,%xmm3
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,193,108,84,220                  ; vandps        %ymm12,%ymm2,%ymm3
+  DB  197,236,87,211                      ; vxorps        %ymm3,%ymm2,%ymm2
+  DB  196,227,125,25,214,1                ; vextractf128  $0x1,%ymm2,%xmm6
+  DB  196,193,72,87,203                   ; vxorps        %xmm11,%xmm6,%xmm1
+  DB  197,145,102,201                     ; vpcmpgtd      %xmm1,%xmm13,%xmm1
+  DB  196,193,104,87,195                  ; vxorps        %xmm11,%xmm2,%xmm0
+  DB  197,145,102,192                     ; vpcmpgtd      %xmm0,%xmm13,%xmm0
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,241,114,243,16                  ; vpslld        $0x10,%xmm3,%xmm1
+  DB  196,227,125,25,219,1                ; vextractf128  $0x1,%ymm3,%xmm3
+  DB  197,225,114,243,16                  ; vpslld        $0x10,%xmm3,%xmm3
+  DB  196,227,117,24,203,1                ; vinsertf128   $0x1,%xmm3,%ymm1,%ymm1
+  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
+  DB  197,225,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm3
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,236,86,201                      ; vorps         %ymm1,%ymm2,%ymm1
+  DB  196,227,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm2
+  DB  197,233,254,215                     ; vpaddd        %xmm7,%xmm2,%xmm2
+  DB  197,241,254,207                     ; vpaddd        %xmm7,%xmm1,%xmm1
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,195,117,74,246,0                ; vblendvps     %ymm0,%ymm14,%ymm1,%ymm6
+  DB  196,193,57,109,193                  ; vpunpckhqdq   %xmm9,%xmm8,%xmm0
+  DB  196,193,121,105,202                 ; vpunpckhwd    %xmm10,%xmm0,%xmm1
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,124,84,204                  ; vandps        %ymm12,%ymm0,%ymm1
+  DB  197,252,87,193                      ; vxorps        %ymm1,%ymm0,%ymm0
+  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
+  DB  196,193,104,87,219                  ; vxorps        %xmm11,%xmm2,%xmm3
+  DB  197,17,102,195                      ; vpcmpgtd      %xmm3,%xmm13,%xmm8
+  DB  196,193,120,87,219                  ; vxorps        %xmm11,%xmm0,%xmm3
+  DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
+  DB  196,195,101,24,216,1                ; vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
+  DB  197,185,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm8
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  197,241,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm1
+  DB  196,227,61,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
+  DB  197,249,114,240,13                  ; vpslld        $0xd,%xmm0,%xmm0
+  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
+  DB  196,227,125,24,194,1                ; vinsertf128   $0x1,%xmm2,%ymm0,%ymm0
+  DB  197,252,86,193                      ; vorps         %ymm1,%ymm0,%ymm0
+  DB  196,227,125,25,193,1                ; vextractf128  $0x1,%ymm0,%xmm1
+  DB  197,241,254,207                     ; vpaddd        %xmm7,%xmm1,%xmm1
+  DB  197,249,254,199                     ; vpaddd        %xmm7,%xmm0,%xmm0
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,195,125,74,254,48               ; vblendvps     %ymm3,%ymm14,%ymm0,%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  197,123,16,4,208                    ; vmovsd        (%rax,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  116,79                              ; je            5324 <_sk_load_f16_dst_avx+0x31a>
+  DB  197,57,22,68,208,8                  ; vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  114,67                              ; jb            5324 <_sk_load_f16_dst_avx+0x31a>
+  DB  197,251,16,116,208,16               ; vmovsd        0x10(%rax,%rdx,8),%xmm6
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  116,68                              ; je            5331 <_sk_load_f16_dst_avx+0x327>
+  DB  197,201,22,116,208,24               ; vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
+  DB  73,131,248,5                        ; cmp           $0x5,%r8
+  DB  114,56                              ; jb            5331 <_sk_load_f16_dst_avx+0x327>
+  DB  197,251,16,108,208,32               ; vmovsd        0x20(%rax,%rdx,8),%xmm5
+  DB  73,131,248,5                        ; cmp           $0x5,%r8
+  DB  15,132,68,253,255,255               ; je            504d <_sk_load_f16_dst_avx+0x43>
+  DB  197,209,22,108,208,40               ; vmovhpd       0x28(%rax,%rdx,8),%xmm5,%xmm5
+  DB  73,131,248,7                        ; cmp           $0x7,%r8
+  DB  15,130,52,253,255,255               ; jb            504d <_sk_load_f16_dst_avx+0x43>
+  DB  197,122,126,76,208,48               ; vmovq         0x30(%rax,%rdx,8),%xmm9
+  DB  233,41,253,255,255                  ; jmpq          504d <_sk_load_f16_dst_avx+0x43>
+  DB  197,209,87,237                      ; vxorpd        %xmm5,%xmm5,%xmm5
+  DB  197,201,87,246                      ; vxorpd        %xmm6,%xmm6,%xmm6
+  DB  233,28,253,255,255                  ; jmpq          504d <_sk_load_f16_dst_avx+0x43>
+  DB  197,209,87,237                      ; vxorpd        %xmm5,%xmm5,%xmm5
+  DB  233,19,253,255,255                  ; jmpq          504d <_sk_load_f16_dst_avx+0x43>
 
 PUBLIC _sk_gather_f16_avx
 _sk_gather_f16_avx LABEL PROC
@@ -9631,13 +10776,13 @@
   DB  197,249,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm1
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
-  DB  196,98,125,24,37,178,33,0,0         ; vbroadcastss  0x21b2(%rip),%ymm12        # 6c84 <_sk_callback_avx+0x43e>
+  DB  196,98,125,24,37,230,34,0,0         ; vbroadcastss  0x22e6(%rip),%ymm12        # 772c <_sk_callback_avx+0x4b2>
   DB  196,193,124,84,204                  ; vandps        %ymm12,%ymm0,%ymm1
   DB  197,252,87,193                      ; vxorps        %ymm1,%ymm0,%ymm0
   DB  196,195,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm14
-  DB  196,98,121,24,29,158,33,0,0         ; vbroadcastss  0x219e(%rip),%xmm11        # 6c88 <_sk_callback_avx+0x442>
+  DB  196,98,121,24,29,210,34,0,0         ; vbroadcastss  0x22d2(%rip),%xmm11        # 7730 <_sk_callback_avx+0x4b6>
   DB  196,193,8,87,219                    ; vxorps        %xmm11,%xmm14,%xmm3
-  DB  196,98,121,24,45,148,33,0,0         ; vbroadcastss  0x2194(%rip),%xmm13        # 6c8c <_sk_callback_avx+0x446>
+  DB  196,98,121,24,45,200,34,0,0         ; vbroadcastss  0x22c8(%rip),%xmm13        # 7734 <_sk_callback_avx+0x4ba>
   DB  197,145,102,219                     ; vpcmpgtd      %xmm3,%xmm13,%xmm3
   DB  196,65,120,87,211                   ; vxorps        %xmm11,%xmm0,%xmm10
   DB  196,65,17,102,210                   ; vpcmpgtd      %xmm10,%xmm13,%xmm10
@@ -9651,7 +10796,7 @@
   DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
   DB  197,252,86,193                      ; vorps         %ymm1,%ymm0,%ymm0
   DB  196,227,125,25,193,1                ; vextractf128  $0x1,%ymm0,%xmm1
-  DB  196,226,121,24,29,74,33,0,0         ; vbroadcastss  0x214a(%rip),%xmm3        # 6c90 <_sk_callback_avx+0x44a>
+  DB  196,226,121,24,29,126,34,0,0        ; vbroadcastss  0x227e(%rip),%xmm3        # 7738 <_sk_callback_avx+0x4be>
   DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
   DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
   DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
@@ -9749,12 +10894,12 @@
   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  196,98,125,24,13,94,31,0,0          ; vbroadcastss  0x1f5e(%rip),%ymm9        # 6c94 <_sk_callback_avx+0x44e>
+  DB  196,98,125,24,13,146,32,0,0         ; vbroadcastss  0x2092(%rip),%ymm9        # 773c <_sk_callback_avx+0x4c2>
   DB  196,65,124,84,209                   ; vandps        %ymm9,%ymm0,%ymm10
   DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
   DB  196,65,124,87,218                   ; vxorps        %ymm10,%ymm0,%ymm11
   DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
-  DB  196,98,121,24,5,68,31,0,0           ; vbroadcastss  0x1f44(%rip),%xmm8        # 6c98 <_sk_callback_avx+0x452>
+  DB  196,98,121,24,5,120,32,0,0          ; vbroadcastss  0x2078(%rip),%xmm8        # 7740 <_sk_callback_avx+0x4c6>
   DB  196,65,57,102,236                   ; vpcmpgtd      %xmm12,%xmm8,%xmm13
   DB  196,65,57,102,243                   ; vpcmpgtd      %xmm11,%xmm8,%xmm14
   DB  196,67,13,24,237,1                  ; vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
@@ -9764,7 +10909,7 @@
   DB  196,67,13,24,242,1                  ; vinsertf128   $0x1,%xmm10,%ymm14,%ymm14
   DB  196,193,33,114,211,13               ; vpsrld        $0xd,%xmm11,%xmm11
   DB  196,193,25,114,212,13               ; vpsrld        $0xd,%xmm12,%xmm12
-  DB  196,98,125,24,21,11,31,0,0          ; vbroadcastss  0x1f0b(%rip),%ymm10        # 6c9c <_sk_callback_avx+0x456>
+  DB  196,98,125,24,21,63,32,0,0          ; vbroadcastss  0x203f(%rip),%ymm10        # 7744 <_sk_callback_avx+0x4ca>
   DB  196,65,12,86,242                    ; vorps         %ymm10,%ymm14,%ymm14
   DB  196,67,125,25,247,1                 ; vextractf128  $0x1,%ymm14,%xmm15
   DB  196,65,1,254,228                    ; vpaddd        %xmm12,%xmm15,%xmm12
@@ -9846,7 +10991,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,75                              ; jne           4f78 <_sk_store_f16_avx+0x270>
+  DB  117,75                              ; jne           58ec <_sk_store_f16_avx+0x270>
   DB  197,120,17,28,208                   ; vmovups       %xmm11,(%rax,%rdx,8)
   DB  197,120,17,84,208,16                ; vmovups       %xmm10,0x10(%rax,%rdx,8)
   DB  197,120,17,76,208,32                ; vmovups       %xmm9,0x20(%rax,%rdx,8)
@@ -9862,22 +11007,22 @@
   DB  255,224                             ; jmpq          *%rax
   DB  197,121,214,28,208                  ; vmovq         %xmm11,(%rax,%rdx,8)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,193                             ; je            4f44 <_sk_store_f16_avx+0x23c>
+  DB  116,193                             ; je            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,23,92,208,8                 ; vmovhpd       %xmm11,0x8(%rax,%rdx,8)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,181                             ; jb            4f44 <_sk_store_f16_avx+0x23c>
+  DB  114,181                             ; jb            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,214,84,208,16               ; vmovq         %xmm10,0x10(%rax,%rdx,8)
-  DB  116,173                             ; je            4f44 <_sk_store_f16_avx+0x23c>
+  DB  116,173                             ; je            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,23,84,208,24                ; vmovhpd       %xmm10,0x18(%rax,%rdx,8)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,161                             ; jb            4f44 <_sk_store_f16_avx+0x23c>
+  DB  114,161                             ; jb            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,214,76,208,32               ; vmovq         %xmm9,0x20(%rax,%rdx,8)
-  DB  116,153                             ; je            4f44 <_sk_store_f16_avx+0x23c>
+  DB  116,153                             ; je            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,23,76,208,40                ; vmovhpd       %xmm9,0x28(%rax,%rdx,8)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,141                             ; jb            4f44 <_sk_store_f16_avx+0x23c>
+  DB  114,141                             ; jb            58b8 <_sk_store_f16_avx+0x23c>
   DB  197,121,214,68,208,48               ; vmovq         %xmm8,0x30(%rax,%rdx,8)
-  DB  235,133                             ; jmp           4f44 <_sk_store_f16_avx+0x23c>
+  DB  235,133                             ; jmp           58b8 <_sk_store_f16_avx+0x23c>
 
 PUBLIC _sk_load_u16_be_avx
 _sk_load_u16_be_avx LABEL PROC
@@ -9885,7 +11030,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,253,0,0,0                    ; jne           50d2 <_sk_load_u16_be_avx+0x113>
+  DB  15,133,253,0,0,0                    ; jne           5a46 <_sk_load_u16_be_avx+0x113>
   DB  196,65,121,16,4,65                  ; vmovupd       (%r9,%rax,2),%xmm8
   DB  196,193,121,16,84,65,16             ; vmovupd       0x10(%r9,%rax,2),%xmm2
   DB  196,193,121,16,92,65,32             ; vmovupd       0x20(%r9,%rax,2),%xmm3
@@ -9907,7 +11052,7 @@
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   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,29,90,28,0,0          ; vbroadcastss  0x1c5a(%rip),%ymm11        # 6ca0 <_sk_callback_avx+0x45a>
+  DB  196,98,125,24,29,142,29,0,0         ; vbroadcastss  0x1d8e(%rip),%ymm11        # 7748 <_sk_callback_avx+0x4ce>
   DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
   DB  197,177,109,202                     ; vpunpckhqdq   %xmm2,%xmm9,%xmm1
   DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
@@ -9941,29 +11086,29 @@
   DB  196,65,123,16,4,65                  ; vmovsd        (%r9,%rax,2),%xmm8
   DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,85                              ; je            5138 <_sk_load_u16_be_avx+0x179>
+  DB  116,85                              ; je            5aac <_sk_load_u16_be_avx+0x179>
   DB  196,65,57,22,68,65,8                ; vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,72                              ; jb            5138 <_sk_load_u16_be_avx+0x179>
+  DB  114,72                              ; jb            5aac <_sk_load_u16_be_avx+0x179>
   DB  196,193,123,16,84,65,16             ; vmovsd        0x10(%r9,%rax,2),%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  116,72                              ; je            5145 <_sk_load_u16_be_avx+0x186>
+  DB  116,72                              ; je            5ab9 <_sk_load_u16_be_avx+0x186>
   DB  196,193,105,22,84,65,24             ; vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,59                              ; jb            5145 <_sk_load_u16_be_avx+0x186>
+  DB  114,59                              ; jb            5ab9 <_sk_load_u16_be_avx+0x186>
   DB  196,193,123,16,92,65,32             ; vmovsd        0x20(%r9,%rax,2),%xmm3
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  15,132,213,254,255,255              ; je            4ff0 <_sk_load_u16_be_avx+0x31>
+  DB  15,132,213,254,255,255              ; je            5964 <_sk_load_u16_be_avx+0x31>
   DB  196,193,97,22,92,65,40              ; vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  15,130,196,254,255,255              ; jb            4ff0 <_sk_load_u16_be_avx+0x31>
+  DB  15,130,196,254,255,255              ; jb            5964 <_sk_load_u16_be_avx+0x31>
   DB  196,65,122,126,76,65,48             ; vmovq         0x30(%r9,%rax,2),%xmm9
-  DB  233,184,254,255,255                 ; jmpq          4ff0 <_sk_load_u16_be_avx+0x31>
+  DB  233,184,254,255,255                 ; jmpq          5964 <_sk_load_u16_be_avx+0x31>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
   DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
-  DB  233,171,254,255,255                 ; jmpq          4ff0 <_sk_load_u16_be_avx+0x31>
+  DB  233,171,254,255,255                 ; jmpq          5964 <_sk_load_u16_be_avx+0x31>
   DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
-  DB  233,162,254,255,255                 ; jmpq          4ff0 <_sk_load_u16_be_avx+0x31>
+  DB  233,162,254,255,255                 ; jmpq          5964 <_sk_load_u16_be_avx+0x31>
 
 PUBLIC _sk_load_rgb_u16_be_avx
 _sk_load_rgb_u16_be_avx LABEL PROC
@@ -9971,7 +11116,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,82                         ; lea           (%rdx,%rdx,2),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,243,0,0,0                    ; jne           5253 <_sk_load_rgb_u16_be_avx+0x105>
+  DB  15,133,243,0,0,0                    ; jne           5bc7 <_sk_load_rgb_u16_be_avx+0x105>
   DB  196,193,122,111,4,65                ; vmovdqu       (%r9,%rax,2),%xmm0
   DB  196,193,122,111,84,65,12            ; vmovdqu       0xc(%r9,%rax,2),%xmm2
   DB  196,193,122,111,76,65,24            ; vmovdqu       0x18(%r9,%rax,2),%xmm1
@@ -9998,7 +11143,7 @@
   DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
   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,29,186,26,0,0         ; vbroadcastss  0x1aba(%rip),%ymm11        # 6ca4 <_sk_callback_avx+0x45e>
+  DB  196,98,125,24,29,238,27,0,0         ; vbroadcastss  0x1bee(%rip),%ymm11        # 774c <_sk_callback_avx+0x4d2>
   DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
   DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
   DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
@@ -10019,48 +11164,48 @@
   DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
   DB  196,193,108,89,211                  ; vmulps        %ymm11,%ymm2,%ymm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,29,87,26,0,0         ; vbroadcastss  0x1a57(%rip),%ymm3        # 6ca8 <_sk_callback_avx+0x462>
+  DB  196,226,125,24,29,139,27,0,0        ; vbroadcastss  0x1b8b(%rip),%ymm3        # 7750 <_sk_callback_avx+0x4d6>
   DB  255,224                             ; jmpq          *%rax
   DB  196,193,121,110,4,65                ; vmovd         (%r9,%rax,2),%xmm0
   DB  196,193,121,196,68,65,4,2           ; vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,5                               ; jne           526c <_sk_load_rgb_u16_be_avx+0x11e>
-  DB  233,40,255,255,255                  ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  117,5                               ; jne           5be0 <_sk_load_rgb_u16_be_avx+0x11e>
+  DB  233,40,255,255,255                  ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
   DB  196,193,121,110,76,65,6             ; vmovd         0x6(%r9,%rax,2),%xmm1
   DB  196,65,113,196,68,65,10,2           ; vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,26                              ; jb            529b <_sk_load_rgb_u16_be_avx+0x14d>
+  DB  114,26                              ; jb            5c0f <_sk_load_rgb_u16_be_avx+0x14d>
   DB  196,193,121,110,76,65,12            ; vmovd         0xc(%r9,%rax,2),%xmm1
   DB  196,193,113,196,84,65,16,2          ; vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  117,10                              ; jne           52a0 <_sk_load_rgb_u16_be_avx+0x152>
-  DB  233,249,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
-  DB  233,244,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  117,10                              ; jne           5c14 <_sk_load_rgb_u16_be_avx+0x152>
+  DB  233,249,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  233,244,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
   DB  196,193,121,110,76,65,18            ; vmovd         0x12(%r9,%rax,2),%xmm1
   DB  196,65,113,196,76,65,22,2           ; vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,26                              ; jb            52cf <_sk_load_rgb_u16_be_avx+0x181>
+  DB  114,26                              ; jb            5c43 <_sk_load_rgb_u16_be_avx+0x181>
   DB  196,193,121,110,76,65,24            ; vmovd         0x18(%r9,%rax,2),%xmm1
   DB  196,193,113,196,76,65,28,2          ; vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  117,10                              ; jne           52d4 <_sk_load_rgb_u16_be_avx+0x186>
-  DB  233,197,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
-  DB  233,192,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  117,10                              ; jne           5c48 <_sk_load_rgb_u16_be_avx+0x186>
+  DB  233,197,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  233,192,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
   DB  196,193,121,110,92,65,30            ; vmovd         0x1e(%r9,%rax,2),%xmm3
   DB  196,65,97,196,92,65,34,2            ; vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,20                              ; jb            52fd <_sk_load_rgb_u16_be_avx+0x1af>
+  DB  114,20                              ; jb            5c71 <_sk_load_rgb_u16_be_avx+0x1af>
   DB  196,193,121,110,92,65,36            ; vmovd         0x24(%r9,%rax,2),%xmm3
   DB  196,193,97,196,92,65,40,2           ; vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
-  DB  233,151,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
-  DB  233,146,254,255,255                 ; jmpq          5194 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  233,151,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
+  DB  233,146,254,255,255                 ; jmpq          5b08 <_sk_load_rgb_u16_be_avx+0x46>
 
 PUBLIC _sk_store_u16_be_avx
 _sk_store_u16_be_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
-  DB  196,98,125,24,5,148,25,0,0          ; vbroadcastss  0x1994(%rip),%ymm8        # 6cac <_sk_callback_avx+0x466>
+  DB  196,98,125,24,5,200,26,0,0          ; vbroadcastss  0x1ac8(%rip),%ymm8        # 7754 <_sk_callback_avx+0x4da>
   DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
   DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
   DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
@@ -10098,7 +11243,7 @@
   DB  196,65,17,98,200                    ; vpunpckldq    %xmm8,%xmm13,%xmm9
   DB  196,65,17,106,192                   ; vpunpckhdq    %xmm8,%xmm13,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,31                              ; jne           53fc <_sk_store_u16_be_avx+0xfa>
+  DB  117,31                              ; jne           5d70 <_sk_store_u16_be_avx+0xfa>
   DB  196,65,120,17,28,65                 ; vmovups       %xmm11,(%r9,%rax,2)
   DB  196,65,120,17,84,65,16              ; vmovups       %xmm10,0x10(%r9,%rax,2)
   DB  196,65,120,17,76,65,32              ; vmovups       %xmm9,0x20(%r9,%rax,2)
@@ -10107,31 +11252,31 @@
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,214,28,65                ; vmovq         %xmm11,(%r9,%rax,2)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  116,240                             ; je            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,23,92,65,8               ; vmovhpd       %xmm11,0x8(%r9,%rax,2)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  114,227                             ; jb            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,214,84,65,16             ; vmovq         %xmm10,0x10(%r9,%rax,2)
-  DB  116,218                             ; je            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  116,218                             ; je            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,23,84,65,24              ; vmovhpd       %xmm10,0x18(%r9,%rax,2)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,205                             ; jb            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  114,205                             ; jb            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,214,76,65,32             ; vmovq         %xmm9,0x20(%r9,%rax,2)
-  DB  116,196                             ; je            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  116,196                             ; je            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,23,76,65,40              ; vmovhpd       %xmm9,0x28(%r9,%rax,2)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,183                             ; jb            53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  114,183                             ; jb            5d6c <_sk_store_u16_be_avx+0xf6>
   DB  196,65,121,214,68,65,48             ; vmovq         %xmm8,0x30(%r9,%rax,2)
-  DB  235,174                             ; jmp           53f8 <_sk_store_u16_be_avx+0xf6>
+  DB  235,174                             ; jmp           5d6c <_sk_store_u16_be_avx+0xf6>
 
 PUBLIC _sk_load_f32_avx
 _sk_load_f32_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  119,110                             ; ja            54c0 <_sk_load_f32_avx+0x76>
+  DB  119,110                             ; ja            5e34 <_sk_load_f32_avx+0x76>
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
-  DB  76,141,29,132,0,0,0                 ; lea           0x84(%rip),%r11        # 54e8 <_sk_load_f32_avx+0x9e>
+  DB  76,141,29,132,0,0,0                 ; lea           0x84(%rip),%r11        # 5e5c <_sk_load_f32_avx+0x9e>
   DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
   DB  76,1,216                            ; add           %r11,%rax
   DB  255,224                             ; jmpq          *%rax
@@ -10174,6 +11319,56 @@
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
 
+PUBLIC _sk_load_f32_dst_avx
+_sk_load_f32_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,131,248,7                        ; cmp           $0x7,%r8
+  DB  119,110                             ; ja            5ef2 <_sk_load_f32_dst_avx+0x76>
+  DB  76,139,8                            ; mov           (%rax),%r9
+  DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
+  DB  76,141,29,134,0,0,0                 ; lea           0x86(%rip),%r11        # 5f1c <_sk_load_f32_dst_avx+0xa0>
+  DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,3,125,24,68,145,112,1           ; vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
+  DB  196,131,125,24,124,145,96,1         ; vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
+  DB  196,131,125,24,108,145,80,1         ; vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
+  DB  196,131,125,24,116,145,64,1         ; vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
+  DB  196,129,121,16,100,145,48           ; vmovupd       0x30(%r9,%r10,4),%xmm4
+  DB  196,195,93,13,224,12                ; vblendpd      $0xc,%ymm8,%ymm4,%ymm4
+  DB  196,1,121,16,68,145,32              ; vmovupd       0x20(%r9,%r10,4),%xmm8
+  DB  196,99,61,13,207,12                 ; vblendpd      $0xc,%ymm7,%ymm8,%ymm9
+  DB  196,129,121,16,124,145,16           ; vmovupd       0x10(%r9,%r10,4),%xmm7
+  DB  196,99,69,13,213,12                 ; vblendpd      $0xc,%ymm5,%ymm7,%ymm10
+  DB  196,129,121,16,44,145               ; vmovupd       (%r9,%r10,4),%xmm5
+  DB  196,227,85,13,238,12                ; vblendpd      $0xc,%ymm6,%ymm5,%ymm5
+  DB  196,193,84,20,242                   ; vunpcklps     %ymm10,%ymm5,%ymm6
+  DB  196,193,84,21,250                   ; vunpckhps     %ymm10,%ymm5,%ymm7
+  DB  197,180,20,236                      ; vunpcklps     %ymm4,%ymm9,%ymm5
+  DB  197,52,21,196                       ; vunpckhps     %ymm4,%ymm9,%ymm8
+  DB  197,205,20,229                      ; vunpcklpd     %ymm5,%ymm6,%ymm4
+  DB  197,205,21,237                      ; vunpckhpd     %ymm5,%ymm6,%ymm5
+  DB  196,193,69,20,240                   ; vunpcklpd     %ymm8,%ymm7,%ymm6
+  DB  196,193,69,21,248                   ; vunpckhpd     %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  131,255,255                         ; cmp           $0xffffffff,%edi
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,176                 ; mov           $0xb0ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,163,255,255,255,155             ; jmpq          *-0x64000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,147,255,255,255,139             ; callq         *-0x74000001(%rbx)
+  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
@@ -10188,7 +11383,7 @@
   DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
   DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,55                              ; jne           5575 <_sk_store_f32_avx+0x6d>
+  DB  117,55                              ; jne           5fa9 <_sk_store_f32_avx+0x6d>
   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
@@ -10201,22 +11396,22 @@
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,17,20,129                ; vmovupd       %xmm10,(%r9,%rax,4)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            5571 <_sk_store_f32_avx+0x69>
+  DB  116,240                             ; je            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,65,121,17,76,129,16             ; vmovupd       %xmm9,0x10(%r9,%rax,4)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            5571 <_sk_store_f32_avx+0x69>
+  DB  114,227                             ; jb            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,65,121,17,68,129,32             ; vmovupd       %xmm8,0x20(%r9,%rax,4)
-  DB  116,218                             ; je            5571 <_sk_store_f32_avx+0x69>
+  DB  116,218                             ; je            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,65,121,17,92,129,48             ; vmovupd       %xmm11,0x30(%r9,%rax,4)
   DB  73,131,248,5                        ; cmp           $0x5,%r8
-  DB  114,205                             ; jb            5571 <_sk_store_f32_avx+0x69>
+  DB  114,205                             ; jb            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,67,125,25,84,129,64,1           ; vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
-  DB  116,195                             ; je            5571 <_sk_store_f32_avx+0x69>
+  DB  116,195                             ; je            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,67,125,25,76,129,80,1           ; vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
   DB  73,131,248,7                        ; cmp           $0x7,%r8
-  DB  114,181                             ; jb            5571 <_sk_store_f32_avx+0x69>
+  DB  114,181                             ; jb            5fa5 <_sk_store_f32_avx+0x69>
   DB  196,67,125,25,68,129,96,1           ; vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
-  DB  235,171                             ; jmp           5571 <_sk_store_f32_avx+0x69>
+  DB  235,171                             ; jmp           5fa5 <_sk_store_f32_avx+0x69>
 
 PUBLIC _sk_clamp_x_avx
 _sk_clamp_x_avx LABEL PROC
@@ -10295,7 +11490,7 @@
   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,199,21,0,0             ; vmulss        0x15c7(%rip),%xmm9,%xmm0        # 6cb0 <_sk_callback_avx+0x46a>
+  DB  197,178,89,5,59,22,0,0              ; vmulss        0x163b(%rip),%xmm9,%xmm0        # 7758 <_sk_callback_avx+0x4de>
   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
@@ -10326,7 +11521,7 @@
   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,66,21,0,0             ; vmulss        0x1542(%rip),%xmm9,%xmm1        # 6cb4 <_sk_callback_avx+0x46e>
+  DB  197,178,89,13,182,21,0,0            ; vmulss        0x15b6(%rip),%xmm9,%xmm1        # 775c <_sk_callback_avx+0x4e2>
   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
@@ -10350,7 +11545,7 @@
 _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,224,20,0,0          ; vbroadcastss  0x14e0(%rip),%ymm8        # 6cb8 <_sk_callback_avx+0x472>
+  DB  196,98,125,24,5,84,21,0,0           ; vbroadcastss  0x1554(%rip),%ymm8        # 7760 <_sk_callback_avx+0x4e6>
   DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -10364,9 +11559,9 @@
 
 PUBLIC _sk_mirror_x_1_avx
 _sk_mirror_x_1_avx LABEL PROC
-  DB  196,98,125,24,5,195,20,0,0          ; vbroadcastss  0x14c3(%rip),%ymm8        # 6cbc <_sk_callback_avx+0x476>
+  DB  196,98,125,24,5,55,21,0,0           ; vbroadcastss  0x1537(%rip),%ymm8        # 7764 <_sk_callback_avx+0x4ea>
   DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
-  DB  196,98,125,24,13,185,20,0,0         ; vbroadcastss  0x14b9(%rip),%ymm9        # 6cc0 <_sk_callback_avx+0x47a>
+  DB  196,98,125,24,13,45,21,0,0          ; vbroadcastss  0x152d(%rip),%ymm9        # 7768 <_sk_callback_avx+0x4ee>
   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
@@ -10380,12 +11575,12 @@
 
 PUBLIC _sk_luminance_to_alpha_avx
 _sk_luminance_to_alpha_avx LABEL PROC
-  DB  196,226,125,24,29,137,20,0,0        ; vbroadcastss  0x1489(%rip),%ymm3        # 6cc4 <_sk_callback_avx+0x47e>
+  DB  196,226,125,24,29,253,20,0,0        ; vbroadcastss  0x14fd(%rip),%ymm3        # 776c <_sk_callback_avx+0x4f2>
   DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
-  DB  196,226,125,24,29,128,20,0,0        ; vbroadcastss  0x1480(%rip),%ymm3        # 6cc8 <_sk_callback_avx+0x482>
+  DB  196,226,125,24,29,244,20,0,0        ; vbroadcastss  0x14f4(%rip),%ymm3        # 7770 <_sk_callback_avx+0x4f6>
   DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
-  DB  196,226,125,24,13,115,20,0,0        ; vbroadcastss  0x1473(%rip),%ymm1        # 6ccc <_sk_callback_avx+0x486>
+  DB  196,226,125,24,13,231,20,0,0        ; vbroadcastss  0x14e7(%rip),%ymm1        # 7774 <_sk_callback_avx+0x4fa>
   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
@@ -10594,9 +11789,9 @@
   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            5bb8 <_sk_evenly_spaced_gradient_avx+0x28>
+  DB  120,7                               ; js            65ec <_sk_evenly_spaced_gradient_avx+0x28>
   DB  196,225,242,42,203                  ; vcvtsi2ss     %rbx,%xmm1,%xmm1
-  DB  235,21                              ; jmp           5bcd <_sk_evenly_spaced_gradient_avx+0x3d>
+  DB  235,21                              ; jmp           6601 <_sk_evenly_spaced_gradient_avx+0x3d>
   DB  73,137,217                          ; mov           %rbx,%r9
   DB  73,209,233                          ; shr           %r9
   DB  131,227,1                           ; and           $0x1,%ebx
@@ -10753,18 +11948,18 @@
 
 PUBLIC _sk_gauss_a_to_rgba_avx
 _sk_gauss_a_to_rgba_avx LABEL PROC
-  DB  196,226,125,24,5,156,13,0,0         ; vbroadcastss  0xd9c(%rip),%ymm0        # 6cd0 <_sk_callback_avx+0x48a>
+  DB  196,226,125,24,5,16,14,0,0          ; vbroadcastss  0xe10(%rip),%ymm0        # 7778 <_sk_callback_avx+0x4fe>
   DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
-  DB  196,226,125,24,13,147,13,0,0        ; vbroadcastss  0xd93(%rip),%ymm1        # 6cd4 <_sk_callback_avx+0x48e>
+  DB  196,226,125,24,13,7,14,0,0          ; vbroadcastss  0xe07(%rip),%ymm1        # 777c <_sk_callback_avx+0x502>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
-  DB  196,226,125,24,13,134,13,0,0        ; vbroadcastss  0xd86(%rip),%ymm1        # 6cd8 <_sk_callback_avx+0x492>
+  DB  196,226,125,24,13,250,13,0,0        ; vbroadcastss  0xdfa(%rip),%ymm1        # 7780 <_sk_callback_avx+0x506>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
-  DB  196,226,125,24,13,121,13,0,0        ; vbroadcastss  0xd79(%rip),%ymm1        # 6cdc <_sk_callback_avx+0x496>
+  DB  196,226,125,24,13,237,13,0,0        ; vbroadcastss  0xded(%rip),%ymm1        # 7784 <_sk_callback_avx+0x50a>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
-  DB  196,226,125,24,13,108,13,0,0        ; vbroadcastss  0xd6c(%rip),%ymm1        # 6ce0 <_sk_callback_avx+0x49a>
+  DB  196,226,125,24,13,224,13,0,0        ; vbroadcastss  0xde0(%rip),%ymm1        # 7788 <_sk_callback_avx+0x50e>
   DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
@@ -10786,12 +11981,12 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
   DB  73,131,249,2                        ; cmp           $0x2,%r9
-  DB  114,80                              ; jb            5ffa <_sk_gradient_avx+0x72>
+  DB  114,80                              ; jb            6a2e <_sk_gradient_avx+0x72>
   DB  72,139,88,72                        ; mov           0x48(%rax),%rbx
   DB  73,255,201                          ; dec           %r9
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
-  DB  196,98,125,24,21,33,13,0,0          ; vbroadcastss  0xd21(%rip),%ymm10        # 6ce4 <_sk_callback_avx+0x49e>
+  DB  196,98,125,24,21,149,13,0,0         ; vbroadcastss  0xd95(%rip),%ymm10        # 778c <_sk_callback_avx+0x512>
   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
@@ -10803,7 +11998,7 @@
   DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  73,255,201                          ; dec           %r9
-  DB  117,205                             ; jne           5fc7 <_sk_gradient_avx+0x3f>
+  DB  117,205                             ; jne           69fb <_sk_gradient_avx+0x3f>
   DB  196,195,249,22,201,1                ; vpextrq       $0x1,%xmm1,%r9
   DB  69,137,202                          ; mov           %r9d,%r10d
   DB  73,193,233,32                       ; shr           $0x20,%r9
@@ -10983,27 +12178,27 @@
   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,20,9,0,0           ; vbroadcastss  0x914(%rip),%ymm13        # 6ce8 <_sk_callback_avx+0x4a2>
+  DB  196,98,125,24,45,136,9,0,0          ; vbroadcastss  0x988(%rip),%ymm13        # 7790 <_sk_callback_avx+0x516>
   DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
-  DB  196,98,125,24,53,10,9,0,0           ; vbroadcastss  0x90a(%rip),%ymm14        # 6cec <_sk_callback_avx+0x4a6>
+  DB  196,98,125,24,53,126,9,0,0          ; vbroadcastss  0x97e(%rip),%ymm14        # 7794 <_sk_callback_avx+0x51a>
   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,251,8,0,0          ; vbroadcastss  0x8fb(%rip),%ymm14        # 6cf0 <_sk_callback_avx+0x4aa>
+  DB  196,98,125,24,53,111,9,0,0          ; vbroadcastss  0x96f(%rip),%ymm14        # 7798 <_sk_callback_avx+0x51e>
   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,236,8,0,0          ; vbroadcastss  0x8ec(%rip),%ymm13        # 6cf4 <_sk_callback_avx+0x4ae>
+  DB  196,98,125,24,45,96,9,0,0           ; vbroadcastss  0x960(%rip),%ymm13        # 779c <_sk_callback_avx+0x522>
   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,215,8,0,0          ; vbroadcastss  0x8d7(%rip),%ymm10        # 6cf8 <_sk_callback_avx+0x4b2>
+  DB  196,98,125,24,21,75,9,0,0           ; vbroadcastss  0x94b(%rip),%ymm10        # 77a0 <_sk_callback_avx+0x526>
   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,193,8,0,0          ; vbroadcastss  0x8c1(%rip),%ymm10        # 6cfc <_sk_callback_avx+0x4b6>
+  DB  196,98,125,24,21,53,9,0,0           ; vbroadcastss  0x935(%rip),%ymm10        # 77a4 <_sk_callback_avx+0x52a>
   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,171,8,0,0          ; vbroadcastss  0x8ab(%rip),%ymm10        # 6d00 <_sk_callback_avx+0x4ba>
+  DB  196,98,125,24,21,31,9,0,0           ; vbroadcastss  0x91f(%rip),%ymm10        # 77a8 <_sk_callback_avx+0x52e>
   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
@@ -11023,7 +12218,7 @@
 PUBLIC _sk_save_xy_avx
 _sk_save_xy_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,117,8,0,0           ; vbroadcastss  0x875(%rip),%ymm8        # 6d04 <_sk_callback_avx+0x4be>
+  DB  196,98,125,24,5,233,8,0,0           ; vbroadcastss  0x8e9(%rip),%ymm8        # 77ac <_sk_callback_avx+0x532>
   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
@@ -11056,9 +12251,9 @@
 PUBLIC _sk_bilinear_nx_avx
 _sk_bilinear_nx_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,1,8,0,0            ; vbroadcastss  0x801(%rip),%ymm0        # 6d08 <_sk_callback_avx+0x4c2>
+  DB  196,226,125,24,5,117,8,0,0          ; vbroadcastss  0x875(%rip),%ymm0        # 77b0 <_sk_callback_avx+0x536>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,248,7,0,0           ; vbroadcastss  0x7f8(%rip),%ymm8        # 6d0c <_sk_callback_avx+0x4c6>
+  DB  196,98,125,24,5,108,8,0,0           ; vbroadcastss  0x86c(%rip),%ymm8        # 77b4 <_sk_callback_avx+0x53a>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11067,7 +12262,7 @@
 PUBLIC _sk_bilinear_px_avx
 _sk_bilinear_px_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,224,7,0,0          ; vbroadcastss  0x7e0(%rip),%ymm0        # 6d10 <_sk_callback_avx+0x4ca>
+  DB  196,226,125,24,5,84,8,0,0           ; vbroadcastss  0x854(%rip),%ymm0        # 77b8 <_sk_callback_avx+0x53e>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
   DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -11077,9 +12272,9 @@
 PUBLIC _sk_bilinear_ny_avx
 _sk_bilinear_ny_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,196,7,0,0         ; vbroadcastss  0x7c4(%rip),%ymm1        # 6d14 <_sk_callback_avx+0x4ce>
+  DB  196,226,125,24,13,56,8,0,0          ; vbroadcastss  0x838(%rip),%ymm1        # 77bc <_sk_callback_avx+0x542>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,186,7,0,0           ; vbroadcastss  0x7ba(%rip),%ymm8        # 6d18 <_sk_callback_avx+0x4d2>
+  DB  196,98,125,24,5,46,8,0,0            ; vbroadcastss  0x82e(%rip),%ymm8        # 77c0 <_sk_callback_avx+0x546>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11088,7 +12283,7 @@
 PUBLIC _sk_bilinear_py_avx
 _sk_bilinear_py_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,162,7,0,0         ; vbroadcastss  0x7a2(%rip),%ymm1        # 6d1c <_sk_callback_avx+0x4d6>
+  DB  196,226,125,24,13,22,8,0,0          ; vbroadcastss  0x816(%rip),%ymm1        # 77c4 <_sk_callback_avx+0x54a>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
   DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -11098,14 +12293,14 @@
 PUBLIC _sk_bicubic_n3x_avx
 _sk_bicubic_n3x_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,133,7,0,0          ; vbroadcastss  0x785(%rip),%ymm0        # 6d20 <_sk_callback_avx+0x4da>
+  DB  196,226,125,24,5,249,7,0,0          ; vbroadcastss  0x7f9(%rip),%ymm0        # 77c8 <_sk_callback_avx+0x54e>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,124,7,0,0           ; vbroadcastss  0x77c(%rip),%ymm8        # 6d24 <_sk_callback_avx+0x4de>
+  DB  196,98,125,24,5,240,7,0,0           ; vbroadcastss  0x7f0(%rip),%ymm8        # 77cc <_sk_callback_avx+0x552>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,109,7,0,0          ; vbroadcastss  0x76d(%rip),%ymm10        # 6d28 <_sk_callback_avx+0x4e2>
+  DB  196,98,125,24,21,225,7,0,0          ; vbroadcastss  0x7e1(%rip),%ymm10        # 77d0 <_sk_callback_avx+0x556>
   DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
-  DB  196,98,125,24,21,99,7,0,0           ; vbroadcastss  0x763(%rip),%ymm10        # 6d2c <_sk_callback_avx+0x4e6>
+  DB  196,98,125,24,21,215,7,0,0          ; vbroadcastss  0x7d7(%rip),%ymm10        # 77d4 <_sk_callback_avx+0x55a>
   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,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -11115,19 +12310,19 @@
 PUBLIC _sk_bicubic_n1x_avx
 _sk_bicubic_n1x_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,70,7,0,0           ; vbroadcastss  0x746(%rip),%ymm0        # 6d30 <_sk_callback_avx+0x4ea>
+  DB  196,226,125,24,5,186,7,0,0          ; vbroadcastss  0x7ba(%rip),%ymm0        # 77d8 <_sk_callback_avx+0x55e>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
-  DB  196,98,125,24,5,61,7,0,0            ; vbroadcastss  0x73d(%rip),%ymm8        # 6d34 <_sk_callback_avx+0x4ee>
+  DB  196,98,125,24,5,177,7,0,0           ; vbroadcastss  0x7b1(%rip),%ymm8        # 77dc <_sk_callback_avx+0x562>
   DB  197,60,92,64,64                     ; vsubps        0x40(%rax),%ymm8,%ymm8
-  DB  196,98,125,24,13,51,7,0,0           ; vbroadcastss  0x733(%rip),%ymm9        # 6d38 <_sk_callback_avx+0x4f2>
+  DB  196,98,125,24,13,167,7,0,0          ; vbroadcastss  0x7a7(%rip),%ymm9        # 77e0 <_sk_callback_avx+0x566>
   DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
-  DB  196,98,125,24,21,41,7,0,0           ; vbroadcastss  0x729(%rip),%ymm10        # 6d3c <_sk_callback_avx+0x4f6>
+  DB  196,98,125,24,21,157,7,0,0          ; vbroadcastss  0x79d(%rip),%ymm10        # 77e4 <_sk_callback_avx+0x56a>
   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,26,7,0,0           ; vbroadcastss  0x71a(%rip),%ymm10        # 6d40 <_sk_callback_avx+0x4fa>
+  DB  196,98,125,24,21,142,7,0,0          ; vbroadcastss  0x78e(%rip),%ymm10        # 77e8 <_sk_callback_avx+0x56e>
   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,11,7,0,0           ; vbroadcastss  0x70b(%rip),%ymm9        # 6d44 <_sk_callback_avx+0x4fe>
+  DB  196,98,125,24,13,127,7,0,0          ; vbroadcastss  0x77f(%rip),%ymm9        # 77ec <_sk_callback_avx+0x572>
   DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11136,17 +12331,17 @@
 PUBLIC _sk_bicubic_p1x_avx
 _sk_bicubic_p1x_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,243,6,0,0           ; vbroadcastss  0x6f3(%rip),%ymm8        # 6d48 <_sk_callback_avx+0x502>
+  DB  196,98,125,24,5,103,7,0,0           ; vbroadcastss  0x767(%rip),%ymm8        # 77f0 <_sk_callback_avx+0x576>
   DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
   DB  197,124,16,72,64                    ; vmovups       0x40(%rax),%ymm9
-  DB  196,98,125,24,21,229,6,0,0          ; vbroadcastss  0x6e5(%rip),%ymm10        # 6d4c <_sk_callback_avx+0x506>
+  DB  196,98,125,24,21,89,7,0,0           ; vbroadcastss  0x759(%rip),%ymm10        # 77f4 <_sk_callback_avx+0x57a>
   DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
-  DB  196,98,125,24,29,219,6,0,0          ; vbroadcastss  0x6db(%rip),%ymm11        # 6d50 <_sk_callback_avx+0x50a>
+  DB  196,98,125,24,29,79,7,0,0           ; vbroadcastss  0x74f(%rip),%ymm11        # 77f8 <_sk_callback_avx+0x57e>
   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,194,6,0,0          ; vbroadcastss  0x6c2(%rip),%ymm9        # 6d54 <_sk_callback_avx+0x50e>
+  DB  196,98,125,24,13,54,7,0,0           ; vbroadcastss  0x736(%rip),%ymm9        # 77fc <_sk_callback_avx+0x582>
   DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
   DB  197,124,17,128,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11155,13 +12350,13 @@
 PUBLIC _sk_bicubic_p3x_avx
 _sk_bicubic_p3x_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,5,170,6,0,0          ; vbroadcastss  0x6aa(%rip),%ymm0        # 6d58 <_sk_callback_avx+0x512>
+  DB  196,226,125,24,5,30,7,0,0           ; vbroadcastss  0x71e(%rip),%ymm0        # 7800 <_sk_callback_avx+0x586>
   DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
   DB  197,124,16,64,64                    ; vmovups       0x40(%rax),%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,151,6,0,0          ; vbroadcastss  0x697(%rip),%ymm10        # 6d5c <_sk_callback_avx+0x516>
+  DB  196,98,125,24,21,11,7,0,0           ; vbroadcastss  0x70b(%rip),%ymm10        # 7804 <_sk_callback_avx+0x58a>
   DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
-  DB  196,98,125,24,21,141,6,0,0          ; vbroadcastss  0x68d(%rip),%ymm10        # 6d60 <_sk_callback_avx+0x51a>
+  DB  196,98,125,24,21,1,7,0,0            ; vbroadcastss  0x701(%rip),%ymm10        # 7808 <_sk_callback_avx+0x58e>
   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,128,0,0,0            ; vmovups       %ymm8,0x80(%rax)
@@ -11171,14 +12366,14 @@
 PUBLIC _sk_bicubic_n3y_avx
 _sk_bicubic_n3y_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,112,6,0,0         ; vbroadcastss  0x670(%rip),%ymm1        # 6d64 <_sk_callback_avx+0x51e>
+  DB  196,226,125,24,13,228,6,0,0         ; vbroadcastss  0x6e4(%rip),%ymm1        # 780c <_sk_callback_avx+0x592>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,102,6,0,0           ; vbroadcastss  0x666(%rip),%ymm8        # 6d68 <_sk_callback_avx+0x522>
+  DB  196,98,125,24,5,218,6,0,0           ; vbroadcastss  0x6da(%rip),%ymm8        # 7810 <_sk_callback_avx+0x596>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,87,6,0,0           ; vbroadcastss  0x657(%rip),%ymm10        # 6d6c <_sk_callback_avx+0x526>
+  DB  196,98,125,24,21,203,6,0,0          ; vbroadcastss  0x6cb(%rip),%ymm10        # 7814 <_sk_callback_avx+0x59a>
   DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
-  DB  196,98,125,24,21,77,6,0,0           ; vbroadcastss  0x64d(%rip),%ymm10        # 6d70 <_sk_callback_avx+0x52a>
+  DB  196,98,125,24,21,193,6,0,0          ; vbroadcastss  0x6c1(%rip),%ymm10        # 7818 <_sk_callback_avx+0x59e>
   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,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -11188,19 +12383,19 @@
 PUBLIC _sk_bicubic_n1y_avx
 _sk_bicubic_n1y_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,48,6,0,0          ; vbroadcastss  0x630(%rip),%ymm1        # 6d74 <_sk_callback_avx+0x52e>
+  DB  196,226,125,24,13,164,6,0,0         ; vbroadcastss  0x6a4(%rip),%ymm1        # 781c <_sk_callback_avx+0x5a2>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
-  DB  196,98,125,24,5,38,6,0,0            ; vbroadcastss  0x626(%rip),%ymm8        # 6d78 <_sk_callback_avx+0x532>
+  DB  196,98,125,24,5,154,6,0,0           ; vbroadcastss  0x69a(%rip),%ymm8        # 7820 <_sk_callback_avx+0x5a6>
   DB  197,60,92,64,96                     ; vsubps        0x60(%rax),%ymm8,%ymm8
-  DB  196,98,125,24,13,28,6,0,0           ; vbroadcastss  0x61c(%rip),%ymm9        # 6d7c <_sk_callback_avx+0x536>
+  DB  196,98,125,24,13,144,6,0,0          ; vbroadcastss  0x690(%rip),%ymm9        # 7824 <_sk_callback_avx+0x5aa>
   DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
-  DB  196,98,125,24,21,18,6,0,0           ; vbroadcastss  0x612(%rip),%ymm10        # 6d80 <_sk_callback_avx+0x53a>
+  DB  196,98,125,24,21,134,6,0,0          ; vbroadcastss  0x686(%rip),%ymm10        # 7828 <_sk_callback_avx+0x5ae>
   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,3,6,0,0            ; vbroadcastss  0x603(%rip),%ymm10        # 6d84 <_sk_callback_avx+0x53e>
+  DB  196,98,125,24,21,119,6,0,0          ; vbroadcastss  0x677(%rip),%ymm10        # 782c <_sk_callback_avx+0x5b2>
   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,244,5,0,0          ; vbroadcastss  0x5f4(%rip),%ymm9        # 6d88 <_sk_callback_avx+0x542>
+  DB  196,98,125,24,13,104,6,0,0          ; vbroadcastss  0x668(%rip),%ymm9        # 7830 <_sk_callback_avx+0x5b6>
   DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11209,17 +12404,17 @@
 PUBLIC _sk_bicubic_p1y_avx
 _sk_bicubic_p1y_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,98,125,24,5,220,5,0,0           ; vbroadcastss  0x5dc(%rip),%ymm8        # 6d8c <_sk_callback_avx+0x546>
+  DB  196,98,125,24,5,80,6,0,0            ; vbroadcastss  0x650(%rip),%ymm8        # 7834 <_sk_callback_avx+0x5ba>
   DB  197,188,88,72,32                    ; vaddps        0x20(%rax),%ymm8,%ymm1
   DB  197,124,16,72,96                    ; vmovups       0x60(%rax),%ymm9
-  DB  196,98,125,24,21,205,5,0,0          ; vbroadcastss  0x5cd(%rip),%ymm10        # 6d90 <_sk_callback_avx+0x54a>
+  DB  196,98,125,24,21,65,6,0,0           ; vbroadcastss  0x641(%rip),%ymm10        # 7838 <_sk_callback_avx+0x5be>
   DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
-  DB  196,98,125,24,29,195,5,0,0          ; vbroadcastss  0x5c3(%rip),%ymm11        # 6d94 <_sk_callback_avx+0x54e>
+  DB  196,98,125,24,29,55,6,0,0           ; vbroadcastss  0x637(%rip),%ymm11        # 783c <_sk_callback_avx+0x5c2>
   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,170,5,0,0          ; vbroadcastss  0x5aa(%rip),%ymm9        # 6d98 <_sk_callback_avx+0x552>
+  DB  196,98,125,24,13,30,6,0,0           ; vbroadcastss  0x61e(%rip),%ymm9        # 7840 <_sk_callback_avx+0x5c6>
   DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
   DB  197,124,17,128,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -11228,13 +12423,13 @@
 PUBLIC _sk_bicubic_p3y_avx
 _sk_bicubic_p3y_avx LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,24,13,146,5,0,0         ; vbroadcastss  0x592(%rip),%ymm1        # 6d9c <_sk_callback_avx+0x556>
+  DB  196,226,125,24,13,6,6,0,0           ; vbroadcastss  0x606(%rip),%ymm1        # 7844 <_sk_callback_avx+0x5ca>
   DB  197,244,88,72,32                    ; vaddps        0x20(%rax),%ymm1,%ymm1
   DB  197,124,16,64,96                    ; vmovups       0x60(%rax),%ymm8
   DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
-  DB  196,98,125,24,21,126,5,0,0          ; vbroadcastss  0x57e(%rip),%ymm10        # 6da0 <_sk_callback_avx+0x55a>
+  DB  196,98,125,24,21,242,5,0,0          ; vbroadcastss  0x5f2(%rip),%ymm10        # 7848 <_sk_callback_avx+0x5ce>
   DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
-  DB  196,98,125,24,21,116,5,0,0          ; vbroadcastss  0x574(%rip),%ymm10        # 6da4 <_sk_callback_avx+0x55e>
+  DB  196,98,125,24,21,232,5,0,0          ; vbroadcastss  0x5e8(%rip),%ymm10        # 784c <_sk_callback_avx+0x5d2>
   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,160,0,0,0            ; vmovups       %ymm8,0xa0(%rax)
@@ -11356,25 +12551,25 @@
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 6a21 <.literal4+0xb1>
+  DB  71,225,61                           ; rex.RXB       loope 7455 <.literal4+0xb1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 6a31 <.literal4+0xc1>
+  DB  71,225,61                           ; rex.RXB       loope 7465 <.literal4+0xc1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 6a41 <.literal4+0xd1>
+  DB  71,225,61                           ; rex.RXB       loope 7475 <.literal4+0xd1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,154                          ; cmpb          $0x9a,(%rdi)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
   DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
-  DB  71,225,61                           ; rex.RXB       loope 6a51 <.literal4+0xe1>
+  DB  71,225,61                           ; rex.RXB       loope 7485 <.literal4+0xe1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,127                    ; add           %al,0x7f00003f(%rax)
@@ -11382,7 +12577,8 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
   DB  63                                  ; (bad)
-  DB  145                                 ; xchg          %eax,%ecx
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,63,145                          ; cmpb          $0x91,(%rdi)
   DB  131,158,61,154,153,153,62           ; sbbl          $0x3e,-0x666665c3(%rsi)
   DB  92                                  ; pop           %rsp
   DB  143                                 ; (bad)
@@ -11391,6 +12587,17 @@
   DB  35,59                               ; and           (%rbx),%edi
   DB  174                                 ; scas          %es:(%rdi),%al
   DB  71,97                               ; rex.RXB       (bad)
+  DB  61,145,131,158,61                   ; cmp           $0x3d9e8391,%eax
+  DB  154                                 ; (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,92                               ; ds            pop %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  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  57,215                              ; cmp           %edx,%edi
   DB  32,187,186,159,98,60                ; and           %bh,0x3c629fba(%rbx)
@@ -11426,7 +12633,7 @@
   DB  190,129,128,128,59                  ; mov           $0x3b808081,%esi
   DB  129,128,128,59,0,248,0,0,8,33       ; addl          $0x21080000,-0x7ffc480(%rax)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        6aa5 <.literal4+0x135>
+  DB  224,7                               ; loopne        74f1 <.literal4+0x14d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -11442,10 +12649,10 @@
   DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
   DB  0,52,255                            ; add           %dh,(%rdi,%rdi,8)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            6acc <.literal4+0x15c>
+  DB  127,0                               ; jg            7518 <.literal4+0x174>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            6b45 <.literal4+0x1d5>
+  DB  119,115                             ; ja            7591 <.literal4+0x1ed>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -11459,10 +12666,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            6b00 <.literal4+0x190>
+  DB  127,0                               ; jg            754c <.literal4+0x1a8>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            6b79 <.literal4+0x209>
+  DB  119,115                             ; ja            75c5 <.literal4+0x221>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -11476,10 +12683,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            6b34 <.literal4+0x1c4>
+  DB  127,0                               ; jg            7580 <.literal4+0x1dc>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            6bad <.literal4+0x23d>
+  DB  119,115                             ; ja            75f9 <.literal4+0x255>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -11493,10 +12700,10 @@
   DB  0,128,63,0,0,0                      ; add           %al,0x3f(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            6b68 <.literal4+0x1f8>
+  DB  127,0                               ; jg            75b4 <.literal4+0x210>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            6be1 <.literal4+0x271>
+  DB  119,115                             ; ja            762d <.literal4+0x289>
   DB  248                                 ; clc
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
@@ -11509,7 +12716,7 @@
   DB  0,75,0                              ; add           %cl,0x0(%rbx)
   DB  0,128,63,0,0,200                    ; add           %al,-0x37ffffc1(%rax)
   DB  66,0,0                              ; rex.X         add %al,(%rax)
-  DB  127,67                              ; jg            6bdf <.literal4+0x26f>
+  DB  127,67                              ; jg            762b <.literal4+0x287>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,195                               ; add           %al,%bl
   DB  0,0                                 ; add           %al,(%rax)
@@ -11521,19 +12728,22 @@
   DB  190,80,128,3,62                     ; mov           $0x3e038050,%esi
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           6bff <.literal4+0x28f>
+  DB  118,63                              ; jbe           764b <.literal4+0x2a7>
   DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
-  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
-  DB  127,67                              ; jg            6c13 <.literal4+0x2a3>
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
+  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
+  DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  129,128,128,59,0,0,128,63,129,128   ; addl          $0x80813f80,0x3b80(%rax)
   DB  128,59,0                            ; cmpb          $0x0,(%rbx)
   DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
   DB  59,0                                ; cmp           (%rax),%eax
+  DB  0,128,63,129,128,128                ; add           %al,-0x7f7f7ec1(%rax)
+  DB  59,0                                ; cmp           (%rax),%eax
   DB  248                                 ; clc
   DB  0,0                                 ; add           %al,(%rax)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        6bf5 <.literal4+0x285>
+  DB  224,7                               ; loopne        764d <.literal4+0x2a9>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -11545,7 +12755,19 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        6c11 <.literal4+0x2a1>
+  DB  224,7                               ; loopne        7669 <.literal4+0x2c5>
+  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,0,0,128,63                  ; and           %eax,0x3f800000(,%rdi,1)
+  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        7685 <.literal4+0x2e1>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -11556,7 +12778,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  248                                 ; clc
   DB  65,0,0                              ; add           %al,(%r8)
-  DB  124,66                              ; jl            6c66 <.literal4+0x2f6>
+  DB  124,66                              ; jl            76da <.literal4+0x336>
   DB  0,240                               ; add           %dh,%al
   DB  0,0                                 ; add           %al,(%rax)
   DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
@@ -11573,10 +12795,23 @@
   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,240                ; mov           %ecx,-0xfffc278(%rax)
+  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            6ca9 <.literal4+0x339>
-  DB  129,128,128,59,129,128,128,59,0,0   ; addl          $0x3b80,-0x7f7ec480(%rax)
-  DB  127,67                              ; jg            6cb7 <.literal4+0x347>
+  DB  112,65                              ; jo            773d <.literal4+0x399>
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
+  DB  128,59,0                            ; cmpb          $0x0,(%rbx)
+  DB  0,127,67                            ; add           %bh,0x43(%rdi)
+  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
+  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,56                                ; add           %bh,(%rax)
   DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
   DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -11592,7 +12827,7 @@
   DB  0,128,55,0,0,128                    ; add           %al,-0x7fffffc9(%rax)
   DB  63                                  ; (bad)
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            6cf7 <.literal4+0x387>
+  DB  127,71                              ; jg            779f <.literal4+0x3fb>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -11765,6 +13000,14 @@
   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,2                                 ; add           %al,(%rdx)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -11789,6 +13032,30 @@
   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,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  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  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)
@@ -11903,6 +13170,22 @@
   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  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
 ALIGN 32
 
 PUBLIC _sk_start_pipeline_sse41
@@ -11988,7 +13271,7 @@
   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,40,21,248,80,0,0                 ; movaps        0x50f8(%rip),%xmm2        # 5220 <_sk_callback_sse41+0xd1>
+  DB  15,40,21,248,86,0,0                 ; movaps        0x56f8(%rip),%xmm2        # 5820 <_sk_callback_sse41+0xd5>
   DB  15,88,202                           ; addps         %xmm2,%xmm1
   DB  15,16,7                             ; movups        (%rdi),%xmm0
   DB  15,88,193                           ; addps         %xmm1,%xmm0
@@ -11997,7 +13280,7 @@
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
   DB  15,88,202                           ; addps         %xmm2,%xmm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,21,231,80,0,0                 ; movaps        0x50e7(%rip),%xmm2        # 5230 <_sk_callback_sse41+0xe1>
+  DB  15,40,21,231,86,0,0                 ; movaps        0x56e7(%rip),%xmm2        # 5830 <_sk_callback_sse41+0xe5>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
   DB  15,87,228                           ; xorps         %xmm4,%xmm4
   DB  15,87,237                           ; xorps         %xmm5,%xmm5
@@ -12015,14 +13298,14 @@
   DB  102,68,15,110,193                   ; movd          %ecx,%xmm8
   DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
   DB  102,69,15,239,193                   ; pxor          %xmm9,%xmm8
-  DB  102,68,15,111,21,181,80,0,0         ; movdqa        0x50b5(%rip),%xmm10        # 5240 <_sk_callback_sse41+0xf1>
+  DB  102,68,15,111,21,181,86,0,0         ; movdqa        0x56b5(%rip),%xmm10        # 5840 <_sk_callback_sse41+0xf5>
   DB  102,69,15,111,216                   ; movdqa        %xmm8,%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,209                   ; pand          %xmm9,%xmm10
   DB  102,65,15,114,242,4                 ; pslld         $0x4,%xmm10
-  DB  102,68,15,111,37,161,80,0,0         ; movdqa        0x50a1(%rip),%xmm12        # 5250 <_sk_callback_sse41+0x101>
-  DB  102,68,15,111,45,168,80,0,0         ; movdqa        0x50a8(%rip),%xmm13        # 5260 <_sk_callback_sse41+0x111>
+  DB  102,68,15,111,37,161,86,0,0         ; movdqa        0x56a1(%rip),%xmm12        # 5850 <_sk_callback_sse41+0x105>
+  DB  102,68,15,111,45,168,86,0,0         ; movdqa        0x56a8(%rip),%xmm13        # 5860 <_sk_callback_sse41+0x115>
   DB  102,69,15,111,240                   ; movdqa        %xmm8,%xmm14
   DB  102,69,15,219,245                   ; pand          %xmm13,%xmm14
   DB  102,65,15,114,246,2                 ; pslld         $0x2,%xmm14
@@ -12038,8 +13321,8 @@
   DB  102,69,15,235,245                   ; por           %xmm13,%xmm14
   DB  102,69,15,235,240                   ; por           %xmm8,%xmm14
   DB  69,15,91,198                        ; cvtdq2ps      %xmm14,%xmm8
-  DB  68,15,89,5,99,80,0,0                ; mulps         0x5063(%rip),%xmm8        # 5270 <_sk_callback_sse41+0x121>
-  DB  68,15,88,5,107,80,0,0               ; addps         0x506b(%rip),%xmm8        # 5280 <_sk_callback_sse41+0x131>
+  DB  68,15,89,5,99,86,0,0                ; mulps         0x5663(%rip),%xmm8        # 5870 <_sk_callback_sse41+0x125>
+  DB  68,15,88,5,107,86,0,0               ; addps         0x566b(%rip),%xmm8        # 5880 <_sk_callback_sse41+0x135>
   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
@@ -12106,7 +13389,7 @@
 PUBLIC _sk_srcatop_sse41
 _sk_srcatop_sse41 LABEL PROC
   DB  15,89,199                           ; mulps         %xmm7,%xmm0
-  DB  68,15,40,5,197,79,0,0               ; movaps        0x4fc5(%rip),%xmm8        # 5290 <_sk_callback_sse41+0x141>
+  DB  68,15,40,5,197,85,0,0               ; movaps        0x55c5(%rip),%xmm8        # 5890 <_sk_callback_sse41+0x145>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -12129,7 +13412,7 @@
 _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,136,79,0,0              ; movaps        0x4f88(%rip),%xmm9        # 52a0 <_sk_callback_sse41+0x151>
+  DB  68,15,40,13,136,85,0,0              ; movaps        0x5588(%rip),%xmm9        # 58a0 <_sk_callback_sse41+0x155>
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
@@ -12170,7 +13453,7 @@
 
 PUBLIC _sk_srcout_sse41
 _sk_srcout_sse41 LABEL PROC
-  DB  68,15,40,5,44,79,0,0                ; movaps        0x4f2c(%rip),%xmm8        # 52b0 <_sk_callback_sse41+0x161>
+  DB  68,15,40,5,44,85,0,0                ; movaps        0x552c(%rip),%xmm8        # 58b0 <_sk_callback_sse41+0x165>
   DB  68,15,92,199                        ; subps         %xmm7,%xmm8
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
@@ -12181,7 +13464,7 @@
 
 PUBLIC _sk_dstout_sse41
 _sk_dstout_sse41 LABEL PROC
-  DB  68,15,40,5,28,79,0,0                ; movaps        0x4f1c(%rip),%xmm8        # 52c0 <_sk_callback_sse41+0x171>
+  DB  68,15,40,5,28,85,0,0                ; movaps        0x551c(%rip),%xmm8        # 58c0 <_sk_callback_sse41+0x175>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  15,89,196                           ; mulps         %xmm4,%xmm0
@@ -12196,7 +13479,7 @@
 
 PUBLIC _sk_srcover_sse41
 _sk_srcover_sse41 LABEL PROC
-  DB  68,15,40,5,255,78,0,0               ; movaps        0x4eff(%rip),%xmm8        # 52d0 <_sk_callback_sse41+0x181>
+  DB  68,15,40,5,255,84,0,0               ; movaps        0x54ff(%rip),%xmm8        # 58d0 <_sk_callback_sse41+0x185>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -12214,7 +13497,7 @@
 
 PUBLIC _sk_dstover_sse41
 _sk_dstover_sse41 LABEL PROC
-  DB  68,15,40,5,211,78,0,0               ; movaps        0x4ed3(%rip),%xmm8        # 52e0 <_sk_callback_sse41+0x191>
+  DB  68,15,40,5,211,84,0,0               ; movaps        0x54d3(%rip),%xmm8        # 58e0 <_sk_callback_sse41+0x195>
   DB  68,15,92,199                        ; subps         %xmm7,%xmm8
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -12238,7 +13521,7 @@
 
 PUBLIC _sk_multiply_sse41
 _sk_multiply_sse41 LABEL PROC
-  DB  68,15,40,5,167,78,0,0               ; movaps        0x4ea7(%rip),%xmm8        # 52f0 <_sk_callback_sse41+0x1a1>
+  DB  68,15,40,5,167,84,0,0               ; movaps        0x54a7(%rip),%xmm8        # 58f0 <_sk_callback_sse41+0x1a5>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
@@ -12307,7 +13590,7 @@
 PUBLIC _sk_xor__sse41
 _sk_xor__sse41 LABEL PROC
   DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
-  DB  15,40,29,220,77,0,0                 ; movaps        0x4ddc(%rip),%xmm3        # 5300 <_sk_callback_sse41+0x1b1>
+  DB  15,40,29,220,83,0,0                 ; movaps        0x53dc(%rip),%xmm3        # 5900 <_sk_callback_sse41+0x1b5>
   DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
@@ -12353,7 +13636,7 @@
   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,71,77,0,0                  ; movaps        0x4d47(%rip),%xmm2        # 5310 <_sk_callback_sse41+0x1c1>
+  DB  15,40,21,71,83,0,0                  ; movaps        0x5347(%rip),%xmm2        # 5910 <_sk_callback_sse41+0x1c5>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -12385,7 +13668,7 @@
   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,236,76,0,0                 ; movaps        0x4cec(%rip),%xmm2        # 5320 <_sk_callback_sse41+0x1d1>
+  DB  15,40,21,236,82,0,0                 ; movaps        0x52ec(%rip),%xmm2        # 5920 <_sk_callback_sse41+0x1d5>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -12420,7 +13703,7 @@
   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,134,76,0,0                 ; movaps        0x4c86(%rip),%xmm2        # 5330 <_sk_callback_sse41+0x1e1>
+  DB  15,40,21,134,82,0,0                 ; movaps        0x5286(%rip),%xmm2        # 5930 <_sk_callback_sse41+0x1e5>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -12446,7 +13729,7 @@
   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,70,76,0,0                  ; movaps        0x4c46(%rip),%xmm2        # 5340 <_sk_callback_sse41+0x1f1>
+  DB  15,40,21,70,82,0,0                  ; movaps        0x5246(%rip),%xmm2        # 5940 <_sk_callback_sse41+0x1f5>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -12457,7 +13740,7 @@
 PUBLIC _sk_colorburn_sse41
 _sk_colorburn_sse41 LABEL PROC
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
-  DB  68,15,40,21,57,76,0,0               ; movaps        0x4c39(%rip),%xmm10        # 5350 <_sk_callback_sse41+0x201>
+  DB  68,15,40,21,57,82,0,0               ; movaps        0x5239(%rip),%xmm10        # 5950 <_sk_callback_sse41+0x205>
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
   DB  68,15,92,223                        ; subps         %xmm7,%xmm11
   DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
@@ -12537,7 +13820,7 @@
 PUBLIC _sk_colordodge_sse41
 _sk_colordodge_sse41 LABEL PROC
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
-  DB  68,15,40,21,23,75,0,0               ; movaps        0x4b17(%rip),%xmm10        # 5360 <_sk_callback_sse41+0x211>
+  DB  68,15,40,21,23,81,0,0               ; movaps        0x5117(%rip),%xmm10        # 5960 <_sk_callback_sse41+0x215>
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
   DB  68,15,92,223                        ; subps         %xmm7,%xmm11
   DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
@@ -12618,7 +13901,7 @@
   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,237,73,0,0              ; movaps        0x49ed(%rip),%xmm10        # 5370 <_sk_callback_sse41+0x221>
+  DB  68,15,40,21,237,79,0,0              ; movaps        0x4fed(%rip),%xmm10        # 5970 <_sk_callback_sse41+0x225>
   DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
   DB  15,92,239                           ; subps         %xmm7,%xmm5
   DB  15,40,197                           ; movaps        %xmm5,%xmm0
@@ -12700,7 +13983,7 @@
 _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,207,72,0,0              ; movaps        0x48cf(%rip),%xmm10        # 5380 <_sk_callback_sse41+0x231>
+  DB  68,15,40,21,207,78,0,0              ; movaps        0x4ecf(%rip),%xmm10        # 5980 <_sk_callback_sse41+0x235>
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
   DB  68,15,92,223                        ; subps         %xmm7,%xmm11
   DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
@@ -12784,7 +14067,7 @@
   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,162,71,0,0                 ; movaps        0x47a2(%rip),%xmm1        # 5390 <_sk_callback_sse41+0x241>
+  DB  15,40,13,162,77,0,0                 ; movaps        0x4da2(%rip),%xmm1        # 5990 <_sk_callback_sse41+0x245>
   DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
   DB  68,15,92,208                        ; subps         %xmm0,%xmm10
   DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
@@ -12797,10 +14080,10 @@
   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,128,71,0,0              ; movaps        0x4780(%rip),%xmm13        # 53a0 <_sk_callback_sse41+0x251>
+  DB  68,15,40,45,128,77,0,0              ; movaps        0x4d80(%rip),%xmm13        # 59a0 <_sk_callback_sse41+0x255>
   DB  69,15,88,245                        ; addps         %xmm13,%xmm14
   DB  68,15,89,242                        ; mulps         %xmm2,%xmm14
-  DB  68,15,40,37,128,71,0,0              ; movaps        0x4780(%rip),%xmm12        # 53b0 <_sk_callback_sse41+0x261>
+  DB  68,15,40,37,128,77,0,0              ; movaps        0x4d80(%rip),%xmm12        # 59b0 <_sk_callback_sse41+0x265>
   DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
   DB  69,15,88,254                        ; addps         %xmm14,%xmm15
   DB  15,40,198                           ; movaps        %xmm6,%xmm0
@@ -12986,12 +14269,12 @@
   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,230,68,0,0                  ; movaps        0x44e6(%rip),%xmm0        # 53c0 <_sk_callback_sse41+0x271>
+  DB  15,40,5,230,74,0,0                  ; movaps        0x4ae6(%rip),%xmm0        # 59c0 <_sk_callback_sse41+0x275>
   DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
-  DB  15,40,21,235,68,0,0                 ; movaps        0x44eb(%rip),%xmm2        # 53d0 <_sk_callback_sse41+0x281>
+  DB  15,40,21,235,74,0,0                 ; movaps        0x4aeb(%rip),%xmm2        # 59d0 <_sk_callback_sse41+0x285>
   DB  15,89,250                           ; mulps         %xmm2,%xmm7
   DB  65,15,88,252                        ; addps         %xmm12,%xmm7
-  DB  68,15,40,53,236,68,0,0              ; movaps        0x44ec(%rip),%xmm14        # 53e0 <_sk_callback_sse41+0x291>
+  DB  68,15,40,53,236,74,0,0              ; movaps        0x4aec(%rip),%xmm14        # 59e0 <_sk_callback_sse41+0x295>
   DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
   DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
   DB  68,15,88,255                        ; addps         %xmm7,%xmm15
@@ -13074,7 +14357,7 @@
   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,177,67,0,0              ; movaps        0x43b1(%rip),%xmm9        # 53f0 <_sk_callback_sse41+0x2a1>
+  DB  68,15,40,13,177,73,0,0              ; movaps        0x49b1(%rip),%xmm9        # 59f0 <_sk_callback_sse41+0x2a5>
   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
@@ -13168,14 +14451,14 @@
   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,100,66,0,0                 ; movaps        0x4264(%rip),%xmm2        # 5400 <_sk_callback_sse41+0x2b1>
+  DB  15,40,21,100,72,0,0                 ; movaps        0x4864(%rip),%xmm2        # 5a00 <_sk_callback_sse41+0x2b5>
   DB  15,40,221                           ; movaps        %xmm5,%xmm3
   DB  15,89,218                           ; mulps         %xmm2,%xmm3
-  DB  15,40,13,103,66,0,0                 ; movaps        0x4267(%rip),%xmm1        # 5410 <_sk_callback_sse41+0x2c1>
+  DB  15,40,13,103,72,0,0                 ; movaps        0x4867(%rip),%xmm1        # 5a10 <_sk_callback_sse41+0x2c5>
   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,102,66,0,0              ; movaps        0x4266(%rip),%xmm13        # 5420 <_sk_callback_sse41+0x2d1>
+  DB  68,15,40,45,102,72,0,0              ; movaps        0x4866(%rip),%xmm13        # 5a20 <_sk_callback_sse41+0x2d5>
   DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
   DB  68,15,88,247                        ; addps         %xmm7,%xmm14
   DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
@@ -13256,7 +14539,7 @@
   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,44,65,0,0               ; movaps        0x412c(%rip),%xmm9        # 5430 <_sk_callback_sse41+0x2e1>
+  DB  68,15,40,13,44,71,0,0               ; movaps        0x472c(%rip),%xmm9        # 5a30 <_sk_callback_sse41+0x2e5>
   DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
   DB  68,15,92,204                        ; subps         %xmm4,%xmm9
   DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
@@ -13311,14 +14594,14 @@
   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,113,64,0,0              ; movaps        0x4071(%rip),%xmm9        # 5440 <_sk_callback_sse41+0x2f1>
+  DB  68,15,40,13,113,70,0,0              ; movaps        0x4671(%rip),%xmm9        # 5a40 <_sk_callback_sse41+0x2f5>
   DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
   DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
-  DB  68,15,40,21,113,64,0,0              ; movaps        0x4071(%rip),%xmm10        # 5450 <_sk_callback_sse41+0x301>
+  DB  68,15,40,21,113,70,0,0              ; movaps        0x4671(%rip),%xmm10        # 5a50 <_sk_callback_sse41+0x305>
   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,110,64,0,0              ; movaps        0x406e(%rip),%xmm11        # 5460 <_sk_callback_sse41+0x311>
+  DB  68,15,40,29,110,70,0,0              ; movaps        0x466e(%rip),%xmm11        # 5a60 <_sk_callback_sse41+0x315>
   DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
   DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
   DB  68,15,88,235                        ; addps         %xmm3,%xmm13
@@ -13403,7 +14686,7 @@
   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,42,63,0,0               ; movaps        0x3f2a(%rip),%xmm9        # 5470 <_sk_callback_sse41+0x321>
+  DB  68,15,40,13,42,69,0,0               ; movaps        0x452a(%rip),%xmm9        # 5a70 <_sk_callback_sse41+0x325>
   DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
   DB  15,92,196                           ; subps         %xmm4,%xmm0
   DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
@@ -13455,13 +14738,13 @@
   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,124,62,0,0               ; movaps        0x3e7c(%rip),%xmm8        # 5480 <_sk_callback_sse41+0x331>
+  DB  68,15,40,5,124,68,0,0               ; movaps        0x447c(%rip),%xmm8        # 5a80 <_sk_callback_sse41+0x335>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
-  DB  68,15,40,21,128,62,0,0              ; movaps        0x3e80(%rip),%xmm10        # 5490 <_sk_callback_sse41+0x341>
+  DB  68,15,40,21,128,68,0,0              ; movaps        0x4480(%rip),%xmm10        # 5a90 <_sk_callback_sse41+0x345>
   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,126,62,0,0              ; movaps        0x3e7e(%rip),%xmm12        # 54a0 <_sk_callback_sse41+0x351>
+  DB  68,15,40,37,126,68,0,0              ; movaps        0x447e(%rip),%xmm12        # 5aa0 <_sk_callback_sse41+0x355>
   DB  68,15,40,242                        ; movaps        %xmm2,%xmm14
   DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
   DB  68,15,88,245                        ; addps         %xmm5,%xmm14
@@ -13546,7 +14829,7 @@
   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,52,61,0,0                   ; movaps        0x3d34(%rip),%xmm0        # 54b0 <_sk_callback_sse41+0x361>
+  DB  15,40,5,52,67,0,0                   ; movaps        0x4334(%rip),%xmm0        # 5ab0 <_sk_callback_sse41+0x365>
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
   DB  15,92,215                           ; subps         %xmm7,%xmm2
   DB  15,89,226                           ; mulps         %xmm2,%xmm4
@@ -13588,20 +14871,20 @@
   DB  15,133,217,0,0,0                    ; jne           18d3 <_sk_srcover_rgba_8888_sse41+0xe7>
   DB  243,15,111,60,144                   ; movdqu        (%rax,%rdx,4),%xmm7
   DB  77,133,192                          ; test          %r8,%r8
-  DB  102,15,111,37,182,60,0,0            ; movdqa        0x3cb6(%rip),%xmm4        # 54c0 <_sk_callback_sse41+0x371>
+  DB  102,15,111,37,182,66,0,0            ; movdqa        0x42b6(%rip),%xmm4        # 5ac0 <_sk_callback_sse41+0x375>
   DB  102,15,219,231                      ; pand          %xmm7,%xmm4
   DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
   DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
-  DB  102,15,56,0,45,178,60,0,0           ; pshufb        0x3cb2(%rip),%xmm5        # 54d0 <_sk_callback_sse41+0x381>
+  DB  102,15,56,0,45,178,66,0,0           ; pshufb        0x42b2(%rip),%xmm5        # 5ad0 <_sk_callback_sse41+0x385>
   DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
   DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
-  DB  102,15,56,0,53,178,60,0,0           ; pshufb        0x3cb2(%rip),%xmm6        # 54e0 <_sk_callback_sse41+0x391>
+  DB  102,15,56,0,53,178,66,0,0           ; pshufb        0x42b2(%rip),%xmm6        # 5ae0 <_sk_callback_sse41+0x395>
   DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
   DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
   DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
-  DB  68,15,40,5,175,60,0,0               ; movaps        0x3caf(%rip),%xmm8        # 54f0 <_sk_callback_sse41+0x3a1>
+  DB  68,15,40,5,175,66,0,0               ; movaps        0x42af(%rip),%xmm8        # 5af0 <_sk_callback_sse41+0x3a5>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
-  DB  68,15,40,37,179,60,0,0              ; movaps        0x3cb3(%rip),%xmm12        # 5500 <_sk_callback_sse41+0x3b1>
+  DB  68,15,40,37,179,66,0,0              ; movaps        0x42b3(%rip),%xmm12        # 5b00 <_sk_callback_sse41+0x3b5>
   DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -13677,7 +14960,7 @@
 
 PUBLIC _sk_clamp_1_sse41
 _sk_clamp_1_sse41 LABEL PROC
-  DB  68,15,40,5,165,59,0,0               ; movaps        0x3ba5(%rip),%xmm8        # 5510 <_sk_callback_sse41+0x3c1>
+  DB  68,15,40,5,165,65,0,0               ; movaps        0x41a5(%rip),%xmm8        # 5b10 <_sk_callback_sse41+0x3c5>
   DB  65,15,93,192                        ; minps         %xmm8,%xmm0
   DB  65,15,93,200                        ; minps         %xmm8,%xmm1
   DB  65,15,93,208                        ; minps         %xmm8,%xmm2
@@ -13687,13 +14970,22 @@
 
 PUBLIC _sk_clamp_a_sse41
 _sk_clamp_a_sse41 LABEL PROC
-  DB  15,93,29,154,59,0,0                 ; minps         0x3b9a(%rip),%xmm3        # 5520 <_sk_callback_sse41+0x3d1>
+  DB  15,93,29,154,65,0,0                 ; minps         0x419a(%rip),%xmm3        # 5b20 <_sk_callback_sse41+0x3d5>
   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,150,65,0,0                 ; minps         0x4196(%rip),%xmm7        # 5b30 <_sk_callback_sse41+0x3e5>
+  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
@@ -13714,6 +15006,14 @@
   DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_sse41
+_sk_swap_rb_dst_sse41 LABEL PROC
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_sse41
 _sk_swap_sse41 LABEL PROC
   DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
@@ -13760,7 +15060,7 @@
 PUBLIC _sk_unpremul_sse41
 _sk_unpremul_sse41 LABEL PROC
   DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
-  DB  68,15,40,13,5,59,0,0                ; movaps        0x3b05(%rip),%xmm9        # 5530 <_sk_callback_sse41+0x3e1>
+  DB  68,15,40,13,242,64,0,0              ; movaps        0x40f2(%rip),%xmm9        # 5b40 <_sk_callback_sse41+0x3f5>
   DB  68,15,94,203                        ; divps         %xmm3,%xmm9
   DB  68,15,194,195,4                     ; cmpneqps      %xmm3,%xmm8
   DB  69,15,84,193                        ; andps         %xmm9,%xmm8
@@ -13772,20 +15072,20 @@
 
 PUBLIC _sk_from_srgb_sse41
 _sk_from_srgb_sse41 LABEL PROC
-  DB  68,15,40,29,240,58,0,0              ; movaps        0x3af0(%rip),%xmm11        # 5540 <_sk_callback_sse41+0x3f1>
+  DB  68,15,40,29,221,64,0,0              ; movaps        0x40dd(%rip),%xmm11        # 5b50 <_sk_callback_sse41+0x405>
   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,232,58,0,0              ; movaps        0x3ae8(%rip),%xmm12        # 5550 <_sk_callback_sse41+0x401>
+  DB  68,15,40,37,213,64,0,0              ; movaps        0x40d5(%rip),%xmm12        # 5b60 <_sk_callback_sse41+0x415>
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
   DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
-  DB  68,15,40,45,232,58,0,0              ; movaps        0x3ae8(%rip),%xmm13        # 5560 <_sk_callback_sse41+0x411>
+  DB  68,15,40,45,213,64,0,0              ; movaps        0x40d5(%rip),%xmm13        # 5b70 <_sk_callback_sse41+0x425>
   DB  69,15,88,197                        ; addps         %xmm13,%xmm8
   DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
-  DB  68,15,40,53,232,58,0,0              ; movaps        0x3ae8(%rip),%xmm14        # 5570 <_sk_callback_sse41+0x421>
+  DB  68,15,40,53,213,64,0,0              ; movaps        0x40d5(%rip),%xmm14        # 5b80 <_sk_callback_sse41+0x435>
   DB  69,15,88,198                        ; addps         %xmm14,%xmm8
-  DB  68,15,40,61,236,58,0,0              ; movaps        0x3aec(%rip),%xmm15        # 5580 <_sk_callback_sse41+0x431>
+  DB  68,15,40,61,217,64,0,0              ; movaps        0x40d9(%rip),%xmm15        # 5b90 <_sk_callback_sse41+0x445>
   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
@@ -13816,6 +15116,54 @@
   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,100,64,0,0              ; movaps        0x4064(%rip),%xmm11        # 5ba0 <_sk_callback_sse41+0x455>
+  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,93,64,0,0               ; movaps        0x405d(%rip),%xmm12        # 5bb0 <_sk_callback_sse41+0x465>
+  DB  65,15,89,228                        ; mulps         %xmm12,%xmm4
+  DB  68,15,40,45,97,64,0,0               ; movaps        0x4061(%rip),%xmm13        # 5bc0 <_sk_callback_sse41+0x475>
+  DB  65,15,88,229                        ; addps         %xmm13,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  68,15,40,53,98,64,0,0               ; movaps        0x4062(%rip),%xmm14        # 5bd0 <_sk_callback_sse41+0x485>
+  DB  65,15,88,230                        ; addps         %xmm14,%xmm4
+  DB  68,15,40,61,102,64,0,0              ; movaps        0x4066(%rip),%xmm15        # 5be0 <_sk_callback_sse41+0x495>
+  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
@@ -13827,22 +15175,22 @@
   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,97,58,0,0               ; movaps        0x3a61(%rip),%xmm11        # 5590 <_sk_callback_sse41+0x441>
+  DB  68,15,40,29,215,63,0,0              ; movaps        0x3fd7(%rip),%xmm11        # 5bf0 <_sk_callback_sse41+0x4a5>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
-  DB  68,15,40,37,97,58,0,0               ; movaps        0x3a61(%rip),%xmm12        # 55a0 <_sk_callback_sse41+0x451>
+  DB  68,15,40,37,215,63,0,0              ; movaps        0x3fd7(%rip),%xmm12        # 5c00 <_sk_callback_sse41+0x4b5>
   DB  69,15,40,248                        ; movaps        %xmm8,%xmm15
   DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
-  DB  68,15,40,21,97,58,0,0               ; movaps        0x3a61(%rip),%xmm10        # 55b0 <_sk_callback_sse41+0x461>
+  DB  68,15,40,21,215,63,0,0              ; movaps        0x3fd7(%rip),%xmm10        # 5c10 <_sk_callback_sse41+0x4c5>
   DB  69,15,88,250                        ; addps         %xmm10,%xmm15
   DB  69,15,89,248                        ; mulps         %xmm8,%xmm15
-  DB  68,15,40,45,97,58,0,0               ; movaps        0x3a61(%rip),%xmm13        # 55c0 <_sk_callback_sse41+0x471>
+  DB  68,15,40,45,215,63,0,0              ; movaps        0x3fd7(%rip),%xmm13        # 5c20 <_sk_callback_sse41+0x4d5>
   DB  69,15,88,253                        ; addps         %xmm13,%xmm15
-  DB  68,15,40,53,101,58,0,0              ; movaps        0x3a65(%rip),%xmm14        # 55d0 <_sk_callback_sse41+0x481>
+  DB  68,15,40,53,219,63,0,0              ; movaps        0x3fdb(%rip),%xmm14        # 5c30 <_sk_callback_sse41+0x4e5>
   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,97,58,0,0               ; movaps        0x3a61(%rip),%xmm15        # 55e0 <_sk_callback_sse41+0x491>
+  DB  68,15,40,61,215,63,0,0              ; movaps        0x3fd7(%rip),%xmm15        # 5c40 <_sk_callback_sse41+0x4f5>
   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
@@ -13894,7 +15242,7 @@
   DB  68,15,93,226                        ; minps         %xmm2,%xmm12
   DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
   DB  65,15,92,204                        ; subps         %xmm12,%xmm1
-  DB  68,15,40,53,171,57,0,0              ; movaps        0x39ab(%rip),%xmm14        # 55f0 <_sk_callback_sse41+0x4a1>
+  DB  68,15,40,53,33,63,0,0               ; movaps        0x3f21(%rip),%xmm14        # 5c50 <_sk_callback_sse41+0x505>
   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
@@ -13903,27 +15251,27 @@
   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,146,57,0,0              ; andps         0x3992(%rip),%xmm15        # 5600 <_sk_callback_sse41+0x4b1>
+  DB  68,15,84,61,8,63,0,0                ; andps         0x3f08(%rip),%xmm15        # 5c60 <_sk_callback_sse41+0x515>
   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,133,57,0,0              ; movaps        0x3985(%rip),%xmm13        # 5610 <_sk_callback_sse41+0x4c1>
+  DB  68,15,40,45,251,62,0,0              ; movaps        0x3efb(%rip),%xmm13        # 5c70 <_sk_callback_sse41+0x525>
   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,129,57,0,0               ; addps         0x3981(%rip),%xmm8        # 5620 <_sk_callback_sse41+0x4d1>
+  DB  68,15,88,5,247,62,0,0               ; addps         0x3ef7(%rip),%xmm8        # 5c80 <_sk_callback_sse41+0x535>
   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,121,57,0,0               ; mulps         0x3979(%rip),%xmm8        # 5630 <_sk_callback_sse41+0x4e1>
+  DB  68,15,89,5,239,62,0,0               ; mulps         0x3eef(%rip),%xmm8        # 5c90 <_sk_callback_sse41+0x545>
   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,109,57,0,0                  ; movaps        0x396d(%rip),%xmm0        # 5640 <_sk_callback_sse41+0x4f1>
+  DB  15,40,5,227,62,0,0                  ; movaps        0x3ee3(%rip),%xmm0        # 5ca0 <_sk_callback_sse41+0x555>
   DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
   DB  15,89,208                           ; mulps         %xmm0,%xmm2
   DB  15,194,194,1                        ; cmpltps       %xmm2,%xmm0
@@ -13944,7 +15292,7 @@
   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,47,57,0,0               ; movaps        0x392f(%rip),%xmm9        # 5650 <_sk_callback_sse41+0x501>
+  DB  68,15,40,13,165,62,0,0              ; movaps        0x3ea5(%rip),%xmm9        # 5cb0 <_sk_callback_sse41+0x565>
   DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
   DB  15,194,194,2                        ; cmpleps       %xmm2,%xmm0
   DB  15,40,217                           ; movaps        %xmm1,%xmm3
@@ -13957,19 +15305,19 @@
   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,11,57,0,0               ; movaps        0x390b(%rip),%xmm14        # 5660 <_sk_callback_sse41+0x511>
+  DB  68,15,40,53,129,62,0,0              ; movaps        0x3e81(%rip),%xmm14        # 5cc0 <_sk_callback_sse41+0x575>
   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,4,57,0,0                ; movaps        0x3904(%rip),%xmm11        # 5670 <_sk_callback_sse41+0x521>
+  DB  68,15,40,29,122,62,0,0              ; movaps        0x3e7a(%rip),%xmm11        # 5cd0 <_sk_callback_sse41+0x585>
   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,253,56,0,0                 ; movaps        0x38fd(%rip),%xmm7        # 5680 <_sk_callback_sse41+0x531>
+  DB  15,40,61,115,62,0,0                 ; movaps        0x3e73(%rip),%xmm7        # 5ce0 <_sk_callback_sse41+0x595>
   DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
   DB  68,15,89,239                        ; mulps         %xmm7,%xmm13
-  DB  15,40,29,254,56,0,0                 ; movaps        0x38fe(%rip),%xmm3        # 5690 <_sk_callback_sse41+0x541>
+  DB  15,40,29,116,62,0,0                 ; movaps        0x3e74(%rip),%xmm3        # 5cf0 <_sk_callback_sse41+0x5a5>
   DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
   DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
@@ -13979,7 +15327,7 @@
   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,221,56,0,0              ; movaps        0x38dd(%rip),%xmm12        # 56a0 <_sk_callback_sse41+0x551>
+  DB  68,15,40,37,83,62,0,0               ; movaps        0x3e53(%rip),%xmm12        # 5d00 <_sk_callback_sse41+0x5b5>
   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
@@ -14013,7 +15361,7 @@
   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,86,56,0,0               ; addps         0x3856(%rip),%xmm10        # 56b0 <_sk_callback_sse41+0x561>
+  DB  68,15,88,21,204,61,0,0              ; addps         0x3dcc(%rip),%xmm10        # 5d10 <_sk_callback_sse41+0x5c5>
   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
@@ -14061,11 +15409,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,52                              ; jne           1f37 <_sk_scale_u8_sse41+0x3e>
+  DB  117,52                              ; jne           2021 <_sk_scale_u8_sse41+0x3e>
   DB  102,69,15,56,49,4,18                ; pmovzxbd      (%r10,%rdx,1),%xmm8
-  DB  102,68,15,219,5,173,55,0,0          ; pand          0x37ad(%rip),%xmm8        # 56c0 <_sk_callback_sse41+0x571>
+  DB  102,68,15,219,5,35,61,0,0           ; pand          0x3d23(%rip),%xmm8        # 5d20 <_sk_callback_sse41+0x5d5>
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,177,55,0,0               ; mulps         0x37b1(%rip),%xmm8        # 56d0 <_sk_callback_sse41+0x581>
+  DB  68,15,89,5,39,61,0,0                ; mulps         0x3d27(%rip),%xmm8        # 5d30 <_sk_callback_sse41+0x5e5>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
@@ -14076,12 +15424,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,59                              ; je            1f7f <_sk_scale_u8_sse41+0x86>
+  DB  116,59                              ; je            2069 <_sk_scale_u8_sse41+0x86>
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,23                              ; je            1f66 <_sk_scale_u8_sse41+0x6d>
+  DB  116,23                              ; je            2050 <_sk_scale_u8_sse41+0x6d>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,181                             ; jne           1f0a <_sk_scale_u8_sse41+0x11>
+  DB  117,181                             ; jne           1ff4 <_sk_scale_u8_sse41+0x11>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
@@ -14089,10 +15437,10 @@
   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,139                             ; jmp           1f0a <_sk_scale_u8_sse41+0x11>
+  DB  235,139                             ; jmp           1ff4 <_sk_scale_u8_sse41+0x11>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  233,124,255,255,255                 ; jmpq          1f0a <_sk_scale_u8_sse41+0x11>
+  DB  233,124,255,255,255                 ; jmpq          1ff4 <_sk_scale_u8_sse41+0x11>
 
 PUBLIC _sk_lerp_1_float_sse41
 _sk_lerp_1_float_sse41 LABEL PROC
@@ -14119,11 +15467,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,72                              ; jne           2018 <_sk_lerp_u8_sse41+0x52>
+  DB  117,72                              ; jne           2102 <_sk_lerp_u8_sse41+0x52>
   DB  102,69,15,56,49,4,18                ; pmovzxbd      (%r10,%rdx,1),%xmm8
-  DB  102,68,15,219,5,0,55,0,0            ; pand          0x3700(%rip),%xmm8        # 56e0 <_sk_callback_sse41+0x591>
+  DB  102,68,15,219,5,118,60,0,0          ; pand          0x3c76(%rip),%xmm8        # 5d40 <_sk_callback_sse41+0x5f5>
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,4,55,0,0                 ; mulps         0x3704(%rip),%xmm8        # 56f0 <_sk_callback_sse41+0x5a1>
+  DB  68,15,89,5,122,60,0,0               ; mulps         0x3c7a(%rip),%xmm8        # 5d50 <_sk_callback_sse41+0x605>
   DB  15,92,196                           ; subps         %xmm4,%xmm0
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -14141,12 +15489,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,62                              ; je            2063 <_sk_lerp_u8_sse41+0x9d>
+  DB  116,62                              ; je            214d <_sk_lerp_u8_sse41+0x9d>
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,23                              ; je            2047 <_sk_lerp_u8_sse41+0x81>
+  DB  116,23                              ; je            2131 <_sk_lerp_u8_sse41+0x81>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,161                             ; jne           1fd7 <_sk_lerp_u8_sse41+0x11>
+  DB  117,161                             ; jne           20c1 <_sk_lerp_u8_sse41+0x11>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
@@ -14154,29 +15502,29 @@
   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  233,116,255,255,255                 ; jmpq          1fd7 <_sk_lerp_u8_sse41+0x11>
+  DB  233,116,255,255,255                 ; jmpq          20c1 <_sk_lerp_u8_sse41+0x11>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  233,101,255,255,255                 ; jmpq          1fd7 <_sk_lerp_u8_sse41+0x11>
+  DB  233,101,255,255,255                 ; jmpq          20c1 <_sk_lerp_u8_sse41+0x11>
 
 PUBLIC _sk_lerp_565_sse41
 _sk_lerp_565_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,152,0,0,0                    ; jne           2118 <_sk_lerp_565_sse41+0xa6>
+  DB  15,133,152,0,0,0                    ; jne           2202 <_sk_lerp_565_sse41+0xa6>
   DB  102,69,15,56,51,20,82               ; pmovzxwd      (%r10,%rdx,2),%xmm10
-  DB  102,68,15,111,5,112,54,0,0          ; movdqa        0x3670(%rip),%xmm8        # 5700 <_sk_callback_sse41+0x5b1>
+  DB  102,68,15,111,5,230,59,0,0          ; movdqa        0x3be6(%rip),%xmm8        # 5d60 <_sk_callback_sse41+0x615>
   DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,111,54,0,0               ; mulps         0x366f(%rip),%xmm8        # 5710 <_sk_callback_sse41+0x5c1>
-  DB  102,68,15,111,13,118,54,0,0         ; movdqa        0x3676(%rip),%xmm9        # 5720 <_sk_callback_sse41+0x5d1>
+  DB  68,15,89,5,229,59,0,0               ; mulps         0x3be5(%rip),%xmm8        # 5d70 <_sk_callback_sse41+0x625>
+  DB  102,68,15,111,13,236,59,0,0         ; movdqa        0x3bec(%rip),%xmm9        # 5d80 <_sk_callback_sse41+0x635>
   DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
   DB  69,15,91,201                        ; cvtdq2ps      %xmm9,%xmm9
-  DB  68,15,89,13,117,54,0,0              ; mulps         0x3675(%rip),%xmm9        # 5730 <_sk_callback_sse41+0x5e1>
-  DB  102,68,15,219,21,124,54,0,0         ; pand          0x367c(%rip),%xmm10        # 5740 <_sk_callback_sse41+0x5f1>
+  DB  68,15,89,13,235,59,0,0              ; mulps         0x3beb(%rip),%xmm9        # 5d90 <_sk_callback_sse41+0x645>
+  DB  102,68,15,219,21,242,59,0,0         ; pand          0x3bf2(%rip),%xmm10        # 5da0 <_sk_callback_sse41+0x655>
   DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
-  DB  68,15,89,21,128,54,0,0              ; mulps         0x3680(%rip),%xmm10        # 5750 <_sk_callback_sse41+0x601>
+  DB  68,15,89,21,246,59,0,0              ; mulps         0x3bf6(%rip),%xmm10        # 5db0 <_sk_callback_sse41+0x665>
   DB  15,92,196                           ; subps         %xmm4,%xmm0
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -14201,34 +15549,34 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,62                              ; je            2163 <_sk_lerp_565_sse41+0xf1>
+  DB  116,62                              ; je            224d <_sk_lerp_565_sse41+0xf1>
   DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,27                              ; je            214b <_sk_lerp_565_sse41+0xd9>
+  DB  116,27                              ; je            2235 <_sk_lerp_565_sse41+0xd9>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  15,133,77,255,255,255               ; jne           2087 <_sk_lerp_565_sse41+0x15>
+  DB  15,133,77,255,255,255               ; jne           2171 <_sk_lerp_565_sse41+0x15>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                  ; movd          (%r10,%rdx,2),%xmm8
   DB  102,69,15,56,51,192                 ; pmovzxwd      %xmm8,%xmm8
   DB  102,69,15,58,14,208,15              ; pblendw       $0xf,%xmm8,%xmm10
-  DB  233,36,255,255,255                  ; jmpq          2087 <_sk_lerp_565_sse41+0x15>
+  DB  233,36,255,255,255                  ; jmpq          2171 <_sk_lerp_565_sse41+0x15>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,68,15,110,208                   ; movd          %eax,%xmm10
-  DB  233,21,255,255,255                  ; jmpq          2087 <_sk_lerp_565_sse41+0x15>
+  DB  233,21,255,255,255                  ; jmpq          2171 <_sk_lerp_565_sse41+0x15>
 
 PUBLIC _sk_load_tables_sse41
 _sk_load_tables_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,24,1,0,0                     ; jne           2298 <_sk_load_tables_sse41+0x126>
+  DB  15,133,24,1,0,0                     ; jne           2382 <_sk_load_tables_sse41+0x126>
   DB  243,69,15,111,4,145                 ; movdqu        (%r9,%rdx,4),%xmm8
   DB  65,87                               ; push          %r15
   DB  65,86                               ; push          %r14
   DB  83                                  ; push          %rbx
-  DB  102,15,111,5,205,53,0,0             ; movdqa        0x35cd(%rip),%xmm0        # 5760 <_sk_callback_sse41+0x611>
+  DB  102,15,111,5,67,59,0,0              ; movdqa        0x3b43(%rip),%xmm0        # 5dc0 <_sk_callback_sse41+0x675>
   DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
   DB  102,73,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%r9
   DB  102,73,15,126,194                   ; movq          %xmm0,%r10
@@ -14243,7 +15591,7 @@
   DB  102,66,15,58,33,4,179,32            ; insertps      $0x20,(%rbx,%r14,4),%xmm0
   DB  102,66,15,58,33,4,11,48             ; insertps      $0x30,(%rbx,%r9,1),%xmm0
   DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
-  DB  102,15,56,0,13,136,53,0,0           ; pshufb        0x3588(%rip),%xmm1        # 5770 <_sk_callback_sse41+0x621>
+  DB  102,15,56,0,13,254,58,0,0           ; pshufb        0x3afe(%rip),%xmm1        # 5dd0 <_sk_callback_sse41+0x685>
   DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
   DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
   DB  68,15,182,211                       ; movzbl        %bl,%r10d
@@ -14258,7 +15606,7 @@
   DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
   DB  76,139,72,24                        ; mov           0x18(%rax),%r9
   DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
-  DB  102,15,56,0,21,68,53,0,0            ; pshufb        0x3544(%rip),%xmm2        # 5780 <_sk_callback_sse41+0x631>
+  DB  102,15,56,0,21,186,58,0,0           ; pshufb        0x3aba(%rip),%xmm2        # 5de0 <_sk_callback_sse41+0x695>
   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,208                       ; movzbl        %al,%r10d
@@ -14273,7 +15621,7 @@
   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,1,53,0,0                   ; mulps         0x3501(%rip),%xmm3        # 5790 <_sk_callback_sse41+0x641>
+  DB  15,89,29,119,58,0,0                 ; mulps         0x3a77(%rip),%xmm3        # 5df0 <_sk_callback_sse41+0x6a5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
@@ -14282,19 +15630,19 @@
   DB  69,137,194                          ; mov           %r8d,%r10d
   DB  65,128,226,3                        ; and           $0x3,%r10b
   DB  65,128,250,1                        ; cmp           $0x1,%r10b
-  DB  116,52                              ; je            22d9 <_sk_load_tables_sse41+0x167>
+  DB  116,52                              ; je            23c3 <_sk_load_tables_sse41+0x167>
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,128,250,2                        ; cmp           $0x2,%r10b
-  DB  116,23                              ; je            22c7 <_sk_load_tables_sse41+0x155>
+  DB  116,23                              ; je            23b1 <_sk_load_tables_sse41+0x155>
   DB  65,128,250,3                        ; cmp           $0x3,%r10b
-  DB  15,133,204,254,255,255              ; jne           2186 <_sk_load_tables_sse41+0x14>
+  DB  15,133,204,254,255,255              ; jne           2270 <_sk_load_tables_sse41+0x14>
   DB  102,65,15,110,68,145,8              ; movd          0x8(%r9,%rdx,4),%xmm0
   DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
   DB  243,65,15,126,4,145                 ; movq          (%r9,%rdx,4),%xmm0
   DB  102,68,15,58,14,192,15              ; pblendw       $0xf,%xmm0,%xmm8
-  DB  233,173,254,255,255                 ; jmpq          2186 <_sk_load_tables_sse41+0x14>
+  DB  233,173,254,255,255                 ; jmpq          2270 <_sk_load_tables_sse41+0x14>
   DB  102,69,15,110,4,145                 ; movd          (%r9,%rdx,4),%xmm8
-  DB  233,162,254,255,255                 ; jmpq          2186 <_sk_load_tables_sse41+0x14>
+  DB  233,162,254,255,255                 ; jmpq          2270 <_sk_load_tables_sse41+0x14>
 
 PUBLIC _sk_load_tables_u16_be_sse41
 _sk_load_tables_u16_be_sse41 LABEL PROC
@@ -14302,7 +15650,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,99,1,0,0                     ; jne           245d <_sk_load_tables_u16_be_sse41+0x179>
+  DB  15,133,99,1,0,0                     ; jne           2547 <_sk_load_tables_u16_be_sse41+0x179>
   DB  102,67,15,16,4,81                   ; movupd        (%r9,%r10,2),%xmm0
   DB  243,67,15,111,76,81,16              ; movdqu        0x10(%r9,%r10,2),%xmm1
   DB  65,87                               ; push          %r15
@@ -14314,7 +15662,7 @@
   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,111,52,0,0          ; movdqa        0x346f(%rip),%xmm8        # 57a0 <_sk_callback_sse41+0x651>
+  DB  102,68,15,111,5,229,57,0,0          ; movdqa        0x39e5(%rip),%xmm8        # 5e00 <_sk_callback_sse41+0x6b5>
   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
@@ -14332,7 +15680,7 @@
   DB  102,15,58,33,194,32                 ; insertps      $0x20,%xmm2,%xmm0
   DB  243,66,15,16,20,11                  ; movss         (%rbx,%r9,1),%xmm2
   DB  102,15,58,33,194,48                 ; insertps      $0x30,%xmm2,%xmm0
-  DB  102,15,56,0,13,30,52,0,0            ; pshufb        0x341e(%rip),%xmm1        # 57b0 <_sk_callback_sse41+0x661>
+  DB  102,15,56,0,13,148,57,0,0           ; pshufb        0x3994(%rip),%xmm1        # 5e10 <_sk_callback_sse41+0x6c5>
   DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
   DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
   DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
@@ -14368,7 +15716,7 @@
   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,108,51,0,0                 ; mulps         0x336c(%rip),%xmm3        # 57c0 <_sk_callback_sse41+0x671>
+  DB  15,89,29,226,56,0,0                 ; mulps         0x38e2(%rip),%xmm3        # 5e20 <_sk_callback_sse41+0x6d5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
@@ -14376,16 +15724,16 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,67,15,16,4,81                   ; movsd         (%r9,%r10,2),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,13                              ; jne           2476 <_sk_load_tables_u16_be_sse41+0x192>
+  DB  117,13                              ; jne           2560 <_sk_load_tables_u16_be_sse41+0x192>
   DB  243,15,126,192                      ; movq          %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,145,254,255,255                 ; jmpq          2307 <_sk_load_tables_u16_be_sse41+0x23>
+  DB  233,145,254,255,255                 ; jmpq          23f1 <_sk_load_tables_u16_be_sse41+0x23>
   DB  102,67,15,22,68,81,8                ; movhpd        0x8(%r9,%r10,2),%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,124,254,255,255              ; jb            2307 <_sk_load_tables_u16_be_sse41+0x23>
+  DB  15,130,124,254,255,255              ; jb            23f1 <_sk_load_tables_u16_be_sse41+0x23>
   DB  243,67,15,126,76,81,16              ; movq          0x10(%r9,%r10,2),%xmm1
-  DB  233,112,254,255,255                 ; jmpq          2307 <_sk_load_tables_u16_be_sse41+0x23>
+  DB  233,112,254,255,255                 ; jmpq          23f1 <_sk_load_tables_u16_be_sse41+0x23>
 
 PUBLIC _sk_load_tables_rgb_u16_be_sse41
 _sk_load_tables_rgb_u16_be_sse41 LABEL PROC
@@ -14393,7 +15741,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,82                        ; lea           (%rdx,%rdx,2),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,83,1,0,0                     ; jne           25fc <_sk_load_tables_rgb_u16_be_sse41+0x165>
+  DB  15,133,83,1,0,0                     ; jne           26e6 <_sk_load_tables_rgb_u16_be_sse41+0x165>
   DB  243,67,15,111,20,81                 ; movdqu        (%r9,%r10,2),%xmm2
   DB  243,67,15,111,76,81,8               ; movdqu        0x8(%r9,%r10,2),%xmm1
   DB  102,15,115,217,4                    ; psrldq        $0x4,%xmm1
@@ -14408,7 +15756,7 @@
   DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
   DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
   DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
-  DB  102,68,15,111,5,225,50,0,0          ; movdqa        0x32e1(%rip),%xmm8        # 57d0 <_sk_callback_sse41+0x681>
+  DB  102,68,15,111,5,87,56,0,0           ; movdqa        0x3857(%rip),%xmm8        # 5e30 <_sk_callback_sse41+0x6e5>
   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
@@ -14426,7 +15774,7 @@
   DB  102,15,58,33,195,32                 ; insertps      $0x20,%xmm3,%xmm0
   DB  243,66,15,16,28,11                  ; movss         (%rbx,%r9,1),%xmm3
   DB  102,15,58,33,195,48                 ; insertps      $0x30,%xmm3,%xmm0
-  DB  102,15,56,0,13,144,50,0,0           ; pshufb        0x3290(%rip),%xmm1        # 57e0 <_sk_callback_sse41+0x691>
+  DB  102,15,56,0,13,6,56,0,0             ; pshufb        0x3806(%rip),%xmm1        # 5e40 <_sk_callback_sse41+0x6f5>
   DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
   DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
   DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
@@ -14457,7 +15805,7 @@
   DB  243,65,15,16,28,25                  ; movss         (%r9,%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,251,49,0,0                 ; movaps        0x31fb(%rip),%xmm3        # 57f0 <_sk_callback_sse41+0x6a1>
+  DB  15,40,29,113,55,0,0                 ; movaps        0x3771(%rip),%xmm3        # 5e50 <_sk_callback_sse41+0x705>
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
   DB  65,95                               ; pop           %r15
@@ -14466,21 +15814,21 @@
   DB  102,67,15,196,84,81,4,2             ; pinsrw        $0x2,0x4(%r9,%r10,2),%xmm2
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,14                              ; jne           2622 <_sk_load_tables_rgb_u16_be_sse41+0x18b>
+  DB  117,14                              ; jne           270c <_sk_load_tables_rgb_u16_be_sse41+0x18b>
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
-  DB  233,173,254,255,255                 ; jmpq          24cf <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  DB  233,173,254,255,255                 ; jmpq          25b9 <_sk_load_tables_rgb_u16_be_sse41+0x38>
   DB  102,71,15,110,76,81,6               ; movd          0x6(%r9,%r10,2),%xmm9
   DB  102,71,15,196,76,81,10,2            ; pinsrw        $0x2,0xa(%r9,%r10,2),%xmm9
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,24                              ; jb            2653 <_sk_load_tables_rgb_u16_be_sse41+0x1bc>
+  DB  114,24                              ; jb            273d <_sk_load_tables_rgb_u16_be_sse41+0x1bc>
   DB  102,67,15,110,76,81,12              ; movd          0xc(%r9,%r10,2),%xmm1
   DB  102,67,15,196,76,81,16,2            ; pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
-  DB  233,124,254,255,255                 ; jmpq          24cf <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  DB  233,124,254,255,255                 ; jmpq          25b9 <_sk_load_tables_rgb_u16_be_sse41+0x38>
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,115,254,255,255                 ; jmpq          24cf <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  DB  233,115,254,255,255                 ; jmpq          25b9 <_sk_load_tables_rgb_u16_be_sse41+0x38>
 
 PUBLIC _sk_byte_tables_sse41
 _sk_byte_tables_sse41 LABEL PROC
@@ -14489,7 +15837,7 @@
   DB  65,84                               ; push          %r12
   DB  83                                  ; push          %rbx
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,147,49,0,0               ; movaps        0x3193(%rip),%xmm8        # 5800 <_sk_callback_sse41+0x6b1>
+  DB  68,15,40,5,9,55,0,0                 ; movaps        0x3709(%rip),%xmm8        # 5e60 <_sk_callback_sse41+0x715>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
   DB  102,73,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%r9
@@ -14508,7 +15856,7 @@
   DB  102,15,58,32,195,3                  ; pinsrb        $0x3,%ebx,%xmm0
   DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,13,68,49,0,0               ; movaps        0x3144(%rip),%xmm9        # 5810 <_sk_callback_sse41+0x6c1>
+  DB  68,15,40,13,186,54,0,0              ; movaps        0x36ba(%rip),%xmm9        # 5e70 <_sk_callback_sse41+0x725>
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
@@ -14602,7 +15950,7 @@
   DB  102,15,58,32,195,3                  ; pinsrb        $0x3,%ebx,%xmm0
   DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,13,188,47,0,0              ; movaps        0x2fbc(%rip),%xmm9        # 5820 <_sk_callback_sse41+0x6d1>
+  DB  68,15,40,13,50,53,0,0               ; movaps        0x3532(%rip),%xmm9        # 5e80 <_sk_callback_sse41+0x735>
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
@@ -14779,31 +16127,31 @@
   DB  69,15,88,208                        ; addps         %xmm8,%xmm10
   DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
   DB  69,15,91,194                        ; cvtdq2ps      %xmm10,%xmm8
-  DB  68,15,89,5,4,45,0,0                 ; mulps         0x2d04(%rip),%xmm8        # 5830 <_sk_callback_sse41+0x6e1>
-  DB  68,15,84,21,12,45,0,0               ; andps         0x2d0c(%rip),%xmm10        # 5840 <_sk_callback_sse41+0x6f1>
-  DB  68,15,86,21,20,45,0,0               ; orps          0x2d14(%rip),%xmm10        # 5850 <_sk_callback_sse41+0x701>
-  DB  68,15,88,5,28,45,0,0                ; addps         0x2d1c(%rip),%xmm8        # 5860 <_sk_callback_sse41+0x711>
-  DB  68,15,40,37,36,45,0,0               ; movaps        0x2d24(%rip),%xmm12        # 5870 <_sk_callback_sse41+0x721>
+  DB  68,15,89,5,122,50,0,0               ; mulps         0x327a(%rip),%xmm8        # 5e90 <_sk_callback_sse41+0x745>
+  DB  68,15,84,21,130,50,0,0              ; andps         0x3282(%rip),%xmm10        # 5ea0 <_sk_callback_sse41+0x755>
+  DB  68,15,86,21,138,50,0,0              ; orps          0x328a(%rip),%xmm10        # 5eb0 <_sk_callback_sse41+0x765>
+  DB  68,15,88,5,146,50,0,0               ; addps         0x3292(%rip),%xmm8        # 5ec0 <_sk_callback_sse41+0x775>
+  DB  68,15,40,37,154,50,0,0              ; movaps        0x329a(%rip),%xmm12        # 5ed0 <_sk_callback_sse41+0x785>
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  69,15,92,196                        ; subps         %xmm12,%xmm8
-  DB  68,15,88,21,36,45,0,0               ; addps         0x2d24(%rip),%xmm10        # 5880 <_sk_callback_sse41+0x731>
-  DB  68,15,40,37,44,45,0,0               ; movaps        0x2d2c(%rip),%xmm12        # 5890 <_sk_callback_sse41+0x741>
+  DB  68,15,88,21,154,50,0,0              ; addps         0x329a(%rip),%xmm10        # 5ee0 <_sk_callback_sse41+0x795>
+  DB  68,15,40,37,162,50,0,0              ; movaps        0x32a2(%rip),%xmm12        # 5ef0 <_sk_callback_sse41+0x7a5>
   DB  69,15,94,226                        ; divps         %xmm10,%xmm12
   DB  69,15,92,196                        ; subps         %xmm12,%xmm8
   DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
   DB  102,69,15,58,8,208,1                ; roundps       $0x1,%xmm8,%xmm10
   DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
-  DB  68,15,88,5,25,45,0,0                ; addps         0x2d19(%rip),%xmm8        # 58a0 <_sk_callback_sse41+0x751>
-  DB  68,15,40,21,33,45,0,0               ; movaps        0x2d21(%rip),%xmm10        # 58b0 <_sk_callback_sse41+0x761>
+  DB  68,15,88,5,143,50,0,0               ; addps         0x328f(%rip),%xmm8        # 5f00 <_sk_callback_sse41+0x7b5>
+  DB  68,15,40,21,151,50,0,0              ; movaps        0x3297(%rip),%xmm10        # 5f10 <_sk_callback_sse41+0x7c5>
   DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
   DB  69,15,92,194                        ; subps         %xmm10,%xmm8
-  DB  68,15,40,21,33,45,0,0               ; movaps        0x2d21(%rip),%xmm10        # 58c0 <_sk_callback_sse41+0x771>
+  DB  68,15,40,21,151,50,0,0              ; movaps        0x3297(%rip),%xmm10        # 5f20 <_sk_callback_sse41+0x7d5>
   DB  69,15,92,211                        ; subps         %xmm11,%xmm10
-  DB  68,15,40,29,37,45,0,0               ; movaps        0x2d25(%rip),%xmm11        # 58d0 <_sk_callback_sse41+0x781>
+  DB  68,15,40,29,155,50,0,0              ; movaps        0x329b(%rip),%xmm11        # 5f30 <_sk_callback_sse41+0x7e5>
   DB  69,15,94,218                        ; divps         %xmm10,%xmm11
   DB  69,15,88,216                        ; addps         %xmm8,%xmm11
-  DB  68,15,89,29,37,45,0,0               ; mulps         0x2d25(%rip),%xmm11        # 58e0 <_sk_callback_sse41+0x791>
+  DB  68,15,89,29,155,50,0,0              ; mulps         0x329b(%rip),%xmm11        # 5f40 <_sk_callback_sse41+0x7f5>
   DB  102,69,15,91,211                    ; cvtps2dq      %xmm11,%xmm10
   DB  243,68,15,16,64,20                  ; movss         0x14(%rax),%xmm8
   DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
@@ -14811,7 +16159,7 @@
   DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
-  DB  68,15,93,5,12,45,0,0                ; minps         0x2d0c(%rip),%xmm8        # 58f0 <_sk_callback_sse41+0x7a1>
+  DB  68,15,93,5,130,50,0,0               ; minps         0x3282(%rip),%xmm8        # 5f50 <_sk_callback_sse41+0x805>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -14839,31 +16187,31 @@
   DB  68,15,88,217                        ; addps         %xmm1,%xmm11
   DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
   DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
-  DB  68,15,89,37,173,44,0,0              ; mulps         0x2cad(%rip),%xmm12        # 5900 <_sk_callback_sse41+0x7b1>
-  DB  68,15,84,29,181,44,0,0              ; andps         0x2cb5(%rip),%xmm11        # 5910 <_sk_callback_sse41+0x7c1>
-  DB  68,15,86,29,189,44,0,0              ; orps          0x2cbd(%rip),%xmm11        # 5920 <_sk_callback_sse41+0x7d1>
-  DB  68,15,88,37,197,44,0,0              ; addps         0x2cc5(%rip),%xmm12        # 5930 <_sk_callback_sse41+0x7e1>
-  DB  15,40,13,206,44,0,0                 ; movaps        0x2cce(%rip),%xmm1        # 5940 <_sk_callback_sse41+0x7f1>
+  DB  68,15,89,37,35,50,0,0               ; mulps         0x3223(%rip),%xmm12        # 5f60 <_sk_callback_sse41+0x815>
+  DB  68,15,84,29,43,50,0,0               ; andps         0x322b(%rip),%xmm11        # 5f70 <_sk_callback_sse41+0x825>
+  DB  68,15,86,29,51,50,0,0               ; orps          0x3233(%rip),%xmm11        # 5f80 <_sk_callback_sse41+0x835>
+  DB  68,15,88,37,59,50,0,0               ; addps         0x323b(%rip),%xmm12        # 5f90 <_sk_callback_sse41+0x845>
+  DB  15,40,13,68,50,0,0                  ; movaps        0x3244(%rip),%xmm1        # 5fa0 <_sk_callback_sse41+0x855>
   DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
   DB  68,15,92,225                        ; subps         %xmm1,%xmm12
-  DB  68,15,88,29,206,44,0,0              ; addps         0x2cce(%rip),%xmm11        # 5950 <_sk_callback_sse41+0x801>
-  DB  15,40,13,215,44,0,0                 ; movaps        0x2cd7(%rip),%xmm1        # 5960 <_sk_callback_sse41+0x811>
+  DB  68,15,88,29,68,50,0,0               ; addps         0x3244(%rip),%xmm11        # 5fb0 <_sk_callback_sse41+0x865>
+  DB  15,40,13,77,50,0,0                  ; movaps        0x324d(%rip),%xmm1        # 5fc0 <_sk_callback_sse41+0x875>
   DB  65,15,94,203                        ; divps         %xmm11,%xmm1
   DB  68,15,92,225                        ; subps         %xmm1,%xmm12
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
   DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
-  DB  68,15,88,37,196,44,0,0              ; addps         0x2cc4(%rip),%xmm12        # 5970 <_sk_callback_sse41+0x821>
-  DB  15,40,13,205,44,0,0                 ; movaps        0x2ccd(%rip),%xmm1        # 5980 <_sk_callback_sse41+0x831>
+  DB  68,15,88,37,58,50,0,0               ; addps         0x323a(%rip),%xmm12        # 5fd0 <_sk_callback_sse41+0x885>
+  DB  15,40,13,67,50,0,0                  ; movaps        0x3243(%rip),%xmm1        # 5fe0 <_sk_callback_sse41+0x895>
   DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
   DB  68,15,92,225                        ; subps         %xmm1,%xmm12
-  DB  68,15,40,21,205,44,0,0              ; movaps        0x2ccd(%rip),%xmm10        # 5990 <_sk_callback_sse41+0x841>
+  DB  68,15,40,21,67,50,0,0               ; movaps        0x3243(%rip),%xmm10        # 5ff0 <_sk_callback_sse41+0x8a5>
   DB  69,15,92,211                        ; subps         %xmm11,%xmm10
-  DB  15,40,13,210,44,0,0                 ; movaps        0x2cd2(%rip),%xmm1        # 59a0 <_sk_callback_sse41+0x851>
+  DB  15,40,13,72,50,0,0                  ; movaps        0x3248(%rip),%xmm1        # 6000 <_sk_callback_sse41+0x8b5>
   DB  65,15,94,202                        ; divps         %xmm10,%xmm1
   DB  65,15,88,204                        ; addps         %xmm12,%xmm1
-  DB  15,89,13,211,44,0,0                 ; mulps         0x2cd3(%rip),%xmm1        # 59b0 <_sk_callback_sse41+0x861>
+  DB  15,89,13,73,50,0,0                  ; mulps         0x3249(%rip),%xmm1        # 6010 <_sk_callback_sse41+0x8c5>
   DB  102,68,15,91,209                    ; cvtps2dq      %xmm1,%xmm10
   DB  243,15,16,72,20                     ; movss         0x14(%rax),%xmm1
   DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
@@ -14871,7 +16219,7 @@
   DB  102,65,15,56,20,201                 ; blendvps      %xmm0,%xmm9,%xmm1
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  15,95,200                           ; maxps         %xmm0,%xmm1
-  DB  15,93,13,190,44,0,0                 ; minps         0x2cbe(%rip),%xmm1        # 59c0 <_sk_callback_sse41+0x871>
+  DB  15,93,13,52,50,0,0                  ; minps         0x3234(%rip),%xmm1        # 6020 <_sk_callback_sse41+0x8d5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -14899,31 +16247,31 @@
   DB  68,15,88,218                        ; addps         %xmm2,%xmm11
   DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
   DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
-  DB  68,15,89,37,95,44,0,0               ; mulps         0x2c5f(%rip),%xmm12        # 59d0 <_sk_callback_sse41+0x881>
-  DB  68,15,84,29,103,44,0,0              ; andps         0x2c67(%rip),%xmm11        # 59e0 <_sk_callback_sse41+0x891>
-  DB  68,15,86,29,111,44,0,0              ; orps          0x2c6f(%rip),%xmm11        # 59f0 <_sk_callback_sse41+0x8a1>
-  DB  68,15,88,37,119,44,0,0              ; addps         0x2c77(%rip),%xmm12        # 5a00 <_sk_callback_sse41+0x8b1>
-  DB  15,40,21,128,44,0,0                 ; movaps        0x2c80(%rip),%xmm2        # 5a10 <_sk_callback_sse41+0x8c1>
+  DB  68,15,89,37,213,49,0,0              ; mulps         0x31d5(%rip),%xmm12        # 6030 <_sk_callback_sse41+0x8e5>
+  DB  68,15,84,29,221,49,0,0              ; andps         0x31dd(%rip),%xmm11        # 6040 <_sk_callback_sse41+0x8f5>
+  DB  68,15,86,29,229,49,0,0              ; orps          0x31e5(%rip),%xmm11        # 6050 <_sk_callback_sse41+0x905>
+  DB  68,15,88,37,237,49,0,0              ; addps         0x31ed(%rip),%xmm12        # 6060 <_sk_callback_sse41+0x915>
+  DB  15,40,21,246,49,0,0                 ; movaps        0x31f6(%rip),%xmm2        # 6070 <_sk_callback_sse41+0x925>
   DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
   DB  68,15,92,226                        ; subps         %xmm2,%xmm12
-  DB  68,15,88,29,128,44,0,0              ; addps         0x2c80(%rip),%xmm11        # 5a20 <_sk_callback_sse41+0x8d1>
-  DB  15,40,21,137,44,0,0                 ; movaps        0x2c89(%rip),%xmm2        # 5a30 <_sk_callback_sse41+0x8e1>
+  DB  68,15,88,29,246,49,0,0              ; addps         0x31f6(%rip),%xmm11        # 6080 <_sk_callback_sse41+0x935>
+  DB  15,40,21,255,49,0,0                 ; movaps        0x31ff(%rip),%xmm2        # 6090 <_sk_callback_sse41+0x945>
   DB  65,15,94,211                        ; divps         %xmm11,%xmm2
   DB  68,15,92,226                        ; subps         %xmm2,%xmm12
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
   DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
-  DB  68,15,88,37,118,44,0,0              ; addps         0x2c76(%rip),%xmm12        # 5a40 <_sk_callback_sse41+0x8f1>
-  DB  15,40,21,127,44,0,0                 ; movaps        0x2c7f(%rip),%xmm2        # 5a50 <_sk_callback_sse41+0x901>
+  DB  68,15,88,37,236,49,0,0              ; addps         0x31ec(%rip),%xmm12        # 60a0 <_sk_callback_sse41+0x955>
+  DB  15,40,21,245,49,0,0                 ; movaps        0x31f5(%rip),%xmm2        # 60b0 <_sk_callback_sse41+0x965>
   DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
   DB  68,15,92,226                        ; subps         %xmm2,%xmm12
-  DB  68,15,40,21,127,44,0,0              ; movaps        0x2c7f(%rip),%xmm10        # 5a60 <_sk_callback_sse41+0x911>
+  DB  68,15,40,21,245,49,0,0              ; movaps        0x31f5(%rip),%xmm10        # 60c0 <_sk_callback_sse41+0x975>
   DB  69,15,92,211                        ; subps         %xmm11,%xmm10
-  DB  15,40,21,132,44,0,0                 ; movaps        0x2c84(%rip),%xmm2        # 5a70 <_sk_callback_sse41+0x921>
+  DB  15,40,21,250,49,0,0                 ; movaps        0x31fa(%rip),%xmm2        # 60d0 <_sk_callback_sse41+0x985>
   DB  65,15,94,210                        ; divps         %xmm10,%xmm2
   DB  65,15,88,212                        ; addps         %xmm12,%xmm2
-  DB  15,89,21,133,44,0,0                 ; mulps         0x2c85(%rip),%xmm2        # 5a80 <_sk_callback_sse41+0x931>
+  DB  15,89,21,251,49,0,0                 ; mulps         0x31fb(%rip),%xmm2        # 60e0 <_sk_callback_sse41+0x995>
   DB  102,68,15,91,210                    ; cvtps2dq      %xmm2,%xmm10
   DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
   DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
@@ -14931,7 +16279,7 @@
   DB  102,65,15,56,20,209                 ; blendvps      %xmm0,%xmm9,%xmm2
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  15,95,208                           ; maxps         %xmm0,%xmm2
-  DB  15,93,21,112,44,0,0                 ; minps         0x2c70(%rip),%xmm2        # 5a90 <_sk_callback_sse41+0x941>
+  DB  15,93,21,230,49,0,0                 ; minps         0x31e6(%rip),%xmm2        # 60f0 <_sk_callback_sse41+0x9a5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -14959,31 +16307,31 @@
   DB  68,15,88,219                        ; addps         %xmm3,%xmm11
   DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
   DB  69,15,91,227                        ; cvtdq2ps      %xmm11,%xmm12
-  DB  68,15,89,37,17,44,0,0               ; mulps         0x2c11(%rip),%xmm12        # 5aa0 <_sk_callback_sse41+0x951>
-  DB  68,15,84,29,25,44,0,0               ; andps         0x2c19(%rip),%xmm11        # 5ab0 <_sk_callback_sse41+0x961>
-  DB  68,15,86,29,33,44,0,0               ; orps          0x2c21(%rip),%xmm11        # 5ac0 <_sk_callback_sse41+0x971>
-  DB  68,15,88,37,41,44,0,0               ; addps         0x2c29(%rip),%xmm12        # 5ad0 <_sk_callback_sse41+0x981>
-  DB  15,40,29,50,44,0,0                  ; movaps        0x2c32(%rip),%xmm3        # 5ae0 <_sk_callback_sse41+0x991>
+  DB  68,15,89,37,135,49,0,0              ; mulps         0x3187(%rip),%xmm12        # 6100 <_sk_callback_sse41+0x9b5>
+  DB  68,15,84,29,143,49,0,0              ; andps         0x318f(%rip),%xmm11        # 6110 <_sk_callback_sse41+0x9c5>
+  DB  68,15,86,29,151,49,0,0              ; orps          0x3197(%rip),%xmm11        # 6120 <_sk_callback_sse41+0x9d5>
+  DB  68,15,88,37,159,49,0,0              ; addps         0x319f(%rip),%xmm12        # 6130 <_sk_callback_sse41+0x9e5>
+  DB  15,40,29,168,49,0,0                 ; movaps        0x31a8(%rip),%xmm3        # 6140 <_sk_callback_sse41+0x9f5>
   DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
   DB  68,15,92,227                        ; subps         %xmm3,%xmm12
-  DB  68,15,88,29,50,44,0,0               ; addps         0x2c32(%rip),%xmm11        # 5af0 <_sk_callback_sse41+0x9a1>
-  DB  15,40,29,59,44,0,0                  ; movaps        0x2c3b(%rip),%xmm3        # 5b00 <_sk_callback_sse41+0x9b1>
+  DB  68,15,88,29,168,49,0,0              ; addps         0x31a8(%rip),%xmm11        # 6150 <_sk_callback_sse41+0xa05>
+  DB  15,40,29,177,49,0,0                 ; movaps        0x31b1(%rip),%xmm3        # 6160 <_sk_callback_sse41+0xa15>
   DB  65,15,94,219                        ; divps         %xmm11,%xmm3
   DB  68,15,92,227                        ; subps         %xmm3,%xmm12
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  102,69,15,58,8,212,1                ; roundps       $0x1,%xmm12,%xmm10
   DB  69,15,40,220                        ; movaps        %xmm12,%xmm11
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
-  DB  68,15,88,37,40,44,0,0               ; addps         0x2c28(%rip),%xmm12        # 5b10 <_sk_callback_sse41+0x9c1>
-  DB  15,40,29,49,44,0,0                  ; movaps        0x2c31(%rip),%xmm3        # 5b20 <_sk_callback_sse41+0x9d1>
+  DB  68,15,88,37,158,49,0,0              ; addps         0x319e(%rip),%xmm12        # 6170 <_sk_callback_sse41+0xa25>
+  DB  15,40,29,167,49,0,0                 ; movaps        0x31a7(%rip),%xmm3        # 6180 <_sk_callback_sse41+0xa35>
   DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
   DB  68,15,92,227                        ; subps         %xmm3,%xmm12
-  DB  68,15,40,21,49,44,0,0               ; movaps        0x2c31(%rip),%xmm10        # 5b30 <_sk_callback_sse41+0x9e1>
+  DB  68,15,40,21,167,49,0,0              ; movaps        0x31a7(%rip),%xmm10        # 6190 <_sk_callback_sse41+0xa45>
   DB  69,15,92,211                        ; subps         %xmm11,%xmm10
-  DB  15,40,29,54,44,0,0                  ; movaps        0x2c36(%rip),%xmm3        # 5b40 <_sk_callback_sse41+0x9f1>
+  DB  15,40,29,172,49,0,0                 ; movaps        0x31ac(%rip),%xmm3        # 61a0 <_sk_callback_sse41+0xa55>
   DB  65,15,94,218                        ; divps         %xmm10,%xmm3
   DB  65,15,88,220                        ; addps         %xmm12,%xmm3
-  DB  15,89,29,55,44,0,0                  ; mulps         0x2c37(%rip),%xmm3        # 5b50 <_sk_callback_sse41+0xa01>
+  DB  15,89,29,173,49,0,0                 ; mulps         0x31ad(%rip),%xmm3        # 61b0 <_sk_callback_sse41+0xa65>
   DB  102,68,15,91,211                    ; cvtps2dq      %xmm3,%xmm10
   DB  243,15,16,88,20                     ; movss         0x14(%rax),%xmm3
   DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
@@ -14991,7 +16339,7 @@
   DB  102,65,15,56,20,217                 ; blendvps      %xmm0,%xmm9,%xmm3
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  15,95,216                           ; maxps         %xmm0,%xmm3
-  DB  15,93,29,34,44,0,0                  ; minps         0x2c22(%rip),%xmm3        # 5b60 <_sk_callback_sse41+0xa11>
+  DB  15,93,29,152,49,0,0                 ; minps         0x3198(%rip),%xmm3        # 61c0 <_sk_callback_sse41+0xa75>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -14999,29 +16347,29 @@
 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,30,44,0,0                ; mulps         0x2c1e(%rip),%xmm8        # 5b70 <_sk_callback_sse41+0xa21>
-  DB  68,15,40,13,38,44,0,0               ; movaps        0x2c26(%rip),%xmm9        # 5b80 <_sk_callback_sse41+0xa31>
+  DB  68,15,89,5,148,49,0,0               ; mulps         0x3194(%rip),%xmm8        # 61d0 <_sk_callback_sse41+0xa85>
+  DB  68,15,40,13,156,49,0,0              ; movaps        0x319c(%rip),%xmm9        # 61e0 <_sk_callback_sse41+0xa95>
   DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
-  DB  15,40,5,43,44,0,0                   ; movaps        0x2c2b(%rip),%xmm0        # 5b90 <_sk_callback_sse41+0xa41>
+  DB  15,40,5,161,49,0,0                  ; movaps        0x31a1(%rip),%xmm0        # 61f0 <_sk_callback_sse41+0xaa5>
   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,41,44,0,0                ; addps         0x2c29(%rip),%xmm8        # 5ba0 <_sk_callback_sse41+0xa51>
-  DB  68,15,89,5,49,44,0,0                ; mulps         0x2c31(%rip),%xmm8        # 5bb0 <_sk_callback_sse41+0xa61>
-  DB  15,89,13,58,44,0,0                  ; mulps         0x2c3a(%rip),%xmm1        # 5bc0 <_sk_callback_sse41+0xa71>
+  DB  68,15,88,5,159,49,0,0               ; addps         0x319f(%rip),%xmm8        # 6200 <_sk_callback_sse41+0xab5>
+  DB  68,15,89,5,167,49,0,0               ; mulps         0x31a7(%rip),%xmm8        # 6210 <_sk_callback_sse41+0xac5>
+  DB  15,89,13,176,49,0,0                 ; mulps         0x31b0(%rip),%xmm1        # 6220 <_sk_callback_sse41+0xad5>
   DB  65,15,88,200                        ; addps         %xmm8,%xmm1
-  DB  15,89,21,63,44,0,0                  ; mulps         0x2c3f(%rip),%xmm2        # 5bd0 <_sk_callback_sse41+0xa81>
+  DB  15,89,21,181,49,0,0                 ; mulps         0x31b5(%rip),%xmm2        # 6230 <_sk_callback_sse41+0xae5>
   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,51,44,0,0               ; movaps        0x2c33(%rip),%xmm9        # 5be0 <_sk_callback_sse41+0xa91>
+  DB  68,15,40,13,169,49,0,0              ; movaps        0x31a9(%rip),%xmm9        # 6240 <_sk_callback_sse41+0xaf5>
   DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
   DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
-  DB  15,40,21,51,44,0,0                  ; movaps        0x2c33(%rip),%xmm2        # 5bf0 <_sk_callback_sse41+0xaa1>
+  DB  15,40,21,169,49,0,0                 ; movaps        0x31a9(%rip),%xmm2        # 6250 <_sk_callback_sse41+0xb05>
   DB  15,88,202                           ; addps         %xmm2,%xmm1
-  DB  68,15,40,37,56,44,0,0               ; movaps        0x2c38(%rip),%xmm12        # 5c00 <_sk_callback_sse41+0xab1>
+  DB  68,15,40,37,174,49,0,0              ; movaps        0x31ae(%rip),%xmm12        # 6260 <_sk_callback_sse41+0xb15>
   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
@@ -15040,8 +16388,8 @@
   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,241,43,0,0                 ; mulps         0x2bf1(%rip),%xmm1        # 5c10 <_sk_callback_sse41+0xac1>
-  DB  15,89,21,250,43,0,0                 ; mulps         0x2bfa(%rip),%xmm2        # 5c20 <_sk_callback_sse41+0xad1>
+  DB  15,89,13,103,49,0,0                 ; mulps         0x3167(%rip),%xmm1        # 6270 <_sk_callback_sse41+0xb25>
+  DB  15,89,21,112,49,0,0                 ; mulps         0x3170(%rip),%xmm2        # 6280 <_sk_callback_sse41+0xb35>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,40,193                           ; movaps        %xmm1,%xmm0
   DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
@@ -15052,11 +16400,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,39                              ; jne           3062 <_sk_load_a8_sse41+0x31>
+  DB  117,39                              ; jne           314c <_sk_load_a8_sse41+0x31>
   DB  102,65,15,56,49,4,18                ; pmovzxbd      (%r10,%rdx,1),%xmm0
-  DB  102,15,219,5,230,43,0,0             ; pand          0x2be6(%rip),%xmm0        # 5c30 <_sk_callback_sse41+0xae1>
+  DB  102,15,219,5,92,49,0,0              ; pand          0x315c(%rip),%xmm0        # 6290 <_sk_callback_sse41+0xb45>
   DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
-  DB  15,89,29,236,43,0,0                 ; mulps         0x2bec(%rip),%xmm3        # 5c40 <_sk_callback_sse41+0xaf1>
+  DB  15,89,29,98,49,0,0                  ; mulps         0x3162(%rip),%xmm3        # 62a0 <_sk_callback_sse41+0xb55>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
@@ -15065,12 +16413,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,53                              ; je            30a4 <_sk_load_a8_sse41+0x73>
+  DB  116,53                              ; je            318e <_sk_load_a8_sse41+0x73>
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            308e <_sk_load_a8_sse41+0x5d>
+  DB  116,21                              ; je            3178 <_sk_load_a8_sse41+0x5d>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,195                             ; jne           3042 <_sk_load_a8_sse41+0x11>
+  DB  117,195                             ; jne           312c <_sk_load_a8_sse41+0x11>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
   DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
@@ -15078,10 +16426,46 @@
   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,158                             ; jmp           3042 <_sk_load_a8_sse41+0x11>
+  DB  235,158                             ; jmp           312c <_sk_load_a8_sse41+0x11>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
-  DB  235,147                             ; jmp           3042 <_sk_load_a8_sse41+0x11>
+  DB  235,147                             ; jmp           312c <_sk_load_a8_sse41+0x11>
+
+PUBLIC _sk_load_a8_dst_sse41
+_sk_load_a8_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,39                              ; jne           31ca <_sk_load_a8_dst_sse41+0x31>
+  DB  102,65,15,56,49,36,18               ; pmovzxbd      (%r10,%rdx,1),%xmm4
+  DB  102,15,219,37,254,48,0,0            ; pand          0x30fe(%rip),%xmm4        # 62b0 <_sk_callback_sse41+0xb65>
+  DB  15,91,252                           ; cvtdq2ps      %xmm4,%xmm7
+  DB  15,89,61,4,49,0,0                   ; mulps         0x3104(%rip),%xmm7        # 62c0 <_sk_callback_sse41+0xb75>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,53                              ; je            320c <_sk_load_a8_dst_sse41+0x73>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            31f6 <_sk_load_a8_dst_sse41+0x5d>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,195                             ; jne           31aa <_sk_load_a8_dst_sse41+0x11>
+  DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%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,18                      ; movzwl        (%r10,%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,158                             ; jmp           31aa <_sk_load_a8_dst_sse41+0x11>
+  DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,147                             ; jmp           31aa <_sk_load_a8_dst_sse41+0x11>
 
 PUBLIC _sk_gather_a8_sse41
 _sk_gather_a8_sse41 LABEL PROC
@@ -15108,7 +16492,7 @@
   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,49,43,0,0                  ; mulps         0x2b31(%rip),%xmm3        # 5c50 <_sk_callback_sse41+0xb01>
+  DB  15,89,29,73,48,0,0                  ; mulps         0x3049(%rip),%xmm3        # 62d0 <_sk_callback_sse41+0xb85>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
@@ -15121,13 +16505,13 @@
   DB  72,131,236,4                        ; sub           $0x4,%rsp
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
-  DB  68,15,40,5,32,43,0,0                ; movaps        0x2b20(%rip),%xmm8        # 5c60 <_sk_callback_sse41+0xb11>
+  DB  68,15,40,5,56,48,0,0                ; movaps        0x3038(%rip),%xmm8        # 62e0 <_sk_callback_sse41+0xb95>
   DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
   DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
   DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
   DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,17                              ; jne           316a <_sk_store_a8_sse41+0x3b>
+  DB  117,17                              ; jne           32d2 <_sk_store_a8_sse41+0x3b>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  65,137,4,18                         ; mov           %eax,(%r10,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -15137,42 +16521,42 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,41                              ; je            31a6 <_sk_store_a8_sse41+0x77>
+  DB  116,41                              ; je            330e <_sk_store_a8_sse41+0x77>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,15                              ; je            3192 <_sk_store_a8_sse41+0x63>
+  DB  116,15                              ; je            32fa <_sk_store_a8_sse41+0x63>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,217                             ; jne           3162 <_sk_store_a8_sse41+0x33>
+  DB  117,217                             ; jne           32ca <_sk_store_a8_sse41+0x33>
   DB  102,69,15,58,20,68,18,2,8           ; pextrb        $0x8,%xmm8,0x2(%r10,%rdx,1)
-  DB  102,68,15,56,0,5,212,42,0,0         ; pshufb        0x2ad4(%rip),%xmm8        # 5c70 <_sk_callback_sse41+0xb21>
+  DB  102,68,15,56,0,5,236,47,0,0         ; pshufb        0x2fec(%rip),%xmm8        # 62f0 <_sk_callback_sse41+0xba5>
   DB  102,69,15,58,21,4,18,0              ; pextrw        $0x0,%xmm8,(%r10,%rdx,1)
-  DB  235,188                             ; jmp           3162 <_sk_store_a8_sse41+0x33>
+  DB  235,188                             ; jmp           32ca <_sk_store_a8_sse41+0x33>
   DB  102,69,15,58,20,4,18,0              ; pextrb        $0x0,%xmm8,(%r10,%rdx,1)
-  DB  235,178                             ; jmp           3162 <_sk_store_a8_sse41+0x33>
+  DB  235,178                             ; jmp           32ca <_sk_store_a8_sse41+0x33>
 
 PUBLIC _sk_load_g8_sse41
 _sk_load_g8_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,42                              ; jne           31e4 <_sk_load_g8_sse41+0x34>
+  DB  117,42                              ; jne           334c <_sk_load_g8_sse41+0x34>
   DB  102,65,15,56,49,4,18                ; pmovzxbd      (%r10,%rdx,1),%xmm0
-  DB  102,15,219,5,183,42,0,0             ; pand          0x2ab7(%rip),%xmm0        # 5c80 <_sk_callback_sse41+0xb31>
+  DB  102,15,219,5,207,47,0,0             ; pand          0x2fcf(%rip),%xmm0        # 6300 <_sk_callback_sse41+0xbb5>
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,189,42,0,0                  ; mulps         0x2abd(%rip),%xmm0        # 5c90 <_sk_callback_sse41+0xb41>
+  DB  15,89,5,213,47,0,0                  ; mulps         0x2fd5(%rip),%xmm0        # 6310 <_sk_callback_sse41+0xbc5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,196,42,0,0                 ; movaps        0x2ac4(%rip),%xmm3        # 5ca0 <_sk_callback_sse41+0xb51>
+  DB  15,40,29,220,47,0,0                 ; movaps        0x2fdc(%rip),%xmm3        # 6320 <_sk_callback_sse41+0xbd5>
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,53                              ; je            3226 <_sk_load_g8_sse41+0x76>
+  DB  116,53                              ; je            338e <_sk_load_g8_sse41+0x76>
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            3210 <_sk_load_g8_sse41+0x60>
+  DB  116,21                              ; je            3378 <_sk_load_g8_sse41+0x60>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,192                             ; jne           31c1 <_sk_load_g8_sse41+0x11>
+  DB  117,192                             ; jne           3329 <_sk_load_g8_sse41+0x11>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
   DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
@@ -15180,10 +16564,46 @@
   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,155                             ; jmp           31c1 <_sk_load_g8_sse41+0x11>
+  DB  235,155                             ; jmp           3329 <_sk_load_g8_sse41+0x11>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
-  DB  235,144                             ; jmp           31c1 <_sk_load_g8_sse41+0x11>
+  DB  235,144                             ; jmp           3329 <_sk_load_g8_sse41+0x11>
+
+PUBLIC _sk_load_g8_dst_sse41
+_sk_load_g8_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,42                              ; jne           33cd <_sk_load_g8_dst_sse41+0x34>
+  DB  102,65,15,56,49,36,18               ; pmovzxbd      (%r10,%rdx,1),%xmm4
+  DB  102,15,219,37,126,47,0,0            ; pand          0x2f7e(%rip),%xmm4        # 6330 <_sk_callback_sse41+0xbe5>
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,132,47,0,0                 ; mulps         0x2f84(%rip),%xmm4        # 6340 <_sk_callback_sse41+0xbf5>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,139,47,0,0                 ; movaps        0x2f8b(%rip),%xmm7        # 6350 <_sk_callback_sse41+0xc05>
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,53                              ; je            340f <_sk_load_g8_dst_sse41+0x76>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            33f9 <_sk_load_g8_dst_sse41+0x60>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,192                             ; jne           33aa <_sk_load_g8_dst_sse41+0x11>
+  DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%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,18                      ; movzwl        (%r10,%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,155                             ; jmp           33aa <_sk_load_g8_dst_sse41+0x11>
+  DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,144                             ; jmp           33aa <_sk_load_g8_dst_sse41+0x11>
 
 PUBLIC _sk_gather_g8_sse41
 _sk_gather_g8_sse41 LABEL PROC
@@ -15210,9 +16630,9 @@
   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,15,42,0,0                   ; mulps         0x2a0f(%rip),%xmm0        # 5cb0 <_sk_callback_sse41+0xb61>
+  DB  15,89,5,214,46,0,0                  ; mulps         0x2ed6(%rip),%xmm0        # 6360 <_sk_callback_sse41+0xc15>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,22,42,0,0                  ; movaps        0x2a16(%rip),%xmm3        # 5cc0 <_sk_callback_sse41+0xb71>
+  DB  15,40,29,221,46,0,0                 ; movaps        0x2edd(%rip),%xmm3        # 6370 <_sk_callback_sse41+0xc25>
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
   DB  91                                  ; pop           %rbx
@@ -15223,9 +16643,9 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,137,193                          ; mov           %rax,%r9
   DB  77,133,201                          ; test          %r9,%r9
-  DB  116,5                               ; je            32c2 <_sk_gather_i8_sse41+0xf>
+  DB  116,5                               ; je            34ab <_sk_gather_i8_sse41+0xf>
   DB  76,137,200                          ; mov           %r9,%rax
-  DB  235,2                               ; jmp           32c4 <_sk_gather_i8_sse41+0x11>
+  DB  235,2                               ; jmp           34ad <_sk_gather_i8_sse41+0x11>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,86                               ; push          %r14
   DB  83                                  ; push          %rbx
@@ -15258,17 +16678,17 @@
   DB  102,15,58,34,28,24,1                ; pinsrd        $0x1,(%rax,%rbx,1),%xmm3
   DB  102,66,15,58,34,28,152,2            ; pinsrd        $0x2,(%rax,%r11,4),%xmm3
   DB  102,66,15,58,34,28,16,3             ; pinsrd        $0x3,(%rax,%r10,1),%xmm3
-  DB  102,15,111,5,105,41,0,0             ; movdqa        0x2969(%rip),%xmm0        # 5cd0 <_sk_callback_sse41+0xb81>
+  DB  102,15,111,5,48,46,0,0              ; movdqa        0x2e30(%rip),%xmm0        # 6380 <_sk_callback_sse41+0xc35>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,5,106,41,0,0               ; movaps        0x296a(%rip),%xmm8        # 5ce0 <_sk_callback_sse41+0xb91>
+  DB  68,15,40,5,49,46,0,0                ; movaps        0x2e31(%rip),%xmm8        # 6390 <_sk_callback_sse41+0xc45>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
-  DB  102,15,56,0,13,105,41,0,0           ; pshufb        0x2969(%rip),%xmm1        # 5cf0 <_sk_callback_sse41+0xba1>
+  DB  102,15,56,0,13,48,46,0,0            ; pshufb        0x2e30(%rip),%xmm1        # 63a0 <_sk_callback_sse41+0xc55>
   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,101,41,0,0           ; pshufb        0x2965(%rip),%xmm2        # 5d00 <_sk_callback_sse41+0xbb1>
+  DB  102,15,56,0,21,44,46,0,0            ; pshufb        0x2e2c(%rip),%xmm2        # 63b0 <_sk_callback_sse41+0xc65>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
   DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
@@ -15284,41 +16704,82 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,80                              ; jne           340f <_sk_load_565_sse41+0x5a>
+  DB  117,80                              ; jne           35f8 <_sk_load_565_sse41+0x5a>
   DB  102,65,15,56,51,20,82               ; pmovzxwd      (%r10,%rdx,2),%xmm2
-  DB  102,15,111,5,66,41,0,0              ; movdqa        0x2942(%rip),%xmm0        # 5d10 <_sk_callback_sse41+0xbc1>
+  DB  102,15,111,5,9,46,0,0               ; movdqa        0x2e09(%rip),%xmm0        # 63c0 <_sk_callback_sse41+0xc75>
   DB  102,15,219,194                      ; pand          %xmm2,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,68,41,0,0                   ; mulps         0x2944(%rip),%xmm0        # 5d20 <_sk_callback_sse41+0xbd1>
-  DB  102,15,111,13,76,41,0,0             ; movdqa        0x294c(%rip),%xmm1        # 5d30 <_sk_callback_sse41+0xbe1>
+  DB  15,89,5,11,46,0,0                   ; mulps         0x2e0b(%rip),%xmm0        # 63d0 <_sk_callback_sse41+0xc85>
+  DB  102,15,111,13,19,46,0,0             ; movdqa        0x2e13(%rip),%xmm1        # 63e0 <_sk_callback_sse41+0xc95>
   DB  102,15,219,202                      ; pand          %xmm2,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,78,41,0,0                  ; mulps         0x294e(%rip),%xmm1        # 5d40 <_sk_callback_sse41+0xbf1>
-  DB  102,15,219,21,86,41,0,0             ; pand          0x2956(%rip),%xmm2        # 5d50 <_sk_callback_sse41+0xc01>
+  DB  15,89,13,21,46,0,0                  ; mulps         0x2e15(%rip),%xmm1        # 63f0 <_sk_callback_sse41+0xca5>
+  DB  102,15,219,21,29,46,0,0             ; pand          0x2e1d(%rip),%xmm2        # 6400 <_sk_callback_sse41+0xcb5>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,92,41,0,0                  ; mulps         0x295c(%rip),%xmm2        # 5d60 <_sk_callback_sse41+0xc11>
+  DB  15,89,21,35,46,0,0                  ; mulps         0x2e23(%rip),%xmm2        # 6410 <_sk_callback_sse41+0xcc5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,99,41,0,0                  ; movaps        0x2963(%rip),%xmm3        # 5d70 <_sk_callback_sse41+0xc21>
+  DB  15,40,29,42,46,0,0                  ; movaps        0x2e2a(%rip),%xmm3        # 6420 <_sk_callback_sse41+0xcd5>
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,53                              ; je            3451 <_sk_load_565_sse41+0x9c>
+  DB  116,53                              ; je            363a <_sk_load_565_sse41+0x9c>
   DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            343b <_sk_load_565_sse41+0x86>
+  DB  116,21                              ; je            3624 <_sk_load_565_sse41+0x86>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,154                             ; jne           33c6 <_sk_load_565_sse41+0x11>
+  DB  117,154                             ; jne           35af <_sk_load_565_sse41+0x11>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                  ; movd          (%r10,%rdx,2),%xmm0
   DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
   DB  102,15,58,14,208,15                 ; pblendw       $0xf,%xmm0,%xmm2
-  DB  233,117,255,255,255                 ; jmpq          33c6 <_sk_load_565_sse41+0x11>
+  DB  233,117,255,255,255                 ; jmpq          35af <_sk_load_565_sse41+0x11>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,15,110,208                      ; movd          %eax,%xmm2
-  DB  233,103,255,255,255                 ; jmpq          33c6 <_sk_load_565_sse41+0x11>
+  DB  233,103,255,255,255                 ; jmpq          35af <_sk_load_565_sse41+0x11>
+
+PUBLIC _sk_load_565_dst_sse41
+_sk_load_565_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,80                              ; jne           36a2 <_sk_load_565_dst_sse41+0x5a>
+  DB  102,65,15,56,51,52,82               ; pmovzxwd      (%r10,%rdx,2),%xmm6
+  DB  102,15,111,37,207,45,0,0            ; movdqa        0x2dcf(%rip),%xmm4        # 6430 <_sk_callback_sse41+0xce5>
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,209,45,0,0                 ; mulps         0x2dd1(%rip),%xmm4        # 6440 <_sk_callback_sse41+0xcf5>
+  DB  102,15,111,45,217,45,0,0            ; movdqa        0x2dd9(%rip),%xmm5        # 6450 <_sk_callback_sse41+0xd05>
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,219,45,0,0                 ; mulps         0x2ddb(%rip),%xmm5        # 6460 <_sk_callback_sse41+0xd15>
+  DB  102,15,219,53,227,45,0,0            ; pand          0x2de3(%rip),%xmm6        # 6470 <_sk_callback_sse41+0xd25>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,233,45,0,0                 ; mulps         0x2de9(%rip),%xmm6        # 6480 <_sk_callback_sse41+0xd35>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,240,45,0,0                 ; movaps        0x2df0(%rip),%xmm7        # 6490 <_sk_callback_sse41+0xd45>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,53                              ; je            36e4 <_sk_load_565_dst_sse41+0x9c>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            36ce <_sk_load_565_dst_sse41+0x86>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,154                             ; jne           3659 <_sk_load_565_dst_sse41+0x11>
+  DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                 ; movd          (%r10,%rdx,2),%xmm4
+  DB  102,15,56,51,228                    ; pmovzxwd      %xmm4,%xmm4
+  DB  102,15,58,14,244,15                 ; pblendw       $0xf,%xmm4,%xmm6
+  DB  233,117,255,255,255                 ; jmpq          3659 <_sk_load_565_dst_sse41+0x11>
+  DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
+  DB  102,15,110,240                      ; movd          %eax,%xmm6
+  DB  233,103,255,255,255                 ; jmpq          3659 <_sk_load_565_dst_sse41+0x11>
 
 PUBLIC _sk_gather_565_sse41
 _sk_gather_565_sse41 LABEL PROC
@@ -15344,19 +16805,19 @@
   DB  65,15,183,4,65                      ; movzwl        (%r9,%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,183,40,0,0             ; movdqa        0x28b7(%rip),%xmm0        # 5d80 <_sk_callback_sse41+0xc31>
+  DB  102,15,111,5,68,45,0,0              ; movdqa        0x2d44(%rip),%xmm0        # 64a0 <_sk_callback_sse41+0xd55>
   DB  102,15,219,194                      ; pand          %xmm2,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,185,40,0,0                  ; mulps         0x28b9(%rip),%xmm0        # 5d90 <_sk_callback_sse41+0xc41>
-  DB  102,15,111,13,193,40,0,0            ; movdqa        0x28c1(%rip),%xmm1        # 5da0 <_sk_callback_sse41+0xc51>
+  DB  15,89,5,70,45,0,0                   ; mulps         0x2d46(%rip),%xmm0        # 64b0 <_sk_callback_sse41+0xd65>
+  DB  102,15,111,13,78,45,0,0             ; movdqa        0x2d4e(%rip),%xmm1        # 64c0 <_sk_callback_sse41+0xd75>
   DB  102,15,219,202                      ; pand          %xmm2,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,195,40,0,0                 ; mulps         0x28c3(%rip),%xmm1        # 5db0 <_sk_callback_sse41+0xc61>
-  DB  102,15,219,21,203,40,0,0            ; pand          0x28cb(%rip),%xmm2        # 5dc0 <_sk_callback_sse41+0xc71>
+  DB  15,89,13,80,45,0,0                  ; mulps         0x2d50(%rip),%xmm1        # 64d0 <_sk_callback_sse41+0xd85>
+  DB  102,15,219,21,88,45,0,0             ; pand          0x2d58(%rip),%xmm2        # 64e0 <_sk_callback_sse41+0xd95>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,209,40,0,0                 ; mulps         0x28d1(%rip),%xmm2        # 5dd0 <_sk_callback_sse41+0xc81>
+  DB  15,89,21,94,45,0,0                  ; mulps         0x2d5e(%rip),%xmm2        # 64f0 <_sk_callback_sse41+0xda5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,216,40,0,0                 ; movaps        0x28d8(%rip),%xmm3        # 5de0 <_sk_callback_sse41+0xc91>
+  DB  15,40,29,101,45,0,0                 ; movaps        0x2d65(%rip),%xmm3        # 6500 <_sk_callback_sse41+0xdb5>
   DB  91                                  ; pop           %rbx
   DB  255,224                             ; jmpq          *%rax
 
@@ -15364,12 +16825,12 @@
 _sk_store_565_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  68,15,40,5,216,40,0,0               ; movaps        0x28d8(%rip),%xmm8        # 5df0 <_sk_callback_sse41+0xca1>
+  DB  68,15,40,5,101,45,0,0               ; movaps        0x2d65(%rip),%xmm8        # 6510 <_sk_callback_sse41+0xdc5>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
   DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
-  DB  68,15,40,21,205,40,0,0              ; movaps        0x28cd(%rip),%xmm10        # 5e00 <_sk_callback_sse41+0xcb1>
+  DB  68,15,40,21,90,45,0,0               ; movaps        0x2d5a(%rip),%xmm10        # 6520 <_sk_callback_sse41+0xdd5>
   DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
   DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
   DB  102,65,15,114,242,5                 ; pslld         $0x5,%xmm10
@@ -15379,7 +16840,7 @@
   DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
   DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           356a <_sk_store_565_sse41+0x5f>
+  DB  117,10                              ; jne           37fd <_sk_store_565_sse41+0x5f>
   DB  242,68,15,17,4,80                   ; movsd         %xmm8,(%rax,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -15387,61 +16848,105 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,35                              ; je            35a0 <_sk_store_565_sse41+0x95>
+  DB  116,35                              ; je            3833 <_sk_store_565_sse41+0x95>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,15                              ; je            3592 <_sk_store_565_sse41+0x87>
+  DB  116,15                              ; je            3825 <_sk_store_565_sse41+0x87>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,221                             ; jne           3566 <_sk_store_565_sse41+0x5b>
+  DB  117,221                             ; jne           37f9 <_sk_store_565_sse41+0x5b>
   DB  102,68,15,58,21,68,80,4,4           ; pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
   DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
   DB  102,68,15,126,4,80                  ; movd          %xmm8,(%rax,%rdx,2)
-  DB  235,198                             ; jmp           3566 <_sk_store_565_sse41+0x5b>
+  DB  235,198                             ; jmp           37f9 <_sk_store_565_sse41+0x5b>
   DB  102,68,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%rax,%rdx,2)
-  DB  235,188                             ; jmp           3566 <_sk_store_565_sse41+0x5b>
+  DB  235,188                             ; jmp           37f9 <_sk_store_565_sse41+0x5b>
 
 PUBLIC _sk_load_4444_sse41
 _sk_load_4444_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,95                              ; jne           3613 <_sk_load_4444_sse41+0x69>
+  DB  117,95                              ; jne           38a6 <_sk_load_4444_sse41+0x69>
   DB  102,65,15,56,51,28,82               ; pmovzxwd      (%r10,%rdx,2),%xmm3
-  DB  102,15,111,5,77,40,0,0              ; movdqa        0x284d(%rip),%xmm0        # 5e10 <_sk_callback_sse41+0xcc1>
+  DB  102,15,111,5,218,44,0,0             ; movdqa        0x2cda(%rip),%xmm0        # 6530 <_sk_callback_sse41+0xde5>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,79,40,0,0                   ; mulps         0x284f(%rip),%xmm0        # 5e20 <_sk_callback_sse41+0xcd1>
-  DB  102,15,111,13,87,40,0,0             ; movdqa        0x2857(%rip),%xmm1        # 5e30 <_sk_callback_sse41+0xce1>
+  DB  15,89,5,220,44,0,0                  ; mulps         0x2cdc(%rip),%xmm0        # 6540 <_sk_callback_sse41+0xdf5>
+  DB  102,15,111,13,228,44,0,0            ; movdqa        0x2ce4(%rip),%xmm1        # 6550 <_sk_callback_sse41+0xe05>
   DB  102,15,219,203                      ; pand          %xmm3,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,89,40,0,0                  ; mulps         0x2859(%rip),%xmm1        # 5e40 <_sk_callback_sse41+0xcf1>
-  DB  102,15,111,21,97,40,0,0             ; movdqa        0x2861(%rip),%xmm2        # 5e50 <_sk_callback_sse41+0xd01>
+  DB  15,89,13,230,44,0,0                 ; mulps         0x2ce6(%rip),%xmm1        # 6560 <_sk_callback_sse41+0xe15>
+  DB  102,15,111,21,238,44,0,0            ; movdqa        0x2cee(%rip),%xmm2        # 6570 <_sk_callback_sse41+0xe25>
   DB  102,15,219,211                      ; pand          %xmm3,%xmm2
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,99,40,0,0                  ; mulps         0x2863(%rip),%xmm2        # 5e60 <_sk_callback_sse41+0xd11>
-  DB  102,15,219,29,107,40,0,0            ; pand          0x286b(%rip),%xmm3        # 5e70 <_sk_callback_sse41+0xd21>
+  DB  15,89,21,240,44,0,0                 ; mulps         0x2cf0(%rip),%xmm2        # 6580 <_sk_callback_sse41+0xe35>
+  DB  102,15,219,29,248,44,0,0            ; pand          0x2cf8(%rip),%xmm3        # 6590 <_sk_callback_sse41+0xe45>
   DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
-  DB  15,89,29,113,40,0,0                 ; mulps         0x2871(%rip),%xmm3        # 5e80 <_sk_callback_sse41+0xd31>
+  DB  15,89,29,254,44,0,0                 ; mulps         0x2cfe(%rip),%xmm3        # 65a0 <_sk_callback_sse41+0xe55>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,53                              ; je            3655 <_sk_load_4444_sse41+0xab>
+  DB  116,53                              ; je            38e8 <_sk_load_4444_sse41+0xab>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            363f <_sk_load_4444_sse41+0x95>
+  DB  116,21                              ; je            38d2 <_sk_load_4444_sse41+0x95>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,139                             ; jne           35bb <_sk_load_4444_sse41+0x11>
+  DB  117,139                             ; jne           384e <_sk_load_4444_sse41+0x11>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                  ; movd          (%r10,%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,102,255,255,255                 ; jmpq          35bb <_sk_load_4444_sse41+0x11>
+  DB  233,102,255,255,255                 ; jmpq          384e <_sk_load_4444_sse41+0x11>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,15,110,216                      ; movd          %eax,%xmm3
-  DB  233,88,255,255,255                  ; jmpq          35bb <_sk_load_4444_sse41+0x11>
+  DB  233,88,255,255,255                  ; jmpq          384e <_sk_load_4444_sse41+0x11>
+
+PUBLIC _sk_load_4444_dst_sse41
+_sk_load_4444_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,95                              ; jne           395f <_sk_load_4444_dst_sse41+0x69>
+  DB  102,65,15,56,51,60,82               ; pmovzxwd      (%r10,%rdx,2),%xmm7
+  DB  102,15,111,37,161,44,0,0            ; movdqa        0x2ca1(%rip),%xmm4        # 65b0 <_sk_callback_sse41+0xe65>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,163,44,0,0                 ; mulps         0x2ca3(%rip),%xmm4        # 65c0 <_sk_callback_sse41+0xe75>
+  DB  102,15,111,45,171,44,0,0            ; movdqa        0x2cab(%rip),%xmm5        # 65d0 <_sk_callback_sse41+0xe85>
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,173,44,0,0                 ; mulps         0x2cad(%rip),%xmm5        # 65e0 <_sk_callback_sse41+0xe95>
+  DB  102,15,111,53,181,44,0,0            ; movdqa        0x2cb5(%rip),%xmm6        # 65f0 <_sk_callback_sse41+0xea5>
+  DB  102,15,219,247                      ; pand          %xmm7,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,183,44,0,0                 ; mulps         0x2cb7(%rip),%xmm6        # 6600 <_sk_callback_sse41+0xeb5>
+  DB  102,15,219,61,191,44,0,0            ; pand          0x2cbf(%rip),%xmm7        # 6610 <_sk_callback_sse41+0xec5>
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,89,61,197,44,0,0                 ; mulps         0x2cc5(%rip),%xmm7        # 6620 <_sk_callback_sse41+0xed5>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,53                              ; je            39a1 <_sk_load_4444_dst_sse41+0xab>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            398b <_sk_load_4444_dst_sse41+0x95>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,139                             ; jne           3907 <_sk_load_4444_dst_sse41+0x11>
+  DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                 ; movd          (%r10,%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,102,255,255,255                 ; jmpq          3907 <_sk_load_4444_dst_sse41+0x11>
+  DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  233,88,255,255,255                  ; jmpq          3907 <_sk_load_4444_dst_sse41+0x11>
 
 PUBLIC _sk_gather_4444_sse41
 _sk_gather_4444_sse41 LABEL PROC
@@ -15467,21 +16972,21 @@
   DB  65,15,183,4,65                      ; movzwl        (%r9,%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,195,39,0,0             ; movdqa        0x27c3(%rip),%xmm0        # 5e90 <_sk_callback_sse41+0xd41>
+  DB  102,15,111,5,23,44,0,0              ; movdqa        0x2c17(%rip),%xmm0        # 6630 <_sk_callback_sse41+0xee5>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,197,39,0,0                  ; mulps         0x27c5(%rip),%xmm0        # 5ea0 <_sk_callback_sse41+0xd51>
-  DB  102,15,111,13,205,39,0,0            ; movdqa        0x27cd(%rip),%xmm1        # 5eb0 <_sk_callback_sse41+0xd61>
+  DB  15,89,5,25,44,0,0                   ; mulps         0x2c19(%rip),%xmm0        # 6640 <_sk_callback_sse41+0xef5>
+  DB  102,15,111,13,33,44,0,0             ; movdqa        0x2c21(%rip),%xmm1        # 6650 <_sk_callback_sse41+0xf05>
   DB  102,15,219,203                      ; pand          %xmm3,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,207,39,0,0                 ; mulps         0x27cf(%rip),%xmm1        # 5ec0 <_sk_callback_sse41+0xd71>
-  DB  102,15,111,21,215,39,0,0            ; movdqa        0x27d7(%rip),%xmm2        # 5ed0 <_sk_callback_sse41+0xd81>
+  DB  15,89,13,35,44,0,0                  ; mulps         0x2c23(%rip),%xmm1        # 6660 <_sk_callback_sse41+0xf15>
+  DB  102,15,111,21,43,44,0,0             ; movdqa        0x2c2b(%rip),%xmm2        # 6670 <_sk_callback_sse41+0xf25>
   DB  102,15,219,211                      ; pand          %xmm3,%xmm2
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,217,39,0,0                 ; mulps         0x27d9(%rip),%xmm2        # 5ee0 <_sk_callback_sse41+0xd91>
-  DB  102,15,219,29,225,39,0,0            ; pand          0x27e1(%rip),%xmm3        # 5ef0 <_sk_callback_sse41+0xda1>
+  DB  15,89,21,45,44,0,0                  ; mulps         0x2c2d(%rip),%xmm2        # 6680 <_sk_callback_sse41+0xf35>
+  DB  102,15,219,29,53,44,0,0             ; pand          0x2c35(%rip),%xmm3        # 6690 <_sk_callback_sse41+0xf45>
   DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
-  DB  15,89,29,231,39,0,0                 ; mulps         0x27e7(%rip),%xmm3        # 5f00 <_sk_callback_sse41+0xdb1>
+  DB  15,89,29,59,44,0,0                  ; mulps         0x2c3b(%rip),%xmm3        # 66a0 <_sk_callback_sse41+0xf55>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  255,224                             ; jmpq          *%rax
@@ -15490,7 +16995,7 @@
 _sk_store_4444_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  68,15,40,5,229,39,0,0               ; movaps        0x27e5(%rip),%xmm8        # 5f10 <_sk_callback_sse41+0xdc1>
+  DB  68,15,40,5,57,44,0,0                ; movaps        0x2c39(%rip),%xmm8        # 66b0 <_sk_callback_sse41+0xf65>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
@@ -15510,7 +17015,7 @@
   DB  102,69,15,86,194                    ; orpd          %xmm10,%xmm8
   DB  102,69,15,56,43,192                 ; packusdw      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3791 <_sk_store_4444_sse41+0x73>
+  DB  117,10                              ; jne           3add <_sk_store_4444_sse41+0x73>
   DB  242,68,15,17,4,80                   ; movsd         %xmm8,(%rax,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -15518,36 +17023,36 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,35                              ; je            37c7 <_sk_store_4444_sse41+0xa9>
+  DB  116,35                              ; je            3b13 <_sk_store_4444_sse41+0xa9>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,15                              ; je            37b9 <_sk_store_4444_sse41+0x9b>
+  DB  116,15                              ; je            3b05 <_sk_store_4444_sse41+0x9b>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,221                             ; jne           378d <_sk_store_4444_sse41+0x6f>
+  DB  117,221                             ; jne           3ad9 <_sk_store_4444_sse41+0x6f>
   DB  102,68,15,58,21,68,80,4,4           ; pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
   DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
   DB  102,68,15,126,4,80                  ; movd          %xmm8,(%rax,%rdx,2)
-  DB  235,198                             ; jmp           378d <_sk_store_4444_sse41+0x6f>
+  DB  235,198                             ; jmp           3ad9 <_sk_store_4444_sse41+0x6f>
   DB  102,68,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%rax,%rdx,2)
-  DB  235,188                             ; jmp           378d <_sk_store_4444_sse41+0x6f>
+  DB  235,188                             ; jmp           3ad9 <_sk_store_4444_sse41+0x6f>
 
 PUBLIC _sk_load_8888_sse41
 _sk_load_8888_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,88                              ; jne           3833 <_sk_load_8888_sse41+0x62>
+  DB  117,88                              ; jne           3b7f <_sk_load_8888_sse41+0x62>
   DB  243,15,111,28,144                   ; movdqu        (%rax,%rdx,4),%xmm3
-  DB  102,15,111,5,56,39,0,0              ; movdqa        0x2738(%rip),%xmm0        # 5f20 <_sk_callback_sse41+0xdd1>
+  DB  102,15,111,5,140,43,0,0             ; movdqa        0x2b8c(%rip),%xmm0        # 66c0 <_sk_callback_sse41+0xf75>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,5,57,39,0,0                ; movaps        0x2739(%rip),%xmm8        # 5f30 <_sk_callback_sse41+0xde1>
+  DB  68,15,40,5,141,43,0,0               ; movaps        0x2b8d(%rip),%xmm8        # 66d0 <_sk_callback_sse41+0xf85>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
-  DB  102,15,56,0,13,56,39,0,0            ; pshufb        0x2738(%rip),%xmm1        # 5f40 <_sk_callback_sse41+0xdf1>
+  DB  102,15,56,0,13,140,43,0,0           ; pshufb        0x2b8c(%rip),%xmm1        # 66e0 <_sk_callback_sse41+0xf95>
   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,52,39,0,0            ; pshufb        0x2734(%rip),%xmm2        # 5f50 <_sk_callback_sse41+0xe01>
+  DB  102,15,56,0,21,136,43,0,0           ; pshufb        0x2b88(%rip),%xmm2        # 66f0 <_sk_callback_sse41+0xfa5>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
   DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
@@ -15558,19 +17063,61 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,43                              ; je            386b <_sk_load_8888_sse41+0x9a>
+  DB  116,43                              ; je            3bb7 <_sk_load_8888_sse41+0x9a>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,17                              ; je            385b <_sk_load_8888_sse41+0x8a>
+  DB  116,17                              ; je            3ba7 <_sk_load_8888_sse41+0x8a>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,144                             ; jne           37e0 <_sk_load_8888_sse41+0xf>
+  DB  117,144                             ; jne           3b2c <_sk_load_8888_sse41+0xf>
   DB  102,15,110,68,144,8                 ; movd          0x8(%rax,%rdx,4),%xmm0
   DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
   DB  243,15,126,4,144                    ; movq          (%rax,%rdx,4),%xmm0
   DB  102,15,58,14,216,15                 ; pblendw       $0xf,%xmm0,%xmm3
-  DB  233,117,255,255,255                 ; jmpq          37e0 <_sk_load_8888_sse41+0xf>
+  DB  233,117,255,255,255                 ; jmpq          3b2c <_sk_load_8888_sse41+0xf>
   DB  102,15,110,28,144                   ; movd          (%rax,%rdx,4),%xmm3
-  DB  233,107,255,255,255                 ; jmpq          37e0 <_sk_load_8888_sse41+0xf>
+  DB  233,107,255,255,255                 ; jmpq          3b2c <_sk_load_8888_sse41+0xf>
+
+PUBLIC _sk_load_8888_dst_sse41
+_sk_load_8888_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,88                              ; jne           3c23 <_sk_load_8888_dst_sse41+0x62>
+  DB  243,15,111,60,144                   ; movdqu        (%rax,%rdx,4),%xmm7
+  DB  102,15,111,37,40,43,0,0             ; movdqa        0x2b28(%rip),%xmm4        # 6700 <_sk_callback_sse41+0xfb5>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  68,15,40,5,41,43,0,0                ; movaps        0x2b29(%rip),%xmm8        # 6710 <_sk_callback_sse41+0xfc5>
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,15,56,0,45,40,43,0,0            ; pshufb        0x2b28(%rip),%xmm5        # 6720 <_sk_callback_sse41+0xfd5>
+  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,36,43,0,0            ; pshufb        0x2b24(%rip),%xmm6        # 6730 <_sk_callback_sse41+0xfe5>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,43                              ; je            3c5b <_sk_load_8888_dst_sse41+0x9a>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,17                              ; je            3c4b <_sk_load_8888_dst_sse41+0x8a>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,144                             ; jne           3bd0 <_sk_load_8888_dst_sse41+0xf>
+  DB  102,15,110,100,144,8                ; movd          0x8(%rax,%rdx,4),%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  243,15,126,36,144                   ; movq          (%rax,%rdx,4),%xmm4
+  DB  102,15,58,14,252,15                 ; pblendw       $0xf,%xmm4,%xmm7
+  DB  233,117,255,255,255                 ; jmpq          3bd0 <_sk_load_8888_dst_sse41+0xf>
+  DB  102,15,110,60,144                   ; movd          (%rax,%rdx,4),%xmm7
+  DB  233,107,255,255,255                 ; jmpq          3bd0 <_sk_load_8888_dst_sse41+0xf>
 
 PUBLIC _sk_gather_8888_sse41
 _sk_gather_8888_sse41 LABEL PROC
@@ -15593,17 +17140,17 @@
   DB  102,65,15,58,34,28,129,1            ; pinsrd        $0x1,(%r9,%rax,4),%xmm3
   DB  102,65,15,58,34,28,153,2            ; pinsrd        $0x2,(%r9,%rbx,4),%xmm3
   DB  102,67,15,58,34,28,153,3            ; pinsrd        $0x3,(%r9,%r11,4),%xmm3
-  DB  102,15,111,5,138,38,0,0             ; movdqa        0x268a(%rip),%xmm0        # 5f60 <_sk_callback_sse41+0xe11>
+  DB  102,15,111,5,122,42,0,0             ; movdqa        0x2a7a(%rip),%xmm0        # 6740 <_sk_callback_sse41+0xff5>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,5,139,38,0,0               ; movaps        0x268b(%rip),%xmm8        # 5f70 <_sk_callback_sse41+0xe21>
+  DB  68,15,40,5,123,42,0,0               ; movaps        0x2a7b(%rip),%xmm8        # 6750 <_sk_callback_sse41+0x1005>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
-  DB  102,15,56,0,13,138,38,0,0           ; pshufb        0x268a(%rip),%xmm1        # 5f80 <_sk_callback_sse41+0xe31>
+  DB  102,15,56,0,13,122,42,0,0           ; pshufb        0x2a7a(%rip),%xmm1        # 6760 <_sk_callback_sse41+0x1015>
   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,134,38,0,0           ; pshufb        0x2686(%rip),%xmm2        # 5f90 <_sk_callback_sse41+0xe41>
+  DB  102,15,56,0,21,118,42,0,0           ; pshufb        0x2a76(%rip),%xmm2        # 6770 <_sk_callback_sse41+0x1025>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
   DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
@@ -15617,7 +17164,7 @@
 _sk_store_8888_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  68,15,40,5,113,38,0,0               ; movaps        0x2671(%rip),%xmm8        # 5fa0 <_sk_callback_sse41+0xe51>
+  DB  68,15,40,5,97,42,0,0                ; movaps        0x2a61(%rip),%xmm8        # 6780 <_sk_callback_sse41+0x1035>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
@@ -15636,30 +17183,30 @@
   DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
   DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           398f <_sk_store_8888_sse41+0x6d>
+  DB  117,10                              ; jne           3d7f <_sk_store_8888_sse41+0x6d>
   DB  243,68,15,127,4,144                 ; movdqu        %xmm8,(%rax,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,29                              ; je            39b9 <_sk_store_8888_sse41+0x97>
+  DB  116,29                              ; je            3da9 <_sk_store_8888_sse41+0x97>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,15                              ; je            39b1 <_sk_store_8888_sse41+0x8f>
+  DB  116,15                              ; je            3da1 <_sk_store_8888_sse41+0x8f>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,227                             ; jne           398b <_sk_store_8888_sse41+0x69>
+  DB  117,227                             ; jne           3d7b <_sk_store_8888_sse41+0x69>
   DB  102,68,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%rax,%rdx,4)
   DB  102,68,15,214,4,144                 ; movq          %xmm8,(%rax,%rdx,4)
-  DB  235,210                             ; jmp           398b <_sk_store_8888_sse41+0x69>
+  DB  235,210                             ; jmp           3d7b <_sk_store_8888_sse41+0x69>
   DB  102,68,15,126,4,144                 ; movd          %xmm8,(%rax,%rdx,4)
-  DB  235,202                             ; jmp           398b <_sk_store_8888_sse41+0x69>
+  DB  235,202                             ; jmp           3d7b <_sk_store_8888_sse41+0x69>
 
 PUBLIC _sk_load_f16_sse41
 _sk_load_f16_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,60,1,0,0                     ; jne           3b0b <_sk_load_f16_sse41+0x14a>
+  DB  15,133,60,1,0,0                     ; jne           3efb <_sk_load_f16_sse41+0x14a>
   DB  102,15,16,4,208                     ; movupd        (%rax,%rdx,8),%xmm0
   DB  243,15,111,76,208,16                ; movdqu        0x10(%rax,%rdx,8),%xmm1
   DB  102,68,15,40,200                    ; movapd        %xmm0,%xmm9
@@ -15669,18 +17216,18 @@
   DB  102,68,15,97,216                    ; punpcklwd     %xmm0,%xmm11
   DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
   DB  102,65,15,56,51,203                 ; pmovzxwd      %xmm11,%xmm1
-  DB  102,68,15,111,5,170,37,0,0          ; movdqa        0x25aa(%rip),%xmm8        # 5fb0 <_sk_callback_sse41+0xe61>
+  DB  102,68,15,111,5,154,41,0,0          ; movdqa        0x299a(%rip),%xmm8        # 6790 <_sk_callback_sse41+0x1045>
   DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
   DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
   DB  102,15,239,202                      ; pxor          %xmm2,%xmm1
-  DB  102,15,111,29,165,37,0,0            ; movdqa        0x25a5(%rip),%xmm3        # 5fc0 <_sk_callback_sse41+0xe71>
+  DB  102,15,111,29,149,41,0,0            ; movdqa        0x2995(%rip),%xmm3        # 67a0 <_sk_callback_sse41+0x1055>
   DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
   DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
   DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
   DB  102,15,118,193                      ; pcmpeqd       %xmm1,%xmm0
   DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
   DB  102,15,235,202                      ; por           %xmm2,%xmm1
-  DB  102,68,15,111,21,145,37,0,0         ; movdqa        0x2591(%rip),%xmm10        # 5fd0 <_sk_callback_sse41+0xe81>
+  DB  102,68,15,111,21,129,41,0,0         ; movdqa        0x2981(%rip),%xmm10        # 67b0 <_sk_callback_sse41+0x1065>
   DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
   DB  102,15,219,193                      ; pand          %xmm1,%xmm0
   DB  102,65,15,115,219,8                 ; psrldq        $0x8,%xmm11
@@ -15723,16 +17270,96 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,15,16,4,208                     ; movsd         (%rax,%rdx,8),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,13                              ; jne           3b23 <_sk_load_f16_sse41+0x162>
+  DB  117,13                              ; jne           3f13 <_sk_load_f16_sse41+0x162>
   DB  243,15,126,192                      ; movq          %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,183,254,255,255                 ; jmpq          39da <_sk_load_f16_sse41+0x19>
+  DB  233,183,254,255,255                 ; jmpq          3dca <_sk_load_f16_sse41+0x19>
   DB  102,15,22,68,208,8                  ; movhpd        0x8(%rax,%rdx,8),%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,163,254,255,255              ; jb            39da <_sk_load_f16_sse41+0x19>
+  DB  15,130,163,254,255,255              ; jb            3dca <_sk_load_f16_sse41+0x19>
   DB  243,15,126,76,208,16                ; movq          0x10(%rax,%rdx,8),%xmm1
-  DB  233,152,254,255,255                 ; jmpq          39da <_sk_load_f16_sse41+0x19>
+  DB  233,152,254,255,255                 ; jmpq          3dca <_sk_load_f16_sse41+0x19>
+
+PUBLIC _sk_load_f16_dst_sse41
+_sk_load_f16_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,60,1,0,0                     ; jne           407c <_sk_load_f16_dst_sse41+0x14a>
+  DB  102,15,16,36,208                    ; movupd        (%rax,%rdx,8),%xmm4
+  DB  243,15,111,108,208,16               ; movdqu        0x10(%rax,%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,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,97,220                    ; punpcklwd     %xmm4,%xmm11
+  DB  102,68,15,105,204                   ; punpckhwd     %xmm4,%xmm9
+  DB  102,65,15,56,51,235                 ; pmovzxwd      %xmm11,%xmm5
+  DB  102,68,15,111,5,73,40,0,0           ; movdqa        0x2849(%rip),%xmm8        # 67c0 <_sk_callback_sse41+0x1075>
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,65,15,219,240                   ; pand          %xmm8,%xmm6
+  DB  102,15,239,238                      ; pxor          %xmm6,%xmm5
+  DB  102,15,111,61,68,40,0,0             ; movdqa        0x2844(%rip),%xmm7        # 67d0 <_sk_callback_sse41+0x1085>
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,56,63,231                    ; pmaxud        %xmm7,%xmm4
+  DB  102,15,118,229                      ; pcmpeqd       %xmm5,%xmm4
+  DB  102,15,114,245,13                   ; pslld         $0xd,%xmm5
+  DB  102,15,235,238                      ; por           %xmm6,%xmm5
+  DB  102,68,15,111,21,48,40,0,0          ; movdqa        0x2830(%rip),%xmm10        # 67e0 <_sk_callback_sse41+0x1095>
+  DB  102,65,15,254,234                   ; paddd         %xmm10,%xmm5
+  DB  102,15,219,229                      ; pand          %xmm5,%xmm4
+  DB  102,65,15,115,219,8                 ; psrldq        $0x8,%xmm11
+  DB  102,69,15,56,51,219                 ; pmovzxwd      %xmm11,%xmm11
+  DB  102,65,15,111,243                   ; movdqa        %xmm11,%xmm6
+  DB  102,65,15,219,240                   ; pand          %xmm8,%xmm6
+  DB  102,68,15,239,222                   ; pxor          %xmm6,%xmm11
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,65,15,111,235                   ; movdqa        %xmm11,%xmm5
+  DB  102,15,56,63,239                    ; pmaxud        %xmm7,%xmm5
+  DB  102,65,15,118,235                   ; pcmpeqd       %xmm11,%xmm5
+  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
+  DB  102,68,15,235,222                   ; por           %xmm6,%xmm11
+  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
+  DB  102,65,15,219,235                   ; pand          %xmm11,%xmm5
+  DB  102,69,15,56,51,217                 ; pmovzxwd      %xmm9,%xmm11
+  DB  102,69,15,111,227                   ; movdqa        %xmm11,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  102,69,15,239,220                   ; pxor          %xmm12,%xmm11
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,65,15,111,243                   ; movdqa        %xmm11,%xmm6
+  DB  102,15,56,63,247                    ; pmaxud        %xmm7,%xmm6
+  DB  102,65,15,118,243                   ; pcmpeqd       %xmm11,%xmm6
+  DB  102,65,15,114,243,13                ; pslld         $0xd,%xmm11
+  DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
+  DB  102,69,15,254,218                   ; paddd         %xmm10,%xmm11
+  DB  102,65,15,219,243                   ; pand          %xmm11,%xmm6
+  DB  102,65,15,115,217,8                 ; psrldq        $0x8,%xmm9
+  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
+  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%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,202                   ; paddd         %xmm10,%xmm9
+  DB  102,65,15,219,249                   ; pand          %xmm9,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,15,16,36,208                    ; movsd         (%rax,%rdx,8),%xmm4
+  DB  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  117,13                              ; jne           4094 <_sk_load_f16_dst_sse41+0x162>
+  DB  243,15,126,228                      ; movq          %xmm4,%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  233,183,254,255,255                 ; jmpq          3f4b <_sk_load_f16_dst_sse41+0x19>
+  DB  102,15,22,100,208,8                 ; movhpd        0x8(%rax,%rdx,8),%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  15,130,163,254,255,255              ; jb            3f4b <_sk_load_f16_dst_sse41+0x19>
+  DB  243,15,126,108,208,16               ; movq          0x10(%rax,%rdx,8),%xmm5
+  DB  233,152,254,255,255                 ; jmpq          3f4b <_sk_load_f16_dst_sse41+0x19>
 
 PUBLIC _sk_gather_f16_sse41
 _sk_gather_f16_sse41 LABEL PROC
@@ -15764,18 +17391,18 @@
   DB  102,68,15,97,218                    ; punpcklwd     %xmm2,%xmm11
   DB  102,68,15,105,202                   ; punpckhwd     %xmm2,%xmm9
   DB  102,65,15,56,51,203                 ; pmovzxwd      %xmm11,%xmm1
-  DB  102,68,15,111,5,23,36,0,0           ; movdqa        0x2417(%rip),%xmm8        # 5fe0 <_sk_callback_sse41+0xe91>
+  DB  102,68,15,111,5,182,38,0,0          ; movdqa        0x26b6(%rip),%xmm8        # 67f0 <_sk_callback_sse41+0x10a5>
   DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
   DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
   DB  102,15,239,202                      ; pxor          %xmm2,%xmm1
-  DB  102,15,111,29,18,36,0,0             ; movdqa        0x2412(%rip),%xmm3        # 5ff0 <_sk_callback_sse41+0xea1>
+  DB  102,15,111,29,177,38,0,0            ; movdqa        0x26b1(%rip),%xmm3        # 6800 <_sk_callback_sse41+0x10b5>
   DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
   DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
   DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
   DB  102,15,118,193                      ; pcmpeqd       %xmm1,%xmm0
   DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
   DB  102,15,235,202                      ; por           %xmm2,%xmm1
-  DB  102,68,15,111,21,254,35,0,0         ; movdqa        0x23fe(%rip),%xmm10        # 6000 <_sk_callback_sse41+0xeb1>
+  DB  102,68,15,111,21,157,38,0,0         ; movdqa        0x269d(%rip),%xmm10        # 6810 <_sk_callback_sse41+0x10c5>
   DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
   DB  102,15,219,193                      ; pand          %xmm1,%xmm0
   DB  102,65,15,115,219,8                 ; psrldq        $0x8,%xmm11
@@ -15822,17 +17449,17 @@
 _sk_store_f16_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  102,68,15,111,21,51,35,0,0          ; movdqa        0x2333(%rip),%xmm10        # 6010 <_sk_callback_sse41+0xec1>
+  DB  102,68,15,111,21,210,37,0,0         ; movdqa        0x25d2(%rip),%xmm10        # 6820 <_sk_callback_sse41+0x10d5>
   DB  102,68,15,111,216                   ; movdqa        %xmm0,%xmm11
   DB  102,69,15,219,218                   ; pand          %xmm10,%xmm11
   DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
   DB  102,69,15,239,235                   ; pxor          %xmm11,%xmm13
-  DB  102,68,15,111,13,38,35,0,0          ; movdqa        0x2326(%rip),%xmm9        # 6020 <_sk_callback_sse41+0xed1>
+  DB  102,68,15,111,13,197,37,0,0         ; movdqa        0x25c5(%rip),%xmm9        # 6830 <_sk_callback_sse41+0x10e5>
   DB  102,65,15,114,211,16                ; psrld         $0x10,%xmm11
   DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
   DB  102,69,15,102,197                   ; pcmpgtd       %xmm13,%xmm8
   DB  102,65,15,114,213,13                ; psrld         $0xd,%xmm13
-  DB  102,68,15,111,37,23,35,0,0          ; movdqa        0x2317(%rip),%xmm12        # 6030 <_sk_callback_sse41+0xee1>
+  DB  102,68,15,111,37,182,37,0,0         ; movdqa        0x25b6(%rip),%xmm12        # 6840 <_sk_callback_sse41+0x10f5>
   DB  102,69,15,235,220                   ; por           %xmm12,%xmm11
   DB  102,69,15,254,221                   ; paddd         %xmm13,%xmm11
   DB  102,69,15,223,195                   ; pandn         %xmm11,%xmm8
@@ -15876,7 +17503,7 @@
   DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
   DB  102,69,15,98,203                    ; punpckldq     %xmm11,%xmm9
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,21                              ; jne           3e0f <_sk_store_f16_sse41+0x140>
+  DB  117,21                              ; jne           4380 <_sk_store_f16_sse41+0x140>
   DB  68,15,17,12,208                     ; movups        %xmm9,(%rax,%rdx,8)
   DB  102,69,15,106,195                   ; punpckhdq     %xmm11,%xmm8
   DB  243,68,15,127,68,208,16             ; movdqu        %xmm8,0x10(%rax,%rdx,8)
@@ -15884,13 +17511,13 @@
   DB  255,224                             ; jmpq          *%rax
   DB  102,68,15,214,12,208                ; movq          %xmm9,(%rax,%rdx,8)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            3e0b <_sk_store_f16_sse41+0x13c>
+  DB  116,240                             ; je            437c <_sk_store_f16_sse41+0x13c>
   DB  102,68,15,23,76,208,8               ; movhpd        %xmm9,0x8(%rax,%rdx,8)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            3e0b <_sk_store_f16_sse41+0x13c>
+  DB  114,227                             ; jb            437c <_sk_store_f16_sse41+0x13c>
   DB  102,69,15,106,195                   ; punpckhdq     %xmm11,%xmm8
   DB  102,68,15,214,68,208,16             ; movq          %xmm8,0x10(%rax,%rdx,8)
-  DB  235,213                             ; jmp           3e0b <_sk_store_f16_sse41+0x13c>
+  DB  235,213                             ; jmp           437c <_sk_store_f16_sse41+0x13c>
 
 PUBLIC _sk_load_u16_be_sse41
 _sk_load_u16_be_sse41 LABEL PROC
@@ -15898,7 +17525,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,185,0,0,0                    ; jne           3f05 <_sk_load_u16_be_sse41+0xcf>
+  DB  15,133,185,0,0,0                    ; jne           4476 <_sk_load_u16_be_sse41+0xcf>
   DB  102,65,15,16,4,65                   ; movupd        (%r9,%rax,2),%xmm0
   DB  243,65,15,111,76,65,16              ; movdqu        0x10(%r9,%rax,2),%xmm1
   DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
@@ -15914,7 +17541,7 @@
   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,168,33,0,0               ; movaps        0x21a8(%rip),%xmm8        # 6040 <_sk_callback_sse41+0xef1>
+  DB  68,15,40,5,71,36,0,0                ; movaps        0x2447(%rip),%xmm8        # 6850 <_sk_callback_sse41+0x1105>
   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
@@ -15942,16 +17569,16 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,65,15,16,4,65                   ; movsd         (%r9,%rax,2),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,13                              ; jne           3f1e <_sk_load_u16_be_sse41+0xe8>
+  DB  117,13                              ; jne           448f <_sk_load_u16_be_sse41+0xe8>
   DB  243,15,126,192                      ; movq          %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,59,255,255,255                  ; jmpq          3e59 <_sk_load_u16_be_sse41+0x23>
+  DB  233,59,255,255,255                  ; jmpq          43ca <_sk_load_u16_be_sse41+0x23>
   DB  102,65,15,22,68,65,8                ; movhpd        0x8(%r9,%rax,2),%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,38,255,255,255               ; jb            3e59 <_sk_load_u16_be_sse41+0x23>
+  DB  15,130,38,255,255,255               ; jb            43ca <_sk_load_u16_be_sse41+0x23>
   DB  243,65,15,126,76,65,16              ; movq          0x10(%r9,%rax,2),%xmm1
-  DB  233,26,255,255,255                  ; jmpq          3e59 <_sk_load_u16_be_sse41+0x23>
+  DB  233,26,255,255,255                  ; jmpq          43ca <_sk_load_u16_be_sse41+0x23>
 
 PUBLIC _sk_load_rgb_u16_be_sse41
 _sk_load_rgb_u16_be_sse41 LABEL PROC
@@ -15959,7 +17586,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,82                         ; lea           (%rdx,%rdx,2),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,170,0,0,0                    ; jne           3ffb <_sk_load_rgb_u16_be_sse41+0xbc>
+  DB  15,133,170,0,0,0                    ; jne           456c <_sk_load_rgb_u16_be_sse41+0xbc>
   DB  243,65,15,111,20,65                 ; movdqu        (%r9,%rax,2),%xmm2
   DB  243,65,15,111,92,65,8               ; movdqu        0x8(%r9,%rax,2),%xmm3
   DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
@@ -15979,7 +17606,7 @@
   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,160,32,0,0               ; movaps        0x20a0(%rip),%xmm8        # 6050 <_sk_callback_sse41+0xf01>
+  DB  68,15,40,5,63,35,0,0                ; movaps        0x233f(%rip),%xmm8        # 6860 <_sk_callback_sse41+0x1115>
   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
@@ -15996,34 +17623,34 @@
   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,103,32,0,0                 ; movaps        0x2067(%rip),%xmm3        # 6060 <_sk_callback_sse41+0xf11>
+  DB  15,40,29,6,35,0,0                   ; movaps        0x2306(%rip),%xmm3        # 6870 <_sk_callback_sse41+0x1125>
   DB  255,224                             ; jmpq          *%rax
   DB  102,65,15,110,20,65                 ; movd          (%r9,%rax,2),%xmm2
   DB  102,65,15,196,84,65,4,2             ; pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,13                              ; jne           4020 <_sk_load_rgb_u16_be_sse41+0xe1>
+  DB  117,13                              ; jne           4591 <_sk_load_rgb_u16_be_sse41+0xe1>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
-  DB  233,85,255,255,255                  ; jmpq          3f75 <_sk_load_rgb_u16_be_sse41+0x36>
+  DB  233,85,255,255,255                  ; jmpq          44e6 <_sk_load_rgb_u16_be_sse41+0x36>
   DB  102,65,15,110,68,65,6               ; movd          0x6(%r9,%rax,2),%xmm0
   DB  102,65,15,196,68,65,10,2            ; pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,24                              ; jb            4051 <_sk_load_rgb_u16_be_sse41+0x112>
+  DB  114,24                              ; jb            45c2 <_sk_load_rgb_u16_be_sse41+0x112>
   DB  102,65,15,110,92,65,12              ; movd          0xc(%r9,%rax,2),%xmm3
   DB  102,65,15,196,92,65,16,2            ; pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,36,255,255,255                  ; jmpq          3f75 <_sk_load_rgb_u16_be_sse41+0x36>
+  DB  233,36,255,255,255                  ; jmpq          44e6 <_sk_load_rgb_u16_be_sse41+0x36>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
-  DB  233,27,255,255,255                  ; jmpq          3f75 <_sk_load_rgb_u16_be_sse41+0x36>
+  DB  233,27,255,255,255                  ; jmpq          44e6 <_sk_load_rgb_u16_be_sse41+0x36>
 
 PUBLIC _sk_store_u16_be_sse41
 _sk_store_u16_be_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
-  DB  68,15,40,21,1,32,0,0                ; movaps        0x2001(%rip),%xmm10        # 6070 <_sk_callback_sse41+0xf21>
+  DB  68,15,40,21,160,34,0,0              ; movaps        0x22a0(%rip),%xmm10        # 6880 <_sk_callback_sse41+0x1135>
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
   DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
   DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
@@ -16060,7 +17687,7 @@
   DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
   DB  102,69,15,98,209                    ; punpckldq     %xmm9,%xmm10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,21                              ; jne           413d <_sk_store_u16_be_sse41+0xe3>
+  DB  117,21                              ; jne           46ae <_sk_store_u16_be_sse41+0xe3>
   DB  69,15,17,20,65                      ; movups        %xmm10,(%r9,%rax,2)
   DB  102,69,15,106,193                   ; punpckhdq     %xmm9,%xmm8
   DB  243,69,15,127,68,65,16              ; movdqu        %xmm8,0x10(%r9,%rax,2)
@@ -16068,13 +17695,13 @@
   DB  255,224                             ; jmpq          *%rax
   DB  102,69,15,214,20,65                 ; movq          %xmm10,(%r9,%rax,2)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            4139 <_sk_store_u16_be_sse41+0xdf>
+  DB  116,240                             ; je            46aa <_sk_store_u16_be_sse41+0xdf>
   DB  102,69,15,23,84,65,8                ; movhpd        %xmm10,0x8(%r9,%rax,2)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            4139 <_sk_store_u16_be_sse41+0xdf>
+  DB  114,227                             ; jb            46aa <_sk_store_u16_be_sse41+0xdf>
   DB  102,69,15,106,193                   ; punpckhdq     %xmm9,%xmm8
   DB  102,69,15,214,68,65,16              ; movq          %xmm8,0x10(%r9,%rax,2)
-  DB  235,213                             ; jmp           4139 <_sk_store_u16_be_sse41+0xdf>
+  DB  235,213                             ; jmp           46aa <_sk_store_u16_be_sse41+0xdf>
 
 PUBLIC _sk_load_f32_sse41
 _sk_load_f32_sse41 LABEL PROC
@@ -16085,7 +17712,7 @@
   DB  72,193,224,4                        ; shl           $0x4,%rax
   DB  69,15,16,4,2                        ; movups        (%r10,%rax,1),%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,66                              ; jne           41c4 <_sk_load_f32_sse41+0x60>
+  DB  117,66                              ; jne           4735 <_sk_load_f32_sse41+0x60>
   DB  67,15,16,68,138,16                  ; movups        0x10(%r10,%r9,4),%xmm0
   DB  67,15,16,92,138,32                  ; movups        0x20(%r10,%r9,4),%xmm3
   DB  71,15,16,76,138,48                  ; movups        0x30(%r10,%r9,4),%xmm9
@@ -16105,17 +17732,58 @@
   DB  255,224                             ; jmpq          *%rax
   DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,8                               ; jne           41d6 <_sk_load_f32_sse41+0x72>
+  DB  117,8                               ; jne           4747 <_sk_load_f32_sse41+0x72>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
-  DB  235,190                             ; jmp           4194 <_sk_load_f32_sse41+0x30>
+  DB  235,190                             ; jmp           4705 <_sk_load_f32_sse41+0x30>
   DB  67,15,16,68,138,16                  ; movups        0x10(%r10,%r9,4),%xmm0
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,8                               ; jb            41ea <_sk_load_f32_sse41+0x86>
+  DB  114,8                               ; jb            475b <_sk_load_f32_sse41+0x86>
   DB  67,15,16,92,138,32                  ; movups        0x20(%r10,%r9,4),%xmm3
-  DB  235,170                             ; jmp           4194 <_sk_load_f32_sse41+0x30>
+  DB  235,170                             ; jmp           4705 <_sk_load_f32_sse41+0x30>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
-  DB  235,165                             ; jmp           4194 <_sk_load_f32_sse41+0x30>
+  DB  235,165                             ; jmp           4705 <_sk_load_f32_sse41+0x30>
+
+PUBLIC _sk_load_f32_dst_sse41
+_sk_load_f32_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  69,15,16,4,2                        ; movups        (%r10,%rax,1),%xmm8
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,66                              ; jne           47c0 <_sk_load_f32_dst_sse41+0x60>
+  DB  67,15,16,100,138,16                 ; movups        0x10(%r10,%r9,4),%xmm4
+  DB  67,15,16,124,138,32                 ; movups        0x20(%r10,%r9,4),%xmm7
+  DB  71,15,16,76,138,48                  ; movups        0x30(%r10,%r9,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  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  117,8                               ; jne           47d2 <_sk_load_f32_dst_sse41+0x72>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  235,190                             ; jmp           4790 <_sk_load_f32_dst_sse41+0x30>
+  DB  67,15,16,100,138,16                 ; movups        0x10(%r10,%r9,4),%xmm4
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  114,8                               ; jb            47e6 <_sk_load_f32_dst_sse41+0x86>
+  DB  67,15,16,124,138,32                 ; movups        0x20(%r10,%r9,4),%xmm7
+  DB  235,170                             ; jmp           4790 <_sk_load_f32_dst_sse41+0x30>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  235,165                             ; jmp           4790 <_sk_load_f32_dst_sse41+0x30>
 
 PUBLIC _sk_store_f32_sse41
 _sk_store_f32_sse41 LABEL PROC
@@ -16139,7 +17807,7 @@
   DB  102,69,15,20,203                    ; unpcklpd      %xmm11,%xmm9
   DB  102,69,15,17,36,2                   ; movupd        %xmm12,(%r10,%rax,1)
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,29                              ; jne           4261 <_sk_store_f32_sse41+0x72>
+  DB  117,29                              ; jne           485d <_sk_store_f32_sse41+0x72>
   DB  102,69,15,21,211                    ; unpckhpd      %xmm11,%xmm10
   DB  71,15,17,68,138,16                  ; movups        %xmm8,0x10(%r10,%r9,4)
   DB  102,71,15,17,76,138,32              ; movupd        %xmm9,0x20(%r10,%r9,4)
@@ -16147,12 +17815,12 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,246                             ; je            425d <_sk_store_f32_sse41+0x6e>
+  DB  116,246                             ; je            4859 <_sk_store_f32_sse41+0x6e>
   DB  71,15,17,68,138,16                  ; movups        %xmm8,0x10(%r10,%r9,4)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,234                             ; jb            425d <_sk_store_f32_sse41+0x6e>
+  DB  114,234                             ; jb            4859 <_sk_store_f32_sse41+0x6e>
   DB  102,71,15,17,76,138,32              ; movupd        %xmm9,0x20(%r10,%r9,4)
-  DB  235,225                             ; jmp           425d <_sk_store_f32_sse41+0x6e>
+  DB  235,225                             ; jmp           4859 <_sk_store_f32_sse41+0x6e>
 
 PUBLIC _sk_clamp_x_sse41
 _sk_clamp_x_sse41 LABEL PROC
@@ -16226,7 +17894,7 @@
   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,205,32,0,0          ; mulss         0x20cd(%rip),%xmm9        # 6440 <_sk_callback_sse41+0x12f1>
+  DB  243,68,15,89,13,225,34,0,0          ; mulss         0x22e1(%rip),%xmm9        # 6c50 <_sk_callback_sse41+0x1505>
   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
@@ -16252,7 +17920,7 @@
   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,106,32,0,0          ; mulss         0x206a(%rip),%xmm9        # 6444 <_sk_callback_sse41+0x12f5>
+  DB  243,68,15,89,13,126,34,0,0          ; mulss         0x227e(%rip),%xmm9        # 6c54 <_sk_callback_sse41+0x1509>
   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
@@ -16272,7 +17940,7 @@
 _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,92,28,0,0                ; minps         0x1c5c(%rip),%xmm8        # 6080 <_sk_callback_sse41+0xf31>
+  DB  68,15,93,5,112,30,0,0               ; minps         0x1e70(%rip),%xmm8        # 6890 <_sk_callback_sse41+0x1145>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -16286,9 +17954,9 @@
 
 PUBLIC _sk_mirror_x_1_sse41
 _sk_mirror_x_1_sse41 LABEL PROC
-  DB  68,15,40,5,77,28,0,0                ; movaps        0x1c4d(%rip),%xmm8        # 6090 <_sk_callback_sse41+0xf41>
+  DB  68,15,40,5,97,30,0,0                ; movaps        0x1e61(%rip),%xmm8        # 68a0 <_sk_callback_sse41+0x1155>
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
-  DB  68,15,40,13,81,28,0,0               ; movaps        0x1c51(%rip),%xmm9        # 60a0 <_sk_callback_sse41+0xf51>
+  DB  68,15,40,13,101,30,0,0              ; movaps        0x1e65(%rip),%xmm9        # 68b0 <_sk_callback_sse41+0x1165>
   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
@@ -16303,10 +17971,10 @@
 PUBLIC _sk_luminance_to_alpha_sse41
 _sk_luminance_to_alpha_sse41 LABEL PROC
   DB  15,40,218                           ; movaps        %xmm2,%xmm3
-  DB  15,89,5,48,28,0,0                   ; mulps         0x1c30(%rip),%xmm0        # 60b0 <_sk_callback_sse41+0xf61>
-  DB  15,89,13,57,28,0,0                  ; mulps         0x1c39(%rip),%xmm1        # 60c0 <_sk_callback_sse41+0xf71>
+  DB  15,89,5,68,30,0,0                   ; mulps         0x1e44(%rip),%xmm0        # 68c0 <_sk_callback_sse41+0x1175>
+  DB  15,89,13,77,30,0,0                  ; mulps         0x1e4d(%rip),%xmm1        # 68d0 <_sk_callback_sse41+0x1185>
   DB  15,88,200                           ; addps         %xmm0,%xmm1
-  DB  15,89,29,63,28,0,0                  ; mulps         0x1c3f(%rip),%xmm3        # 60d0 <_sk_callback_sse41+0xf81>
+  DB  15,89,29,83,30,0,0                  ; mulps         0x1e53(%rip),%xmm3        # 68e0 <_sk_callback_sse41+0x1195>
   DB  15,88,217                           ; addps         %xmm1,%xmm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
@@ -16573,9 +18241,9 @@
   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            48cf <_sk_evenly_spaced_gradient_sse41+0x1a>
+  DB  120,7                               ; js            4ecb <_sk_evenly_spaced_gradient_sse41+0x1a>
   DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
-  DB  235,21                              ; jmp           48e4 <_sk_evenly_spaced_gradient_sse41+0x2f>
+  DB  235,21                              ; jmp           4ee0 <_sk_evenly_spaced_gradient_sse41+0x2f>
   DB  73,137,217                          ; mov           %rbx,%r9
   DB  73,209,233                          ; shr           %r9
   DB  131,227,1                           ; and           $0x1,%ebx
@@ -16663,15 +18331,15 @@
 
 PUBLIC _sk_gauss_a_to_rgba_sse41
 _sk_gauss_a_to_rgba_sse41 LABEL PROC
-  DB  15,40,5,78,22,0,0                   ; movaps        0x164e(%rip),%xmm0        # 60e0 <_sk_callback_sse41+0xf91>
+  DB  15,40,5,98,24,0,0                   ; movaps        0x1862(%rip),%xmm0        # 68f0 <_sk_callback_sse41+0x11a5>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,84,22,0,0                   ; addps         0x1654(%rip),%xmm0        # 60f0 <_sk_callback_sse41+0xfa1>
+  DB  15,88,5,104,24,0,0                  ; addps         0x1868(%rip),%xmm0        # 6900 <_sk_callback_sse41+0x11b5>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,90,22,0,0                   ; addps         0x165a(%rip),%xmm0        # 6100 <_sk_callback_sse41+0xfb1>
+  DB  15,88,5,110,24,0,0                  ; addps         0x186e(%rip),%xmm0        # 6910 <_sk_callback_sse41+0x11c5>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,96,22,0,0                   ; addps         0x1660(%rip),%xmm0        # 6110 <_sk_callback_sse41+0xfc1>
+  DB  15,88,5,116,24,0,0                  ; addps         0x1874(%rip),%xmm0        # 6920 <_sk_callback_sse41+0x11d5>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,102,22,0,0                  ; addps         0x1666(%rip),%xmm0        # 6120 <_sk_callback_sse41+0xfd1>
+  DB  15,88,5,122,24,0,0                  ; addps         0x187a(%rip),%xmm0        # 6930 <_sk_callback_sse41+0x11e5>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
@@ -16687,12 +18355,12 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,249,2                        ; cmp           $0x2,%r9
-  DB  114,50                              ; jb            4b0d <_sk_gradient_sse41+0x46>
+  DB  114,50                              ; jb            5109 <_sk_gradient_sse41+0x46>
   DB  72,139,88,72                        ; mov           0x48(%rax),%rbx
   DB  73,255,201                          ; dec           %r9
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  15,40,21,63,22,0,0                  ; movaps        0x163f(%rip),%xmm2        # 6130 <_sk_callback_sse41+0xfe1>
+  DB  15,40,21,83,24,0,0                  ; movaps        0x1853(%rip),%xmm2        # 6940 <_sk_callback_sse41+0x11f5>
   DB  243,15,16,27                        ; movss         (%rbx),%xmm3
   DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
   DB  15,194,216,2                        ; cmpleps       %xmm0,%xmm3
@@ -16700,7 +18368,7 @@
   DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  73,255,201                          ; dec           %r9
-  DB  117,228                             ; jne           4af1 <_sk_gradient_sse41+0x2a>
+  DB  117,228                             ; jne           50ed <_sk_gradient_sse41+0x2a>
   DB  102,73,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%r9
   DB  69,137,202                          ; mov           %r9d,%r10d
   DB  73,193,233,32                       ; shr           $0x20,%r9
@@ -16826,26 +18494,26 @@
   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,224,19,0,0              ; movaps        0x13e0(%rip),%xmm10        # 6140 <_sk_callback_sse41+0xff1>
+  DB  68,15,40,21,244,21,0,0              ; movaps        0x15f4(%rip),%xmm10        # 6950 <_sk_callback_sse41+0x1205>
   DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
-  DB  68,15,88,21,228,19,0,0              ; addps         0x13e4(%rip),%xmm10        # 6150 <_sk_callback_sse41+0x1001>
+  DB  68,15,88,21,248,21,0,0              ; addps         0x15f8(%rip),%xmm10        # 6960 <_sk_callback_sse41+0x1215>
   DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
-  DB  68,15,88,21,232,19,0,0              ; addps         0x13e8(%rip),%xmm10        # 6160 <_sk_callback_sse41+0x1011>
+  DB  68,15,88,21,252,21,0,0              ; addps         0x15fc(%rip),%xmm10        # 6970 <_sk_callback_sse41+0x1225>
   DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
-  DB  68,15,88,21,236,19,0,0              ; addps         0x13ec(%rip),%xmm10        # 6170 <_sk_callback_sse41+0x1021>
+  DB  68,15,88,21,0,22,0,0                ; addps         0x1600(%rip),%xmm10        # 6980 <_sk_callback_sse41+0x1235>
   DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
   DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
-  DB  68,15,40,29,235,19,0,0              ; movaps        0x13eb(%rip),%xmm11        # 6180 <_sk_callback_sse41+0x1031>
+  DB  68,15,40,29,255,21,0,0              ; movaps        0x15ff(%rip),%xmm11        # 6990 <_sk_callback_sse41+0x1245>
   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,228,19,0,0              ; movaps        0x13e4(%rip),%xmm11        # 6190 <_sk_callback_sse41+0x1041>
+  DB  68,15,40,29,248,21,0,0              ; movaps        0x15f8(%rip),%xmm11        # 69a0 <_sk_callback_sse41+0x1255>
   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,214,19,0,0              ; movaps        0x13d6(%rip),%xmm9        # 61a0 <_sk_callback_sse41+0x1051>
+  DB  68,15,40,13,234,21,0,0              ; movaps        0x15ea(%rip),%xmm9        # 69b0 <_sk_callback_sse41+0x1265>
   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
@@ -16867,7 +18535,7 @@
 PUBLIC _sk_save_xy_sse41
 _sk_save_xy_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,170,19,0,0               ; movaps        0x13aa(%rip),%xmm8        # 61b0 <_sk_callback_sse41+0x1061>
+  DB  68,15,40,5,190,21,0,0               ; movaps        0x15be(%rip),%xmm8        # 69c0 <_sk_callback_sse41+0x1275>
   DB  15,17,0                             ; movups        %xmm0,(%rax)
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,88,200                        ; addps         %xmm8,%xmm9
@@ -16907,8 +18575,8 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,44,19,0,0                   ; addps         0x132c(%rip),%xmm0        # 61c0 <_sk_callback_sse41+0x1071>
-  DB  68,15,40,13,52,19,0,0               ; movaps        0x1334(%rip),%xmm9        # 61d0 <_sk_callback_sse41+0x1081>
+  DB  15,88,5,64,21,0,0                   ; addps         0x1540(%rip),%xmm0        # 69d0 <_sk_callback_sse41+0x1285>
+  DB  68,15,40,13,72,21,0,0               ; movaps        0x1548(%rip),%xmm9        # 69e0 <_sk_callback_sse41+0x1295>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
   DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -16919,7 +18587,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,35,19,0,0                   ; addps         0x1323(%rip),%xmm0        # 61e0 <_sk_callback_sse41+0x1091>
+  DB  15,88,5,55,21,0,0                   ; addps         0x1537(%rip),%xmm0        # 69f0 <_sk_callback_sse41+0x12a5>
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -16929,8 +18597,8 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,21,19,0,0                  ; addps         0x1315(%rip),%xmm1        # 61f0 <_sk_callback_sse41+0x10a1>
-  DB  68,15,40,13,29,19,0,0               ; movaps        0x131d(%rip),%xmm9        # 6200 <_sk_callback_sse41+0x10b1>
+  DB  15,88,13,41,21,0,0                  ; addps         0x1529(%rip),%xmm1        # 6a00 <_sk_callback_sse41+0x12b5>
+  DB  68,15,40,13,49,21,0,0               ; movaps        0x1531(%rip),%xmm9        # 6a10 <_sk_callback_sse41+0x12c5>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
   DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -16941,7 +18609,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,11,19,0,0                  ; addps         0x130b(%rip),%xmm1        # 6210 <_sk_callback_sse41+0x10c1>
+  DB  15,88,13,31,21,0,0                  ; addps         0x151f(%rip),%xmm1        # 6a20 <_sk_callback_sse41+0x12d5>
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -16951,13 +18619,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,254,18,0,0                  ; addps         0x12fe(%rip),%xmm0        # 6220 <_sk_callback_sse41+0x10d1>
-  DB  68,15,40,13,6,19,0,0                ; movaps        0x1306(%rip),%xmm9        # 6230 <_sk_callback_sse41+0x10e1>
+  DB  15,88,5,18,21,0,0                   ; addps         0x1512(%rip),%xmm0        # 6a30 <_sk_callback_sse41+0x12e5>
+  DB  68,15,40,13,26,21,0,0               ; movaps        0x151a(%rip),%xmm9        # 6a40 <_sk_callback_sse41+0x12f5>
   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,2,19,0,0                ; mulps         0x1302(%rip),%xmm9        # 6240 <_sk_callback_sse41+0x10f1>
-  DB  68,15,88,13,10,19,0,0               ; addps         0x130a(%rip),%xmm9        # 6250 <_sk_callback_sse41+0x1101>
+  DB  68,15,89,13,22,21,0,0               ; mulps         0x1516(%rip),%xmm9        # 6a50 <_sk_callback_sse41+0x1305>
+  DB  68,15,88,13,30,21,0,0               ; addps         0x151e(%rip),%xmm9        # 6a60 <_sk_callback_sse41+0x1315>
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -16968,16 +18636,16 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,249,18,0,0                  ; addps         0x12f9(%rip),%xmm0        # 6260 <_sk_callback_sse41+0x1111>
-  DB  68,15,40,13,1,19,0,0                ; movaps        0x1301(%rip),%xmm9        # 6270 <_sk_callback_sse41+0x1121>
+  DB  15,88,5,13,21,0,0                   ; addps         0x150d(%rip),%xmm0        # 6a70 <_sk_callback_sse41+0x1325>
+  DB  68,15,40,13,21,21,0,0               ; movaps        0x1515(%rip),%xmm9        # 6a80 <_sk_callback_sse41+0x1335>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
-  DB  68,15,40,5,5,19,0,0                 ; movaps        0x1305(%rip),%xmm8        # 6280 <_sk_callback_sse41+0x1131>
+  DB  68,15,40,5,25,21,0,0                ; movaps        0x1519(%rip),%xmm8        # 6a90 <_sk_callback_sse41+0x1345>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,9,19,0,0                 ; addps         0x1309(%rip),%xmm8        # 6290 <_sk_callback_sse41+0x1141>
+  DB  68,15,88,5,29,21,0,0                ; addps         0x151d(%rip),%xmm8        # 6aa0 <_sk_callback_sse41+0x1355>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,13,19,0,0                ; addps         0x130d(%rip),%xmm8        # 62a0 <_sk_callback_sse41+0x1151>
+  DB  68,15,88,5,33,21,0,0                ; addps         0x1521(%rip),%xmm8        # 6ab0 <_sk_callback_sse41+0x1365>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,17,19,0,0                ; addps         0x1311(%rip),%xmm8        # 62b0 <_sk_callback_sse41+0x1161>
+  DB  68,15,88,5,37,21,0,0                ; addps         0x1525(%rip),%xmm8        # 6ac0 <_sk_callback_sse41+0x1375>
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -16985,17 +18653,17 @@
 PUBLIC _sk_bicubic_p1x_sse41
 _sk_bicubic_p1x_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,11,19,0,0                ; movaps        0x130b(%rip),%xmm8        # 62c0 <_sk_callback_sse41+0x1171>
+  DB  68,15,40,5,31,21,0,0                ; movaps        0x151f(%rip),%xmm8        # 6ad0 <_sk_callback_sse41+0x1385>
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,72,64                      ; movups        0x40(%rax),%xmm9
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
-  DB  68,15,40,21,7,19,0,0                ; movaps        0x1307(%rip),%xmm10        # 62d0 <_sk_callback_sse41+0x1181>
+  DB  68,15,40,21,27,21,0,0               ; movaps        0x151b(%rip),%xmm10        # 6ae0 <_sk_callback_sse41+0x1395>
   DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
-  DB  68,15,88,21,11,19,0,0               ; addps         0x130b(%rip),%xmm10        # 62e0 <_sk_callback_sse41+0x1191>
+  DB  68,15,88,21,31,21,0,0               ; addps         0x151f(%rip),%xmm10        # 6af0 <_sk_callback_sse41+0x13a5>
   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,7,19,0,0                ; addps         0x1307(%rip),%xmm10        # 62f0 <_sk_callback_sse41+0x11a1>
+  DB  68,15,88,21,27,21,0,0               ; addps         0x151b(%rip),%xmm10        # 6b00 <_sk_callback_sse41+0x13b5>
   DB  68,15,17,144,128,0,0,0              ; movups        %xmm10,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -17005,11 +18673,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,250,18,0,0                  ; addps         0x12fa(%rip),%xmm0        # 6300 <_sk_callback_sse41+0x11b1>
+  DB  15,88,5,14,21,0,0                   ; addps         0x150e(%rip),%xmm0        # 6b10 <_sk_callback_sse41+0x13c5>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
-  DB  68,15,89,5,250,18,0,0               ; mulps         0x12fa(%rip),%xmm8        # 6310 <_sk_callback_sse41+0x11c1>
-  DB  68,15,88,5,2,19,0,0                 ; addps         0x1302(%rip),%xmm8        # 6320 <_sk_callback_sse41+0x11d1>
+  DB  68,15,89,5,14,21,0,0                ; mulps         0x150e(%rip),%xmm8        # 6b20 <_sk_callback_sse41+0x13d5>
+  DB  68,15,88,5,22,21,0,0                ; addps         0x1516(%rip),%xmm8        # 6b30 <_sk_callback_sse41+0x13e5>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -17020,13 +18688,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,240,18,0,0                 ; addps         0x12f0(%rip),%xmm1        # 6330 <_sk_callback_sse41+0x11e1>
-  DB  68,15,40,13,248,18,0,0              ; movaps        0x12f8(%rip),%xmm9        # 6340 <_sk_callback_sse41+0x11f1>
+  DB  15,88,13,4,21,0,0                   ; addps         0x1504(%rip),%xmm1        # 6b40 <_sk_callback_sse41+0x13f5>
+  DB  68,15,40,13,12,21,0,0               ; movaps        0x150c(%rip),%xmm9        # 6b50 <_sk_callback_sse41+0x1405>
   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,244,18,0,0              ; mulps         0x12f4(%rip),%xmm9        # 6350 <_sk_callback_sse41+0x1201>
-  DB  68,15,88,13,252,18,0,0              ; addps         0x12fc(%rip),%xmm9        # 6360 <_sk_callback_sse41+0x1211>
+  DB  68,15,89,13,8,21,0,0                ; mulps         0x1508(%rip),%xmm9        # 6b60 <_sk_callback_sse41+0x1415>
+  DB  68,15,88,13,16,21,0,0               ; addps         0x1510(%rip),%xmm9        # 6b70 <_sk_callback_sse41+0x1425>
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -17037,16 +18705,16 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,234,18,0,0                 ; addps         0x12ea(%rip),%xmm1        # 6370 <_sk_callback_sse41+0x1221>
-  DB  68,15,40,13,242,18,0,0              ; movaps        0x12f2(%rip),%xmm9        # 6380 <_sk_callback_sse41+0x1231>
+  DB  15,88,13,254,20,0,0                 ; addps         0x14fe(%rip),%xmm1        # 6b80 <_sk_callback_sse41+0x1435>
+  DB  68,15,40,13,6,21,0,0                ; movaps        0x1506(%rip),%xmm9        # 6b90 <_sk_callback_sse41+0x1445>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
-  DB  68,15,40,5,246,18,0,0               ; movaps        0x12f6(%rip),%xmm8        # 6390 <_sk_callback_sse41+0x1241>
+  DB  68,15,40,5,10,21,0,0                ; movaps        0x150a(%rip),%xmm8        # 6ba0 <_sk_callback_sse41+0x1455>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,250,18,0,0               ; addps         0x12fa(%rip),%xmm8        # 63a0 <_sk_callback_sse41+0x1251>
+  DB  68,15,88,5,14,21,0,0                ; addps         0x150e(%rip),%xmm8        # 6bb0 <_sk_callback_sse41+0x1465>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,254,18,0,0               ; addps         0x12fe(%rip),%xmm8        # 63b0 <_sk_callback_sse41+0x1261>
+  DB  68,15,88,5,18,21,0,0                ; addps         0x1512(%rip),%xmm8        # 6bc0 <_sk_callback_sse41+0x1475>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,2,19,0,0                 ; addps         0x1302(%rip),%xmm8        # 63c0 <_sk_callback_sse41+0x1271>
+  DB  68,15,88,5,22,21,0,0                ; addps         0x1516(%rip),%xmm8        # 6bd0 <_sk_callback_sse41+0x1485>
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -17054,17 +18722,17 @@
 PUBLIC _sk_bicubic_p1y_sse41
 _sk_bicubic_p1y_sse41 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,252,18,0,0               ; movaps        0x12fc(%rip),%xmm8        # 63d0 <_sk_callback_sse41+0x1281>
+  DB  68,15,40,5,16,21,0,0                ; movaps        0x1510(%rip),%xmm8        # 6be0 <_sk_callback_sse41+0x1495>
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,72,96                      ; movups        0x60(%rax),%xmm9
   DB  65,15,88,200                        ; addps         %xmm8,%xmm1
-  DB  68,15,40,21,247,18,0,0              ; movaps        0x12f7(%rip),%xmm10        # 63e0 <_sk_callback_sse41+0x1291>
+  DB  68,15,40,21,11,21,0,0               ; movaps        0x150b(%rip),%xmm10        # 6bf0 <_sk_callback_sse41+0x14a5>
   DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
-  DB  68,15,88,21,251,18,0,0              ; addps         0x12fb(%rip),%xmm10        # 63f0 <_sk_callback_sse41+0x12a1>
+  DB  68,15,88,21,15,21,0,0               ; addps         0x150f(%rip),%xmm10        # 6c00 <_sk_callback_sse41+0x14b5>
   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,247,18,0,0              ; addps         0x12f7(%rip),%xmm10        # 6400 <_sk_callback_sse41+0x12b1>
+  DB  68,15,88,21,11,21,0,0               ; addps         0x150b(%rip),%xmm10        # 6c10 <_sk_callback_sse41+0x14c5>
   DB  68,15,17,144,160,0,0,0              ; movups        %xmm10,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -17074,11 +18742,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,233,18,0,0                 ; addps         0x12e9(%rip),%xmm1        # 6410 <_sk_callback_sse41+0x12c1>
+  DB  15,88,13,253,20,0,0                 ; addps         0x14fd(%rip),%xmm1        # 6c20 <_sk_callback_sse41+0x14d5>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
-  DB  68,15,89,5,233,18,0,0               ; mulps         0x12e9(%rip),%xmm8        # 6420 <_sk_callback_sse41+0x12d1>
-  DB  68,15,88,5,241,18,0,0               ; addps         0x12f1(%rip),%xmm8        # 6430 <_sk_callback_sse41+0x12e1>
+  DB  68,15,89,5,253,20,0,0               ; mulps         0x14fd(%rip),%xmm8        # 6c30 <_sk_callback_sse41+0x14e5>
+  DB  68,15,88,5,5,21,0,0                 ; addps         0x1505(%rip),%xmm8        # 6c40 <_sk_callback_sse41+0x14f5>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -17296,11 +18964,11 @@
   DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%rdi)
   DB  0,224                               ; add           %ah,%al
   DB  64,0,0                              ; add           %al,(%rax)
-  DB  224,64                              ; loopne        53f8 <.literal16+0x1d8>
+  DB  224,64                              ; loopne        59f8 <.literal16+0x1d8>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,64                              ; loopne        53fc <.literal16+0x1dc>
+  DB  224,64                              ; loopne        59fc <.literal16+0x1dc>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,64                              ; loopne        5400 <.literal16+0x1e0>
+  DB  224,64                              ; loopne        5a00 <.literal16+0x1e0>
   DB  154                                 ; (bad)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
@@ -17320,13 +18988,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5421 <.literal16+0x201>
+  DB  71,225,61                           ; rex.RXB       loope 5a21 <.literal16+0x201>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5425 <.literal16+0x205>
+  DB  71,225,61                           ; rex.RXB       loope 5a25 <.literal16+0x205>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5429 <.literal16+0x209>
+  DB  71,225,61                           ; rex.RXB       loope 5a29 <.literal16+0x209>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 542d <.literal16+0x20d>
+  DB  71,225,61                           ; rex.RXB       loope 5a2d <.literal16+0x20d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -17351,13 +19019,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5461 <.literal16+0x241>
+  DB  71,225,61                           ; rex.RXB       loope 5a61 <.literal16+0x241>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5465 <.literal16+0x245>
+  DB  71,225,61                           ; rex.RXB       loope 5a65 <.literal16+0x245>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5469 <.literal16+0x249>
+  DB  71,225,61                           ; rex.RXB       loope 5a69 <.literal16+0x249>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 546d <.literal16+0x24d>
+  DB  71,225,61                           ; rex.RXB       loope 5a6d <.literal16+0x24d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -17382,13 +19050,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54a1 <.literal16+0x281>
+  DB  71,225,61                           ; rex.RXB       loope 5aa1 <.literal16+0x281>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54a5 <.literal16+0x285>
+  DB  71,225,61                           ; rex.RXB       loope 5aa5 <.literal16+0x285>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54a9 <.literal16+0x289>
+  DB  71,225,61                           ; rex.RXB       loope 5aa9 <.literal16+0x289>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54ad <.literal16+0x28d>
+  DB  71,225,61                           ; rex.RXB       loope 5aad <.literal16+0x28d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -17413,13 +19081,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54e1 <.literal16+0x2c1>
+  DB  71,225,61                           ; rex.RXB       loope 5ae1 <.literal16+0x2c1>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54e5 <.literal16+0x2c5>
+  DB  71,225,61                           ; rex.RXB       loope 5ae5 <.literal16+0x2c5>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54e9 <.literal16+0x2c9>
+  DB  71,225,61                           ; rex.RXB       loope 5ae9 <.literal16+0x2c9>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 54ed <.literal16+0x2cd>
+  DB  71,225,61                           ; rex.RXB       loope 5aed <.literal16+0x2cd>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -17436,10 +19104,10 @@
   DB  0,1                                 ; add           %al,(%rcx)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a0054d8 <_sk_callback_sse41+0xa000389>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a005ad8 <_sk_callback_sse41+0xa00038d>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 30054e0 <_sk_callback_sse41+0x3000391>
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005ae0 <_sk_callback_sse41+0x3000395>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -17458,11 +19126,11 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,127                    ; add           %al,0x7f00003f(%rax)
   DB  67,0,0                              ; rex.XB        add %al,(%r8)
-  DB  127,67                              ; jg            554b <.literal16+0x32b>
+  DB  127,67                              ; jg            5b4b <.literal16+0x32b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            554f <.literal16+0x32f>
+  DB  127,67                              ; jg            5b4f <.literal16+0x32f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5553 <.literal16+0x333>
+  DB  127,67                              ; jg            5b53 <.literal16+0x333>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -17479,6 +19147,53 @@
   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,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,145                          ; cmpb          $0x91,(%rdi)
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
+  DB  145                                 ; xchg          %eax,%ecx
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
+  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,92                               ; ds            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  145                                 ; xchg          %eax,%ecx
   DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
   DB  145                                 ; xchg          %eax,%ecx
@@ -17697,13 +19412,13 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        5729 <.literal16+0x509>
+  DB  224,7                               ; loopne        5d89 <.literal16+0x569>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        572d <.literal16+0x50d>
+  DB  224,7                               ; loopne        5d8d <.literal16+0x56d>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5731 <.literal16+0x511>
+  DB  224,7                               ; loopne        5d91 <.literal16+0x571>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5735 <.literal16+0x515>
+  DB  224,7                               ; loopne        5d95 <.literal16+0x575>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -17737,10 +19452,10 @@
   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)        # a005778 <_sk_callback_sse41+0xa000629>
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a005dd8 <_sk_callback_sse41+0xa00068d>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005780 <_sk_callback_sse41+0x3000631>
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005de0 <_sk_callback_sse41+0x3000695>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -17795,11 +19510,11 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            584b <.literal16+0x62b>
+  DB  127,67                              ; jg            5eab <.literal16+0x68b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            584f <.literal16+0x62f>
+  DB  127,67                              ; jg            5eaf <.literal16+0x68f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5853 <.literal16+0x633>
+  DB  127,67                              ; jg            5eb3 <.literal16+0x693>
   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,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
@@ -17814,16 +19529,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5844 <.literal16+0x624>
+  DB  127,0                               ; jg            5ea4 <.literal16+0x684>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5848 <.literal16+0x628>
+  DB  127,0                               ; jg            5ea8 <.literal16+0x688>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            584c <.literal16+0x62c>
+  DB  127,0                               ; jg            5eac <.literal16+0x68c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5850 <.literal16+0x630>
+  DB  127,0                               ; jg            5eb0 <.literal16+0x690>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -17832,7 +19547,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            58d5 <.literal16+0x6b5>
+  DB  119,115                             ; ja            5f35 <.literal16+0x715>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -17843,7 +19558,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5839 <.literal16+0x619>
+  DB  117,191                             ; jne           5e99 <.literal16+0x679>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -17855,7 +19570,7 @@
   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          ffffffffe9a3987a <_sk_callback_sse41+0xffffffffe9a3472b>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a39eda <_sk_callback_sse41+0xffffffffe9a3478f>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  81                                  ; push          %rcx
   DB  140,242                             ; mov           %?,%edx
@@ -17910,16 +19625,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5914 <.literal16+0x6f4>
+  DB  127,0                               ; jg            5f74 <.literal16+0x754>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5918 <.literal16+0x6f8>
+  DB  127,0                               ; jg            5f78 <.literal16+0x758>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            591c <.literal16+0x6fc>
+  DB  127,0                               ; jg            5f7c <.literal16+0x75c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5920 <.literal16+0x700>
+  DB  127,0                               ; jg            5f80 <.literal16+0x760>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -17928,7 +19643,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            59a5 <.literal16+0x785>
+  DB  119,115                             ; ja            6005 <.literal16+0x7e5>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -17939,7 +19654,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5909 <.literal16+0x6e9>
+  DB  117,191                             ; jne           5f69 <.literal16+0x749>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -17951,7 +19666,7 @@
   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          ffffffffe9a3994a <_sk_callback_sse41+0xffffffffe9a347fb>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a39faa <_sk_callback_sse41+0xffffffffe9a3485f>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  81                                  ; push          %rcx
   DB  140,242                             ; mov           %?,%edx
@@ -18006,16 +19721,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            59e4 <.literal16+0x7c4>
+  DB  127,0                               ; jg            6044 <.literal16+0x824>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            59e8 <.literal16+0x7c8>
+  DB  127,0                               ; jg            6048 <.literal16+0x828>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            59ec <.literal16+0x7cc>
+  DB  127,0                               ; jg            604c <.literal16+0x82c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            59f0 <.literal16+0x7d0>
+  DB  127,0                               ; jg            6050 <.literal16+0x830>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -18024,7 +19739,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5a75 <.literal16+0x855>
+  DB  119,115                             ; ja            60d5 <.literal16+0x8b5>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -18035,7 +19750,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           59d9 <.literal16+0x7b9>
+  DB  117,191                             ; jne           6039 <.literal16+0x819>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -18047,7 +19762,7 @@
   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          ffffffffe9a39a1a <_sk_callback_sse41+0xffffffffe9a348cb>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a07a <_sk_callback_sse41+0xffffffffe9a3492f>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  81                                  ; push          %rcx
   DB  140,242                             ; mov           %?,%edx
@@ -18102,16 +19817,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5ab4 <.literal16+0x894>
+  DB  127,0                               ; jg            6114 <.literal16+0x8f4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5ab8 <.literal16+0x898>
+  DB  127,0                               ; jg            6118 <.literal16+0x8f8>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5abc <.literal16+0x89c>
+  DB  127,0                               ; jg            611c <.literal16+0x8fc>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5ac0 <.literal16+0x8a0>
+  DB  127,0                               ; jg            6120 <.literal16+0x900>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -18120,7 +19835,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5b45 <.literal16+0x925>
+  DB  119,115                             ; ja            61a5 <.literal16+0x985>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -18131,7 +19846,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5aa9 <.literal16+0x889>
+  DB  117,191                             ; jne           6109 <.literal16+0x8e9>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -18143,7 +19858,7 @@
   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          ffffffffe9a39aea <_sk_callback_sse41+0xffffffffe9a3499b>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a14a <_sk_callback_sse41+0xffffffffe9a349ff>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  81                                  ; push          %rcx
   DB  140,242                             ; mov           %?,%edx
@@ -18194,13 +19909,13 @@
   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  127,67                              ; jg            5bc7 <.literal16+0x9a7>
+  DB  127,67                              ; jg            6227 <.literal16+0xa07>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5bcb <.literal16+0x9ab>
+  DB  127,67                              ; jg            622b <.literal16+0xa0b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5bcf <.literal16+0x9af>
+  DB  127,67                              ; jg            622f <.literal16+0xa0f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5bd3 <.literal16+0x9b3>
+  DB  127,67                              ; jg            6233 <.literal16+0xa13>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,195                               ; add           %al,%bl
   DB  0,0                                 ; add           %al,(%rax)
@@ -18247,16 +19962,16 @@
   DB  128,3,62                            ; addb          $0x3e,(%rbx)
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           5c53 <.literal16+0xa33>
+  DB  118,63                              ; jbe           62b3 <.literal16+0xa93>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           5c57 <.literal16+0xa37>
+  DB  118,63                              ; jbe           62b7 <.literal16+0xa97>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           5c5b <.literal16+0xa3b>
+  DB  118,63                              ; jbe           62bb <.literal16+0xa9b>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           5c5f <.literal16+0xa3f>
+  DB  118,63                              ; jbe           62bf <.literal16+0xa9f>
   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)
@@ -18271,16 +19986,25 @@
   DB  0,0                                 ; add           %al,(%rax)
   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,255,0,0,0                ; addb          $0x0,0xff3b(%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  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,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
   DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
   DB  128,59,0                            ; cmpb          $0x0,(%rbx)
   DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5cab <.literal16+0xa8b>
+  DB  127,67                              ; jg            632b <.literal16+0xb0b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5caf <.literal16+0xa8f>
+  DB  127,67                              ; jg            632f <.literal16+0xb0f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5cb3 <.literal16+0xa93>
+  DB  127,67                              ; jg            6333 <.literal16+0xb13>
   DB  0,4,0                               ; add           %al,(%rax,%rax,1)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -18302,6 +20026,21 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
   DB  63                                  ; (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  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,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
+  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  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,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
@@ -18323,7 +20062,7 @@
   DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005d00 <_sk_callback_sse41+0x3000bb1>
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 30063b0 <_sk_callback_sse41+0x3000c65>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -18352,13 +20091,13 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        5d39 <.literal16+0xb19>
+  DB  224,7                               ; loopne        63e9 <.literal16+0xbc9>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5d3d <.literal16+0xb1d>
+  DB  224,7                               ; loopne        63ed <.literal16+0xbcd>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5d41 <.literal16+0xb21>
+  DB  224,7                               ; loopne        63f1 <.literal16+0xbd1>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5d45 <.literal16+0xb25>
+  DB  224,7                               ; loopne        63f5 <.literal16+0xbd5>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -18404,13 +20143,65 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        5da9 <.literal16+0xb89>
+  DB  224,7                               ; loopne        6459 <.literal16+0xc39>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5dad <.literal16+0xb8d>
+  DB  224,7                               ; loopne        645d <.literal16+0xc3d>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5db1 <.literal16+0xb91>
+  DB  224,7                               ; loopne        6461 <.literal16+0xc41>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5db5 <.literal16+0xb95>
+  DB  224,7                               ; loopne        6465 <.literal16+0xc45>
+  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  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,0                            ; cmpb          $0x0,(%rdi)
+  DB  248                                 ; clc
+  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  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        64c9 <.literal16+0xca9>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        64cd <.literal16+0xcad>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        64d1 <.literal16+0xcb1>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        64d5 <.literal16+0xcb5>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -18448,13 +20239,57 @@
   DB  65,0,0                              ; add           %al,(%r8)
   DB  248                                 ; clc
   DB  65,0,0                              ; add           %al,(%r8)
-  DB  124,66                              ; jl            5e46 <.literal16+0xc26>
+  DB  124,66                              ; jl            6566 <.literal16+0xd46>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            5e4a <.literal16+0xc2a>
+  DB  124,66                              ; jl            656a <.literal16+0xd4a>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            5e4e <.literal16+0xc2e>
+  DB  124,66                              ; jl            656e <.literal16+0xd4e>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            5e52 <.literal16+0xc32>
+  DB  124,66                              ; jl            6572 <.literal16+0xd52>
+  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,240                               ; add           %dh,%al
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,240                               ; add           %dh,%al
@@ -18544,13 +20379,13 @@
   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            5f55 <.literal16+0xd35>
+  DB  112,65                              ; jo            66f5 <.literal16+0xed5>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            5f59 <.literal16+0xd39>
+  DB  112,65                              ; jo            66f9 <.literal16+0xed9>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            5f5d <.literal16+0xd3d>
+  DB  112,65                              ; jo            66fd <.literal16+0xedd>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            5f61 <.literal16+0xd41>
+  DB  112,65                              ; jo            6701 <.literal16+0xee1>
   DB  255,0                               ; incl          (%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  255,0                               ; incl          (%rax)
@@ -18565,7 +20400,7 @@
   DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005f50 <_sk_callback_sse41+0x3000e01>
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 30066f0 <_sk_callback_sse41+0x3000fa5>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -18592,7 +20427,34 @@
   DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3005f90 <_sk_callback_sse41+0x3000e41>
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3006730 <_sk_callback_sse41+0x3000fe5>
+  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                                 ; (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  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,1,255,255,255            ; addb          $0xff,-0xfec5(%rax)
+  DB  5,255,255,255,9                     ; add           $0x9ffffff,%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3006770 <_sk_callback_sse41+0x3001025>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,6                               ; incl          (%rsi)
@@ -18607,11 +20469,11 @@
   DB  255,0                               ; incl          (%rax)
   DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5feb <.literal16+0xdcb>
+  DB  127,67                              ; jg            67cb <.literal16+0xfab>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5fef <.literal16+0xdcf>
+  DB  127,67                              ; jg            67cf <.literal16+0xfaf>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5ff3 <.literal16+0xdd3>
+  DB  127,67                              ; jg            67d3 <.literal16+0xfb3>
   DB  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)
@@ -18651,6 +20513,25 @@
   DB  56,0                                ; cmp           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  56,0                                ; cmp           %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,0,0,0,4                       ; add           %al,0x4000000(%rax)
+  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  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)
@@ -18687,13 +20568,13 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  255                                 ; (bad)
-  DB  127,71                              ; jg            60bb <.literal16+0xe9b>
+  DB  127,71                              ; jg            68cb <.literal16+0x10ab>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            60bf <.literal16+0xe9f>
+  DB  127,71                              ; jg            68cf <.literal16+0x10af>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            60c3 <.literal16+0xea3>
+  DB  127,71                              ; jg            68d3 <.literal16+0x10b3>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            60c7 <.literal16+0xea7>
+  DB  127,71                              ; jg            68d7 <.literal16+0x10b7>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -18739,10 +20620,10 @@
   DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
   DB  152                                 ; cwtl
   DB  221,147,61,45,16,17                 ; fstl          0x11102d3d(%rbx)
-  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110(%rip)        # 2dc071fa <_sk_callback_sse41+0x2dc020ab>
+  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110(%rip)        # 2dc07a0a <_sk_callback_sse41+0x2dc022bf>
   DB  17,192                              ; adc           %eax,%eax
   DB  45,16,17,192,18                     ; sub           $0x12c01110,%eax
-  DB  120,57                              ; js            612c <.literal16+0xf0c>
+  DB  120,57                              ; js            693c <.literal16+0x111c>
   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
@@ -18864,11 +20745,11 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,114                          ; cmpb          $0x72,(%rdi)
   DB  28,199                              ; sbb           $0xc7,%al
-  DB  62,114,28                           ; jb,pt         6262 <.literal16+0x1042>
+  DB  62,114,28                           ; jb,pt         6a72 <.literal16+0x1252>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6266 <.literal16+0x1046>
+  DB  62,114,28                           ; jb,pt         6a76 <.literal16+0x1256>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         626a <.literal16+0x104a>
+  DB  62,114,28                           ; jb,pt         6a7a <.literal16+0x125a>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -18912,7 +20793,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
-  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f0f5 <_sk_callback_sse41+0x3d639fa6>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f905 <_sk_callback_sse41+0x3d63a1ba>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -18938,7 +20819,7 @@
   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        # 3d63f135 <_sk_callback_sse41+0x3d639fe6>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f945 <_sk_callback_sse41+0x3d63a1fa>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
@@ -18947,13 +20828,13 @@
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
   DB  63                                  ; (bad)
-  DB  114,28                              ; jb            632e <.literal16+0x110e>
+  DB  114,28                              ; jb            6b3e <.literal16+0x131e>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6332 <.literal16+0x1112>
+  DB  62,114,28                           ; jb,pt         6b42 <.literal16+0x1322>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6336 <.literal16+0x1116>
+  DB  62,114,28                           ; jb,pt         6b46 <.literal16+0x1326>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         633a <.literal16+0x111a>
+  DB  62,114,28                           ; jb,pt         6b4a <.literal16+0x132a>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -18974,11 +20855,11 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,114                          ; cmpb          $0x72,(%rdi)
   DB  28,199                              ; sbb           $0xc7,%al
-  DB  62,114,28                           ; jb,pt         6372 <.literal16+0x1152>
+  DB  62,114,28                           ; jb,pt         6b82 <.literal16+0x1362>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6376 <.literal16+0x1156>
+  DB  62,114,28                           ; jb,pt         6b86 <.literal16+0x1366>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         637a <.literal16+0x115a>
+  DB  62,114,28                           ; jb,pt         6b8a <.literal16+0x136a>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -19022,7 +20903,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
-  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f205 <_sk_callback_sse41+0x3d63a0b6>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63fa15 <_sk_callback_sse41+0x3d63a2ca>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -19048,7 +20929,7 @@
   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        # 3d63f245 <_sk_callback_sse41+0x3d63a0f6>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63fa55 <_sk_callback_sse41+0x3d63a30a>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
@@ -19057,13 +20938,13 @@
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
   DB  63                                  ; (bad)
-  DB  114,28                              ; jb            643e <.literal16+0x121e>
+  DB  114,28                              ; jb            6c4e <.literal16+0x142e>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6442 <_sk_callback_sse41+0x12f3>
+  DB  62,114,28                           ; jb,pt         6c52 <_sk_callback_sse41+0x1507>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6446 <_sk_callback_sse41+0x12f7>
+  DB  62,114,28                           ; jb,pt         6c56 <_sk_callback_sse41+0x150b>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         644a <_sk_callback_sse41+0x12fb>
+  DB  62,114,28                           ; jb,pt         6c5a <_sk_callback_sse41+0x150f>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -19164,7 +21045,7 @@
   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,40,21,168,85,0,0                 ; movaps        0x55a8(%rip),%xmm2        # 56d0 <_sk_callback_sse2+0xd8>
+  DB  15,40,21,216,91,0,0                 ; movaps        0x5bd8(%rip),%xmm2        # 5d00 <_sk_callback_sse2+0xd0>
   DB  15,88,202                           ; addps         %xmm2,%xmm1
   DB  15,16,7                             ; movups        (%rdi),%xmm0
   DB  15,88,193                           ; addps         %xmm1,%xmm0
@@ -19173,7 +21054,7 @@
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
   DB  15,88,202                           ; addps         %xmm2,%xmm1
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,21,151,85,0,0                 ; movaps        0x5597(%rip),%xmm2        # 56e0 <_sk_callback_sse2+0xe8>
+  DB  15,40,21,199,91,0,0                 ; movaps        0x5bc7(%rip),%xmm2        # 5d10 <_sk_callback_sse2+0xe0>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
   DB  15,87,228                           ; xorps         %xmm4,%xmm4
   DB  15,87,237                           ; xorps         %xmm5,%xmm5
@@ -19191,14 +21072,14 @@
   DB  102,68,15,110,193                   ; movd          %ecx,%xmm8
   DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
   DB  102,69,15,239,193                   ; pxor          %xmm9,%xmm8
-  DB  102,68,15,111,21,101,85,0,0         ; movdqa        0x5565(%rip),%xmm10        # 56f0 <_sk_callback_sse2+0xf8>
+  DB  102,68,15,111,21,149,91,0,0         ; movdqa        0x5b95(%rip),%xmm10        # 5d20 <_sk_callback_sse2+0xf0>
   DB  102,69,15,111,216                   ; movdqa        %xmm8,%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,209                   ; pand          %xmm9,%xmm10
   DB  102,65,15,114,242,4                 ; pslld         $0x4,%xmm10
-  DB  102,68,15,111,37,81,85,0,0          ; movdqa        0x5551(%rip),%xmm12        # 5700 <_sk_callback_sse2+0x108>
-  DB  102,68,15,111,45,88,85,0,0          ; movdqa        0x5558(%rip),%xmm13        # 5710 <_sk_callback_sse2+0x118>
+  DB  102,68,15,111,37,129,91,0,0         ; movdqa        0x5b81(%rip),%xmm12        # 5d30 <_sk_callback_sse2+0x100>
+  DB  102,68,15,111,45,136,91,0,0         ; movdqa        0x5b88(%rip),%xmm13        # 5d40 <_sk_callback_sse2+0x110>
   DB  102,69,15,111,240                   ; movdqa        %xmm8,%xmm14
   DB  102,69,15,219,245                   ; pand          %xmm13,%xmm14
   DB  102,65,15,114,246,2                 ; pslld         $0x2,%xmm14
@@ -19214,8 +21095,8 @@
   DB  102,69,15,235,245                   ; por           %xmm13,%xmm14
   DB  102,69,15,235,240                   ; por           %xmm8,%xmm14
   DB  69,15,91,198                        ; cvtdq2ps      %xmm14,%xmm8
-  DB  68,15,89,5,19,85,0,0                ; mulps         0x5513(%rip),%xmm8        # 5720 <_sk_callback_sse2+0x128>
-  DB  68,15,88,5,27,85,0,0                ; addps         0x551b(%rip),%xmm8        # 5730 <_sk_callback_sse2+0x138>
+  DB  68,15,89,5,67,91,0,0                ; mulps         0x5b43(%rip),%xmm8        # 5d50 <_sk_callback_sse2+0x120>
+  DB  68,15,88,5,75,91,0,0                ; addps         0x5b4b(%rip),%xmm8        # 5d60 <_sk_callback_sse2+0x130>
   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
@@ -19282,7 +21163,7 @@
 PUBLIC _sk_srcatop_sse2
 _sk_srcatop_sse2 LABEL PROC
   DB  15,89,199                           ; mulps         %xmm7,%xmm0
-  DB  68,15,40,5,117,84,0,0               ; movaps        0x5475(%rip),%xmm8        # 5740 <_sk_callback_sse2+0x148>
+  DB  68,15,40,5,165,90,0,0               ; movaps        0x5aa5(%rip),%xmm8        # 5d70 <_sk_callback_sse2+0x140>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -19305,7 +21186,7 @@
 _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,56,84,0,0               ; movaps        0x5438(%rip),%xmm9        # 5750 <_sk_callback_sse2+0x158>
+  DB  68,15,40,13,104,90,0,0              ; movaps        0x5a68(%rip),%xmm9        # 5d80 <_sk_callback_sse2+0x150>
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
@@ -19346,7 +21227,7 @@
 
 PUBLIC _sk_srcout_sse2
 _sk_srcout_sse2 LABEL PROC
-  DB  68,15,40,5,220,83,0,0               ; movaps        0x53dc(%rip),%xmm8        # 5760 <_sk_callback_sse2+0x168>
+  DB  68,15,40,5,12,90,0,0                ; movaps        0x5a0c(%rip),%xmm8        # 5d90 <_sk_callback_sse2+0x160>
   DB  68,15,92,199                        ; subps         %xmm7,%xmm8
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
@@ -19357,7 +21238,7 @@
 
 PUBLIC _sk_dstout_sse2
 _sk_dstout_sse2 LABEL PROC
-  DB  68,15,40,5,204,83,0,0               ; movaps        0x53cc(%rip),%xmm8        # 5770 <_sk_callback_sse2+0x178>
+  DB  68,15,40,5,252,89,0,0               ; movaps        0x59fc(%rip),%xmm8        # 5da0 <_sk_callback_sse2+0x170>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  15,89,196                           ; mulps         %xmm4,%xmm0
@@ -19372,7 +21253,7 @@
 
 PUBLIC _sk_srcover_sse2
 _sk_srcover_sse2 LABEL PROC
-  DB  68,15,40,5,175,83,0,0               ; movaps        0x53af(%rip),%xmm8        # 5780 <_sk_callback_sse2+0x188>
+  DB  68,15,40,5,223,89,0,0               ; movaps        0x59df(%rip),%xmm8        # 5db0 <_sk_callback_sse2+0x180>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -19390,7 +21271,7 @@
 
 PUBLIC _sk_dstover_sse2
 _sk_dstover_sse2 LABEL PROC
-  DB  68,15,40,5,131,83,0,0               ; movaps        0x5383(%rip),%xmm8        # 5790 <_sk_callback_sse2+0x198>
+  DB  68,15,40,5,179,89,0,0               ; movaps        0x59b3(%rip),%xmm8        # 5dc0 <_sk_callback_sse2+0x190>
   DB  68,15,92,199                        ; subps         %xmm7,%xmm8
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -19414,7 +21295,7 @@
 
 PUBLIC _sk_multiply_sse2
 _sk_multiply_sse2 LABEL PROC
-  DB  68,15,40,5,87,83,0,0                ; movaps        0x5357(%rip),%xmm8        # 57a0 <_sk_callback_sse2+0x1a8>
+  DB  68,15,40,5,135,89,0,0               ; movaps        0x5987(%rip),%xmm8        # 5dd0 <_sk_callback_sse2+0x1a0>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
@@ -19483,7 +21364,7 @@
 PUBLIC _sk_xor__sse2
 _sk_xor__sse2 LABEL PROC
   DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
-  DB  15,40,29,140,82,0,0                 ; movaps        0x528c(%rip),%xmm3        # 57b0 <_sk_callback_sse2+0x1b8>
+  DB  15,40,29,188,88,0,0                 ; movaps        0x58bc(%rip),%xmm3        # 5de0 <_sk_callback_sse2+0x1b0>
   DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
@@ -19529,7 +21410,7 @@
   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,247,81,0,0                 ; movaps        0x51f7(%rip),%xmm2        # 57c0 <_sk_callback_sse2+0x1c8>
+  DB  15,40,21,39,88,0,0                  ; movaps        0x5827(%rip),%xmm2        # 5df0 <_sk_callback_sse2+0x1c0>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -19561,7 +21442,7 @@
   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,156,81,0,0                 ; movaps        0x519c(%rip),%xmm2        # 57d0 <_sk_callback_sse2+0x1d8>
+  DB  15,40,21,204,87,0,0                 ; movaps        0x57cc(%rip),%xmm2        # 5e00 <_sk_callback_sse2+0x1d0>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -19596,7 +21477,7 @@
   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,54,81,0,0                  ; movaps        0x5136(%rip),%xmm2        # 57e0 <_sk_callback_sse2+0x1e8>
+  DB  15,40,21,102,87,0,0                 ; movaps        0x5766(%rip),%xmm2        # 5e10 <_sk_callback_sse2+0x1e0>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -19622,7 +21503,7 @@
   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,246,80,0,0                 ; movaps        0x50f6(%rip),%xmm2        # 57f0 <_sk_callback_sse2+0x1f8>
+  DB  15,40,21,38,87,0,0                  ; movaps        0x5726(%rip),%xmm2        # 5e20 <_sk_callback_sse2+0x1f0>
   DB  15,92,211                           ; subps         %xmm3,%xmm2
   DB  15,89,215                           ; mulps         %xmm7,%xmm2
   DB  15,88,218                           ; addps         %xmm2,%xmm3
@@ -19633,7 +21514,7 @@
 PUBLIC _sk_colorburn_sse2
 _sk_colorburn_sse2 LABEL PROC
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
-  DB  68,15,40,21,233,80,0,0              ; movaps        0x50e9(%rip),%xmm10        # 5800 <_sk_callback_sse2+0x208>
+  DB  68,15,40,21,25,87,0,0               ; movaps        0x5719(%rip),%xmm10        # 5e30 <_sk_callback_sse2+0x200>
   DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
   DB  68,15,92,207                        ; subps         %xmm7,%xmm9
   DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
@@ -19725,7 +21606,7 @@
 PUBLIC _sk_colordodge_sse2
 _sk_colordodge_sse2 LABEL PROC
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
-  DB  68,15,40,21,159,79,0,0              ; movaps        0x4f9f(%rip),%xmm10        # 5810 <_sk_callback_sse2+0x218>
+  DB  68,15,40,21,207,85,0,0              ; movaps        0x55cf(%rip),%xmm10        # 5e40 <_sk_callback_sse2+0x210>
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
   DB  68,15,92,223                        ; subps         %xmm7,%xmm11
   DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
@@ -19818,7 +21699,7 @@
   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,81,78,0,0               ; movaps        0x4e51(%rip),%xmm11        # 5820 <_sk_callback_sse2+0x228>
+  DB  68,15,40,29,129,84,0,0              ; movaps        0x5481(%rip),%xmm11        # 5e50 <_sk_callback_sse2+0x220>
   DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
   DB  68,15,92,215                        ; subps         %xmm7,%xmm10
   DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
@@ -19905,7 +21786,7 @@
 _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,28,77,0,0               ; movaps        0x4d1c(%rip),%xmm9        # 5830 <_sk_callback_sse2+0x238>
+  DB  68,15,40,13,76,83,0,0               ; movaps        0x534c(%rip),%xmm9        # 5e60 <_sk_callback_sse2+0x230>
   DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
   DB  68,15,92,215                        ; subps         %xmm7,%xmm10
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
@@ -19995,7 +21876,7 @@
   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,214,75,0,0              ; movaps        0x4bd6(%rip),%xmm9        # 5840 <_sk_callback_sse2+0x248>
+  DB  68,15,40,13,6,82,0,0                ; movaps        0x5206(%rip),%xmm9        # 5e70 <_sk_callback_sse2+0x240>
   DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
   DB  69,15,92,250                        ; subps         %xmm10,%xmm15
   DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
@@ -20008,10 +21889,10 @@
   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,176,75,0,0              ; movaps        0x4bb0(%rip),%xmm14        # 5850 <_sk_callback_sse2+0x258>
+  DB  68,15,40,53,224,81,0,0              ; movaps        0x51e0(%rip),%xmm14        # 5e80 <_sk_callback_sse2+0x250>
   DB  69,15,88,222                        ; addps         %xmm14,%xmm11
   DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
-  DB  68,15,40,21,176,75,0,0              ; movaps        0x4bb0(%rip),%xmm10        # 5860 <_sk_callback_sse2+0x268>
+  DB  68,15,40,21,224,81,0,0              ; movaps        0x51e0(%rip),%xmm10        # 5e90 <_sk_callback_sse2+0x260>
   DB  69,15,89,234                        ; mulps         %xmm10,%xmm13
   DB  69,15,88,235                        ; addps         %xmm11,%xmm13
   DB  15,88,228                           ; addps         %xmm4,%xmm4
@@ -20156,7 +22037,7 @@
   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,236,73,0,0               ; movaps        0x49ec(%rip),%xmm8        # 58a0 <_sk_callback_sse2+0x2a8>
+  DB  68,15,40,5,28,80,0,0                ; movaps        0x501c(%rip),%xmm8        # 5ed0 <_sk_callback_sse2+0x2a0>
   DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
   DB  15,40,207                           ; movaps        %xmm7,%xmm1
   DB  68,15,92,217                        ; subps         %xmm1,%xmm11
@@ -20204,12 +22085,12 @@
   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,249,72,0,0              ; movaps        0x48f9(%rip),%xmm15        # 5870 <_sk_callback_sse2+0x278>
+  DB  68,15,40,61,41,79,0,0               ; movaps        0x4f29(%rip),%xmm15        # 5ea0 <_sk_callback_sse2+0x270>
   DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
-  DB  15,40,5,254,72,0,0                  ; movaps        0x48fe(%rip),%xmm0        # 5880 <_sk_callback_sse2+0x288>
+  DB  15,40,5,46,79,0,0                   ; movaps        0x4f2e(%rip),%xmm0        # 5eb0 <_sk_callback_sse2+0x280>
   DB  15,89,240                           ; mulps         %xmm0,%xmm6
   DB  15,88,244                           ; addps         %xmm4,%xmm6
-  DB  68,15,40,53,0,73,0,0                ; movaps        0x4900(%rip),%xmm14        # 5890 <_sk_callback_sse2+0x298>
+  DB  68,15,40,53,48,79,0,0               ; movaps        0x4f30(%rip),%xmm14        # 5ec0 <_sk_callback_sse2+0x290>
   DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
   DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
   DB  68,15,88,238                        ; addps         %xmm6,%xmm13
@@ -20387,14 +22268,14 @@
   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,141,70,0,0               ; movaps        0x468d(%rip),%xmm8        # 58b0 <_sk_callback_sse2+0x2b8>
+  DB  68,15,40,5,189,76,0,0               ; movaps        0x4cbd(%rip),%xmm8        # 5ee0 <_sk_callback_sse2+0x2b0>
   DB  15,40,214                           ; movaps        %xmm6,%xmm2
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
-  DB  15,40,13,143,70,0,0                 ; movaps        0x468f(%rip),%xmm1        # 58c0 <_sk_callback_sse2+0x2c8>
+  DB  15,40,13,191,76,0,0                 ; movaps        0x4cbf(%rip),%xmm1        # 5ef0 <_sk_callback_sse2+0x2c0>
   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,142,70,0,0              ; movaps        0x468e(%rip),%xmm12        # 58d0 <_sk_callback_sse2+0x2d8>
+  DB  68,15,40,37,190,76,0,0              ; movaps        0x4cbe(%rip),%xmm12        # 5f00 <_sk_callback_sse2+0x2d0>
   DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
   DB  68,15,88,235                        ; addps         %xmm3,%xmm13
   DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
@@ -20439,7 +22320,7 @@
   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,243,69,0,0               ; movaps        0x45f3(%rip),%xmm8        # 58e0 <_sk_callback_sse2+0x2e8>
+  DB  68,15,40,5,35,76,0,0                ; movaps        0x4c23(%rip),%xmm8        # 5f10 <_sk_callback_sse2+0x2e0>
   DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
   DB  68,15,92,199                        ; subps         %xmm7,%xmm8
   DB  15,88,253                           ; addps         %xmm5,%xmm7
@@ -20540,14 +22421,14 @@
   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,139,68,0,0              ; movaps        0x448b(%rip),%xmm13        # 58f0 <_sk_callback_sse2+0x2f8>
+  DB  68,15,40,45,187,74,0,0              ; movaps        0x4abb(%rip),%xmm13        # 5f20 <_sk_callback_sse2+0x2f0>
   DB  68,15,40,198                        ; movaps        %xmm6,%xmm8
   DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
-  DB  68,15,40,53,139,68,0,0              ; movaps        0x448b(%rip),%xmm14        # 5900 <_sk_callback_sse2+0x308>
+  DB  68,15,40,53,187,74,0,0              ; movaps        0x4abb(%rip),%xmm14        # 5f30 <_sk_callback_sse2+0x300>
   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,135,68,0,0              ; movaps        0x4487(%rip),%xmm11        # 5910 <_sk_callback_sse2+0x318>
+  DB  68,15,40,29,183,74,0,0              ; movaps        0x4ab7(%rip),%xmm11        # 5f40 <_sk_callback_sse2+0x310>
   DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
   DB  68,15,88,224                        ; addps         %xmm0,%xmm12
   DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
@@ -20555,7 +22436,7 @@
   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,115,68,0,0               ; movaps        0x4473(%rip),%xmm8        # 5920 <_sk_callback_sse2+0x328>
+  DB  68,15,40,5,163,74,0,0               ; movaps        0x4aa3(%rip),%xmm8        # 5f50 <_sk_callback_sse2+0x320>
   DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
   DB  15,92,226                           ; subps         %xmm2,%xmm4
   DB  15,89,252                           ; mulps         %xmm4,%xmm7
@@ -20691,15 +22572,15 @@
   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,133,66,0,0              ; movaps        0x4285(%rip),%xmm12        # 5930 <_sk_callback_sse2+0x338>
+  DB  68,15,40,37,181,72,0,0              ; movaps        0x48b5(%rip),%xmm12        # 5f60 <_sk_callback_sse2+0x330>
   DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
   DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
-  DB  68,15,40,45,133,66,0,0              ; movaps        0x4285(%rip),%xmm13        # 5940 <_sk_callback_sse2+0x348>
+  DB  68,15,40,45,181,72,0,0              ; movaps        0x48b5(%rip),%xmm13        # 5f70 <_sk_callback_sse2+0x340>
   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,129,66,0,0              ; movaps        0x4281(%rip),%xmm11        # 5950 <_sk_callback_sse2+0x358>
-  DB  68,15,40,5,137,66,0,0               ; movaps        0x4289(%rip),%xmm8        # 5960 <_sk_callback_sse2+0x368>
+  DB  68,15,40,29,177,72,0,0              ; movaps        0x48b1(%rip),%xmm11        # 5f80 <_sk_callback_sse2+0x350>
+  DB  68,15,40,5,185,72,0,0               ; movaps        0x48b9(%rip),%xmm8        # 5f90 <_sk_callback_sse2+0x360>
   DB  69,15,40,248                        ; movaps        %xmm8,%xmm15
   DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
   DB  68,15,92,248                        ; subps         %xmm0,%xmm15
@@ -20837,7 +22718,7 @@
   DB  15,133,227,0,0,0                    ; jne           19b1 <_sk_srcover_rgba_8888_sse2+0xf1>
   DB  243,68,15,111,4,144                 ; movdqu        (%rax,%rdx,4),%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  102,15,111,53,145,64,0,0            ; movdqa        0x4091(%rip),%xmm6        # 5970 <_sk_callback_sse2+0x378>
+  DB  102,15,111,53,193,70,0,0            ; movdqa        0x46c1(%rip),%xmm6        # 5fa0 <_sk_callback_sse2+0x370>
   DB  102,65,15,111,224                   ; movdqa        %xmm8,%xmm4
   DB  102,15,219,230                      ; pand          %xmm6,%xmm4
   DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
@@ -20851,9 +22732,9 @@
   DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
   DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
   DB  65,15,91,248                        ; cvtdq2ps      %xmm8,%xmm7
-  DB  68,15,40,5,97,64,0,0                ; movaps        0x4061(%rip),%xmm8        # 5980 <_sk_callback_sse2+0x388>
+  DB  68,15,40,5,145,70,0,0               ; movaps        0x4691(%rip),%xmm8        # 5fb0 <_sk_callback_sse2+0x380>
   DB  68,15,92,195                        ; subps         %xmm3,%xmm8
-  DB  68,15,40,37,101,64,0,0              ; movaps        0x4065(%rip),%xmm12        # 5990 <_sk_callback_sse2+0x398>
+  DB  68,15,40,37,149,70,0,0              ; movaps        0x4695(%rip),%xmm12        # 5fc0 <_sk_callback_sse2+0x390>
   DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
@@ -20929,7 +22810,7 @@
 
 PUBLIC _sk_clamp_1_sse2
 _sk_clamp_1_sse2 LABEL PROC
-  DB  68,15,40,5,86,63,0,0                ; movaps        0x3f56(%rip),%xmm8        # 59a0 <_sk_callback_sse2+0x3a8>
+  DB  68,15,40,5,134,69,0,0               ; movaps        0x4586(%rip),%xmm8        # 5fd0 <_sk_callback_sse2+0x3a0>
   DB  65,15,93,192                        ; minps         %xmm8,%xmm0
   DB  65,15,93,200                        ; minps         %xmm8,%xmm1
   DB  65,15,93,208                        ; minps         %xmm8,%xmm2
@@ -20939,13 +22820,22 @@
 
 PUBLIC _sk_clamp_a_sse2
 _sk_clamp_a_sse2 LABEL PROC
-  DB  15,93,29,75,63,0,0                  ; minps         0x3f4b(%rip),%xmm3        # 59b0 <_sk_callback_sse2+0x3b8>
+  DB  15,93,29,123,69,0,0                 ; minps         0x457b(%rip),%xmm3        # 5fe0 <_sk_callback_sse2+0x3b0>
   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,119,69,0,0                 ; minps         0x4577(%rip),%xmm7        # 5ff0 <_sk_callback_sse2+0x3c0>
+  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
@@ -20966,6 +22856,14 @@
   DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_sse2
+_sk_swap_rb_dst_sse2 LABEL PROC
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_sse2
 _sk_swap_sse2 LABEL PROC
   DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
@@ -21012,7 +22910,7 @@
 PUBLIC _sk_unpremul_sse2
 _sk_unpremul_sse2 LABEL PROC
   DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
-  DB  68,15,40,13,182,62,0,0              ; movaps        0x3eb6(%rip),%xmm9        # 59c0 <_sk_callback_sse2+0x3c8>
+  DB  68,15,40,13,211,68,0,0              ; movaps        0x44d3(%rip),%xmm9        # 6000 <_sk_callback_sse2+0x3d0>
   DB  68,15,94,203                        ; divps         %xmm3,%xmm9
   DB  68,15,194,195,4                     ; cmpneqps      %xmm3,%xmm8
   DB  69,15,84,193                        ; andps         %xmm9,%xmm8
@@ -21024,20 +22922,20 @@
 
 PUBLIC _sk_from_srgb_sse2
 _sk_from_srgb_sse2 LABEL PROC
-  DB  68,15,40,5,161,62,0,0               ; movaps        0x3ea1(%rip),%xmm8        # 59d0 <_sk_callback_sse2+0x3d8>
+  DB  68,15,40,5,190,68,0,0               ; movaps        0x44be(%rip),%xmm8        # 6010 <_sk_callback_sse2+0x3e0>
   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,153,62,0,0              ; movaps        0x3e99(%rip),%xmm9        # 59e0 <_sk_callback_sse2+0x3e8>
+  DB  68,15,40,13,182,68,0,0              ; movaps        0x44b6(%rip),%xmm9        # 6020 <_sk_callback_sse2+0x3f0>
   DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
   DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
-  DB  68,15,40,21,153,62,0,0              ; movaps        0x3e99(%rip),%xmm10        # 59f0 <_sk_callback_sse2+0x3f8>
+  DB  68,15,40,21,182,68,0,0              ; movaps        0x44b6(%rip),%xmm10        # 6030 <_sk_callback_sse2+0x400>
   DB  69,15,88,242                        ; addps         %xmm10,%xmm14
   DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
-  DB  68,15,40,29,153,62,0,0              ; movaps        0x3e99(%rip),%xmm11        # 5a00 <_sk_callback_sse2+0x408>
+  DB  68,15,40,29,182,68,0,0              ; movaps        0x44b6(%rip),%xmm11        # 6040 <_sk_callback_sse2+0x410>
   DB  69,15,88,243                        ; addps         %xmm11,%xmm14
-  DB  68,15,40,37,157,62,0,0              ; movaps        0x3e9d(%rip),%xmm12        # 5a10 <_sk_callback_sse2+0x418>
+  DB  68,15,40,37,186,68,0,0              ; movaps        0x44ba(%rip),%xmm12        # 6050 <_sk_callback_sse2+0x420>
   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
@@ -21069,25 +22967,72 @@
   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,75,68,0,0                ; movaps        0x444b(%rip),%xmm8        # 6060 <_sk_callback_sse2+0x430>
+  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,67,68,0,0               ; movaps        0x4443(%rip),%xmm9        # 6070 <_sk_callback_sse2+0x440>
+  DB  68,15,40,244                        ; movaps        %xmm4,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  68,15,40,21,67,68,0,0               ; movaps        0x4443(%rip),%xmm10        # 6080 <_sk_callback_sse2+0x450>
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
+  DB  68,15,40,29,67,68,0,0               ; movaps        0x4443(%rip),%xmm11        # 6090 <_sk_callback_sse2+0x460>
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,40,37,71,68,0,0               ; movaps        0x4447(%rip),%xmm12        # 60a0 <_sk_callback_sse2+0x470>
+  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,42,62,0,0                ; movaps        0x3e2a(%rip),%xmm8        # 5a20 <_sk_callback_sse2+0x428>
+  DB  68,15,40,5,212,67,0,0               ; movaps        0x43d4(%rip),%xmm8        # 60b0 <_sk_callback_sse2+0x480>
   DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
   DB  69,15,89,240                        ; mulps         %xmm8,%xmm14
-  DB  68,15,40,13,42,62,0,0               ; movaps        0x3e2a(%rip),%xmm9        # 5a30 <_sk_callback_sse2+0x438>
+  DB  68,15,40,13,212,67,0,0              ; movaps        0x43d4(%rip),%xmm9        # 60c0 <_sk_callback_sse2+0x490>
   DB  69,15,40,253                        ; movaps        %xmm13,%xmm15
   DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
-  DB  68,15,40,21,42,62,0,0               ; movaps        0x3e2a(%rip),%xmm10        # 5a40 <_sk_callback_sse2+0x448>
+  DB  68,15,40,21,212,67,0,0              ; movaps        0x43d4(%rip),%xmm10        # 60d0 <_sk_callback_sse2+0x4a0>
   DB  69,15,88,250                        ; addps         %xmm10,%xmm15
   DB  69,15,89,253                        ; mulps         %xmm13,%xmm15
-  DB  68,15,40,29,42,62,0,0               ; movaps        0x3e2a(%rip),%xmm11        # 5a50 <_sk_callback_sse2+0x458>
+  DB  68,15,40,29,212,67,0,0              ; movaps        0x43d4(%rip),%xmm11        # 60e0 <_sk_callback_sse2+0x4b0>
   DB  69,15,88,251                        ; addps         %xmm11,%xmm15
-  DB  68,15,40,37,46,62,0,0               ; movaps        0x3e2e(%rip),%xmm12        # 5a60 <_sk_callback_sse2+0x468>
+  DB  68,15,40,37,216,67,0,0              ; movaps        0x43d8(%rip),%xmm12        # 60f0 <_sk_callback_sse2+0x4c0>
   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,42,62,0,0               ; movaps        0x3e2a(%rip),%xmm15        # 5a70 <_sk_callback_sse2+0x478>
+  DB  68,15,40,61,212,67,0,0              ; movaps        0x43d4(%rip),%xmm15        # 6100 <_sk_callback_sse2+0x4d0>
   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
@@ -21135,7 +23080,7 @@
   DB  68,15,93,218                        ; minps         %xmm2,%xmm11
   DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
   DB  65,15,92,203                        ; subps         %xmm11,%xmm1
-  DB  68,15,40,45,131,61,0,0              ; movaps        0x3d83(%rip),%xmm13        # 5a80 <_sk_callback_sse2+0x488>
+  DB  68,15,40,45,45,67,0,0               ; movaps        0x432d(%rip),%xmm13        # 6110 <_sk_callback_sse2+0x4e0>
   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
@@ -21144,30 +23089,30 @@
   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,105,61,0,0              ; andps         0x3d69(%rip),%xmm14        # 5a90 <_sk_callback_sse2+0x498>
+  DB  68,15,84,53,19,67,0,0               ; andps         0x4313(%rip),%xmm14        # 6120 <_sk_callback_sse2+0x4f0>
   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,92,61,0,0               ; movaps        0x3d5c(%rip),%xmm12        # 5aa0 <_sk_callback_sse2+0x4a8>
+  DB  68,15,40,37,6,67,0,0                ; movaps        0x4306(%rip),%xmm12        # 6130 <_sk_callback_sse2+0x500>
   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,88,61,0,0                ; addps         0x3d58(%rip),%xmm8        # 5ab0 <_sk_callback_sse2+0x4b8>
+  DB  68,15,88,5,2,67,0,0                 ; addps         0x4302(%rip),%xmm8        # 6140 <_sk_callback_sse2+0x510>
   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,73,61,0,0                   ; mulps         0x3d49(%rip),%xmm0        # 5ac0 <_sk_callback_sse2+0x4c8>
+  DB  15,89,5,243,66,0,0                  ; mulps         0x42f3(%rip),%xmm0        # 6150 <_sk_callback_sse2+0x520>
   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,60,61,0,0               ; movaps        0x3d3c(%rip),%xmm9        # 5ad0 <_sk_callback_sse2+0x4d8>
+  DB  68,15,40,13,230,66,0,0              ; movaps        0x42e6(%rip),%xmm9        # 6160 <_sk_callback_sse2+0x530>
   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
@@ -21190,7 +23135,7 @@
   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,247,60,0,0              ; movaps        0x3cf7(%rip),%xmm9        # 5ae0 <_sk_callback_sse2+0x4e8>
+  DB  68,15,40,13,161,66,0,0              ; movaps        0x42a1(%rip),%xmm9        # 6170 <_sk_callback_sse2+0x540>
   DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
   DB  69,15,194,211,2                     ; cmpleps       %xmm11,%xmm10
   DB  15,40,193                           ; movaps        %xmm1,%xmm0
@@ -21207,28 +23152,28 @@
   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,193,60,0,0                  ; movaps        0x3cc1(%rip),%xmm0        # 5af0 <_sk_callback_sse2+0x4f8>
+  DB  15,40,5,107,66,0,0                  ; movaps        0x426b(%rip),%xmm0        # 6180 <_sk_callback_sse2+0x550>
   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,185,60,0,0                 ; andps         0x3cb9(%rip),%xmm3        # 5b00 <_sk_callback_sse2+0x508>
+  DB  15,84,29,99,66,0,0                  ; andps         0x4263(%rip),%xmm3        # 6190 <_sk_callback_sse2+0x560>
   DB  15,92,203                           ; subps         %xmm3,%xmm1
   DB  15,92,193                           ; subps         %xmm1,%xmm0
-  DB  68,15,40,45,187,60,0,0              ; movaps        0x3cbb(%rip),%xmm13        # 5b10 <_sk_callback_sse2+0x518>
+  DB  68,15,40,45,101,66,0,0              ; movaps        0x4265(%rip),%xmm13        # 61a0 <_sk_callback_sse2+0x570>
   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,203,60,0,0                 ; movaps        0x3ccb(%rip),%xmm2        # 5b40 <_sk_callback_sse2+0x548>
+  DB  15,40,21,117,66,0,0                 ; movaps        0x4275(%rip),%xmm2        # 61d0 <_sk_callback_sse2+0x5a0>
   DB  68,15,40,250                        ; movaps        %xmm2,%xmm15
   DB  68,15,194,248,2                     ; cmpleps       %xmm0,%xmm15
-  DB  15,40,13,155,60,0,0                 ; movaps        0x3c9b(%rip),%xmm1        # 5b20 <_sk_callback_sse2+0x528>
+  DB  15,40,13,69,66,0,0                  ; movaps        0x4245(%rip),%xmm1        # 61b0 <_sk_callback_sse2+0x580>
   DB  15,89,193                           ; mulps         %xmm1,%xmm0
-  DB  15,40,45,161,60,0,0                 ; movaps        0x3ca1(%rip),%xmm5        # 5b30 <_sk_callback_sse2+0x538>
+  DB  15,40,45,75,66,0,0                  ; movaps        0x424b(%rip),%xmm5        # 61c0 <_sk_callback_sse2+0x590>
   DB  15,40,229                           ; movaps        %xmm5,%xmm4
   DB  15,92,224                           ; subps         %xmm0,%xmm4
   DB  65,15,89,230                        ; mulps         %xmm14,%xmm4
@@ -21251,7 +23196,7 @@
   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,22,60,0,0                  ; andps         0x3c16(%rip),%xmm3        # 5b00 <_sk_callback_sse2+0x508>
+  DB  15,84,29,192,65,0,0                 ; andps         0x41c0(%rip),%xmm3        # 6190 <_sk_callback_sse2+0x560>
   DB  15,92,195                           ; subps         %xmm3,%xmm0
   DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
   DB  68,15,92,224                        ; subps         %xmm0,%xmm12
@@ -21281,12 +23226,12 @@
   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,239,59,0,0                 ; addps         0x3bef(%rip),%xmm6        # 5b50 <_sk_callback_sse2+0x558>
+  DB  15,88,53,153,65,0,0                 ; addps         0x4199(%rip),%xmm6        # 61e0 <_sk_callback_sse2+0x5b0>
   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,138,59,0,0                 ; andps         0x3b8a(%rip),%xmm3        # 5b00 <_sk_callback_sse2+0x508>
+  DB  15,84,29,52,65,0,0                  ; andps         0x4134(%rip),%xmm3        # 6190 <_sk_callback_sse2+0x560>
   DB  15,92,195                           ; subps         %xmm3,%xmm0
   DB  15,92,240                           ; subps         %xmm0,%xmm6
   DB  15,89,206                           ; mulps         %xmm6,%xmm1
@@ -21343,13 +23288,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,61                              ; jne           206d <_sk_scale_u8_sse2+0x47>
+  DB  117,61                              ; jne           2153 <_sk_scale_u8_sse2+0x47>
   DB  102,69,15,110,4,18                  ; movd          (%r10,%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,23,59,0,0           ; pand          0x3b17(%rip),%xmm8        # 5b60 <_sk_callback_sse2+0x568>
+  DB  102,68,15,219,5,193,64,0,0          ; pand          0x40c1(%rip),%xmm8        # 61f0 <_sk_callback_sse2+0x5c0>
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,27,59,0,0                ; mulps         0x3b1b(%rip),%xmm8        # 5b70 <_sk_callback_sse2+0x578>
+  DB  68,15,89,5,197,64,0,0               ; mulps         0x40c5(%rip),%xmm8        # 6200 <_sk_callback_sse2+0x5d0>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
@@ -21360,12 +23305,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,61                              ; je            20b7 <_sk_scale_u8_sse2+0x91>
+  DB  116,61                              ; je            219d <_sk_scale_u8_sse2+0x91>
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,23                              ; je            209c <_sk_scale_u8_sse2+0x76>
+  DB  116,23                              ; je            2182 <_sk_scale_u8_sse2+0x76>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,181                             ; jne           2040 <_sk_scale_u8_sse2+0x1a>
+  DB  117,181                             ; jne           2126 <_sk_scale_u8_sse2+0x1a>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
@@ -21374,10 +23319,10 @@
   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,137                             ; jmp           2040 <_sk_scale_u8_sse2+0x1a>
+  DB  235,137                             ; jmp           2126 <_sk_scale_u8_sse2+0x1a>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  233,122,255,255,255                 ; jmpq          2040 <_sk_scale_u8_sse2+0x1a>
+  DB  233,122,255,255,255                 ; jmpq          2126 <_sk_scale_u8_sse2+0x1a>
 
 PUBLIC _sk_lerp_1_float_sse2
 _sk_lerp_1_float_sse2 LABEL PROC
@@ -21404,13 +23349,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,81                              ; jne           2159 <_sk_lerp_u8_sse2+0x5b>
+  DB  117,81                              ; jne           223f <_sk_lerp_u8_sse2+0x5b>
   DB  102,69,15,110,4,18                  ; movd          (%r10,%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,95,58,0,0           ; pand          0x3a5f(%rip),%xmm8        # 5b80 <_sk_callback_sse2+0x588>
+  DB  102,68,15,219,5,9,64,0,0            ; pand          0x4009(%rip),%xmm8        # 6210 <_sk_callback_sse2+0x5e0>
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,99,58,0,0                ; mulps         0x3a63(%rip),%xmm8        # 5b90 <_sk_callback_sse2+0x598>
+  DB  68,15,89,5,13,64,0,0                ; mulps         0x400d(%rip),%xmm8        # 6220 <_sk_callback_sse2+0x5f0>
   DB  15,92,196                           ; subps         %xmm4,%xmm0
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -21428,12 +23373,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,64                              ; je            21a6 <_sk_lerp_u8_sse2+0xa8>
+  DB  116,64                              ; je            228c <_sk_lerp_u8_sse2+0xa8>
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,23                              ; je            2188 <_sk_lerp_u8_sse2+0x8a>
+  DB  116,23                              ; je            226e <_sk_lerp_u8_sse2+0x8a>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,161                             ; jne           2118 <_sk_lerp_u8_sse2+0x1a>
+  DB  117,161                             ; jne           21fe <_sk_lerp_u8_sse2+0x1a>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
@@ -21442,30 +23387,30 @@
   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,114,255,255,255                 ; jmpq          2118 <_sk_lerp_u8_sse2+0x1a>
+  DB  233,114,255,255,255                 ; jmpq          21fe <_sk_lerp_u8_sse2+0x1a>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  233,99,255,255,255                  ; jmpq          2118 <_sk_lerp_u8_sse2+0x1a>
+  DB  233,99,255,255,255                  ; jmpq          21fe <_sk_lerp_u8_sse2+0x1a>
 
 PUBLIC _sk_lerp_565_sse2
 _sk_lerp_565_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,156,0,0,0                    ; jne           225f <_sk_lerp_565_sse2+0xaa>
+  DB  15,133,156,0,0,0                    ; jne           2345 <_sk_lerp_565_sse2+0xaa>
   DB  243,69,15,126,12,82                 ; movq          (%r10,%rdx,2),%xmm9
   DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
-  DB  102,68,15,111,5,201,57,0,0          ; movdqa        0x39c9(%rip),%xmm8        # 5ba0 <_sk_callback_sse2+0x5a8>
+  DB  102,68,15,111,5,115,63,0,0          ; movdqa        0x3f73(%rip),%xmm8        # 6230 <_sk_callback_sse2+0x600>
   DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
-  DB  68,15,89,5,200,57,0,0               ; mulps         0x39c8(%rip),%xmm8        # 5bb0 <_sk_callback_sse2+0x5b8>
-  DB  102,68,15,111,21,207,57,0,0         ; movdqa        0x39cf(%rip),%xmm10        # 5bc0 <_sk_callback_sse2+0x5c8>
+  DB  68,15,89,5,114,63,0,0               ; mulps         0x3f72(%rip),%xmm8        # 6240 <_sk_callback_sse2+0x610>
+  DB  102,68,15,111,21,121,63,0,0         ; movdqa        0x3f79(%rip),%xmm10        # 6250 <_sk_callback_sse2+0x620>
   DB  102,69,15,219,209                   ; pand          %xmm9,%xmm10
   DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
-  DB  68,15,89,21,206,57,0,0              ; mulps         0x39ce(%rip),%xmm10        # 5bd0 <_sk_callback_sse2+0x5d8>
-  DB  102,68,15,219,13,213,57,0,0         ; pand          0x39d5(%rip),%xmm9        # 5be0 <_sk_callback_sse2+0x5e8>
+  DB  68,15,89,21,120,63,0,0              ; mulps         0x3f78(%rip),%xmm10        # 6260 <_sk_callback_sse2+0x630>
+  DB  102,68,15,219,13,127,63,0,0         ; pand          0x3f7f(%rip),%xmm9        # 6270 <_sk_callback_sse2+0x640>
   DB  69,15,91,201                        ; cvtdq2ps      %xmm9,%xmm9
-  DB  68,15,89,13,217,57,0,0              ; mulps         0x39d9(%rip),%xmm9        # 5bf0 <_sk_callback_sse2+0x5f8>
+  DB  68,15,89,13,131,63,0,0              ; mulps         0x3f83(%rip),%xmm9        # 6280 <_sk_callback_sse2+0x650>
   DB  15,92,196                           ; subps         %xmm4,%xmm0
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  15,88,196                           ; addps         %xmm4,%xmm0
@@ -21490,34 +23435,34 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,59                              ; je            22a7 <_sk_lerp_565_sse2+0xf2>
+  DB  116,59                              ; je            238d <_sk_lerp_565_sse2+0xf2>
   DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,27                              ; je            2292 <_sk_lerp_565_sse2+0xdd>
+  DB  116,27                              ; je            2378 <_sk_lerp_565_sse2+0xdd>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  15,133,77,255,255,255               ; jne           21ce <_sk_lerp_565_sse2+0x19>
+  DB  15,133,77,255,255,255               ; jne           22b4 <_sk_lerp_565_sse2+0x19>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%rdx,2),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  102,69,15,112,200,69                ; pshufd        $0x45,%xmm8,%xmm9
   DB  102,69,15,110,4,82                  ; movd          (%r10,%rdx,2),%xmm8
   DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
   DB  242,69,15,16,200                    ; movsd         %xmm8,%xmm9
-  DB  233,39,255,255,255                  ; jmpq          21ce <_sk_lerp_565_sse2+0x19>
+  DB  233,39,255,255,255                  ; jmpq          22b4 <_sk_lerp_565_sse2+0x19>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,68,15,110,200                   ; movd          %eax,%xmm9
-  DB  233,24,255,255,255                  ; jmpq          21ce <_sk_lerp_565_sse2+0x19>
+  DB  233,24,255,255,255                  ; jmpq          22b4 <_sk_lerp_565_sse2+0x19>
 
 PUBLIC _sk_load_tables_sse2
 _sk_load_tables_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,36,1,0,0                     ; jne           23e8 <_sk_load_tables_sse2+0x132>
+  DB  15,133,36,1,0,0                     ; jne           24ce <_sk_load_tables_sse2+0x132>
   DB  243,69,15,111,12,145                ; movdqu        (%r9,%rdx,4),%xmm9
   DB  65,87                               ; push          %r15
   DB  65,86                               ; push          %r14
   DB  83                                  ; push          %rbx
-  DB  102,68,15,111,5,40,57,0,0           ; movdqa        0x3928(%rip),%xmm8        # 5c00 <_sk_callback_sse2+0x608>
+  DB  102,68,15,111,5,210,62,0,0          ; movdqa        0x3ed2(%rip),%xmm8        # 6290 <_sk_callback_sse2+0x660>
   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
@@ -21573,7 +23518,7 @@
   DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
   DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
   DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
-  DB  15,89,29,49,56,0,0                  ; mulps         0x3831(%rip),%xmm3        # 5c10 <_sk_callback_sse2+0x618>
+  DB  15,89,29,219,61,0,0                 ; mulps         0x3ddb(%rip),%xmm3        # 62a0 <_sk_callback_sse2+0x670>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
@@ -21582,18 +23527,18 @@
   DB  69,137,194                          ; mov           %r8d,%r10d
   DB  65,128,226,3                        ; and           $0x3,%r10b
   DB  65,128,250,1                        ; cmp           $0x1,%r10b
-  DB  116,45                              ; je            2422 <_sk_load_tables_sse2+0x16c>
+  DB  116,45                              ; je            2508 <_sk_load_tables_sse2+0x16c>
   DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
   DB  65,128,250,2                        ; cmp           $0x2,%r10b
-  DB  116,23                              ; je            2417 <_sk_load_tables_sse2+0x161>
+  DB  116,23                              ; je            24fd <_sk_load_tables_sse2+0x161>
   DB  65,128,250,3                        ; cmp           $0x3,%r10b
-  DB  15,133,192,254,255,255              ; jne           22ca <_sk_load_tables_sse2+0x14>
+  DB  15,133,192,254,255,255              ; jne           23b0 <_sk_load_tables_sse2+0x14>
   DB  102,65,15,110,68,145,8              ; movd          0x8(%r9,%rdx,4),%xmm0
   DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
   DB  102,69,15,18,12,145                 ; movlpd        (%r9,%rdx,4),%xmm9
-  DB  233,168,254,255,255                 ; jmpq          22ca <_sk_load_tables_sse2+0x14>
+  DB  233,168,254,255,255                 ; jmpq          23b0 <_sk_load_tables_sse2+0x14>
   DB  102,69,15,110,12,145                ; movd          (%r9,%rdx,4),%xmm9
-  DB  233,157,254,255,255                 ; jmpq          22ca <_sk_load_tables_sse2+0x14>
+  DB  233,157,254,255,255                 ; jmpq          23b0 <_sk_load_tables_sse2+0x14>
 
 PUBLIC _sk_load_tables_u16_be_sse2
 _sk_load_tables_u16_be_sse2 LABEL PROC
@@ -21601,7 +23546,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,101,1,0,0                    ; jne           25a8 <_sk_load_tables_u16_be_sse2+0x17b>
+  DB  15,133,101,1,0,0                    ; jne           268e <_sk_load_tables_u16_be_sse2+0x17b>
   DB  102,67,15,16,4,81                   ; movupd        (%r9,%r10,2),%xmm0
   DB  102,67,15,16,76,81,16               ; movupd        0x10(%r9,%r10,2),%xmm1
   DB  65,87                               ; push          %r15
@@ -21613,7 +23558,7 @@
   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,21,166,55,0,0         ; movdqa        0x37a6(%rip),%xmm10        # 5c20 <_sk_callback_sse2+0x628>
+  DB  102,68,15,111,21,80,61,0,0          ; movdqa        0x3d50(%rip),%xmm10        # 62b0 <_sk_callback_sse2+0x680>
   DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
   DB  102,65,15,219,194                   ; pand          %xmm10,%xmm0
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
@@ -21675,7 +23620,7 @@
   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,145,54,0,0                 ; mulps         0x3691(%rip),%xmm3        # 5c30 <_sk_callback_sse2+0x638>
+  DB  15,89,29,59,60,0,0                  ; mulps         0x3c3b(%rip),%xmm3        # 62c0 <_sk_callback_sse2+0x690>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
@@ -21683,17 +23628,17 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,67,15,16,4,81                   ; movsd         (%r9,%r10,2),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,17                              ; jne           25c5 <_sk_load_tables_u16_be_sse2+0x198>
+  DB  117,17                              ; jne           26ab <_sk_load_tables_u16_be_sse2+0x198>
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
-  DB  233,139,254,255,255                 ; jmpq          2450 <_sk_load_tables_u16_be_sse2+0x23>
+  DB  233,139,254,255,255                 ; jmpq          2536 <_sk_load_tables_u16_be_sse2+0x23>
   DB  102,67,15,22,68,81,8                ; movhpd        0x8(%r9,%r10,2),%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,118,254,255,255              ; jb            2450 <_sk_load_tables_u16_be_sse2+0x23>
+  DB  15,130,118,254,255,255              ; jb            2536 <_sk_load_tables_u16_be_sse2+0x23>
   DB  242,67,15,16,76,81,16               ; movsd         0x10(%r9,%r10,2),%xmm1
-  DB  233,106,254,255,255                 ; jmpq          2450 <_sk_load_tables_u16_be_sse2+0x23>
+  DB  233,106,254,255,255                 ; jmpq          2536 <_sk_load_tables_u16_be_sse2+0x23>
 
 PUBLIC _sk_load_tables_rgb_u16_be_sse2
 _sk_load_tables_rgb_u16_be_sse2 LABEL PROC
@@ -21701,7 +23646,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  76,141,20,82                        ; lea           (%rdx,%rdx,2),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,84,1,0,0                     ; jne           274c <_sk_load_tables_rgb_u16_be_sse2+0x166>
+  DB  15,133,84,1,0,0                     ; jne           2832 <_sk_load_tables_rgb_u16_be_sse2+0x166>
   DB  243,71,15,111,28,81                 ; movdqu        (%r9,%r10,2),%xmm11
   DB  243,67,15,111,76,81,8               ; movdqu        0x8(%r9,%r10,2),%xmm1
   DB  102,15,115,217,4                    ; psrldq        $0x4,%xmm1
@@ -21716,7 +23661,7 @@
   DB  102,68,15,97,208                    ; punpcklwd     %xmm0,%xmm10
   DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
   DB  102,65,15,97,194                    ; punpcklwd     %xmm10,%xmm0
-  DB  102,68,15,111,5,0,54,0,0            ; movdqa        0x3600(%rip),%xmm8        # 5c40 <_sk_callback_sse2+0x648>
+  DB  102,68,15,111,5,170,59,0,0          ; movdqa        0x3baa(%rip),%xmm8        # 62d0 <_sk_callback_sse2+0x6a0>
   DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
   DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
   DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
@@ -21772,7 +23717,7 @@
   DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
   DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,11,53,0,0                  ; movaps        0x350b(%rip),%xmm3        # 5c50 <_sk_callback_sse2+0x658>
+  DB  15,40,29,181,58,0,0                 ; movaps        0x3ab5(%rip),%xmm3        # 62e0 <_sk_callback_sse2+0x6b0>
   DB  91                                  ; pop           %rbx
   DB  65,94                               ; pop           %r14
   DB  65,95                               ; pop           %r15
@@ -21781,21 +23726,21 @@
   DB  102,71,15,196,92,81,4,2             ; pinsrw        $0x2,0x4(%r9,%r10,2),%xmm11
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,14                              ; jne           2772 <_sk_load_tables_rgb_u16_be_sse2+0x18c>
+  DB  117,14                              ; jne           2858 <_sk_load_tables_rgb_u16_be_sse2+0x18c>
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
-  DB  233,172,254,255,255                 ; jmpq          261e <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  DB  233,172,254,255,255                 ; jmpq          2704 <_sk_load_tables_rgb_u16_be_sse2+0x38>
   DB  102,71,15,110,84,81,6               ; movd          0x6(%r9,%r10,2),%xmm10
   DB  102,71,15,196,84,81,10,2            ; pinsrw        $0x2,0xa(%r9,%r10,2),%xmm10
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,24                              ; jb            27a3 <_sk_load_tables_rgb_u16_be_sse2+0x1bd>
+  DB  114,24                              ; jb            2889 <_sk_load_tables_rgb_u16_be_sse2+0x1bd>
   DB  102,67,15,110,76,81,12              ; movd          0xc(%r9,%r10,2),%xmm1
   DB  102,67,15,196,76,81,16,2            ; pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
-  DB  233,123,254,255,255                 ; jmpq          261e <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  DB  233,123,254,255,255                 ; jmpq          2704 <_sk_load_tables_rgb_u16_be_sse2+0x38>
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,114,254,255,255                 ; jmpq          261e <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  DB  233,114,254,255,255                 ; jmpq          2704 <_sk_load_tables_rgb_u16_be_sse2+0x38>
 
 PUBLIC _sk_byte_tables_sse2
 _sk_byte_tables_sse2 LABEL PROC
@@ -21804,7 +23749,7 @@
   DB  65,86                               ; push          %r14
   DB  83                                  ; push          %rbx
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,164,52,0,0               ; movaps        0x34a4(%rip),%xmm8        # 5c60 <_sk_callback_sse2+0x668>
+  DB  68,15,40,5,78,58,0,0                ; movaps        0x3a4e(%rip),%xmm8        # 62f0 <_sk_callback_sse2+0x6c0>
   DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
   DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
   DB  102,73,15,126,193                   ; movq          %xmm0,%r9
@@ -21832,7 +23777,7 @@
   DB  102,65,15,96,193                    ; punpcklbw     %xmm9,%xmm0
   DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,21,62,52,0,0               ; movaps        0x343e(%rip),%xmm10        # 5c70 <_sk_callback_sse2+0x678>
+  DB  68,15,40,21,232,57,0,0              ; movaps        0x39e8(%rip),%xmm10        # 6300 <_sk_callback_sse2+0x6d0>
   DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
@@ -21951,7 +23896,7 @@
   DB  102,65,15,96,193                    ; punpcklbw     %xmm9,%xmm0
   DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  68,15,40,21,134,50,0,0              ; movaps        0x3286(%rip),%xmm10        # 5c80 <_sk_callback_sse2+0x688>
+  DB  68,15,40,21,48,56,0,0               ; movaps        0x3830(%rip),%xmm10        # 6310 <_sk_callback_sse2+0x6e0>
   DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
   DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
@@ -22148,15 +24093,15 @@
   DB  69,15,88,209                        ; addps         %xmm9,%xmm10
   DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
   DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
-  DB  68,15,89,13,186,47,0,0              ; mulps         0x2fba(%rip),%xmm9        # 5c90 <_sk_callback_sse2+0x698>
-  DB  68,15,84,21,194,47,0,0              ; andps         0x2fc2(%rip),%xmm10        # 5ca0 <_sk_callback_sse2+0x6a8>
-  DB  68,15,86,21,202,47,0,0              ; orps          0x2fca(%rip),%xmm10        # 5cb0 <_sk_callback_sse2+0x6b8>
-  DB  68,15,88,13,210,47,0,0              ; addps         0x2fd2(%rip),%xmm9        # 5cc0 <_sk_callback_sse2+0x6c8>
-  DB  68,15,40,37,218,47,0,0              ; movaps        0x2fda(%rip),%xmm12        # 5cd0 <_sk_callback_sse2+0x6d8>
+  DB  68,15,89,13,100,53,0,0              ; mulps         0x3564(%rip),%xmm9        # 6320 <_sk_callback_sse2+0x6f0>
+  DB  68,15,84,21,108,53,0,0              ; andps         0x356c(%rip),%xmm10        # 6330 <_sk_callback_sse2+0x700>
+  DB  68,15,86,21,116,53,0,0              ; orps          0x3574(%rip),%xmm10        # 6340 <_sk_callback_sse2+0x710>
+  DB  68,15,88,13,124,53,0,0              ; addps         0x357c(%rip),%xmm9        # 6350 <_sk_callback_sse2+0x720>
+  DB  68,15,40,37,132,53,0,0              ; movaps        0x3584(%rip),%xmm12        # 6360 <_sk_callback_sse2+0x730>
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,88,21,218,47,0,0              ; addps         0x2fda(%rip),%xmm10        # 5ce0 <_sk_callback_sse2+0x6e8>
-  DB  68,15,40,37,226,47,0,0              ; movaps        0x2fe2(%rip),%xmm12        # 5cf0 <_sk_callback_sse2+0x6f8>
+  DB  68,15,88,21,132,53,0,0              ; addps         0x3584(%rip),%xmm10        # 6370 <_sk_callback_sse2+0x740>
+  DB  68,15,40,37,140,53,0,0              ; movaps        0x358c(%rip),%xmm12        # 6380 <_sk_callback_sse2+0x750>
   DB  69,15,94,226                        ; divps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
   DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
@@ -22164,22 +24109,22 @@
   DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
-  DB  68,15,40,21,204,47,0,0              ; movaps        0x2fcc(%rip),%xmm10        # 5d00 <_sk_callback_sse2+0x708>
+  DB  68,15,40,21,118,53,0,0              ; movaps        0x3576(%rip),%xmm10        # 6390 <_sk_callback_sse2+0x760>
   DB  69,15,84,234                        ; andps         %xmm10,%xmm13
   DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,92,236                        ; subps         %xmm12,%xmm13
-  DB  68,15,88,13,192,47,0,0              ; addps         0x2fc0(%rip),%xmm9        # 5d10 <_sk_callback_sse2+0x718>
-  DB  68,15,40,37,200,47,0,0              ; movaps        0x2fc8(%rip),%xmm12        # 5d20 <_sk_callback_sse2+0x728>
+  DB  68,15,88,13,106,53,0,0              ; addps         0x356a(%rip),%xmm9        # 63a0 <_sk_callback_sse2+0x770>
+  DB  68,15,40,37,114,53,0,0              ; movaps        0x3572(%rip),%xmm12        # 63b0 <_sk_callback_sse2+0x780>
   DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,40,37,200,47,0,0              ; movaps        0x2fc8(%rip),%xmm12        # 5d30 <_sk_callback_sse2+0x738>
+  DB  68,15,40,37,114,53,0,0              ; movaps        0x3572(%rip),%xmm12        # 63c0 <_sk_callback_sse2+0x790>
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
-  DB  68,15,40,45,204,47,0,0              ; movaps        0x2fcc(%rip),%xmm13        # 5d40 <_sk_callback_sse2+0x748>
+  DB  68,15,40,45,118,53,0,0              ; movaps        0x3576(%rip),%xmm13        # 63d0 <_sk_callback_sse2+0x7a0>
   DB  69,15,94,236                        ; divps         %xmm12,%xmm13
   DB  69,15,88,233                        ; addps         %xmm9,%xmm13
-  DB  68,15,89,45,204,47,0,0              ; mulps         0x2fcc(%rip),%xmm13        # 5d50 <_sk_callback_sse2+0x758>
+  DB  68,15,89,45,118,53,0,0              ; mulps         0x3576(%rip),%xmm13        # 63e0 <_sk_callback_sse2+0x7b0>
   DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
   DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
   DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
@@ -22213,15 +24158,15 @@
   DB  69,15,88,209                        ; addps         %xmm9,%xmm10
   DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
   DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
-  DB  68,15,89,13,76,47,0,0               ; mulps         0x2f4c(%rip),%xmm9        # 5d60 <_sk_callback_sse2+0x768>
-  DB  68,15,84,21,84,47,0,0               ; andps         0x2f54(%rip),%xmm10        # 5d70 <_sk_callback_sse2+0x778>
-  DB  68,15,86,21,92,47,0,0               ; orps          0x2f5c(%rip),%xmm10        # 5d80 <_sk_callback_sse2+0x788>
-  DB  68,15,88,13,100,47,0,0              ; addps         0x2f64(%rip),%xmm9        # 5d90 <_sk_callback_sse2+0x798>
-  DB  68,15,40,37,108,47,0,0              ; movaps        0x2f6c(%rip),%xmm12        # 5da0 <_sk_callback_sse2+0x7a8>
+  DB  68,15,89,13,246,52,0,0              ; mulps         0x34f6(%rip),%xmm9        # 63f0 <_sk_callback_sse2+0x7c0>
+  DB  68,15,84,21,254,52,0,0              ; andps         0x34fe(%rip),%xmm10        # 6400 <_sk_callback_sse2+0x7d0>
+  DB  68,15,86,21,6,53,0,0                ; orps          0x3506(%rip),%xmm10        # 6410 <_sk_callback_sse2+0x7e0>
+  DB  68,15,88,13,14,53,0,0               ; addps         0x350e(%rip),%xmm9        # 6420 <_sk_callback_sse2+0x7f0>
+  DB  68,15,40,37,22,53,0,0               ; movaps        0x3516(%rip),%xmm12        # 6430 <_sk_callback_sse2+0x800>
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,88,21,108,47,0,0              ; addps         0x2f6c(%rip),%xmm10        # 5db0 <_sk_callback_sse2+0x7b8>
-  DB  68,15,40,37,116,47,0,0              ; movaps        0x2f74(%rip),%xmm12        # 5dc0 <_sk_callback_sse2+0x7c8>
+  DB  68,15,88,21,22,53,0,0               ; addps         0x3516(%rip),%xmm10        # 6440 <_sk_callback_sse2+0x810>
+  DB  68,15,40,37,30,53,0,0               ; movaps        0x351e(%rip),%xmm12        # 6450 <_sk_callback_sse2+0x820>
   DB  69,15,94,226                        ; divps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
   DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
@@ -22229,22 +24174,22 @@
   DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
-  DB  68,15,40,21,94,47,0,0               ; movaps        0x2f5e(%rip),%xmm10        # 5dd0 <_sk_callback_sse2+0x7d8>
+  DB  68,15,40,21,8,53,0,0                ; movaps        0x3508(%rip),%xmm10        # 6460 <_sk_callback_sse2+0x830>
   DB  69,15,84,234                        ; andps         %xmm10,%xmm13
   DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,92,236                        ; subps         %xmm12,%xmm13
-  DB  68,15,88,13,82,47,0,0               ; addps         0x2f52(%rip),%xmm9        # 5de0 <_sk_callback_sse2+0x7e8>
-  DB  68,15,40,37,90,47,0,0               ; movaps        0x2f5a(%rip),%xmm12        # 5df0 <_sk_callback_sse2+0x7f8>
+  DB  68,15,88,13,252,52,0,0              ; addps         0x34fc(%rip),%xmm9        # 6470 <_sk_callback_sse2+0x840>
+  DB  68,15,40,37,4,53,0,0                ; movaps        0x3504(%rip),%xmm12        # 6480 <_sk_callback_sse2+0x850>
   DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,40,37,90,47,0,0               ; movaps        0x2f5a(%rip),%xmm12        # 5e00 <_sk_callback_sse2+0x808>
+  DB  68,15,40,37,4,53,0,0                ; movaps        0x3504(%rip),%xmm12        # 6490 <_sk_callback_sse2+0x860>
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
-  DB  68,15,40,45,94,47,0,0               ; movaps        0x2f5e(%rip),%xmm13        # 5e10 <_sk_callback_sse2+0x818>
+  DB  68,15,40,45,8,53,0,0                ; movaps        0x3508(%rip),%xmm13        # 64a0 <_sk_callback_sse2+0x870>
   DB  69,15,94,236                        ; divps         %xmm12,%xmm13
   DB  69,15,88,233                        ; addps         %xmm9,%xmm13
-  DB  68,15,89,45,94,47,0,0               ; mulps         0x2f5e(%rip),%xmm13        # 5e20 <_sk_callback_sse2+0x828>
+  DB  68,15,89,45,8,53,0,0                ; mulps         0x3508(%rip),%xmm13        # 64b0 <_sk_callback_sse2+0x880>
   DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
   DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
   DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
@@ -22278,15 +24223,15 @@
   DB  69,15,88,209                        ; addps         %xmm9,%xmm10
   DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
   DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
-  DB  68,15,89,13,222,46,0,0              ; mulps         0x2ede(%rip),%xmm9        # 5e30 <_sk_callback_sse2+0x838>
-  DB  68,15,84,21,230,46,0,0              ; andps         0x2ee6(%rip),%xmm10        # 5e40 <_sk_callback_sse2+0x848>
-  DB  68,15,86,21,238,46,0,0              ; orps          0x2eee(%rip),%xmm10        # 5e50 <_sk_callback_sse2+0x858>
-  DB  68,15,88,13,246,46,0,0              ; addps         0x2ef6(%rip),%xmm9        # 5e60 <_sk_callback_sse2+0x868>
-  DB  68,15,40,37,254,46,0,0              ; movaps        0x2efe(%rip),%xmm12        # 5e70 <_sk_callback_sse2+0x878>
+  DB  68,15,89,13,136,52,0,0              ; mulps         0x3488(%rip),%xmm9        # 64c0 <_sk_callback_sse2+0x890>
+  DB  68,15,84,21,144,52,0,0              ; andps         0x3490(%rip),%xmm10        # 64d0 <_sk_callback_sse2+0x8a0>
+  DB  68,15,86,21,152,52,0,0              ; orps          0x3498(%rip),%xmm10        # 64e0 <_sk_callback_sse2+0x8b0>
+  DB  68,15,88,13,160,52,0,0              ; addps         0x34a0(%rip),%xmm9        # 64f0 <_sk_callback_sse2+0x8c0>
+  DB  68,15,40,37,168,52,0,0              ; movaps        0x34a8(%rip),%xmm12        # 6500 <_sk_callback_sse2+0x8d0>
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,88,21,254,46,0,0              ; addps         0x2efe(%rip),%xmm10        # 5e80 <_sk_callback_sse2+0x888>
-  DB  68,15,40,37,6,47,0,0                ; movaps        0x2f06(%rip),%xmm12        # 5e90 <_sk_callback_sse2+0x898>
+  DB  68,15,88,21,168,52,0,0              ; addps         0x34a8(%rip),%xmm10        # 6510 <_sk_callback_sse2+0x8e0>
+  DB  68,15,40,37,176,52,0,0              ; movaps        0x34b0(%rip),%xmm12        # 6520 <_sk_callback_sse2+0x8f0>
   DB  69,15,94,226                        ; divps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
   DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
@@ -22294,22 +24239,22 @@
   DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
-  DB  68,15,40,21,240,46,0,0              ; movaps        0x2ef0(%rip),%xmm10        # 5ea0 <_sk_callback_sse2+0x8a8>
+  DB  68,15,40,21,154,52,0,0              ; movaps        0x349a(%rip),%xmm10        # 6530 <_sk_callback_sse2+0x900>
   DB  69,15,84,234                        ; andps         %xmm10,%xmm13
   DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,92,236                        ; subps         %xmm12,%xmm13
-  DB  68,15,88,13,228,46,0,0              ; addps         0x2ee4(%rip),%xmm9        # 5eb0 <_sk_callback_sse2+0x8b8>
-  DB  68,15,40,37,236,46,0,0              ; movaps        0x2eec(%rip),%xmm12        # 5ec0 <_sk_callback_sse2+0x8c8>
+  DB  68,15,88,13,142,52,0,0              ; addps         0x348e(%rip),%xmm9        # 6540 <_sk_callback_sse2+0x910>
+  DB  68,15,40,37,150,52,0,0              ; movaps        0x3496(%rip),%xmm12        # 6550 <_sk_callback_sse2+0x920>
   DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,40,37,236,46,0,0              ; movaps        0x2eec(%rip),%xmm12        # 5ed0 <_sk_callback_sse2+0x8d8>
+  DB  68,15,40,37,150,52,0,0              ; movaps        0x3496(%rip),%xmm12        # 6560 <_sk_callback_sse2+0x930>
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
-  DB  68,15,40,45,240,46,0,0              ; movaps        0x2ef0(%rip),%xmm13        # 5ee0 <_sk_callback_sse2+0x8e8>
+  DB  68,15,40,45,154,52,0,0              ; movaps        0x349a(%rip),%xmm13        # 6570 <_sk_callback_sse2+0x940>
   DB  69,15,94,236                        ; divps         %xmm12,%xmm13
   DB  69,15,88,233                        ; addps         %xmm9,%xmm13
-  DB  68,15,89,45,240,46,0,0              ; mulps         0x2ef0(%rip),%xmm13        # 5ef0 <_sk_callback_sse2+0x8f8>
+  DB  68,15,89,45,154,52,0,0              ; mulps         0x349a(%rip),%xmm13        # 6580 <_sk_callback_sse2+0x950>
   DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
   DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
   DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
@@ -22343,15 +24288,15 @@
   DB  69,15,88,209                        ; addps         %xmm9,%xmm10
   DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
   DB  69,15,91,202                        ; cvtdq2ps      %xmm10,%xmm9
-  DB  68,15,89,13,112,46,0,0              ; mulps         0x2e70(%rip),%xmm9        # 5f00 <_sk_callback_sse2+0x908>
-  DB  68,15,84,21,120,46,0,0              ; andps         0x2e78(%rip),%xmm10        # 5f10 <_sk_callback_sse2+0x918>
-  DB  68,15,86,21,128,46,0,0              ; orps          0x2e80(%rip),%xmm10        # 5f20 <_sk_callback_sse2+0x928>
-  DB  68,15,88,13,136,46,0,0              ; addps         0x2e88(%rip),%xmm9        # 5f30 <_sk_callback_sse2+0x938>
-  DB  68,15,40,37,144,46,0,0              ; movaps        0x2e90(%rip),%xmm12        # 5f40 <_sk_callback_sse2+0x948>
+  DB  68,15,89,13,26,52,0,0               ; mulps         0x341a(%rip),%xmm9        # 6590 <_sk_callback_sse2+0x960>
+  DB  68,15,84,21,34,52,0,0               ; andps         0x3422(%rip),%xmm10        # 65a0 <_sk_callback_sse2+0x970>
+  DB  68,15,86,21,42,52,0,0               ; orps          0x342a(%rip),%xmm10        # 65b0 <_sk_callback_sse2+0x980>
+  DB  68,15,88,13,50,52,0,0               ; addps         0x3432(%rip),%xmm9        # 65c0 <_sk_callback_sse2+0x990>
+  DB  68,15,40,37,58,52,0,0               ; movaps        0x343a(%rip),%xmm12        # 65d0 <_sk_callback_sse2+0x9a0>
   DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,88,21,144,46,0,0              ; addps         0x2e90(%rip),%xmm10        # 5f50 <_sk_callback_sse2+0x958>
-  DB  68,15,40,37,152,46,0,0              ; movaps        0x2e98(%rip),%xmm12        # 5f60 <_sk_callback_sse2+0x968>
+  DB  68,15,88,21,58,52,0,0               ; addps         0x343a(%rip),%xmm10        # 65e0 <_sk_callback_sse2+0x9b0>
+  DB  68,15,40,37,66,52,0,0               ; movaps        0x3442(%rip),%xmm12        # 65f0 <_sk_callback_sse2+0x9c0>
   DB  69,15,94,226                        ; divps         %xmm10,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
   DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
@@ -22359,22 +24304,22 @@
   DB  69,15,91,226                        ; cvtdq2ps      %xmm10,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
-  DB  68,15,40,21,130,46,0,0              ; movaps        0x2e82(%rip),%xmm10        # 5f70 <_sk_callback_sse2+0x978>
+  DB  68,15,40,21,44,52,0,0               ; movaps        0x342c(%rip),%xmm10        # 6600 <_sk_callback_sse2+0x9d0>
   DB  69,15,84,234                        ; andps         %xmm10,%xmm13
   DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
   DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
   DB  69,15,92,236                        ; subps         %xmm12,%xmm13
-  DB  68,15,88,13,118,46,0,0              ; addps         0x2e76(%rip),%xmm9        # 5f80 <_sk_callback_sse2+0x988>
-  DB  68,15,40,37,126,46,0,0              ; movaps        0x2e7e(%rip),%xmm12        # 5f90 <_sk_callback_sse2+0x998>
+  DB  68,15,88,13,32,52,0,0               ; addps         0x3420(%rip),%xmm9        # 6610 <_sk_callback_sse2+0x9e0>
+  DB  68,15,40,37,40,52,0,0               ; movaps        0x3428(%rip),%xmm12        # 6620 <_sk_callback_sse2+0x9f0>
   DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
   DB  69,15,92,204                        ; subps         %xmm12,%xmm9
-  DB  68,15,40,37,126,46,0,0              ; movaps        0x2e7e(%rip),%xmm12        # 5fa0 <_sk_callback_sse2+0x9a8>
+  DB  68,15,40,37,40,52,0,0               ; movaps        0x3428(%rip),%xmm12        # 6630 <_sk_callback_sse2+0xa00>
   DB  69,15,92,229                        ; subps         %xmm13,%xmm12
-  DB  68,15,40,45,130,46,0,0              ; movaps        0x2e82(%rip),%xmm13        # 5fb0 <_sk_callback_sse2+0x9b8>
+  DB  68,15,40,45,44,52,0,0               ; movaps        0x342c(%rip),%xmm13        # 6640 <_sk_callback_sse2+0xa10>
   DB  69,15,94,236                        ; divps         %xmm12,%xmm13
   DB  69,15,88,233                        ; addps         %xmm9,%xmm13
-  DB  68,15,89,45,130,46,0,0              ; mulps         0x2e82(%rip),%xmm13        # 5fc0 <_sk_callback_sse2+0x9c8>
+  DB  68,15,89,45,44,52,0,0               ; mulps         0x342c(%rip),%xmm13        # 6650 <_sk_callback_sse2+0xa20>
   DB  102,69,15,91,205                    ; cvtps2dq      %xmm13,%xmm9
   DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
   DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
@@ -22389,29 +24334,29 @@
 
 PUBLIC _sk_lab_to_xyz_sse2
 _sk_lab_to_xyz_sse2 LABEL PROC
-  DB  15,89,5,95,46,0,0                   ; mulps         0x2e5f(%rip),%xmm0        # 5fd0 <_sk_callback_sse2+0x9d8>
-  DB  68,15,40,5,103,46,0,0               ; movaps        0x2e67(%rip),%xmm8        # 5fe0 <_sk_callback_sse2+0x9e8>
+  DB  15,89,5,9,52,0,0                    ; mulps         0x3409(%rip),%xmm0        # 6660 <_sk_callback_sse2+0xa30>
+  DB  68,15,40,5,17,52,0,0                ; movaps        0x3411(%rip),%xmm8        # 6670 <_sk_callback_sse2+0xa40>
   DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
-  DB  68,15,40,13,107,46,0,0              ; movaps        0x2e6b(%rip),%xmm9        # 5ff0 <_sk_callback_sse2+0x9f8>
+  DB  68,15,40,13,21,52,0,0               ; movaps        0x3415(%rip),%xmm9        # 6680 <_sk_callback_sse2+0xa50>
   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,104,46,0,0                  ; addps         0x2e68(%rip),%xmm0        # 6000 <_sk_callback_sse2+0xa08>
-  DB  15,89,5,113,46,0,0                  ; mulps         0x2e71(%rip),%xmm0        # 6010 <_sk_callback_sse2+0xa18>
-  DB  15,89,13,122,46,0,0                 ; mulps         0x2e7a(%rip),%xmm1        # 6020 <_sk_callback_sse2+0xa28>
+  DB  15,88,5,18,52,0,0                   ; addps         0x3412(%rip),%xmm0        # 6690 <_sk_callback_sse2+0xa60>
+  DB  15,89,5,27,52,0,0                   ; mulps         0x341b(%rip),%xmm0        # 66a0 <_sk_callback_sse2+0xa70>
+  DB  15,89,13,36,52,0,0                  ; mulps         0x3424(%rip),%xmm1        # 66b0 <_sk_callback_sse2+0xa80>
   DB  15,88,200                           ; addps         %xmm0,%xmm1
-  DB  15,89,21,128,46,0,0                 ; mulps         0x2e80(%rip),%xmm2        # 6030 <_sk_callback_sse2+0xa38>
+  DB  15,89,21,42,52,0,0                  ; mulps         0x342a(%rip),%xmm2        # 66c0 <_sk_callback_sse2+0xa90>
   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,117,46,0,0                 ; movaps        0x2e75(%rip),%xmm2        # 6040 <_sk_callback_sse2+0xa48>
+  DB  15,40,21,31,52,0,0                  ; movaps        0x341f(%rip),%xmm2        # 66d0 <_sk_callback_sse2+0xaa0>
   DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
   DB  69,15,194,196,1                     ; cmpltps       %xmm12,%xmm8
-  DB  68,15,40,21,116,46,0,0              ; movaps        0x2e74(%rip),%xmm10        # 6050 <_sk_callback_sse2+0xa58>
+  DB  68,15,40,21,30,52,0,0               ; movaps        0x341e(%rip),%xmm10        # 66e0 <_sk_callback_sse2+0xab0>
   DB  65,15,88,202                        ; addps         %xmm10,%xmm1
-  DB  68,15,40,29,120,46,0,0              ; movaps        0x2e78(%rip),%xmm11        # 6060 <_sk_callback_sse2+0xa68>
+  DB  68,15,40,29,34,52,0,0               ; movaps        0x3422(%rip),%xmm11        # 66f0 <_sk_callback_sse2+0xac0>
   DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
   DB  69,15,84,224                        ; andps         %xmm8,%xmm12
   DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
@@ -22435,8 +24380,8 @@
   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,40,46,0,0                ; mulps         0x2e28(%rip),%xmm8        # 6070 <_sk_callback_sse2+0xa78>
-  DB  15,89,21,49,46,0,0                  ; mulps         0x2e31(%rip),%xmm2        # 6080 <_sk_callback_sse2+0xa88>
+  DB  68,15,89,5,210,51,0,0               ; mulps         0x33d2(%rip),%xmm8        # 6700 <_sk_callback_sse2+0xad0>
+  DB  15,89,21,219,51,0,0                 ; mulps         0x33db(%rip),%xmm2        # 6710 <_sk_callback_sse2+0xae0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -22446,13 +24391,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,46                              ; jne           328f <_sk_load_a8_sse2+0x38>
+  DB  117,46                              ; jne           3375 <_sk_load_a8_sse2+0x38>
   DB  102,65,15,110,4,18                  ; movd          (%r10,%rdx,1),%xmm0
   DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
   DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
-  DB  102,15,219,5,25,46,0,0              ; pand          0x2e19(%rip),%xmm0        # 6090 <_sk_callback_sse2+0xa98>
+  DB  102,15,219,5,195,51,0,0             ; pand          0x33c3(%rip),%xmm0        # 6720 <_sk_callback_sse2+0xaf0>
   DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
-  DB  15,89,29,31,46,0,0                  ; mulps         0x2e1f(%rip),%xmm3        # 60a0 <_sk_callback_sse2+0xaa8>
+  DB  15,89,29,201,51,0,0                 ; mulps         0x33c9(%rip),%xmm3        # 6730 <_sk_callback_sse2+0xb00>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
@@ -22461,12 +24406,12 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,54                              ; je            32d2 <_sk_load_a8_sse2+0x7b>
+  DB  116,54                              ; je            33b8 <_sk_load_a8_sse2+0x7b>
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            32bb <_sk_load_a8_sse2+0x64>
+  DB  116,21                              ; je            33a1 <_sk_load_a8_sse2+0x64>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,195                             ; jne           326f <_sk_load_a8_sse2+0x18>
+  DB  117,195                             ; jne           3355 <_sk_load_a8_sse2+0x18>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
   DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
@@ -22475,10 +24420,49 @@
   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,157                             ; jmp           326f <_sk_load_a8_sse2+0x18>
+  DB  235,157                             ; jmp           3355 <_sk_load_a8_sse2+0x18>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
-  DB  235,146                             ; jmp           326f <_sk_load_a8_sse2+0x18>
+  DB  235,146                             ; jmp           3355 <_sk_load_a8_sse2+0x18>
+
+PUBLIC _sk_load_a8_dst_sse2
+_sk_load_a8_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,46                              ; jne           33fb <_sk_load_a8_dst_sse2+0x38>
+  DB  102,65,15,110,36,18                 ; movd          (%r10,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,37,93,51,0,0             ; pand          0x335d(%rip),%xmm4        # 6740 <_sk_callback_sse2+0xb10>
+  DB  15,91,252                           ; cvtdq2ps      %xmm4,%xmm7
+  DB  15,89,61,99,51,0,0                  ; mulps         0x3363(%rip),%xmm7        # 6750 <_sk_callback_sse2+0xb20>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,54                              ; je            343e <_sk_load_a8_dst_sse2+0x7b>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            3427 <_sk_load_a8_dst_sse2+0x64>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,195                             ; jne           33db <_sk_load_a8_dst_sse2+0x18>
+  DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%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,18                      ; movzwl        (%r10,%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,157                             ; jmp           33db <_sk_load_a8_dst_sse2+0x18>
+  DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,146                             ; jmp           33db <_sk_load_a8_dst_sse2+0x18>
 
 PUBLIC _sk_gather_a8_sse2
 _sk_gather_a8_sse2 LABEL PROC
@@ -22518,7 +24502,7 @@
   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,29,64,45,0,0                  ; mulps         0x2d40(%rip),%xmm3        # 60b0 <_sk_callback_sse2+0xab8>
+  DB  15,89,29,132,50,0,0                 ; mulps         0x3284(%rip),%xmm3        # 6760 <_sk_callback_sse2+0xb30>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
@@ -22532,7 +24516,7 @@
   DB  72,131,236,40                       ; sub           $0x28,%rsp
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
-  DB  68,15,40,5,46,45,0,0                ; movaps        0x2d2e(%rip),%xmm8        # 60c0 <_sk_callback_sse2+0xac8>
+  DB  68,15,40,5,114,50,0,0               ; movaps        0x3272(%rip),%xmm8        # 6770 <_sk_callback_sse2+0xb40>
   DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
   DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
   DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
@@ -22540,7 +24524,7 @@
   DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
   DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,17                              ; jne           33c7 <_sk_store_a8_sse2+0x46>
+  DB  117,17                              ; jne           3533 <_sk_store_a8_sse2+0x46>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  65,137,4,18                         ; mov           %eax,(%r10,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -22551,51 +24535,51 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,59                              ; je            3419 <_sk_store_a8_sse2+0x98>
+  DB  116,59                              ; je            3585 <_sk_store_a8_sse2+0x98>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,22                              ; je            33fa <_sk_store_a8_sse2+0x79>
+  DB  116,22                              ; je            3566 <_sk_store_a8_sse2+0x79>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,213                             ; jne           33bf <_sk_store_a8_sse2+0x3e>
+  DB  117,213                             ; jne           352b <_sk_store_a8_sse2+0x3e>
   DB  102,68,15,127,68,36,16              ; movdqa        %xmm8,0x10(%rsp)
   DB  138,68,36,24                        ; mov           0x18(%rsp),%al
   DB  65,136,68,18,2                      ; mov           %al,0x2(%r10,%rdx,1)
-  DB  102,68,15,219,5,205,44,0,0          ; pand          0x2ccd(%rip),%xmm8        # 60d0 <_sk_callback_sse2+0xad8>
+  DB  102,68,15,219,5,17,50,0,0           ; pand          0x3211(%rip),%xmm8        # 6780 <_sk_callback_sse2+0xb50>
   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,18                     ; mov           %ax,(%r10,%rdx,1)
-  DB  235,166                             ; jmp           33bf <_sk_store_a8_sse2+0x3e>
+  DB  235,166                             ; jmp           352b <_sk_store_a8_sse2+0x3e>
   DB  102,68,15,127,4,36                  ; movdqa        %xmm8,(%rsp)
   DB  138,4,36                            ; mov           (%rsp),%al
   DB  65,136,4,18                         ; mov           %al,(%r10,%rdx,1)
-  DB  235,151                             ; jmp           33bf <_sk_store_a8_sse2+0x3e>
+  DB  235,151                             ; jmp           352b <_sk_store_a8_sse2+0x3e>
 
 PUBLIC _sk_load_g8_sse2
 _sk_load_g8_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,49                              ; jne           3463 <_sk_load_g8_sse2+0x3b>
+  DB  117,49                              ; jne           35cf <_sk_load_g8_sse2+0x3b>
   DB  102,65,15,110,4,18                  ; movd          (%r10,%rdx,1),%xmm0
   DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
   DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
-  DB  102,15,219,5,152,44,0,0             ; pand          0x2c98(%rip),%xmm0        # 60e0 <_sk_callback_sse2+0xae8>
+  DB  102,15,219,5,220,49,0,0             ; pand          0x31dc(%rip),%xmm0        # 6790 <_sk_callback_sse2+0xb60>
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,158,44,0,0                  ; mulps         0x2c9e(%rip),%xmm0        # 60f0 <_sk_callback_sse2+0xaf8>
+  DB  15,89,5,226,49,0,0                  ; mulps         0x31e2(%rip),%xmm0        # 67a0 <_sk_callback_sse2+0xb70>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,165,44,0,0                 ; movaps        0x2ca5(%rip),%xmm3        # 6100 <_sk_callback_sse2+0xb08>
+  DB  15,40,29,233,49,0,0                 ; movaps        0x31e9(%rip),%xmm3        # 67b0 <_sk_callback_sse2+0xb80>
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,54                              ; je            34a6 <_sk_load_g8_sse2+0x7e>
+  DB  116,54                              ; je            3612 <_sk_load_g8_sse2+0x7e>
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            348f <_sk_load_g8_sse2+0x67>
+  DB  116,21                              ; je            35fb <_sk_load_g8_sse2+0x67>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,192                             ; jne           3440 <_sk_load_g8_sse2+0x18>
+  DB  117,192                             ; jne           35ac <_sk_load_g8_sse2+0x18>
   DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
   DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
@@ -22604,10 +24588,49 @@
   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,154                             ; jmp           3440 <_sk_load_g8_sse2+0x18>
+  DB  235,154                             ; jmp           35ac <_sk_load_g8_sse2+0x18>
   DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
-  DB  235,143                             ; jmp           3440 <_sk_load_g8_sse2+0x18>
+  DB  235,143                             ; jmp           35ac <_sk_load_g8_sse2+0x18>
+
+PUBLIC _sk_load_g8_dst_sse2
+_sk_load_g8_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,49                              ; jne           3658 <_sk_load_g8_dst_sse2+0x3b>
+  DB  102,65,15,110,36,18                 ; movd          (%r10,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,37,131,49,0,0            ; pand          0x3183(%rip),%xmm4        # 67c0 <_sk_callback_sse2+0xb90>
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,137,49,0,0                 ; mulps         0x3189(%rip),%xmm4        # 67d0 <_sk_callback_sse2+0xba0>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,144,49,0,0                 ; movaps        0x3190(%rip),%xmm7        # 67e0 <_sk_callback_sse2+0xbb0>
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,54                              ; je            369b <_sk_load_g8_dst_sse2+0x7e>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            3684 <_sk_load_g8_dst_sse2+0x67>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,192                             ; jne           3635 <_sk_load_g8_dst_sse2+0x18>
+  DB  65,15,182,68,18,2                   ; movzbl        0x2(%r10,%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,18                      ; movzwl        (%r10,%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,154                             ; jmp           3635 <_sk_load_g8_dst_sse2+0x18>
+  DB  65,15,182,4,18                      ; movzbl        (%r10,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,143                             ; jmp           3635 <_sk_load_g8_dst_sse2+0x18>
 
 PUBLIC _sk_gather_g8_sse2
 _sk_gather_g8_sse2 LABEL PROC
@@ -22647,9 +24670,9 @@
   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,5,204,43,0,0                  ; mulps         0x2bcc(%rip),%xmm0        # 6110 <_sk_callback_sse2+0xb18>
+  DB  15,89,5,183,48,0,0                  ; mulps         0x30b7(%rip),%xmm0        # 67f0 <_sk_callback_sse2+0xbc0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,211,43,0,0                 ; movaps        0x2bd3(%rip),%xmm3        # 6120 <_sk_callback_sse2+0xb28>
+  DB  15,40,29,190,48,0,0                 ; movaps        0x30be(%rip),%xmm3        # 6800 <_sk_callback_sse2+0xbd0>
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
   DB  91                                  ; pop           %rbx
@@ -22661,9 +24684,9 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  73,137,193                          ; mov           %rax,%r9
   DB  77,133,201                          ; test          %r9,%r9
-  DB  116,5                               ; je            3566 <_sk_gather_i8_sse2+0xf>
+  DB  116,5                               ; je            375b <_sk_gather_i8_sse2+0xf>
   DB  76,137,200                          ; mov           %r9,%rax
-  DB  235,2                               ; jmp           3568 <_sk_gather_i8_sse2+0x11>
+  DB  235,2                               ; jmp           375d <_sk_gather_i8_sse2+0x11>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  85                                  ; push          %rbp
   DB  65,86                               ; push          %r14
@@ -22715,11 +24738,11 @@
   DB  102,66,15,110,76,149,0              ; movd          0x0(%rbp,%r10,4),%xmm1
   DB  102,68,15,98,201                    ; punpckldq     %xmm1,%xmm9
   DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
-  DB  102,15,111,21,236,42,0,0            ; movdqa        0x2aec(%rip),%xmm2        # 6130 <_sk_callback_sse2+0xb38>
+  DB  102,15,111,21,215,47,0,0            ; movdqa        0x2fd7(%rip),%xmm2        # 6810 <_sk_callback_sse2+0xbe0>
   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,232,42,0,0               ; movaps        0x2ae8(%rip),%xmm8        # 6140 <_sk_callback_sse2+0xb48>
+  DB  68,15,40,5,211,47,0,0               ; movaps        0x2fd3(%rip),%xmm8        # 6820 <_sk_callback_sse2+0xbf0>
   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
@@ -22745,42 +24768,84 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,83                              ; jne           36f9 <_sk_load_565_sse2+0x5d>
+  DB  117,83                              ; jne           38ee <_sk_load_565_sse2+0x5d>
   DB  243,65,15,126,20,82                 ; movq          (%r10,%rdx,2),%xmm2
   DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
-  DB  102,15,111,5,152,42,0,0             ; movdqa        0x2a98(%rip),%xmm0        # 6150 <_sk_callback_sse2+0xb58>
+  DB  102,15,111,5,131,47,0,0             ; movdqa        0x2f83(%rip),%xmm0        # 6830 <_sk_callback_sse2+0xc00>
   DB  102,15,219,194                      ; pand          %xmm2,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,154,42,0,0                  ; mulps         0x2a9a(%rip),%xmm0        # 6160 <_sk_callback_sse2+0xb68>
-  DB  102,15,111,13,162,42,0,0            ; movdqa        0x2aa2(%rip),%xmm1        # 6170 <_sk_callback_sse2+0xb78>
+  DB  15,89,5,133,47,0,0                  ; mulps         0x2f85(%rip),%xmm0        # 6840 <_sk_callback_sse2+0xc10>
+  DB  102,15,111,13,141,47,0,0            ; movdqa        0x2f8d(%rip),%xmm1        # 6850 <_sk_callback_sse2+0xc20>
   DB  102,15,219,202                      ; pand          %xmm2,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,164,42,0,0                 ; mulps         0x2aa4(%rip),%xmm1        # 6180 <_sk_callback_sse2+0xb88>
-  DB  102,15,219,21,172,42,0,0            ; pand          0x2aac(%rip),%xmm2        # 6190 <_sk_callback_sse2+0xb98>
+  DB  15,89,13,143,47,0,0                 ; mulps         0x2f8f(%rip),%xmm1        # 6860 <_sk_callback_sse2+0xc30>
+  DB  102,15,219,21,151,47,0,0            ; pand          0x2f97(%rip),%xmm2        # 6870 <_sk_callback_sse2+0xc40>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,178,42,0,0                 ; mulps         0x2ab2(%rip),%xmm2        # 61a0 <_sk_callback_sse2+0xba8>
+  DB  15,89,21,157,47,0,0                 ; mulps         0x2f9d(%rip),%xmm2        # 6880 <_sk_callback_sse2+0xc50>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,185,42,0,0                 ; movaps        0x2ab9(%rip),%xmm3        # 61b0 <_sk_callback_sse2+0xbb8>
+  DB  15,40,29,164,47,0,0                 ; movaps        0x2fa4(%rip),%xmm3        # 6890 <_sk_callback_sse2+0xc60>
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,50                              ; je            3738 <_sk_load_565_sse2+0x9c>
+  DB  116,50                              ; je            392d <_sk_load_565_sse2+0x9c>
   DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            3725 <_sk_load_565_sse2+0x89>
+  DB  116,21                              ; je            391a <_sk_load_565_sse2+0x89>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,154                             ; jne           36b0 <_sk_load_565_sse2+0x14>
+  DB  117,154                             ; jne           38a5 <_sk_load_565_sse2+0x14>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                  ; movd          (%r10,%rdx,2),%xmm0
   DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
   DB  242,15,16,208                       ; movsd         %xmm0,%xmm2
-  DB  233,120,255,255,255                 ; jmpq          36b0 <_sk_load_565_sse2+0x14>
+  DB  233,120,255,255,255                 ; jmpq          38a5 <_sk_load_565_sse2+0x14>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,15,110,208                      ; movd          %eax,%xmm2
-  DB  233,106,255,255,255                 ; jmpq          36b0 <_sk_load_565_sse2+0x14>
+  DB  233,106,255,255,255                 ; jmpq          38a5 <_sk_load_565_sse2+0x14>
+
+PUBLIC _sk_load_565_dst_sse2
+_sk_load_565_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,83                              ; jne           3998 <_sk_load_565_dst_sse2+0x5d>
+  DB  243,65,15,126,52,82                 ; movq          (%r10,%rdx,2),%xmm6
+  DB  102,15,97,240                       ; punpcklwd     %xmm0,%xmm6
+  DB  102,15,111,37,73,47,0,0             ; movdqa        0x2f49(%rip),%xmm4        # 68a0 <_sk_callback_sse2+0xc70>
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,75,47,0,0                  ; mulps         0x2f4b(%rip),%xmm4        # 68b0 <_sk_callback_sse2+0xc80>
+  DB  102,15,111,45,83,47,0,0             ; movdqa        0x2f53(%rip),%xmm5        # 68c0 <_sk_callback_sse2+0xc90>
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,85,47,0,0                  ; mulps         0x2f55(%rip),%xmm5        # 68d0 <_sk_callback_sse2+0xca0>
+  DB  102,15,219,53,93,47,0,0             ; pand          0x2f5d(%rip),%xmm6        # 68e0 <_sk_callback_sse2+0xcb0>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,99,47,0,0                  ; mulps         0x2f63(%rip),%xmm6        # 68f0 <_sk_callback_sse2+0xcc0>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,106,47,0,0                 ; movaps        0x2f6a(%rip),%xmm7        # 6900 <_sk_callback_sse2+0xcd0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,50                              ; je            39d7 <_sk_load_565_dst_sse2+0x9c>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            39c4 <_sk_load_565_dst_sse2+0x89>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,154                             ; jne           394f <_sk_load_565_dst_sse2+0x14>
+  DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                 ; movd          (%r10,%rdx,2),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  242,15,16,244                       ; movsd         %xmm4,%xmm6
+  DB  233,120,255,255,255                 ; jmpq          394f <_sk_load_565_dst_sse2+0x14>
+  DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
+  DB  102,15,110,240                      ; movd          %eax,%xmm6
+  DB  233,106,255,255,255                 ; jmpq          394f <_sk_load_565_dst_sse2+0x14>
 
 PUBLIC _sk_gather_565_sse2
 _sk_gather_565_sse2 LABEL PROC
@@ -22813,19 +24878,19 @@
   DB  102,15,196,208,3                    ; pinsrw        $0x3,%eax,%xmm2
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
-  DB  102,15,111,5,244,41,0,0             ; movdqa        0x29f4(%rip),%xmm0        # 61c0 <_sk_callback_sse2+0xbc8>
+  DB  102,15,111,5,165,46,0,0             ; movdqa        0x2ea5(%rip),%xmm0        # 6910 <_sk_callback_sse2+0xce0>
   DB  102,15,219,194                      ; pand          %xmm2,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,246,41,0,0                  ; mulps         0x29f6(%rip),%xmm0        # 61d0 <_sk_callback_sse2+0xbd8>
-  DB  102,15,111,13,254,41,0,0            ; movdqa        0x29fe(%rip),%xmm1        # 61e0 <_sk_callback_sse2+0xbe8>
+  DB  15,89,5,167,46,0,0                  ; mulps         0x2ea7(%rip),%xmm0        # 6920 <_sk_callback_sse2+0xcf0>
+  DB  102,15,111,13,175,46,0,0            ; movdqa        0x2eaf(%rip),%xmm1        # 6930 <_sk_callback_sse2+0xd00>
   DB  102,15,219,202                      ; pand          %xmm2,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,0,42,0,0                   ; mulps         0x2a00(%rip),%xmm1        # 61f0 <_sk_callback_sse2+0xbf8>
-  DB  102,15,219,21,8,42,0,0              ; pand          0x2a08(%rip),%xmm2        # 6200 <_sk_callback_sse2+0xc08>
+  DB  15,89,13,177,46,0,0                 ; mulps         0x2eb1(%rip),%xmm1        # 6940 <_sk_callback_sse2+0xd10>
+  DB  102,15,219,21,185,46,0,0            ; pand          0x2eb9(%rip),%xmm2        # 6950 <_sk_callback_sse2+0xd20>
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,14,42,0,0                  ; mulps         0x2a0e(%rip),%xmm2        # 6210 <_sk_callback_sse2+0xc18>
+  DB  15,89,21,191,46,0,0                 ; mulps         0x2ebf(%rip),%xmm2        # 6960 <_sk_callback_sse2+0xd30>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,21,42,0,0                  ; movaps        0x2a15(%rip),%xmm3        # 6220 <_sk_callback_sse2+0xc28>
+  DB  15,40,29,198,46,0,0                 ; movaps        0x2ec6(%rip),%xmm3        # 6970 <_sk_callback_sse2+0xd40>
   DB  91                                  ; pop           %rbx
   DB  255,224                             ; jmpq          *%rax
 
@@ -22833,12 +24898,12 @@
 _sk_store_565_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
-  DB  68,15,40,5,21,42,0,0                ; movaps        0x2a15(%rip),%xmm8        # 6230 <_sk_callback_sse2+0xc38>
+  DB  68,15,40,5,198,46,0,0               ; movaps        0x2ec6(%rip),%xmm8        # 6980 <_sk_callback_sse2+0xd50>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
   DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
-  DB  68,15,40,21,10,42,0,0               ; movaps        0x2a0a(%rip),%xmm10        # 6240 <_sk_callback_sse2+0xc48>
+  DB  68,15,40,21,187,46,0,0              ; movaps        0x2ebb(%rip),%xmm10        # 6990 <_sk_callback_sse2+0xd60>
   DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
   DB  102,69,15,91,210                    ; cvtps2dq      %xmm10,%xmm10
   DB  102,65,15,114,242,5                 ; pslld         $0x5,%xmm10
@@ -22850,7 +24915,7 @@
   DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
   DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3878 <_sk_store_565_sse2+0x6a>
+  DB  117,10                              ; jne           3b17 <_sk_store_565_sse2+0x6a>
   DB  242,69,15,17,4,82                   ; movsd         %xmm8,(%r10,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -22858,64 +24923,109 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,38                              ; je            38b0 <_sk_store_565_sse2+0xa2>
+  DB  116,38                              ; je            3b4f <_sk_store_565_sse2+0xa2>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,18                              ; je            38a2 <_sk_store_565_sse2+0x94>
+  DB  116,18                              ; je            3b41 <_sk_store_565_sse2+0x94>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,222                             ; jne           3874 <_sk_store_565_sse2+0x66>
+  DB  117,222                             ; jne           3b13 <_sk_store_565_sse2+0x66>
   DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
   DB  102,65,137,68,82,4                  ; mov           %ax,0x4(%r10,%rdx,2)
   DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
   DB  102,69,15,126,4,82                  ; movd          %xmm8,(%r10,%rdx,2)
-  DB  235,196                             ; jmp           3874 <_sk_store_565_sse2+0x66>
+  DB  235,196                             ; jmp           3b13 <_sk_store_565_sse2+0x66>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  102,65,137,4,82                     ; mov           %ax,(%r10,%rdx,2)
-  DB  235,184                             ; jmp           3874 <_sk_store_565_sse2+0x66>
+  DB  235,184                             ; jmp           3b13 <_sk_store_565_sse2+0x66>
 
 PUBLIC _sk_load_4444_sse2
 _sk_load_4444_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,98                              ; jne           3928 <_sk_load_4444_sse2+0x6c>
+  DB  117,98                              ; jne           3bc7 <_sk_load_4444_sse2+0x6c>
   DB  243,65,15,126,28,82                 ; movq          (%r10,%rdx,2),%xmm3
   DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
-  DB  102,15,111,5,120,41,0,0             ; movdqa        0x2978(%rip),%xmm0        # 6250 <_sk_callback_sse2+0xc58>
+  DB  102,15,111,5,41,46,0,0              ; movdqa        0x2e29(%rip),%xmm0        # 69a0 <_sk_callback_sse2+0xd70>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,122,41,0,0                  ; mulps         0x297a(%rip),%xmm0        # 6260 <_sk_callback_sse2+0xc68>
-  DB  102,15,111,13,130,41,0,0            ; movdqa        0x2982(%rip),%xmm1        # 6270 <_sk_callback_sse2+0xc78>
+  DB  15,89,5,43,46,0,0                   ; mulps         0x2e2b(%rip),%xmm0        # 69b0 <_sk_callback_sse2+0xd80>
+  DB  102,15,111,13,51,46,0,0             ; movdqa        0x2e33(%rip),%xmm1        # 69c0 <_sk_callback_sse2+0xd90>
   DB  102,15,219,203                      ; pand          %xmm3,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,132,41,0,0                 ; mulps         0x2984(%rip),%xmm1        # 6280 <_sk_callback_sse2+0xc88>
-  DB  102,15,111,21,140,41,0,0            ; movdqa        0x298c(%rip),%xmm2        # 6290 <_sk_callback_sse2+0xc98>
+  DB  15,89,13,53,46,0,0                  ; mulps         0x2e35(%rip),%xmm1        # 69d0 <_sk_callback_sse2+0xda0>
+  DB  102,15,111,21,61,46,0,0             ; movdqa        0x2e3d(%rip),%xmm2        # 69e0 <_sk_callback_sse2+0xdb0>
   DB  102,15,219,211                      ; pand          %xmm3,%xmm2
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,142,41,0,0                 ; mulps         0x298e(%rip),%xmm2        # 62a0 <_sk_callback_sse2+0xca8>
-  DB  102,15,219,29,150,41,0,0            ; pand          0x2996(%rip),%xmm3        # 62b0 <_sk_callback_sse2+0xcb8>
+  DB  15,89,21,63,46,0,0                  ; mulps         0x2e3f(%rip),%xmm2        # 69f0 <_sk_callback_sse2+0xdc0>
+  DB  102,15,219,29,71,46,0,0             ; pand          0x2e47(%rip),%xmm3        # 6a00 <_sk_callback_sse2+0xdd0>
   DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
-  DB  15,89,29,156,41,0,0                 ; mulps         0x299c(%rip),%xmm3        # 62c0 <_sk_callback_sse2+0xcc8>
+  DB  15,89,29,77,46,0,0                  ; mulps         0x2e4d(%rip),%xmm3        # 6a10 <_sk_callback_sse2+0xde0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,50                              ; je            3967 <_sk_load_4444_sse2+0xab>
+  DB  116,50                              ; je            3c06 <_sk_load_4444_sse2+0xab>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,21                              ; je            3954 <_sk_load_4444_sse2+0x98>
+  DB  116,21                              ; je            3bf3 <_sk_load_4444_sse2+0x98>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,139                             ; jne           38d0 <_sk_load_4444_sse2+0x14>
+  DB  117,139                             ; jne           3b6f <_sk_load_4444_sse2+0x14>
   DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                  ; movd          (%r10,%rdx,2),%xmm0
   DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
   DB  242,15,16,216                       ; movsd         %xmm0,%xmm3
-  DB  233,105,255,255,255                 ; jmpq          38d0 <_sk_load_4444_sse2+0x14>
+  DB  233,105,255,255,255                 ; jmpq          3b6f <_sk_load_4444_sse2+0x14>
   DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
   DB  102,15,110,216                      ; movd          %eax,%xmm3
-  DB  233,91,255,255,255                  ; jmpq          38d0 <_sk_load_4444_sse2+0x14>
+  DB  233,91,255,255,255                  ; jmpq          3b6f <_sk_load_4444_sse2+0x14>
+
+PUBLIC _sk_load_4444_dst_sse2
+_sk_load_4444_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,98                              ; jne           3c80 <_sk_load_4444_dst_sse2+0x6c>
+  DB  243,65,15,126,60,82                 ; movq          (%r10,%rdx,2),%xmm7
+  DB  102,15,97,248                       ; punpcklwd     %xmm0,%xmm7
+  DB  102,15,111,37,240,45,0,0            ; movdqa        0x2df0(%rip),%xmm4        # 6a20 <_sk_callback_sse2+0xdf0>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,242,45,0,0                 ; mulps         0x2df2(%rip),%xmm4        # 6a30 <_sk_callback_sse2+0xe00>
+  DB  102,15,111,45,250,45,0,0            ; movdqa        0x2dfa(%rip),%xmm5        # 6a40 <_sk_callback_sse2+0xe10>
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,252,45,0,0                 ; mulps         0x2dfc(%rip),%xmm5        # 6a50 <_sk_callback_sse2+0xe20>
+  DB  102,15,111,53,4,46,0,0              ; movdqa        0x2e04(%rip),%xmm6        # 6a60 <_sk_callback_sse2+0xe30>
+  DB  102,15,219,247                      ; pand          %xmm7,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,6,46,0,0                   ; mulps         0x2e06(%rip),%xmm6        # 6a70 <_sk_callback_sse2+0xe40>
+  DB  102,15,219,61,14,46,0,0             ; pand          0x2e0e(%rip),%xmm7        # 6a80 <_sk_callback_sse2+0xe50>
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,89,61,20,46,0,0                  ; mulps         0x2e14(%rip),%xmm7        # 6a90 <_sk_callback_sse2+0xe60>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,50                              ; je            3cbf <_sk_load_4444_dst_sse2+0xab>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,21                              ; je            3cac <_sk_load_4444_dst_sse2+0x98>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,139                             ; jne           3c28 <_sk_load_4444_dst_sse2+0x14>
+  DB  65,15,183,68,82,4                   ; movzwl        0x4(%r10,%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,82                 ; movd          (%r10,%rdx,2),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  242,15,16,252                       ; movsd         %xmm4,%xmm7
+  DB  233,105,255,255,255                 ; jmpq          3c28 <_sk_load_4444_dst_sse2+0x14>
+  DB  65,15,183,4,82                      ; movzwl        (%r10,%rdx,2),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  233,91,255,255,255                  ; jmpq          3c28 <_sk_load_4444_dst_sse2+0x14>
 
 PUBLIC _sk_gather_4444_sse2
 _sk_gather_4444_sse2 LABEL PROC
@@ -22948,21 +25058,21 @@
   DB  102,15,196,216,3                    ; pinsrw        $0x3,%eax,%xmm3
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
-  DB  102,15,111,5,213,40,0,0             ; movdqa        0x28d5(%rip),%xmm0        # 62d0 <_sk_callback_sse2+0xcd8>
+  DB  102,15,111,5,77,45,0,0              ; movdqa        0x2d4d(%rip),%xmm0        # 6aa0 <_sk_callback_sse2+0xe70>
   DB  102,15,219,195                      ; pand          %xmm3,%xmm0
   DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
-  DB  15,89,5,215,40,0,0                  ; mulps         0x28d7(%rip),%xmm0        # 62e0 <_sk_callback_sse2+0xce8>
-  DB  102,15,111,13,223,40,0,0            ; movdqa        0x28df(%rip),%xmm1        # 62f0 <_sk_callback_sse2+0xcf8>
+  DB  15,89,5,79,45,0,0                   ; mulps         0x2d4f(%rip),%xmm0        # 6ab0 <_sk_callback_sse2+0xe80>
+  DB  102,15,111,13,87,45,0,0             ; movdqa        0x2d57(%rip),%xmm1        # 6ac0 <_sk_callback_sse2+0xe90>
   DB  102,15,219,203                      ; pand          %xmm3,%xmm1
   DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
-  DB  15,89,13,225,40,0,0                 ; mulps         0x28e1(%rip),%xmm1        # 6300 <_sk_callback_sse2+0xd08>
-  DB  102,15,111,21,233,40,0,0            ; movdqa        0x28e9(%rip),%xmm2        # 6310 <_sk_callback_sse2+0xd18>
+  DB  15,89,13,89,45,0,0                  ; mulps         0x2d59(%rip),%xmm1        # 6ad0 <_sk_callback_sse2+0xea0>
+  DB  102,15,111,21,97,45,0,0             ; movdqa        0x2d61(%rip),%xmm2        # 6ae0 <_sk_callback_sse2+0xeb0>
   DB  102,15,219,211                      ; pand          %xmm3,%xmm2
   DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
-  DB  15,89,21,235,40,0,0                 ; mulps         0x28eb(%rip),%xmm2        # 6320 <_sk_callback_sse2+0xd28>
-  DB  102,15,219,29,243,40,0,0            ; pand          0x28f3(%rip),%xmm3        # 6330 <_sk_callback_sse2+0xd38>
+  DB  15,89,21,99,45,0,0                  ; mulps         0x2d63(%rip),%xmm2        # 6af0 <_sk_callback_sse2+0xec0>
+  DB  102,15,219,29,107,45,0,0            ; pand          0x2d6b(%rip),%xmm3        # 6b00 <_sk_callback_sse2+0xed0>
   DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
-  DB  15,89,29,249,40,0,0                 ; mulps         0x28f9(%rip),%xmm3        # 6340 <_sk_callback_sse2+0xd48>
+  DB  15,89,29,113,45,0,0                 ; mulps         0x2d71(%rip),%xmm3        # 6b10 <_sk_callback_sse2+0xee0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  91                                  ; pop           %rbx
   DB  255,224                             ; jmpq          *%rax
@@ -22971,7 +25081,7 @@
 _sk_store_4444_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,16                           ; mov           (%rax),%r10
-  DB  68,15,40,5,247,40,0,0               ; movaps        0x28f7(%rip),%xmm8        # 6350 <_sk_callback_sse2+0xd58>
+  DB  68,15,40,5,111,45,0,0               ; movaps        0x2d6f(%rip),%xmm8        # 6b20 <_sk_callback_sse2+0xef0>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
@@ -22993,7 +25103,7 @@
   DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
   DB  102,69,15,107,192                   ; packssdw      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3aca <_sk_store_4444_sse2+0x7e>
+  DB  117,10                              ; jne           3e22 <_sk_store_4444_sse2+0x7e>
   DB  242,69,15,17,4,82                   ; movsd         %xmm8,(%r10,%rdx,2)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -23001,32 +25111,32 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,38                              ; je            3b02 <_sk_store_4444_sse2+0xb6>
+  DB  116,38                              ; je            3e5a <_sk_store_4444_sse2+0xb6>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,18                              ; je            3af4 <_sk_store_4444_sse2+0xa8>
+  DB  116,18                              ; je            3e4c <_sk_store_4444_sse2+0xa8>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,222                             ; jne           3ac6 <_sk_store_4444_sse2+0x7a>
+  DB  117,222                             ; jne           3e1e <_sk_store_4444_sse2+0x7a>
   DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
   DB  102,65,137,68,82,4                  ; mov           %ax,0x4(%r10,%rdx,2)
   DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
   DB  102,69,15,126,4,82                  ; movd          %xmm8,(%r10,%rdx,2)
-  DB  235,196                             ; jmp           3ac6 <_sk_store_4444_sse2+0x7a>
+  DB  235,196                             ; jmp           3e1e <_sk_store_4444_sse2+0x7a>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  102,65,137,4,82                     ; mov           %ax,(%r10,%rdx,2)
-  DB  235,184                             ; jmp           3ac6 <_sk_store_4444_sse2+0x7a>
+  DB  235,184                             ; jmp           3e1e <_sk_store_4444_sse2+0x7a>
 
 PUBLIC _sk_load_8888_sse2
 _sk_load_8888_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,98                              ; jne           3b7a <_sk_load_8888_sse2+0x6c>
+  DB  117,98                              ; jne           3ed2 <_sk_load_8888_sse2+0x6c>
   DB  243,68,15,111,12,144                ; movdqu        (%rax,%rdx,4),%xmm9
-  DB  102,15,111,21,58,40,0,0             ; movdqa        0x283a(%rip),%xmm2        # 6360 <_sk_callback_sse2+0xd68>
+  DB  102,15,111,21,178,44,0,0            ; movdqa        0x2cb2(%rip),%xmm2        # 6b30 <_sk_callback_sse2+0xf00>
   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,54,40,0,0                ; movaps        0x2836(%rip),%xmm8        # 6370 <_sk_callback_sse2+0xd78>
+  DB  68,15,40,5,174,44,0,0               ; movaps        0x2cae(%rip),%xmm8        # 6b40 <_sk_callback_sse2+0xf10>
   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
@@ -23046,18 +25156,62 @@
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,40                              ; je            3baf <_sk_load_8888_sse2+0xa1>
+  DB  116,40                              ; je            3f07 <_sk_load_8888_sse2+0xa1>
   DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,18                              ; je            3ba4 <_sk_load_8888_sse2+0x96>
+  DB  116,18                              ; je            3efc <_sk_load_8888_sse2+0x96>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,134                             ; jne           3b1e <_sk_load_8888_sse2+0x10>
+  DB  117,134                             ; jne           3e76 <_sk_load_8888_sse2+0x10>
   DB  102,15,110,68,144,8                 ; movd          0x8(%rax,%rdx,4),%xmm0
   DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
   DB  102,68,15,18,12,144                 ; movlpd        (%rax,%rdx,4),%xmm9
-  DB  233,111,255,255,255                 ; jmpq          3b1e <_sk_load_8888_sse2+0x10>
+  DB  233,111,255,255,255                 ; jmpq          3e76 <_sk_load_8888_sse2+0x10>
   DB  102,68,15,110,12,144                ; movd          (%rax,%rdx,4),%xmm9
-  DB  233,100,255,255,255                 ; jmpq          3b1e <_sk_load_8888_sse2+0x10>
+  DB  233,100,255,255,255                 ; jmpq          3e76 <_sk_load_8888_sse2+0x10>
+
+PUBLIC _sk_load_8888_dst_sse2
+_sk_load_8888_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,98                              ; jne           3f7e <_sk_load_8888_dst_sse2+0x6c>
+  DB  243,68,15,111,12,144                ; movdqu        (%rax,%rdx,4),%xmm9
+  DB  102,15,111,53,38,44,0,0             ; movdqa        0x2c26(%rip),%xmm6        # 6b50 <_sk_callback_sse2+0xf20>
+  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,34,44,0,0                ; movaps        0x2c22(%rip),%xmm8        # 6b60 <_sk_callback_sse2+0xf30>
+  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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,40                              ; je            3fb3 <_sk_load_8888_dst_sse2+0xa1>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,18                              ; je            3fa8 <_sk_load_8888_dst_sse2+0x96>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  117,134                             ; jne           3f22 <_sk_load_8888_dst_sse2+0x10>
+  DB  102,15,110,100,144,8                ; movd          0x8(%rax,%rdx,4),%xmm4
+  DB  102,68,15,112,204,69                ; pshufd        $0x45,%xmm4,%xmm9
+  DB  102,68,15,18,12,144                 ; movlpd        (%rax,%rdx,4),%xmm9
+  DB  233,111,255,255,255                 ; jmpq          3f22 <_sk_load_8888_dst_sse2+0x10>
+  DB  102,68,15,110,12,144                ; movd          (%rax,%rdx,4),%xmm9
+  DB  233,100,255,255,255                 ; jmpq          3f22 <_sk_load_8888_dst_sse2+0x10>
 
 PUBLIC _sk_gather_8888_sse2
 _sk_gather_8888_sse2 LABEL PROC
@@ -23089,11 +25243,11 @@
   DB  102,67,15,110,12,145                ; movd          (%r9,%r10,4),%xmm1
   DB  102,68,15,98,201                    ; punpckldq     %xmm1,%xmm9
   DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
-  DB  102,15,111,21,68,39,0,0             ; movdqa        0x2744(%rip),%xmm2        # 6380 <_sk_callback_sse2+0xd88>
+  DB  102,15,111,21,48,43,0,0             ; movdqa        0x2b30(%rip),%xmm2        # 6b70 <_sk_callback_sse2+0xf40>
   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,64,39,0,0                ; movaps        0x2740(%rip),%xmm8        # 6390 <_sk_callback_sse2+0xd98>
+  DB  68,15,40,5,44,43,0,0                ; movaps        0x2b2c(%rip),%xmm8        # 6b80 <_sk_callback_sse2+0xf50>
   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
@@ -23116,7 +25270,7 @@
 _sk_store_8888_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  68,15,40,5,2,39,0,0                 ; movaps        0x2702(%rip),%xmm8        # 63a0 <_sk_callback_sse2+0xda8>
+  DB  68,15,40,5,238,42,0,0               ; movaps        0x2aee(%rip),%xmm8        # 6b90 <_sk_callback_sse2+0xf60>
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
@@ -23135,31 +25289,31 @@
   DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
   DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           3cfe <_sk_store_8888_sse2+0x6d>
+  DB  117,10                              ; jne           4102 <_sk_store_8888_sse2+0x6d>
   DB  243,68,15,127,4,144                 ; movdqu        %xmm8,(%rax,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,3                        ; and           $0x3,%r9b
   DB  65,128,249,1                        ; cmp           $0x1,%r9b
-  DB  116,33                              ; je            3d2c <_sk_store_8888_sse2+0x9b>
+  DB  116,33                              ; je            4130 <_sk_store_8888_sse2+0x9b>
   DB  65,128,249,2                        ; cmp           $0x2,%r9b
-  DB  116,19                              ; je            3d24 <_sk_store_8888_sse2+0x93>
+  DB  116,19                              ; je            4128 <_sk_store_8888_sse2+0x93>
   DB  65,128,249,3                        ; cmp           $0x3,%r9b
-  DB  117,227                             ; jne           3cfa <_sk_store_8888_sse2+0x69>
+  DB  117,227                             ; jne           40fe <_sk_store_8888_sse2+0x69>
   DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
   DB  102,68,15,126,76,144,8              ; movd          %xmm9,0x8(%rax,%rdx,4)
   DB  102,68,15,214,4,144                 ; movq          %xmm8,(%rax,%rdx,4)
-  DB  235,206                             ; jmp           3cfa <_sk_store_8888_sse2+0x69>
+  DB  235,206                             ; jmp           40fe <_sk_store_8888_sse2+0x69>
   DB  102,68,15,126,4,144                 ; movd          %xmm8,(%rax,%rdx,4)
-  DB  235,198                             ; jmp           3cfa <_sk_store_8888_sse2+0x69>
+  DB  235,198                             ; jmp           40fe <_sk_store_8888_sse2+0x69>
 
 PUBLIC _sk_load_f16_sse2
 _sk_load_f16_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,96,1,0,0                     ; jne           3ea2 <_sk_load_f16_sse2+0x16e>
+  DB  15,133,96,1,0,0                     ; jne           42a6 <_sk_load_f16_sse2+0x16e>
   DB  102,15,16,4,208                     ; movupd        (%rax,%rdx,8),%xmm0
   DB  102,15,16,76,208,16                 ; movupd        0x10(%rax,%rdx,8),%xmm1
   DB  102,68,15,40,192                    ; movapd        %xmm0,%xmm8
@@ -23171,7 +25325,7 @@
   DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
   DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
   DB  102,65,15,97,202                    ; punpcklwd     %xmm10,%xmm1
-  DB  102,68,15,111,13,46,38,0,0          ; movdqa        0x262e(%rip),%xmm9        # 63b0 <_sk_callback_sse2+0xdb8>
+  DB  102,68,15,111,13,26,42,0,0          ; movdqa        0x2a1a(%rip),%xmm9        # 6ba0 <_sk_callback_sse2+0xf70>
   DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
   DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
   DB  102,15,239,200                      ; pxor          %xmm0,%xmm1
@@ -23179,11 +25333,11 @@
   DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
   DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
   DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
-  DB  102,68,15,111,29,19,38,0,0          ; movdqa        0x2613(%rip),%xmm11        # 63c0 <_sk_callback_sse2+0xdc8>
+  DB  102,68,15,111,29,255,41,0,0         ; movdqa        0x29ff(%rip),%xmm11        # 6bb0 <_sk_callback_sse2+0xf80>
   DB  102,69,15,254,235                   ; paddd         %xmm11,%xmm13
-  DB  102,68,15,111,37,21,38,0,0          ; movdqa        0x2615(%rip),%xmm12        # 63d0 <_sk_callback_sse2+0xdd8>
+  DB  102,68,15,111,37,1,42,0,0           ; movdqa        0x2a01(%rip),%xmm12        # 6bc0 <_sk_callback_sse2+0xf90>
   DB  102,65,15,239,204                   ; pxor          %xmm12,%xmm1
-  DB  102,15,111,29,24,38,0,0             ; movdqa        0x2618(%rip),%xmm3        # 63e0 <_sk_callback_sse2+0xde8>
+  DB  102,15,111,29,4,42,0,0              ; movdqa        0x2a04(%rip),%xmm3        # 6bd0 <_sk_callback_sse2+0xfa0>
   DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
   DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
   DB  102,65,15,223,197                   ; pandn         %xmm13,%xmm0
@@ -23231,17 +25385,106 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,15,16,4,208                     ; movsd         (%rax,%rdx,8),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,17                              ; jne           3ebe <_sk_load_f16_sse2+0x18a>
+  DB  117,17                              ; jne           42c2 <_sk_load_f16_sse2+0x18a>
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
-  DB  233,143,254,255,255                 ; jmpq          3d4d <_sk_load_f16_sse2+0x19>
+  DB  233,143,254,255,255                 ; jmpq          4151 <_sk_load_f16_sse2+0x19>
   DB  102,15,22,68,208,8                  ; movhpd        0x8(%rax,%rdx,8),%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,123,254,255,255              ; jb            3d4d <_sk_load_f16_sse2+0x19>
+  DB  15,130,123,254,255,255              ; jb            4151 <_sk_load_f16_sse2+0x19>
   DB  242,15,16,76,208,16                 ; movsd         0x10(%rax,%rdx,8),%xmm1
-  DB  233,112,254,255,255                 ; jmpq          3d4d <_sk_load_f16_sse2+0x19>
+  DB  233,112,254,255,255                 ; jmpq          4151 <_sk_load_f16_sse2+0x19>
+
+PUBLIC _sk_load_f16_dst_sse2
+_sk_load_f16_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,96,1,0,0                     ; jne           444f <_sk_load_f16_dst_sse2+0x16e>
+  DB  102,15,16,36,208                    ; movupd        (%rax,%rdx,8),%xmm4
+  DB  102,15,16,108,208,16                ; movupd        0x10(%rax,%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,69,15,111,240                   ; movdqa        %xmm8,%xmm14
+  DB  102,68,15,97,244                    ; punpcklwd     %xmm4,%xmm14
+  DB  102,68,15,105,196                   ; punpckhwd     %xmm4,%xmm8
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  102,65,15,111,238                   ; movdqa        %xmm14,%xmm5
+  DB  102,65,15,97,234                    ; punpcklwd     %xmm10,%xmm5
+  DB  102,68,15,111,13,177,40,0,0         ; movdqa        0x28b1(%rip),%xmm9        # 6be0 <_sk_callback_sse2+0xfb0>
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,65,15,219,225                   ; pand          %xmm9,%xmm4
+  DB  102,15,239,236                      ; pxor          %xmm4,%xmm5
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,68,15,111,237                   ; movdqa        %xmm5,%xmm13
+  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
+  DB  102,68,15,235,236                   ; por           %xmm4,%xmm13
+  DB  102,68,15,111,29,150,40,0,0         ; movdqa        0x2896(%rip),%xmm11        # 6bf0 <_sk_callback_sse2+0xfc0>
+  DB  102,69,15,254,235                   ; paddd         %xmm11,%xmm13
+  DB  102,68,15,111,37,152,40,0,0         ; movdqa        0x2898(%rip),%xmm12        # 6c00 <_sk_callback_sse2+0xfd0>
+  DB  102,65,15,239,236                   ; pxor          %xmm12,%xmm5
+  DB  102,15,111,61,155,40,0,0            ; movdqa        0x289b(%rip),%xmm7        # 6c10 <_sk_callback_sse2+0xfe0>
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,102,229                      ; pcmpgtd       %xmm5,%xmm4
+  DB  102,65,15,223,229                   ; pandn         %xmm13,%xmm4
+  DB  102,65,15,115,222,8                 ; psrldq        $0x8,%xmm14
+  DB  102,69,15,97,242                    ; punpcklwd     %xmm10,%xmm14
+  DB  102,65,15,111,238                   ; movdqa        %xmm14,%xmm5
+  DB  102,65,15,219,233                   ; pand          %xmm9,%xmm5
+  DB  102,68,15,239,245                   ; pxor          %xmm5,%xmm14
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,65,15,111,246                   ; movdqa        %xmm14,%xmm6
+  DB  102,15,114,246,13                   ; pslld         $0xd,%xmm6
+  DB  102,15,235,245                      ; por           %xmm5,%xmm6
+  DB  102,65,15,254,243                   ; paddd         %xmm11,%xmm6
+  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,65,15,102,238                   ; pcmpgtd       %xmm14,%xmm5
+  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,65,15,111,245                   ; movdqa        %xmm13,%xmm6
+  DB  102,65,15,219,241                   ; pand          %xmm9,%xmm6
+  DB  102,68,15,239,238                   ; pxor          %xmm6,%xmm13
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,65,15,114,246,13                ; pslld         $0xd,%xmm14
+  DB  102,68,15,235,246                   ; por           %xmm6,%xmm14
+  DB  102,69,15,254,243                   ; paddd         %xmm11,%xmm14
+  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,65,15,102,245                   ; pcmpgtd       %xmm13,%xmm6
+  DB  102,65,15,223,246                   ; pandn         %xmm14,%xmm6
+  DB  102,65,15,115,216,8                 ; psrldq        $0x8,%xmm8
+  DB  102,69,15,97,194                    ; punpcklwd     %xmm10,%xmm8
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  102,69,15,239,193                   ; pxor          %xmm9,%xmm8
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,242,13                ; pslld         $0xd,%xmm10
+  DB  102,69,15,235,209                   ; por           %xmm9,%xmm10
+  DB  102,69,15,254,211                   ; paddd         %xmm11,%xmm10
+  DB  102,69,15,239,196                   ; pxor          %xmm12,%xmm8
+  DB  102,65,15,102,248                   ; pcmpgtd       %xmm8,%xmm7
+  DB  102,65,15,223,250                   ; pandn         %xmm10,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,15,16,36,208                    ; movsd         (%rax,%rdx,8),%xmm4
+  DB  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  117,17                              ; jne           446b <_sk_load_f16_dst_sse2+0x18a>
+  DB  102,15,87,237                       ; xorpd         %xmm5,%xmm5
+  DB  102,15,20,229                       ; unpcklpd      %xmm5,%xmm4
+  DB  102,15,87,237                       ; xorpd         %xmm5,%xmm5
+  DB  233,143,254,255,255                 ; jmpq          42fa <_sk_load_f16_dst_sse2+0x19>
+  DB  102,15,22,100,208,8                 ; movhpd        0x8(%rax,%rdx,8),%xmm4
+  DB  102,15,87,237                       ; xorpd         %xmm5,%xmm5
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  15,130,123,254,255,255              ; jb            42fa <_sk_load_f16_dst_sse2+0x19>
+  DB  242,15,16,108,208,16                ; movsd         0x10(%rax,%rdx,8),%xmm5
+  DB  233,112,254,255,255                 ; jmpq          42fa <_sk_load_f16_dst_sse2+0x19>
 
 PUBLIC _sk_gather_f16_sse2
 _sk_gather_f16_sse2 LABEL PROC
@@ -23281,7 +25524,7 @@
   DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
   DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
   DB  102,65,15,97,202                    ; punpcklwd     %xmm10,%xmm1
-  DB  102,68,15,111,13,106,36,0,0         ; movdqa        0x246a(%rip),%xmm9        # 63f0 <_sk_callback_sse2+0xdf8>
+  DB  102,68,15,111,13,237,38,0,0         ; movdqa        0x26ed(%rip),%xmm9        # 6c20 <_sk_callback_sse2+0xff0>
   DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
   DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
   DB  102,15,239,200                      ; pxor          %xmm0,%xmm1
@@ -23289,11 +25532,11 @@
   DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
   DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
   DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
-  DB  102,68,15,111,29,79,36,0,0          ; movdqa        0x244f(%rip),%xmm11        # 6400 <_sk_callback_sse2+0xe08>
+  DB  102,68,15,111,29,210,38,0,0         ; movdqa        0x26d2(%rip),%xmm11        # 6c30 <_sk_callback_sse2+0x1000>
   DB  102,69,15,254,235                   ; paddd         %xmm11,%xmm13
-  DB  102,68,15,111,37,81,36,0,0          ; movdqa        0x2451(%rip),%xmm12        # 6410 <_sk_callback_sse2+0xe18>
+  DB  102,68,15,111,37,212,38,0,0         ; movdqa        0x26d4(%rip),%xmm12        # 6c40 <_sk_callback_sse2+0x1010>
   DB  102,65,15,239,204                   ; pxor          %xmm12,%xmm1
-  DB  102,15,111,29,84,36,0,0             ; movdqa        0x2454(%rip),%xmm3        # 6420 <_sk_callback_sse2+0xe28>
+  DB  102,15,111,29,215,38,0,0            ; movdqa        0x26d7(%rip),%xmm3        # 6c50 <_sk_callback_sse2+0x1020>
   DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
   DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
   DB  102,65,15,223,197                   ; pandn         %xmm13,%xmm0
@@ -23345,17 +25588,17 @@
 _sk_store_f16_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,139,0                            ; mov           (%rax),%rax
-  DB  102,68,15,111,21,123,35,0,0         ; movdqa        0x237b(%rip),%xmm10        # 6430 <_sk_callback_sse2+0xe38>
+  DB  102,68,15,111,21,254,37,0,0         ; movdqa        0x25fe(%rip),%xmm10        # 6c60 <_sk_callback_sse2+0x1030>
   DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
   DB  102,69,15,219,226                   ; pand          %xmm10,%xmm12
   DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
   DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
-  DB  102,68,15,111,13,110,35,0,0         ; movdqa        0x236e(%rip),%xmm9        # 6440 <_sk_callback_sse2+0xe48>
+  DB  102,68,15,111,13,241,37,0,0         ; movdqa        0x25f1(%rip),%xmm9        # 6c70 <_sk_callback_sse2+0x1040>
   DB  102,65,15,114,212,16                ; psrld         $0x10,%xmm12
   DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
   DB  102,69,15,102,197                   ; pcmpgtd       %xmm13,%xmm8
   DB  102,65,15,114,213,13                ; psrld         $0xd,%xmm13
-  DB  102,68,15,111,29,95,35,0,0          ; movdqa        0x235f(%rip),%xmm11        # 6450 <_sk_callback_sse2+0xe58>
+  DB  102,68,15,111,29,226,37,0,0         ; movdqa        0x25e2(%rip),%xmm11        # 6c80 <_sk_callback_sse2+0x1050>
   DB  102,69,15,235,227                   ; por           %xmm11,%xmm12
   DB  102,69,15,254,229                   ; paddd         %xmm13,%xmm12
   DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
@@ -23407,7 +25650,7 @@
   DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
   DB  102,69,15,98,204                    ; punpckldq     %xmm12,%xmm9
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,21                              ; jne           4213 <_sk_store_f16_sse2+0x16c>
+  DB  117,21                              ; jne           47c0 <_sk_store_f16_sse2+0x16c>
   DB  68,15,17,12,208                     ; movups        %xmm9,(%rax,%rdx,8)
   DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
   DB  243,68,15,127,68,208,16             ; movdqu        %xmm8,0x10(%rax,%rdx,8)
@@ -23415,13 +25658,13 @@
   DB  255,224                             ; jmpq          *%rax
   DB  102,68,15,214,12,208                ; movq          %xmm9,(%rax,%rdx,8)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            420f <_sk_store_f16_sse2+0x168>
+  DB  116,240                             ; je            47bc <_sk_store_f16_sse2+0x168>
   DB  102,68,15,23,76,208,8               ; movhpd        %xmm9,0x8(%rax,%rdx,8)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            420f <_sk_store_f16_sse2+0x168>
+  DB  114,227                             ; jb            47bc <_sk_store_f16_sse2+0x168>
   DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
   DB  102,68,15,214,68,208,16             ; movq          %xmm8,0x10(%rax,%rdx,8)
-  DB  235,213                             ; jmp           420f <_sk_store_f16_sse2+0x168>
+  DB  235,213                             ; jmp           47bc <_sk_store_f16_sse2+0x168>
 
 PUBLIC _sk_load_u16_be_sse2
 _sk_load_u16_be_sse2 LABEL PROC
@@ -23429,7 +25672,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,190,0,0,0                    ; jne           430e <_sk_load_u16_be_sse2+0xd4>
+  DB  15,133,190,0,0,0                    ; jne           48bb <_sk_load_u16_be_sse2+0xd4>
   DB  102,65,15,16,4,65                   ; movupd        (%r9,%rax,2),%xmm0
   DB  102,65,15,16,76,65,16               ; movupd        0x10(%r9,%rax,2),%xmm1
   DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
@@ -23446,7 +25689,7 @@
   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,191,33,0,0               ; movaps        0x21bf(%rip),%xmm8        # 6460 <_sk_callback_sse2+0xe68>
+  DB  68,15,40,5,66,36,0,0                ; movaps        0x2442(%rip),%xmm8        # 6c90 <_sk_callback_sse2+0x1060>
   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
@@ -23474,17 +25717,17 @@
   DB  255,224                             ; jmpq          *%rax
   DB  242,65,15,16,4,65                   ; movsd         (%r9,%rax,2),%xmm0
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,17                              ; jne           432b <_sk_load_u16_be_sse2+0xf1>
+  DB  117,17                              ; jne           48d8 <_sk_load_u16_be_sse2+0xf1>
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
-  DB  233,50,255,255,255                  ; jmpq          425d <_sk_load_u16_be_sse2+0x23>
+  DB  233,50,255,255,255                  ; jmpq          480a <_sk_load_u16_be_sse2+0x23>
   DB  102,65,15,22,68,65,8                ; movhpd        0x8(%r9,%rax,2),%xmm0
   DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  15,130,29,255,255,255               ; jb            425d <_sk_load_u16_be_sse2+0x23>
+  DB  15,130,29,255,255,255               ; jb            480a <_sk_load_u16_be_sse2+0x23>
   DB  242,65,15,16,76,65,16               ; movsd         0x10(%r9,%rax,2),%xmm1
-  DB  233,17,255,255,255                  ; jmpq          425d <_sk_load_u16_be_sse2+0x23>
+  DB  233,17,255,255,255                  ; jmpq          480a <_sk_load_u16_be_sse2+0x23>
 
 PUBLIC _sk_load_rgb_u16_be_sse2
 _sk_load_rgb_u16_be_sse2 LABEL PROC
@@ -23492,7 +25735,7 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,82                         ; lea           (%rdx,%rdx,2),%rax
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,175,0,0,0                    ; jne           440d <_sk_load_rgb_u16_be_sse2+0xc1>
+  DB  15,133,175,0,0,0                    ; jne           49ba <_sk_load_rgb_u16_be_sse2+0xc1>
   DB  243,65,15,111,20,65                 ; movdqu        (%r9,%rax,2),%xmm2
   DB  243,65,15,111,92,65,8               ; movdqu        0x8(%r9,%rax,2),%xmm3
   DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
@@ -23513,7 +25756,7 @@
   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,174,32,0,0              ; movaps        0x20ae(%rip),%xmm9        # 6470 <_sk_callback_sse2+0xe78>
+  DB  68,15,40,13,49,35,0,0               ; movaps        0x2331(%rip),%xmm9        # 6ca0 <_sk_callback_sse2+0x1070>
   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
@@ -23530,34 +25773,34 @@
   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,117,32,0,0                 ; movaps        0x2075(%rip),%xmm3        # 6480 <_sk_callback_sse2+0xe88>
+  DB  15,40,29,248,34,0,0                 ; movaps        0x22f8(%rip),%xmm3        # 6cb0 <_sk_callback_sse2+0x1080>
   DB  255,224                             ; jmpq          *%rax
   DB  102,65,15,110,20,65                 ; movd          (%r9,%rax,2),%xmm2
   DB  102,65,15,196,84,65,4,2             ; pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,13                              ; jne           4432 <_sk_load_rgb_u16_be_sse2+0xe6>
+  DB  117,13                              ; jne           49df <_sk_load_rgb_u16_be_sse2+0xe6>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
-  DB  233,80,255,255,255                  ; jmpq          4382 <_sk_load_rgb_u16_be_sse2+0x36>
+  DB  233,80,255,255,255                  ; jmpq          492f <_sk_load_rgb_u16_be_sse2+0x36>
   DB  102,65,15,110,68,65,6               ; movd          0x6(%r9,%rax,2),%xmm0
   DB  102,65,15,196,68,65,10,2            ; pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,24                              ; jb            4463 <_sk_load_rgb_u16_be_sse2+0x117>
+  DB  114,24                              ; jb            4a10 <_sk_load_rgb_u16_be_sse2+0x117>
   DB  102,65,15,110,92,65,12              ; movd          0xc(%r9,%rax,2),%xmm3
   DB  102,65,15,196,92,65,16,2            ; pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  233,31,255,255,255                  ; jmpq          4382 <_sk_load_rgb_u16_be_sse2+0x36>
+  DB  233,31,255,255,255                  ; jmpq          492f <_sk_load_rgb_u16_be_sse2+0x36>
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
-  DB  233,22,255,255,255                  ; jmpq          4382 <_sk_load_rgb_u16_be_sse2+0x36>
+  DB  233,22,255,255,255                  ; jmpq          492f <_sk_load_rgb_u16_be_sse2+0x36>
 
 PUBLIC _sk_store_u16_be_sse2
 _sk_store_u16_be_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  72,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%rax
-  DB  68,15,40,21,15,32,0,0               ; movaps        0x200f(%rip),%xmm10        # 6490 <_sk_callback_sse2+0xe98>
+  DB  68,15,40,21,146,34,0,0              ; movaps        0x2292(%rip),%xmm10        # 6cc0 <_sk_callback_sse2+0x1090>
   DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
   DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
   DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
@@ -23602,7 +25845,7 @@
   DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
   DB  102,69,15,98,209                    ; punpckldq     %xmm9,%xmm10
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,21                              ; jne           457b <_sk_store_u16_be_sse2+0x10f>
+  DB  117,21                              ; jne           4b28 <_sk_store_u16_be_sse2+0x10f>
   DB  69,15,17,20,65                      ; movups        %xmm10,(%r9,%rax,2)
   DB  102,69,15,106,193                   ; punpckhdq     %xmm9,%xmm8
   DB  243,69,15,127,68,65,16              ; movdqu        %xmm8,0x10(%r9,%rax,2)
@@ -23610,13 +25853,13 @@
   DB  255,224                             ; jmpq          *%rax
   DB  102,69,15,214,20,65                 ; movq          %xmm10,(%r9,%rax,2)
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,240                             ; je            4577 <_sk_store_u16_be_sse2+0x10b>
+  DB  116,240                             ; je            4b24 <_sk_store_u16_be_sse2+0x10b>
   DB  102,69,15,23,84,65,8                ; movhpd        %xmm10,0x8(%r9,%rax,2)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,227                             ; jb            4577 <_sk_store_u16_be_sse2+0x10b>
+  DB  114,227                             ; jb            4b24 <_sk_store_u16_be_sse2+0x10b>
   DB  102,69,15,106,193                   ; punpckhdq     %xmm9,%xmm8
   DB  102,69,15,214,68,65,16              ; movq          %xmm8,0x10(%r9,%rax,2)
-  DB  235,213                             ; jmp           4577 <_sk_store_u16_be_sse2+0x10b>
+  DB  235,213                             ; jmp           4b24 <_sk_store_u16_be_sse2+0x10b>
 
 PUBLIC _sk_load_f32_sse2
 _sk_load_f32_sse2 LABEL PROC
@@ -23627,7 +25870,7 @@
   DB  72,193,224,4                        ; shl           $0x4,%rax
   DB  69,15,16,4,2                        ; movups        (%r10,%rax,1),%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,66                              ; jne           4602 <_sk_load_f32_sse2+0x60>
+  DB  117,66                              ; jne           4baf <_sk_load_f32_sse2+0x60>
   DB  67,15,16,68,138,16                  ; movups        0x10(%r10,%r9,4),%xmm0
   DB  67,15,16,92,138,32                  ; movups        0x20(%r10,%r9,4),%xmm3
   DB  71,15,16,76,138,48                  ; movups        0x30(%r10,%r9,4),%xmm9
@@ -23647,17 +25890,58 @@
   DB  255,224                             ; jmpq          *%rax
   DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  117,8                               ; jne           4614 <_sk_load_f32_sse2+0x72>
+  DB  117,8                               ; jne           4bc1 <_sk_load_f32_sse2+0x72>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
-  DB  235,190                             ; jmp           45d2 <_sk_load_f32_sse2+0x30>
+  DB  235,190                             ; jmp           4b7f <_sk_load_f32_sse2+0x30>
   DB  67,15,16,68,138,16                  ; movups        0x10(%r10,%r9,4),%xmm0
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,8                               ; jb            4628 <_sk_load_f32_sse2+0x86>
+  DB  114,8                               ; jb            4bd5 <_sk_load_f32_sse2+0x86>
   DB  67,15,16,92,138,32                  ; movups        0x20(%r10,%r9,4),%xmm3
-  DB  235,170                             ; jmp           45d2 <_sk_load_f32_sse2+0x30>
+  DB  235,170                             ; jmp           4b7f <_sk_load_f32_sse2+0x30>
   DB  15,87,219                           ; xorps         %xmm3,%xmm3
-  DB  235,165                             ; jmp           45d2 <_sk_load_f32_sse2+0x30>
+  DB  235,165                             ; jmp           4b7f <_sk_load_f32_sse2+0x30>
+
+PUBLIC _sk_load_f32_dst_sse2
+_sk_load_f32_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  69,15,16,4,2                        ; movups        (%r10,%rax,1),%xmm8
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,66                              ; jne           4c3a <_sk_load_f32_dst_sse2+0x60>
+  DB  67,15,16,100,138,16                 ; movups        0x10(%r10,%r9,4),%xmm4
+  DB  67,15,16,124,138,32                 ; movups        0x20(%r10,%r9,4),%xmm7
+  DB  71,15,16,76,138,48                  ; movups        0x30(%r10,%r9,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  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  117,8                               ; jne           4c4c <_sk_load_f32_dst_sse2+0x72>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  235,190                             ; jmp           4c0a <_sk_load_f32_dst_sse2+0x30>
+  DB  67,15,16,100,138,16                 ; movups        0x10(%r10,%r9,4),%xmm4
+  DB  73,131,248,3                        ; cmp           $0x3,%r8
+  DB  114,8                               ; jb            4c60 <_sk_load_f32_dst_sse2+0x86>
+  DB  67,15,16,124,138,32                 ; movups        0x20(%r10,%r9,4),%xmm7
+  DB  235,170                             ; jmp           4c0a <_sk_load_f32_dst_sse2+0x30>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  235,165                             ; jmp           4c0a <_sk_load_f32_dst_sse2+0x30>
 
 PUBLIC _sk_store_f32_sse2
 _sk_store_f32_sse2 LABEL PROC
@@ -23681,7 +25965,7 @@
   DB  102,69,15,20,203                    ; unpcklpd      %xmm11,%xmm9
   DB  102,69,15,17,36,2                   ; movupd        %xmm12,(%r10,%rax,1)
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,29                              ; jne           469f <_sk_store_f32_sse2+0x72>
+  DB  117,29                              ; jne           4cd7 <_sk_store_f32_sse2+0x72>
   DB  102,69,15,21,211                    ; unpckhpd      %xmm11,%xmm10
   DB  71,15,17,68,138,16                  ; movups        %xmm8,0x10(%r10,%r9,4)
   DB  102,71,15,17,76,138,32              ; movupd        %xmm9,0x20(%r10,%r9,4)
@@ -23689,12 +25973,12 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
   DB  73,131,248,1                        ; cmp           $0x1,%r8
-  DB  116,246                             ; je            469b <_sk_store_f32_sse2+0x6e>
+  DB  116,246                             ; je            4cd3 <_sk_store_f32_sse2+0x6e>
   DB  71,15,17,68,138,16                  ; movups        %xmm8,0x10(%r10,%r9,4)
   DB  73,131,248,3                        ; cmp           $0x3,%r8
-  DB  114,234                             ; jb            469b <_sk_store_f32_sse2+0x6e>
+  DB  114,234                             ; jb            4cd3 <_sk_store_f32_sse2+0x6e>
   DB  102,71,15,17,76,138,32              ; movupd        %xmm9,0x20(%r10,%r9,4)
-  DB  235,225                             ; jmp           469b <_sk_store_f32_sse2+0x6e>
+  DB  235,225                             ; jmp           4cd3 <_sk_store_f32_sse2+0x6e>
 
 PUBLIC _sk_clamp_x_sse2
 _sk_clamp_x_sse2 LABEL PROC
@@ -23734,7 +26018,7 @@
   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,104,29,0,0              ; andps         0x1d68(%rip),%xmm9        # 64a0 <_sk_callback_sse2+0xea8>
+  DB  68,15,84,13,96,31,0,0               ; andps         0x1f60(%rip),%xmm9        # 6cd0 <_sk_callback_sse2+0x10a0>
   DB  69,15,92,209                        ; subps         %xmm9,%xmm10
   DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
   DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
@@ -23755,7 +26039,7 @@
   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,41,29,0,0               ; andps         0x1d29(%rip),%xmm9        # 64b0 <_sk_callback_sse2+0xeb8>
+  DB  68,15,84,13,33,31,0,0               ; andps         0x1f21(%rip),%xmm9        # 6ce0 <_sk_callback_sse2+0x10b0>
   DB  69,15,92,209                        ; subps         %xmm9,%xmm10
   DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
   DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
@@ -23776,13 +26060,13 @@
   DB  65,15,92,192                        ; subps         %xmm8,%xmm0
   DB  243,69,15,88,201                    ; addss         %xmm9,%xmm9
   DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
-  DB  243,68,15,89,21,249,32,0,0          ; mulss         0x20f9(%rip),%xmm10        # 68d0 <_sk_callback_sse2+0x12d8>
+  DB  243,68,15,89,21,241,34,0,0          ; mulss         0x22f1(%rip),%xmm10        # 7100 <_sk_callback_sse2+0x14d0>
   DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
   DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
   DB  243,69,15,91,218                    ; cvttps2dq     %xmm10,%xmm11
   DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
   DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
-  DB  68,15,84,21,202,28,0,0              ; andps         0x1cca(%rip),%xmm10        # 64c0 <_sk_callback_sse2+0xec8>
+  DB  68,15,84,21,194,30,0,0              ; andps         0x1ec2(%rip),%xmm10        # 6cf0 <_sk_callback_sse2+0x10c0>
   DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
   DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
@@ -23806,13 +26090,13 @@
   DB  65,15,92,200                        ; subps         %xmm8,%xmm1
   DB  243,69,15,88,201                    ; addss         %xmm9,%xmm9
   DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
-  DB  243,68,15,89,21,131,32,0,0          ; mulss         0x2083(%rip),%xmm10        # 68d4 <_sk_callback_sse2+0x12dc>
+  DB  243,68,15,89,21,123,34,0,0          ; mulss         0x227b(%rip),%xmm10        # 7104 <_sk_callback_sse2+0x14d4>
   DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
   DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
   DB  243,69,15,91,218                    ; cvttps2dq     %xmm10,%xmm11
   DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
   DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
-  DB  68,15,84,21,96,28,0,0               ; andps         0x1c60(%rip),%xmm10        # 64d0 <_sk_callback_sse2+0xed8>
+  DB  68,15,84,21,88,30,0,0               ; andps         0x1e58(%rip),%xmm10        # 6d00 <_sk_callback_sse2+0x10d0>
   DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
   DB  69,15,92,218                        ; subps         %xmm10,%xmm11
   DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
@@ -23830,7 +26114,7 @@
 _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,50,28,0,0                ; minps         0x1c32(%rip),%xmm8        # 64e0 <_sk_callback_sse2+0xee8>
+  DB  68,15,93,5,42,30,0,0                ; minps         0x1e2a(%rip),%xmm8        # 6d10 <_sk_callback_sse2+0x10e0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
   DB  255,224                             ; jmpq          *%rax
@@ -23841,7 +26125,7 @@
   DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,194,200,1                     ; cmpltps       %xmm8,%xmm9
-  DB  68,15,84,13,32,28,0,0               ; andps         0x1c20(%rip),%xmm9        # 64f0 <_sk_callback_sse2+0xef8>
+  DB  68,15,84,13,24,30,0,0               ; andps         0x1e18(%rip),%xmm9        # 6d20 <_sk_callback_sse2+0x10f0>
   DB  69,15,92,193                        ; subps         %xmm9,%xmm8
   DB  65,15,92,192                        ; subps         %xmm8,%xmm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -23849,14 +26133,14 @@
 
 PUBLIC _sk_mirror_x_1_sse2
 _sk_mirror_x_1_sse2 LABEL PROC
-  DB  68,15,40,5,28,28,0,0                ; movaps        0x1c1c(%rip),%xmm8        # 6500 <_sk_callback_sse2+0xf08>
+  DB  68,15,40,5,20,30,0,0                ; movaps        0x1e14(%rip),%xmm8        # 6d30 <_sk_callback_sse2+0x1100>
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
-  DB  68,15,40,13,32,28,0,0               ; movaps        0x1c20(%rip),%xmm9        # 6510 <_sk_callback_sse2+0xf18>
+  DB  68,15,40,13,24,30,0,0               ; movaps        0x1e18(%rip),%xmm9        # 6d40 <_sk_callback_sse2+0x1110>
   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,22,28,0,0               ; andps         0x1c16(%rip),%xmm9        # 6520 <_sk_callback_sse2+0xf28>
+  DB  68,15,84,13,14,30,0,0               ; andps         0x1e0e(%rip),%xmm9        # 6d50 <_sk_callback_sse2+0x1120>
   DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
   DB  69,15,92,209                        ; subps         %xmm9,%xmm10
   DB  69,15,88,210                        ; addps         %xmm10,%xmm10
@@ -23870,10 +26154,10 @@
 PUBLIC _sk_luminance_to_alpha_sse2
 _sk_luminance_to_alpha_sse2 LABEL PROC
   DB  15,40,218                           ; movaps        %xmm2,%xmm3
-  DB  15,89,5,252,27,0,0                  ; mulps         0x1bfc(%rip),%xmm0        # 6530 <_sk_callback_sse2+0xf38>
-  DB  15,89,13,5,28,0,0                   ; mulps         0x1c05(%rip),%xmm1        # 6540 <_sk_callback_sse2+0xf48>
+  DB  15,89,5,244,29,0,0                  ; mulps         0x1df4(%rip),%xmm0        # 6d60 <_sk_callback_sse2+0x1130>
+  DB  15,89,13,253,29,0,0                 ; mulps         0x1dfd(%rip),%xmm1        # 6d70 <_sk_callback_sse2+0x1140>
   DB  15,88,200                           ; addps         %xmm0,%xmm1
-  DB  15,89,29,11,28,0,0                  ; mulps         0x1c0b(%rip),%xmm3        # 6550 <_sk_callback_sse2+0xf58>
+  DB  15,89,29,3,30,0,0                   ; mulps         0x1e03(%rip),%xmm3        # 6d80 <_sk_callback_sse2+0x1150>
   DB  15,88,217                           ; addps         %xmm1,%xmm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,87,192                           ; xorps         %xmm0,%xmm0
@@ -24139,9 +26423,9 @@
   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            4d81 <_sk_evenly_spaced_gradient_sse2+0x18>
+  DB  120,7                               ; js            53b9 <_sk_evenly_spaced_gradient_sse2+0x18>
   DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
-  DB  235,21                              ; jmp           4d96 <_sk_evenly_spaced_gradient_sse2+0x2d>
+  DB  235,21                              ; jmp           53ce <_sk_evenly_spaced_gradient_sse2+0x2d>
   DB  73,137,217                          ; mov           %rbx,%r9
   DB  73,209,233                          ; shr           %r9
   DB  131,227,1                           ; and           $0x1,%ebx
@@ -24237,15 +26521,15 @@
 
 PUBLIC _sk_gauss_a_to_rgba_sse2
 _sk_gauss_a_to_rgba_sse2 LABEL PROC
-  DB  15,40,5,62,22,0,0                   ; movaps        0x163e(%rip),%xmm0        # 6560 <_sk_callback_sse2+0xf68>
+  DB  15,40,5,54,24,0,0                   ; movaps        0x1836(%rip),%xmm0        # 6d90 <_sk_callback_sse2+0x1160>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,68,22,0,0                   ; addps         0x1644(%rip),%xmm0        # 6570 <_sk_callback_sse2+0xf78>
+  DB  15,88,5,60,24,0,0                   ; addps         0x183c(%rip),%xmm0        # 6da0 <_sk_callback_sse2+0x1170>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,74,22,0,0                   ; addps         0x164a(%rip),%xmm0        # 6580 <_sk_callback_sse2+0xf88>
+  DB  15,88,5,66,24,0,0                   ; addps         0x1842(%rip),%xmm0        # 6db0 <_sk_callback_sse2+0x1180>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,80,22,0,0                   ; addps         0x1650(%rip),%xmm0        # 6590 <_sk_callback_sse2+0xf98>
+  DB  15,88,5,72,24,0,0                   ; addps         0x1848(%rip),%xmm0        # 6dc0 <_sk_callback_sse2+0x1190>
   DB  15,89,195                           ; mulps         %xmm3,%xmm0
-  DB  15,88,5,86,22,0,0                   ; addps         0x1656(%rip),%xmm0        # 65a0 <_sk_callback_sse2+0xfa8>
+  DB  15,88,5,78,24,0,0                   ; addps         0x184e(%rip),%xmm0        # 6dd0 <_sk_callback_sse2+0x11a0>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,40,200                           ; movaps        %xmm0,%xmm1
   DB  15,40,208                           ; movaps        %xmm0,%xmm2
@@ -24261,12 +26545,12 @@
   DB  76,139,8                            ; mov           (%rax),%r9
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
   DB  73,131,249,2                        ; cmp           $0x2,%r9
-  DB  114,50                              ; jb            4f9d <_sk_gradient_sse2+0x46>
+  DB  114,50                              ; jb            55d5 <_sk_gradient_sse2+0x46>
   DB  72,139,88,72                        ; mov           0x48(%rax),%rbx
   DB  73,255,201                          ; dec           %r9
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
-  DB  15,40,21,47,22,0,0                  ; movaps        0x162f(%rip),%xmm2        # 65b0 <_sk_callback_sse2+0xfb8>
+  DB  15,40,21,39,24,0,0                  ; movaps        0x1827(%rip),%xmm2        # 6de0 <_sk_callback_sse2+0x11b0>
   DB  243,15,16,27                        ; movss         (%rbx),%xmm3
   DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
   DB  15,194,216,2                        ; cmpleps       %xmm0,%xmm3
@@ -24274,7 +26558,7 @@
   DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
   DB  72,131,195,4                        ; add           $0x4,%rbx
   DB  73,255,201                          ; dec           %r9
-  DB  117,228                             ; jne           4f81 <_sk_gradient_sse2+0x2a>
+  DB  117,228                             ; jne           55b9 <_sk_gradient_sse2+0x2a>
   DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
   DB  102,73,15,126,211                   ; movq          %xmm2,%r11
   DB  69,137,217                          ; mov           %r11d,%r9d
@@ -24409,29 +26693,29 @@
   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,240,19,0,0              ; movaps        0x13f0(%rip),%xmm13        # 65c0 <_sk_callback_sse2+0xfc8>
+  DB  68,15,40,45,232,21,0,0              ; movaps        0x15e8(%rip),%xmm13        # 6df0 <_sk_callback_sse2+0x11c0>
   DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
-  DB  68,15,88,45,244,19,0,0              ; addps         0x13f4(%rip),%xmm13        # 65d0 <_sk_callback_sse2+0xfd8>
+  DB  68,15,88,45,236,21,0,0              ; addps         0x15ec(%rip),%xmm13        # 6e00 <_sk_callback_sse2+0x11d0>
   DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
-  DB  68,15,88,45,248,19,0,0              ; addps         0x13f8(%rip),%xmm13        # 65e0 <_sk_callback_sse2+0xfe8>
+  DB  68,15,88,45,240,21,0,0              ; addps         0x15f0(%rip),%xmm13        # 6e10 <_sk_callback_sse2+0x11e0>
   DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
-  DB  68,15,88,45,252,19,0,0              ; addps         0x13fc(%rip),%xmm13        # 65f0 <_sk_callback_sse2+0xff8>
+  DB  68,15,88,45,244,21,0,0              ; addps         0x15f4(%rip),%xmm13        # 6e20 <_sk_callback_sse2+0x11f0>
   DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
   DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
-  DB  68,15,40,21,251,19,0,0              ; movaps        0x13fb(%rip),%xmm10        # 6600 <_sk_callback_sse2+0x1008>
+  DB  68,15,40,21,243,21,0,0              ; movaps        0x15f3(%rip),%xmm10        # 6e30 <_sk_callback_sse2+0x1200>
   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,238,19,0,0              ; movaps        0x13ee(%rip),%xmm10        # 6610 <_sk_callback_sse2+0x1018>
+  DB  68,15,40,21,230,21,0,0              ; movaps        0x15e6(%rip),%xmm10        # 6e40 <_sk_callback_sse2+0x1210>
   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,221,19,0,0              ; movaps        0x13dd(%rip),%xmm10        # 6620 <_sk_callback_sse2+0x1028>
+  DB  68,15,40,21,213,21,0,0              ; movaps        0x15d5(%rip),%xmm10        # 6e50 <_sk_callback_sse2+0x1220>
   DB  69,15,92,208                        ; subps         %xmm8,%xmm10
   DB  69,15,84,209                        ; andps         %xmm9,%xmm10
   DB  69,15,85,200                        ; andnps        %xmm8,%xmm9
@@ -24454,7 +26738,7 @@
 PUBLIC _sk_save_xy_sse2
 _sk_save_xy_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,175,19,0,0               ; movaps        0x13af(%rip),%xmm8        # 6630 <_sk_callback_sse2+0x1038>
+  DB  68,15,40,5,167,21,0,0               ; movaps        0x15a7(%rip),%xmm8        # 6e60 <_sk_callback_sse2+0x1230>
   DB  15,17,0                             ; movups        %xmm0,(%rax)
   DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
   DB  69,15,88,200                        ; addps         %xmm8,%xmm9
@@ -24462,7 +26746,7 @@
   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,154,19,0,0              ; movaps        0x139a(%rip),%xmm12        # 6640 <_sk_callback_sse2+0x1048>
+  DB  68,15,40,37,146,21,0,0              ; movaps        0x1592(%rip),%xmm12        # 6e70 <_sk_callback_sse2+0x1240>
   DB  69,15,84,220                        ; andps         %xmm12,%xmm11
   DB  69,15,92,211                        ; subps         %xmm11,%xmm10
   DB  69,15,92,202                        ; subps         %xmm10,%xmm9
@@ -24505,8 +26789,8 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,19,19,0,0                   ; addps         0x1313(%rip),%xmm0        # 6650 <_sk_callback_sse2+0x1058>
-  DB  68,15,40,13,27,19,0,0               ; movaps        0x131b(%rip),%xmm9        # 6660 <_sk_callback_sse2+0x1068>
+  DB  15,88,5,11,21,0,0                   ; addps         0x150b(%rip),%xmm0        # 6e80 <_sk_callback_sse2+0x1250>
+  DB  68,15,40,13,19,21,0,0               ; movaps        0x1513(%rip),%xmm9        # 6e90 <_sk_callback_sse2+0x1260>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
   DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24517,7 +26801,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,10,19,0,0                   ; addps         0x130a(%rip),%xmm0        # 6670 <_sk_callback_sse2+0x1078>
+  DB  15,88,5,2,21,0,0                    ; addps         0x1502(%rip),%xmm0        # 6ea0 <_sk_callback_sse2+0x1270>
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24527,8 +26811,8 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,252,18,0,0                 ; addps         0x12fc(%rip),%xmm1        # 6680 <_sk_callback_sse2+0x1088>
-  DB  68,15,40,13,4,19,0,0                ; movaps        0x1304(%rip),%xmm9        # 6690 <_sk_callback_sse2+0x1098>
+  DB  15,88,13,244,20,0,0                 ; addps         0x14f4(%rip),%xmm1        # 6eb0 <_sk_callback_sse2+0x1280>
+  DB  68,15,40,13,252,20,0,0              ; movaps        0x14fc(%rip),%xmm9        # 6ec0 <_sk_callback_sse2+0x1290>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
   DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24539,7 +26823,7 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,242,18,0,0                 ; addps         0x12f2(%rip),%xmm1        # 66a0 <_sk_callback_sse2+0x10a8>
+  DB  15,88,13,234,20,0,0                 ; addps         0x14ea(%rip),%xmm1        # 6ed0 <_sk_callback_sse2+0x12a0>
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24549,13 +26833,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,229,18,0,0                  ; addps         0x12e5(%rip),%xmm0        # 66b0 <_sk_callback_sse2+0x10b8>
-  DB  68,15,40,13,237,18,0,0              ; movaps        0x12ed(%rip),%xmm9        # 66c0 <_sk_callback_sse2+0x10c8>
+  DB  15,88,5,221,20,0,0                  ; addps         0x14dd(%rip),%xmm0        # 6ee0 <_sk_callback_sse2+0x12b0>
+  DB  68,15,40,13,229,20,0,0              ; movaps        0x14e5(%rip),%xmm9        # 6ef0 <_sk_callback_sse2+0x12c0>
   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,233,18,0,0              ; mulps         0x12e9(%rip),%xmm9        # 66d0 <_sk_callback_sse2+0x10d8>
-  DB  68,15,88,13,241,18,0,0              ; addps         0x12f1(%rip),%xmm9        # 66e0 <_sk_callback_sse2+0x10e8>
+  DB  68,15,89,13,225,20,0,0              ; mulps         0x14e1(%rip),%xmm9        # 6f00 <_sk_callback_sse2+0x12d0>
+  DB  68,15,88,13,233,20,0,0              ; addps         0x14e9(%rip),%xmm9        # 6f10 <_sk_callback_sse2+0x12e0>
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24566,16 +26850,16 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,224,18,0,0                  ; addps         0x12e0(%rip),%xmm0        # 66f0 <_sk_callback_sse2+0x10f8>
-  DB  68,15,40,13,232,18,0,0              ; movaps        0x12e8(%rip),%xmm9        # 6700 <_sk_callback_sse2+0x1108>
+  DB  15,88,5,216,20,0,0                  ; addps         0x14d8(%rip),%xmm0        # 6f20 <_sk_callback_sse2+0x12f0>
+  DB  68,15,40,13,224,20,0,0              ; movaps        0x14e0(%rip),%xmm9        # 6f30 <_sk_callback_sse2+0x1300>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
-  DB  68,15,40,5,236,18,0,0               ; movaps        0x12ec(%rip),%xmm8        # 6710 <_sk_callback_sse2+0x1118>
+  DB  68,15,40,5,228,20,0,0               ; movaps        0x14e4(%rip),%xmm8        # 6f40 <_sk_callback_sse2+0x1310>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,240,18,0,0               ; addps         0x12f0(%rip),%xmm8        # 6720 <_sk_callback_sse2+0x1128>
+  DB  68,15,88,5,232,20,0,0               ; addps         0x14e8(%rip),%xmm8        # 6f50 <_sk_callback_sse2+0x1320>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,244,18,0,0               ; addps         0x12f4(%rip),%xmm8        # 6730 <_sk_callback_sse2+0x1138>
+  DB  68,15,88,5,236,20,0,0               ; addps         0x14ec(%rip),%xmm8        # 6f60 <_sk_callback_sse2+0x1330>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,248,18,0,0               ; addps         0x12f8(%rip),%xmm8        # 6740 <_sk_callback_sse2+0x1148>
+  DB  68,15,88,5,240,20,0,0               ; addps         0x14f0(%rip),%xmm8        # 6f70 <_sk_callback_sse2+0x1340>
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24583,17 +26867,17 @@
 PUBLIC _sk_bicubic_p1x_sse2
 _sk_bicubic_p1x_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,242,18,0,0               ; movaps        0x12f2(%rip),%xmm8        # 6750 <_sk_callback_sse2+0x1158>
+  DB  68,15,40,5,234,20,0,0               ; movaps        0x14ea(%rip),%xmm8        # 6f80 <_sk_callback_sse2+0x1350>
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,72,64                      ; movups        0x40(%rax),%xmm9
   DB  65,15,88,192                        ; addps         %xmm8,%xmm0
-  DB  68,15,40,21,238,18,0,0              ; movaps        0x12ee(%rip),%xmm10        # 6760 <_sk_callback_sse2+0x1168>
+  DB  68,15,40,21,230,20,0,0              ; movaps        0x14e6(%rip),%xmm10        # 6f90 <_sk_callback_sse2+0x1360>
   DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
-  DB  68,15,88,21,242,18,0,0              ; addps         0x12f2(%rip),%xmm10        # 6770 <_sk_callback_sse2+0x1178>
+  DB  68,15,88,21,234,20,0,0              ; addps         0x14ea(%rip),%xmm10        # 6fa0 <_sk_callback_sse2+0x1370>
   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,238,18,0,0              ; addps         0x12ee(%rip),%xmm10        # 6780 <_sk_callback_sse2+0x1188>
+  DB  68,15,88,21,230,20,0,0              ; addps         0x14e6(%rip),%xmm10        # 6fb0 <_sk_callback_sse2+0x1380>
   DB  68,15,17,144,128,0,0,0              ; movups        %xmm10,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24603,11 +26887,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,0                             ; movups        (%rax),%xmm0
   DB  68,15,16,64,64                      ; movups        0x40(%rax),%xmm8
-  DB  15,88,5,225,18,0,0                  ; addps         0x12e1(%rip),%xmm0        # 6790 <_sk_callback_sse2+0x1198>
+  DB  15,88,5,217,20,0,0                  ; addps         0x14d9(%rip),%xmm0        # 6fc0 <_sk_callback_sse2+0x1390>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
-  DB  68,15,89,5,225,18,0,0               ; mulps         0x12e1(%rip),%xmm8        # 67a0 <_sk_callback_sse2+0x11a8>
-  DB  68,15,88,5,233,18,0,0               ; addps         0x12e9(%rip),%xmm8        # 67b0 <_sk_callback_sse2+0x11b8>
+  DB  68,15,89,5,217,20,0,0               ; mulps         0x14d9(%rip),%xmm8        # 6fd0 <_sk_callback_sse2+0x13a0>
+  DB  68,15,88,5,225,20,0,0               ; addps         0x14e1(%rip),%xmm8        # 6fe0 <_sk_callback_sse2+0x13b0>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
   DB  68,15,17,128,128,0,0,0              ; movups        %xmm8,0x80(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24618,13 +26902,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,215,18,0,0                 ; addps         0x12d7(%rip),%xmm1        # 67c0 <_sk_callback_sse2+0x11c8>
-  DB  68,15,40,13,223,18,0,0              ; movaps        0x12df(%rip),%xmm9        # 67d0 <_sk_callback_sse2+0x11d8>
+  DB  15,88,13,207,20,0,0                 ; addps         0x14cf(%rip),%xmm1        # 6ff0 <_sk_callback_sse2+0x13c0>
+  DB  68,15,40,13,215,20,0,0              ; movaps        0x14d7(%rip),%xmm9        # 7000 <_sk_callback_sse2+0x13d0>
   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,219,18,0,0              ; mulps         0x12db(%rip),%xmm9        # 67e0 <_sk_callback_sse2+0x11e8>
-  DB  68,15,88,13,227,18,0,0              ; addps         0x12e3(%rip),%xmm9        # 67f0 <_sk_callback_sse2+0x11f8>
+  DB  68,15,89,13,211,20,0,0              ; mulps         0x14d3(%rip),%xmm9        # 7010 <_sk_callback_sse2+0x13e0>
+  DB  68,15,88,13,219,20,0,0              ; addps         0x14db(%rip),%xmm9        # 7020 <_sk_callback_sse2+0x13f0>
   DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
   DB  68,15,17,136,160,0,0,0              ; movups        %xmm9,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24635,16 +26919,16 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,209,18,0,0                 ; addps         0x12d1(%rip),%xmm1        # 6800 <_sk_callback_sse2+0x1208>
-  DB  68,15,40,13,217,18,0,0              ; movaps        0x12d9(%rip),%xmm9        # 6810 <_sk_callback_sse2+0x1218>
+  DB  15,88,13,201,20,0,0                 ; addps         0x14c9(%rip),%xmm1        # 7030 <_sk_callback_sse2+0x1400>
+  DB  68,15,40,13,209,20,0,0              ; movaps        0x14d1(%rip),%xmm9        # 7040 <_sk_callback_sse2+0x1410>
   DB  69,15,92,200                        ; subps         %xmm8,%xmm9
-  DB  68,15,40,5,221,18,0,0               ; movaps        0x12dd(%rip),%xmm8        # 6820 <_sk_callback_sse2+0x1228>
+  DB  68,15,40,5,213,20,0,0               ; movaps        0x14d5(%rip),%xmm8        # 7050 <_sk_callback_sse2+0x1420>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,225,18,0,0               ; addps         0x12e1(%rip),%xmm8        # 6830 <_sk_callback_sse2+0x1238>
+  DB  68,15,88,5,217,20,0,0               ; addps         0x14d9(%rip),%xmm8        # 7060 <_sk_callback_sse2+0x1430>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,229,18,0,0               ; addps         0x12e5(%rip),%xmm8        # 6840 <_sk_callback_sse2+0x1248>
+  DB  68,15,88,5,221,20,0,0               ; addps         0x14dd(%rip),%xmm8        # 7070 <_sk_callback_sse2+0x1440>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
-  DB  68,15,88,5,233,18,0,0               ; addps         0x12e9(%rip),%xmm8        # 6850 <_sk_callback_sse2+0x1258>
+  DB  68,15,88,5,225,20,0,0               ; addps         0x14e1(%rip),%xmm8        # 7080 <_sk_callback_sse2+0x1450>
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24652,17 +26936,17 @@
 PUBLIC _sk_bicubic_p1y_sse2
 _sk_bicubic_p1y_sse2 LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  68,15,40,5,227,18,0,0               ; movaps        0x12e3(%rip),%xmm8        # 6860 <_sk_callback_sse2+0x1268>
+  DB  68,15,40,5,219,20,0,0               ; movaps        0x14db(%rip),%xmm8        # 7090 <_sk_callback_sse2+0x1460>
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,72,96                      ; movups        0x60(%rax),%xmm9
   DB  65,15,88,200                        ; addps         %xmm8,%xmm1
-  DB  68,15,40,21,222,18,0,0              ; movaps        0x12de(%rip),%xmm10        # 6870 <_sk_callback_sse2+0x1278>
+  DB  68,15,40,21,214,20,0,0              ; movaps        0x14d6(%rip),%xmm10        # 70a0 <_sk_callback_sse2+0x1470>
   DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
-  DB  68,15,88,21,226,18,0,0              ; addps         0x12e2(%rip),%xmm10        # 6880 <_sk_callback_sse2+0x1288>
+  DB  68,15,88,21,218,20,0,0              ; addps         0x14da(%rip),%xmm10        # 70b0 <_sk_callback_sse2+0x1480>
   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,222,18,0,0              ; addps         0x12de(%rip),%xmm10        # 6890 <_sk_callback_sse2+0x1298>
+  DB  68,15,88,21,214,20,0,0              ; addps         0x14d6(%rip),%xmm10        # 70c0 <_sk_callback_sse2+0x1490>
   DB  68,15,17,144,160,0,0,0              ; movups        %xmm10,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -24672,11 +26956,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,72,32                         ; movups        0x20(%rax),%xmm1
   DB  68,15,16,64,96                      ; movups        0x60(%rax),%xmm8
-  DB  15,88,13,208,18,0,0                 ; addps         0x12d0(%rip),%xmm1        # 68a0 <_sk_callback_sse2+0x12a8>
+  DB  15,88,13,200,20,0,0                 ; addps         0x14c8(%rip),%xmm1        # 70d0 <_sk_callback_sse2+0x14a0>
   DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
   DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
-  DB  68,15,89,5,208,18,0,0               ; mulps         0x12d0(%rip),%xmm8        # 68b0 <_sk_callback_sse2+0x12b8>
-  DB  68,15,88,5,216,18,0,0               ; addps         0x12d8(%rip),%xmm8        # 68c0 <_sk_callback_sse2+0x12c8>
+  DB  68,15,89,5,200,20,0,0               ; mulps         0x14c8(%rip),%xmm8        # 70e0 <_sk_callback_sse2+0x14b0>
+  DB  68,15,88,5,208,20,0,0               ; addps         0x14d0(%rip),%xmm8        # 70f0 <_sk_callback_sse2+0x14c0>
   DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
   DB  68,15,17,128,160,0,0,0              ; movups        %xmm8,0xa0(%rax)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -24894,11 +27178,11 @@
   DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%rdi)
   DB  0,224                               ; add           %ah,%al
   DB  64,0,0                              ; add           %al,(%rax)
-  DB  224,64                              ; loopne        58a8 <.literal16+0x1d8>
+  DB  224,64                              ; loopne        5ed8 <.literal16+0x1d8>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,64                              ; loopne        58ac <.literal16+0x1dc>
+  DB  224,64                              ; loopne        5edc <.literal16+0x1dc>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,64                              ; loopne        58b0 <.literal16+0x1e0>
+  DB  224,64                              ; loopne        5ee0 <.literal16+0x1e0>
   DB  154                                 ; (bad)
   DB  153                                 ; cltd
   DB  153                                 ; cltd
@@ -24918,13 +27202,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 58d1 <.literal16+0x201>
+  DB  71,225,61                           ; rex.RXB       loope 5f01 <.literal16+0x201>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 58d5 <.literal16+0x205>
+  DB  71,225,61                           ; rex.RXB       loope 5f05 <.literal16+0x205>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 58d9 <.literal16+0x209>
+  DB  71,225,61                           ; rex.RXB       loope 5f09 <.literal16+0x209>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 58dd <.literal16+0x20d>
+  DB  71,225,61                           ; rex.RXB       loope 5f0d <.literal16+0x20d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -24949,13 +27233,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5911 <.literal16+0x241>
+  DB  71,225,61                           ; rex.RXB       loope 5f41 <.literal16+0x241>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5915 <.literal16+0x245>
+  DB  71,225,61                           ; rex.RXB       loope 5f45 <.literal16+0x245>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5919 <.literal16+0x249>
+  DB  71,225,61                           ; rex.RXB       loope 5f49 <.literal16+0x249>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 591d <.literal16+0x24d>
+  DB  71,225,61                           ; rex.RXB       loope 5f4d <.literal16+0x24d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -24980,13 +27264,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5951 <.literal16+0x281>
+  DB  71,225,61                           ; rex.RXB       loope 5f81 <.literal16+0x281>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5955 <.literal16+0x285>
+  DB  71,225,61                           ; rex.RXB       loope 5f85 <.literal16+0x285>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5959 <.literal16+0x289>
+  DB  71,225,61                           ; rex.RXB       loope 5f89 <.literal16+0x289>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 595d <.literal16+0x28d>
+  DB  71,225,61                           ; rex.RXB       loope 5f8d <.literal16+0x28d>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -25011,13 +27295,13 @@
   DB  10,23                               ; or            (%rdi),%dl
   DB  63                                  ; (bad)
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5991 <.literal16+0x2c1>
+  DB  71,225,61                           ; rex.RXB       loope 5fc1 <.literal16+0x2c1>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5995 <.literal16+0x2c5>
+  DB  71,225,61                           ; rex.RXB       loope 5fc5 <.literal16+0x2c5>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 5999 <.literal16+0x2c9>
+  DB  71,225,61                           ; rex.RXB       loope 5fc9 <.literal16+0x2c9>
   DB  174                                 ; scas          %es:(%rdi),%al
-  DB  71,225,61                           ; rex.RXB       loope 599d <.literal16+0x2cd>
+  DB  71,225,61                           ; rex.RXB       loope 5fcd <.literal16+0x2cd>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -25038,11 +27322,11 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,127                    ; add           %al,0x7f00003f(%rax)
   DB  67,0,0                              ; rex.XB        add %al,(%r8)
-  DB  127,67                              ; jg            59db <.literal16+0x30b>
+  DB  127,67                              ; jg            600b <.literal16+0x30b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            59df <.literal16+0x30f>
+  DB  127,67                              ; jg            600f <.literal16+0x30f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            59e3 <.literal16+0x313>
+  DB  127,67                              ; jg            6013 <.literal16+0x313>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -25059,6 +27343,53 @@
   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,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,145                          ; cmpb          $0x91,(%rdi)
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
+  DB  145                                 ; xchg          %eax,%ecx
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
+  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,92                               ; ds            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  145                                 ; xchg          %eax,%ecx
   DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
   DB  145                                 ; xchg          %eax,%ecx
@@ -25282,13 +27613,13 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        5bc9 <.literal16+0x4f9>
+  DB  224,7                               ; loopne        6259 <.literal16+0x559>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5bcd <.literal16+0x4fd>
+  DB  224,7                               ; loopne        625d <.literal16+0x55d>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5bd1 <.literal16+0x501>
+  DB  224,7                               ; loopne        6261 <.literal16+0x561>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        5bd5 <.literal16+0x505>
+  DB  224,7                               ; loopne        6265 <.literal16+0x565>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -25353,11 +27684,11 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5cab <.literal16+0x5db>
+  DB  127,67                              ; jg            633b <.literal16+0x63b>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5caf <.literal16+0x5df>
+  DB  127,67                              ; jg            633f <.literal16+0x63f>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            5cb3 <.literal16+0x5e3>
+  DB  127,67                              ; jg            6343 <.literal16+0x643>
   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,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
@@ -25372,16 +27703,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5ca4 <.literal16+0x5d4>
+  DB  127,0                               ; jg            6334 <.literal16+0x634>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5ca8 <.literal16+0x5d8>
+  DB  127,0                               ; jg            6338 <.literal16+0x638>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5cac <.literal16+0x5dc>
+  DB  127,0                               ; jg            633c <.literal16+0x63c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5cb0 <.literal16+0x5e0>
+  DB  127,0                               ; jg            6340 <.literal16+0x640>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -25390,7 +27721,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5d35 <.literal16+0x665>
+  DB  119,115                             ; ja            63c5 <.literal16+0x6c5>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -25401,7 +27732,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5c99 <.literal16+0x5c9>
+  DB  117,191                             ; jne           6329 <.literal16+0x629>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -25413,7 +27744,7 @@
   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          ffffffffe9a39cda <_sk_callback_sse2+0xffffffffe9a346e2>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a36a <_sk_callback_sse2+0xffffffffe9a3473a>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
@@ -25467,16 +27798,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5d74 <.literal16+0x6a4>
+  DB  127,0                               ; jg            6404 <.literal16+0x704>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5d78 <.literal16+0x6a8>
+  DB  127,0                               ; jg            6408 <.literal16+0x708>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5d7c <.literal16+0x6ac>
+  DB  127,0                               ; jg            640c <.literal16+0x70c>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5d80 <.literal16+0x6b0>
+  DB  127,0                               ; jg            6410 <.literal16+0x710>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -25485,7 +27816,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5e05 <.literal16+0x735>
+  DB  119,115                             ; ja            6495 <.literal16+0x795>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -25496,7 +27827,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5d69 <.literal16+0x699>
+  DB  117,191                             ; jne           63f9 <.literal16+0x6f9>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -25508,7 +27839,7 @@
   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          ffffffffe9a39daa <_sk_callback_sse2+0xffffffffe9a347b2>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a43a <_sk_callback_sse2+0xffffffffe9a3480a>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
@@ -25562,16 +27893,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5e44 <.literal16+0x774>
+  DB  127,0                               ; jg            64d4 <.literal16+0x7d4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5e48 <.literal16+0x778>
+  DB  127,0                               ; jg            64d8 <.literal16+0x7d8>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5e4c <.literal16+0x77c>
+  DB  127,0                               ; jg            64dc <.literal16+0x7dc>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5e50 <.literal16+0x780>
+  DB  127,0                               ; jg            64e0 <.literal16+0x7e0>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -25580,7 +27911,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5ed5 <.literal16+0x805>
+  DB  119,115                             ; ja            6565 <.literal16+0x865>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -25591,7 +27922,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5e39 <.literal16+0x769>
+  DB  117,191                             ; jne           64c9 <.literal16+0x7c9>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -25603,7 +27934,7 @@
   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          ffffffffe9a39e7a <_sk_callback_sse2+0xffffffffe9a34882>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a50a <_sk_callback_sse2+0xffffffffe9a348da>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
@@ -25657,16 +27988,16 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  52,255                              ; xor           $0xff,%al
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5f14 <.literal16+0x844>
+  DB  127,0                               ; jg            65a4 <.literal16+0x8a4>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5f18 <.literal16+0x848>
+  DB  127,0                               ; jg            65a8 <.literal16+0x8a8>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5f1c <.literal16+0x84c>
+  DB  127,0                               ; jg            65ac <.literal16+0x8ac>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,0                               ; jg            5f20 <.literal16+0x850>
+  DB  127,0                               ; jg            65b0 <.literal16+0x8b0>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -25675,7 +28006,7 @@
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
-  DB  119,115                             ; ja            5fa5 <.literal16+0x8d5>
+  DB  119,115                             ; ja            6635 <.literal16+0x935>
   DB  248                                 ; clc
   DB  194,119,115                         ; retq          $0x7377
   DB  248                                 ; clc
@@ -25686,7 +28017,7 @@
   DB  194,117,191                         ; retq          $0xbf75
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
-  DB  117,191                             ; jne           5f09 <.literal16+0x839>
+  DB  117,191                             ; jne           6599 <.literal16+0x899>
   DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
   DB  63                                  ; (bad)
   DB  249                                 ; stc
@@ -25698,7 +28029,7 @@
   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          ffffffffe9a39f4a <_sk_callback_sse2+0xffffffffe9a34952>
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a3a5da <_sk_callback_sse2+0xffffffffe9a349aa>
   DB  220,63                              ; fdivrl        (%rdi)
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
@@ -25748,13 +28079,13 @@
   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  127,67                              ; jg            6027 <.literal16+0x957>
+  DB  127,67                              ; jg            66b7 <.literal16+0x9b7>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            602b <.literal16+0x95b>
+  DB  127,67                              ; jg            66bb <.literal16+0x9bb>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            602f <.literal16+0x95f>
+  DB  127,67                              ; jg            66bf <.literal16+0x9bf>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            6033 <.literal16+0x963>
+  DB  127,67                              ; jg            66c3 <.literal16+0x9c3>
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,195                               ; add           %al,%bl
   DB  0,0                                 ; add           %al,(%rax)
@@ -25801,16 +28132,16 @@
   DB  128,3,62                            ; addb          $0x3e,(%rbx)
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           60b3 <.literal16+0x9e3>
+  DB  118,63                              ; jbe           6743 <.literal16+0xa43>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           60b7 <.literal16+0x9e7>
+  DB  118,63                              ; jbe           6747 <.literal16+0xa47>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           60bb <.literal16+0x9eb>
+  DB  118,63                              ; jbe           674b <.literal16+0xa4b>
   DB  31                                  ; (bad)
   DB  215                                 ; xlat          %ds:(%rbx)
-  DB  118,63                              ; jbe           60bf <.literal16+0x9ef>
+  DB  118,63                              ; jbe           674f <.literal16+0xa4f>
   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)
@@ -25825,16 +28156,25 @@
   DB  0,0                                 ; add           %al,(%rax)
   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,255,0,0,0                ; addb          $0x0,0xff3b(%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  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,129,128,128,59           ; addb          $0x3b,-0x7f7f7ec5(%rax)
   DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
   DB  128,59,0                            ; cmpb          $0x0,(%rbx)
   DB  0,127,67                            ; add           %bh,0x43(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            610b <.literal16+0xa3b>
+  DB  127,67                              ; jg            67bb <.literal16+0xabb>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            610f <.literal16+0xa3f>
+  DB  127,67                              ; jg            67bf <.literal16+0xabf>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            6113 <.literal16+0xa43>
+  DB  127,67                              ; jg            67c3 <.literal16+0xac3>
   DB  255,0                               ; incl          (%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  255,0                               ; incl          (%rax)
@@ -25858,6 +28198,21 @@
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
   DB  63                                  ; (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  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,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
+  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  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,0,128,63               ; addb          $0x3f,-0x7fffffc5(%rax)
@@ -25890,13 +28245,13 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        6179 <.literal16+0xaa9>
+  DB  224,7                               ; loopne        6859 <.literal16+0xb59>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        617d <.literal16+0xaad>
+  DB  224,7                               ; loopne        685d <.literal16+0xb5d>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        6181 <.literal16+0xab1>
+  DB  224,7                               ; loopne        6861 <.literal16+0xb61>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        6185 <.literal16+0xab5>
+  DB  224,7                               ; loopne        6865 <.literal16+0xb65>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -25942,13 +28297,65 @@
   DB  132,55                              ; test          %dh,(%rdi)
   DB  8,33                                ; or            %ah,(%rcx)
   DB  132,55                              ; test          %dh,(%rdi)
-  DB  224,7                               ; loopne        61e9 <.literal16+0xb19>
+  DB  224,7                               ; loopne        68c9 <.literal16+0xbc9>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        61ed <.literal16+0xb1d>
+  DB  224,7                               ; loopne        68cd <.literal16+0xbcd>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        61f1 <.literal16+0xb21>
+  DB  224,7                               ; loopne        68d1 <.literal16+0xbd1>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  224,7                               ; loopne        61f5 <.literal16+0xb25>
+  DB  224,7                               ; loopne        68d5 <.literal16+0xbd5>
+  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  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,0                            ; cmpb          $0x0,(%rdi)
+  DB  248                                 ; clc
+  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  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        6939 <.literal16+0xc39>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        693d <.literal16+0xc3d>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        6941 <.literal16+0xc41>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        6945 <.literal16+0xc45>
   DB  0,0                                 ; add           %al,(%rax)
   DB  33,8                                ; and           %ecx,(%rax)
   DB  2,58                                ; add           (%rdx),%bh
@@ -25986,13 +28393,57 @@
   DB  65,0,0                              ; add           %al,(%r8)
   DB  248                                 ; clc
   DB  65,0,0                              ; add           %al,(%r8)
-  DB  124,66                              ; jl            6286 <.literal16+0xbb6>
+  DB  124,66                              ; jl            69d6 <.literal16+0xcd6>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            628a <.literal16+0xbba>
+  DB  124,66                              ; jl            69da <.literal16+0xcda>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            628e <.literal16+0xbbe>
+  DB  124,66                              ; jl            69de <.literal16+0xcde>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  124,66                              ; jl            6292 <.literal16+0xbc2>
+  DB  124,66                              ; jl            69e2 <.literal16+0xce2>
+  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,240                               ; add           %dh,%al
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,240                               ; add           %dh,%al
@@ -26082,13 +28533,13 @@
   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            6395 <.literal16+0xcc5>
+  DB  112,65                              ; jo            6b65 <.literal16+0xe65>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            6399 <.literal16+0xcc9>
+  DB  112,65                              ; jo            6b69 <.literal16+0xe69>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            639d <.literal16+0xccd>
+  DB  112,65                              ; jo            6b6d <.literal16+0xe6d>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  112,65                              ; jo            63a1 <.literal16+0xcd1>
+  DB  112,65                              ; jo            6b71 <.literal16+0xe71>
   DB  255,0                               ; incl          (%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  255,0                               ; incl          (%rax)
@@ -26108,13 +28559,22 @@
   DB  0,0                                 ; add           %al,(%rax)
   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,255,0,0,0                ; addb          $0x0,0xff3b(%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  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,0,127,67               ; addb          $0x43,0x7f00003b(%rax)
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            63eb <.literal16+0xd1b>
+  DB  127,67                              ; jg            6bdb <.literal16+0xedb>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            63ef <.literal16+0xd1f>
+  DB  127,67                              ; jg            6bdf <.literal16+0xedf>
   DB  0,0                                 ; add           %al,(%rax)
-  DB  127,67                              ; jg            63f3 <.literal16+0xd23>
+  DB  127,67                              ; jg            6be3 <.literal16+0xee3>
   DB  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)
@@ -26155,6 +28615,26 @@
   DB  128,0,4                             ; addb          $0x4,(%rax)
   DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
   DB  0,4,0                               ; add           %al,(%rax,%rax,1)
+  DB  128,0,128                           ; addb          $0x80,(%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  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
+  DB  0,56                                ; add           %bh,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,56                                ; add           %bh,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,56                                ; add           %bh,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,56                                ; add           %bh,(%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  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
+  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
+  DB  128,0,4                             ; addb          $0x4,(%rax)
+  DB  0,128,0,4,0,128                     ; add           %al,-0x7ffffc00(%rax)
+  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
   DB  128,0,0                             ; addb          $0x0,(%rax)
   DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -26190,13 +28670,13 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  255                                 ; (bad)
-  DB  127,71                              ; jg            64db <.literal16+0xe0b>
+  DB  127,71                              ; jg            6d0b <.literal16+0x100b>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            64df <.literal16+0xe0f>
+  DB  127,71                              ; jg            6d0f <.literal16+0x100f>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            64e3 <.literal16+0xe13>
+  DB  127,71                              ; jg            6d13 <.literal16+0x1013>
   DB  0,255                               ; add           %bh,%bh
-  DB  127,71                              ; jg            64e7 <.literal16+0xe17>
+  DB  127,71                              ; jg            6d17 <.literal16+0x1017>
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,0                            ; cmpb          $0x0,(%rdi)
   DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
@@ -26273,10 +28753,10 @@
   DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
   DB  152                                 ; cwtl
   DB  221,147,61,45,16,17                 ; fstl          0x11102d3d(%rbx)
-  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110(%rip)        # 2dc0767a <_sk_callback_sse2+0x2dc02082>
+  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110(%rip)        # 2dc07eaa <_sk_callback_sse2+0x2dc0227a>
   DB  17,192                              ; adc           %eax,%eax
   DB  45,16,17,192,18                     ; sub           $0x12c01110,%eax
-  DB  120,57                              ; js            65ac <.literal16+0xedc>
+  DB  120,57                              ; js            6ddc <.literal16+0x10dc>
   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
@@ -26404,11 +28884,11 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,114                          ; cmpb          $0x72,(%rdi)
   DB  28,199                              ; sbb           $0xc7,%al
-  DB  62,114,28                           ; jb,pt         66f2 <.literal16+0x1022>
+  DB  62,114,28                           ; jb,pt         6f22 <.literal16+0x1222>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         66f6 <.literal16+0x1026>
+  DB  62,114,28                           ; jb,pt         6f26 <.literal16+0x1226>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         66fa <.literal16+0x102a>
+  DB  62,114,28                           ; jb,pt         6f2a <.literal16+0x122a>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -26452,7 +28932,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
-  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f585 <_sk_callback_sse2+0x3d639f8d>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63fdb5 <_sk_callback_sse2+0x3d63a185>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -26478,7 +28958,7 @@
   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        # 3d63f5c5 <_sk_callback_sse2+0x3d639fcd>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63fdf5 <_sk_callback_sse2+0x3d63a1c5>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
@@ -26487,13 +28967,13 @@
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
   DB  63                                  ; (bad)
-  DB  114,28                              ; jb            67be <.literal16+0x10ee>
+  DB  114,28                              ; jb            6fee <.literal16+0x12ee>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         67c2 <.literal16+0x10f2>
+  DB  62,114,28                           ; jb,pt         6ff2 <.literal16+0x12f2>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         67c6 <.literal16+0x10f6>
+  DB  62,114,28                           ; jb,pt         6ff6 <.literal16+0x12f6>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         67ca <.literal16+0x10fa>
+  DB  62,114,28                           ; jb,pt         6ffa <.literal16+0x12fa>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -26514,11 +28994,11 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  128,63,114                          ; cmpb          $0x72,(%rdi)
   DB  28,199                              ; sbb           $0xc7,%al
-  DB  62,114,28                           ; jb,pt         6802 <.literal16+0x1132>
+  DB  62,114,28                           ; jb,pt         7032 <.literal16+0x1332>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         6806 <.literal16+0x1136>
+  DB  62,114,28                           ; jb,pt         7036 <.literal16+0x1336>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         680a <.literal16+0x113a>
+  DB  62,114,28                           ; jb,pt         703a <.literal16+0x133a>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -26562,7 +29042,7 @@
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
-  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63f695 <_sk_callback_sse2+0x3d63a09d>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63fec5 <_sk_callback_sse2+0x3d63a295>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  0,63                                ; add           %bh,(%rdi)
   DB  0,0                                 ; add           %al,(%rax)
@@ -26588,7 +29068,7 @@
   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        # 3d63f6d5 <_sk_callback_sse2+0x3d63a0dd>
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d63ff05 <_sk_callback_sse2+0x3d63a2d5>
   DB  57,142,99,61,0,0                    ; cmp           %ecx,0x3d63(%rsi)
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
@@ -26597,13 +29077,13 @@
   DB  192,63,0                            ; sarb          $0x0,(%rdi)
   DB  0,192                               ; add           %al,%al
   DB  63                                  ; (bad)
-  DB  114,28                              ; jb            68ce <.literal16+0x11fe>
+  DB  114,28                              ; jb            70fe <.literal16+0x13fe>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         68d2 <_sk_callback_sse2+0x12da>
+  DB  62,114,28                           ; jb,pt         7102 <_sk_callback_sse2+0x14d2>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         68d6 <_sk_callback_sse2+0x12de>
+  DB  62,114,28                           ; jb,pt         7106 <_sk_callback_sse2+0x14d6>
   DB  199                                 ; (bad)
-  DB  62,114,28                           ; jb,pt         68da <_sk_callback_sse2+0x12e2>
+  DB  62,114,28                           ; jb,pt         710a <_sk_callback_sse2+0x14da>
   DB  199                                 ; (bad)
   DB  62,171                              ; ds            stos %eax,%es:(%rdi)
   DB  170                                 ; stos          %al,%es:(%rdi)
@@ -26708,7 +29188,7 @@
 PUBLIC _sk_constant_color_hsw_lowp
 _sk_constant_color_hsw_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,121,24,5,130,21,0,0         ; vbroadcastss  0x1582(%rip),%xmm0        # 16b8 <_sk_xor__hsw_lowp+0x78>
+  DB  196,226,121,24,5,158,26,0,0         ; vbroadcastss  0x1a9e(%rip),%xmm0        # 1bd4 <_sk_xor__hsw_lowp+0x78>
   DB  197,248,88,24                       ; vaddps        (%rax),%xmm0,%xmm3
   DB  196,226,125,121,195                 ; vpbroadcastw  %xmm3,%ymm0
   DB  197,251,112,203,234                 ; vpshuflw      $0xea,%xmm3,%xmm1
@@ -26725,7 +29205,7 @@
 PUBLIC _sk_set_rgb_hsw_lowp
 _sk_set_rgb_hsw_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  197,250,16,21,69,21,0,0             ; vmovss        0x1545(%rip),%xmm2        # 16bc <_sk_xor__hsw_lowp+0x7c>
+  DB  197,250,16,21,97,26,0,0             ; vmovss        0x1a61(%rip),%xmm2        # 1bd8 <_sk_xor__hsw_lowp+0x7c>
   DB  197,234,88,0                        ; vaddss        (%rax),%xmm2,%xmm0
   DB  196,193,121,126,193                 ; vmovd         %xmm0,%r9d
   DB  196,193,121,110,193                 ; vmovd         %r9d,%xmm0
@@ -26760,16 +29240,16 @@
   DB  15,133,210,0,0,0                    ; jne           2b6 <_sk_load_8888_hsw_lowp+0xe0>
   DB  196,193,126,111,92,147,32           ; vmovdqu       0x20(%r11,%rdx,4),%ymm3
   DB  196,65,126,111,4,147                ; vmovdqu       (%r11,%rdx,4),%ymm8
-  DB  197,253,111,5,231,20,0,0            ; vmovdqa       0x14e7(%rip),%ymm0        # 16e0 <_sk_xor__hsw_lowp+0xa0>
+  DB  197,253,111,5,7,26,0,0              ; vmovdqa       0x1a07(%rip),%ymm0        # 1c00 <_sk_xor__hsw_lowp+0xa4>
   DB  196,226,61,0,200                    ; vpshufb       %ymm0,%ymm8,%ymm1
   DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
   DB  196,226,101,0,192                   ; vpshufb       %ymm0,%ymm3,%ymm0
   DB  196,227,253,0,192,232               ; vpermq        $0xe8,%ymm0,%ymm0
   DB  196,227,117,56,192,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm0
   DB  197,253,113,240,8                   ; vpsllw        $0x8,%ymm0,%ymm0
-  DB  196,98,125,121,13,221,20,0,0        ; vpbroadcastw  0x14dd(%rip),%ymm9        # 1700 <_sk_xor__hsw_lowp+0xc0>
+  DB  196,98,125,121,13,253,25,0,0        ; vpbroadcastw  0x19fd(%rip),%ymm9        # 1c20 <_sk_xor__hsw_lowp+0xc4>
   DB  196,193,125,228,193                 ; vpmulhuw      %ymm9,%ymm0,%ymm0
-  DB  197,253,111,13,240,20,0,0           ; vmovdqa       0x14f0(%rip),%ymm1        # 1720 <_sk_xor__hsw_lowp+0xe0>
+  DB  197,253,111,13,16,26,0,0            ; vmovdqa       0x1a10(%rip),%ymm1        # 1c40 <_sk_xor__hsw_lowp+0xe4>
   DB  196,226,61,0,209                    ; vpshufb       %ymm1,%ymm8,%ymm2
   DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
   DB  196,226,101,0,201                   ; vpshufb       %ymm1,%ymm3,%ymm1
@@ -26777,7 +29257,7 @@
   DB  196,227,109,56,201,1                ; vinserti128   $0x1,%xmm1,%ymm2,%ymm1
   DB  197,245,113,241,8                   ; vpsllw        $0x8,%ymm1,%ymm1
   DB  196,193,117,228,201                 ; vpmulhuw      %ymm9,%ymm1,%ymm1
-  DB  197,253,111,21,226,20,0,0           ; vmovdqa       0x14e2(%rip),%ymm2        # 1740 <_sk_xor__hsw_lowp+0x100>
+  DB  197,253,111,21,2,26,0,0             ; vmovdqa       0x1a02(%rip),%ymm2        # 1c60 <_sk_xor__hsw_lowp+0x104>
   DB  196,98,61,0,210                     ; vpshufb       %ymm2,%ymm8,%ymm10
   DB  196,67,253,0,210,232                ; vpermq        $0xe8,%ymm10,%ymm10
   DB  196,226,101,0,210                   ; vpshufb       %ymm2,%ymm3,%ymm2
@@ -26785,7 +29265,7 @@
   DB  196,227,45,56,210,1                 ; vinserti128   $0x1,%xmm2,%ymm10,%ymm2
   DB  197,237,113,242,8                   ; vpsllw        $0x8,%ymm2,%ymm2
   DB  196,193,109,228,209                 ; vpmulhuw      %ymm9,%ymm2,%ymm2
-  DB  197,125,111,21,212,20,0,0           ; vmovdqa       0x14d4(%rip),%ymm10        # 1760 <_sk_xor__hsw_lowp+0x120>
+  DB  197,125,111,21,244,25,0,0           ; vmovdqa       0x19f4(%rip),%ymm10        # 1c80 <_sk_xor__hsw_lowp+0x124>
   DB  196,66,61,0,194                     ; vpshufb       %ymm10,%ymm8,%ymm8
   DB  196,67,253,0,192,232                ; vpermq        $0xe8,%ymm8,%ymm8
   DB  196,194,101,0,218                   ; vpshufb       %ymm10,%ymm3,%ymm3
@@ -26891,12 +29371,153 @@
   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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,210,0,0,0                    ; jne           518 <_sk_load_8888_dst_hsw_lowp+0xe0>
+  DB  196,193,126,111,124,147,32          ; vmovdqu       0x20(%r11,%rdx,4),%ymm7
+  DB  196,65,126,111,4,147                ; vmovdqu       (%r11,%rdx,4),%ymm8
+  DB  197,253,111,37,69,24,0,0            ; vmovdqa       0x1845(%rip),%ymm4        # 1ca0 <_sk_xor__hsw_lowp+0x144>
+  DB  196,226,61,0,236                    ; vpshufb       %ymm4,%ymm8,%ymm5
+  DB  196,227,253,0,237,232               ; vpermq        $0xe8,%ymm5,%ymm5
+  DB  196,226,69,0,228                    ; vpshufb       %ymm4,%ymm7,%ymm4
+  DB  196,227,253,0,228,232               ; vpermq        $0xe8,%ymm4,%ymm4
+  DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  197,221,113,244,8                   ; vpsllw        $0x8,%ymm4,%ymm4
+  DB  196,98,125,121,13,59,24,0,0         ; vpbroadcastw  0x183b(%rip),%ymm9        # 1cc0 <_sk_xor__hsw_lowp+0x164>
+  DB  196,193,93,228,225                  ; vpmulhuw      %ymm9,%ymm4,%ymm4
+  DB  197,253,111,45,78,24,0,0            ; vmovdqa       0x184e(%rip),%ymm5        # 1ce0 <_sk_xor__hsw_lowp+0x184>
+  DB  196,226,61,0,245                    ; vpshufb       %ymm5,%ymm8,%ymm6
+  DB  196,227,253,0,246,232               ; vpermq        $0xe8,%ymm6,%ymm6
+  DB  196,226,69,0,237                    ; vpshufb       %ymm5,%ymm7,%ymm5
+  DB  196,227,253,0,237,232               ; vpermq        $0xe8,%ymm5,%ymm5
+  DB  196,227,77,56,237,1                 ; vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  DB  197,213,113,245,8                   ; vpsllw        $0x8,%ymm5,%ymm5
+  DB  196,193,85,228,233                  ; vpmulhuw      %ymm9,%ymm5,%ymm5
+  DB  197,253,111,53,64,24,0,0            ; vmovdqa       0x1840(%rip),%ymm6        # 1d00 <_sk_xor__hsw_lowp+0x1a4>
+  DB  196,98,61,0,214                     ; vpshufb       %ymm6,%ymm8,%ymm10
+  DB  196,67,253,0,210,232                ; vpermq        $0xe8,%ymm10,%ymm10
+  DB  196,226,69,0,246                    ; vpshufb       %ymm6,%ymm7,%ymm6
+  DB  196,227,253,0,246,232               ; vpermq        $0xe8,%ymm6,%ymm6
+  DB  196,227,45,56,246,1                 ; vinserti128   $0x1,%xmm6,%ymm10,%ymm6
+  DB  197,205,113,246,8                   ; vpsllw        $0x8,%ymm6,%ymm6
+  DB  196,193,77,228,241                  ; vpmulhuw      %ymm9,%ymm6,%ymm6
+  DB  197,125,111,21,50,24,0,0            ; vmovdqa       0x1832(%rip),%ymm10        # 1d20 <_sk_xor__hsw_lowp+0x1c4>
+  DB  196,66,61,0,194                     ; vpshufb       %ymm10,%ymm8,%ymm8
+  DB  196,67,253,0,192,232                ; vpermq        $0xe8,%ymm8,%ymm8
+  DB  196,194,69,0,250                    ; vpshufb       %ymm10,%ymm7,%ymm7
+  DB  196,227,253,0,255,232               ; vpermq        $0xe8,%ymm7,%ymm7
+  DB  196,227,61,56,255,1                 ; vinserti128   $0x1,%xmm7,%ymm8,%ymm7
+  DB  197,197,113,247,8                   ; vpsllw        $0x8,%ymm7,%ymm7
+  DB  196,193,69,228,249                  ; vpmulhuw      %ymm9,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,15                       ; and           $0xf,%r9b
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,14                       ; cmp           $0xe,%r9b
+  DB  15,135,30,255,255,255               ; ja            453 <_sk_load_8888_dst_hsw_lowp+0x1b>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,28,1,0,0                  ; lea           0x11c(%rip),%r10        # 65c <_sk_load_8888_dst_hsw_lowp+0x224>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,110,4,147                ; vmovd         (%r11,%rdx,4),%xmm8
+  DB  233,255,254,255,255                 ; jmpq          453 <_sk_load_8888_dst_hsw_lowp+0x1b>
+  DB  196,193,121,110,100,147,8           ; vmovd         0x8(%r11,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,99,69,2,196,4                   ; vpblendd      $0x4,%ymm4,%ymm7,%ymm8
+  DB  196,194,121,53,36,147               ; vpmovzxdq     (%r11,%rdx,4),%xmm4
+  DB  197,249,112,228,232                 ; vpshufd       $0xe8,%xmm4,%xmm4
+  DB  196,99,61,2,196,3                   ; vpblendd      $0x3,%ymm4,%ymm8,%ymm8
+  DB  233,211,254,255,255                 ; jmpq          453 <_sk_load_8888_dst_hsw_lowp+0x1b>
+  DB  196,193,121,110,100,147,24          ; vmovd         0x18(%r11,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,99,69,2,196,64                  ; vpblendd      $0x40,%ymm4,%ymm7,%ymm8
+  DB  196,99,125,57,196,1                 ; vextracti128  $0x1,%ymm8,%xmm4
+  DB  196,195,89,34,100,147,20,1          ; vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4
+  DB  196,99,61,56,196,1                  ; vinserti128   $0x1,%xmm4,%ymm8,%ymm8
+  DB  196,99,125,57,196,1                 ; vextracti128  $0x1,%ymm8,%xmm4
+  DB  196,195,89,34,100,147,16,0          ; vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4
+  DB  196,99,61,56,196,1                  ; vinserti128   $0x1,%xmm4,%ymm8,%ymm8
+  DB  196,193,122,111,36,147              ; vmovdqu       (%r11,%rdx,4),%xmm4
+  DB  196,67,93,2,192,240                 ; vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
+  DB  233,132,254,255,255                 ; jmpq          453 <_sk_load_8888_dst_hsw_lowp+0x1b>
+  DB  196,193,121,110,100,147,40          ; vmovd         0x28(%r11,%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,195,65,34,100,147,36,1          ; vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4
+  DB  196,227,69,2,252,15                 ; vpblendd      $0xf,%ymm4,%ymm7,%ymm7
+  DB  196,193,121,110,100,147,32          ; vmovd         0x20(%r11,%rdx,4),%xmm4
+  DB  196,227,69,2,252,1                  ; vpblendd      $0x1,%ymm4,%ymm7,%ymm7
+  DB  233,72,254,255,255                  ; jmpq          44d <_sk_load_8888_dst_hsw_lowp+0x15>
+  DB  196,193,121,110,100,147,56          ; vmovd         0x38(%r11,%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,147,52,1          ; vpinsrd       $0x1,0x34(%r11,%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,147,48,0          ; vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,65,126,111,4,147                ; vmovdqu       (%r11,%rdx,4),%ymm8
+  DB  196,193,122,111,100,147,32          ; vmovdqu       0x20(%r11,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,248,253,255,255                 ; jmpq          453 <_sk_load_8888_dst_hsw_lowp+0x1b>
+  DB  144                                 ; nop
+  DB  237                                 ; in            (%dx),%eax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  248                                 ; clc
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,98,255                          ; jmpq          *-0x1(%rdx)
+  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,36,255                          ; jmpq          *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,241                             ; push          %rcx
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,151,255,255,255,137             ; callq         *-0x76000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,115,255                         ; pushq         -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,169                 ; mov           $0xa9ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  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,139,24                           ; mov           (%rax),%r11
   DB  197,189,113,208,7                   ; vpsrlw        $0x7,%ymm0,%ymm8
-  DB  196,98,125,121,13,53,19,0,0         ; vpbroadcastw  0x1335(%rip),%ymm9        # 1780 <_sk_xor__hsw_lowp+0x140>
+  DB  196,98,125,121,13,149,22,0,0        ; vpbroadcastw  0x1695(%rip),%ymm9        # 1d40 <_sk_xor__hsw_lowp+0x1e4>
   DB  196,65,61,234,193                   ; vpminsw       %ymm9,%ymm8,%ymm8
   DB  196,66,125,51,208                   ; vpmovzxwd     %xmm8,%ymm10
   DB  196,67,125,57,192,1                 ; vextracti128  $0x1,%ymm8,%xmm8
@@ -26929,7 +29550,7 @@
   DB  196,65,29,235,198                   ; vpor          %ymm14,%ymm12,%ymm8
   DB  196,65,45,235,192                   ; vpor          %ymm8,%ymm10,%ymm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,17                              ; jne           506 <_sk_store_8888_hsw_lowp+0xce>
+  DB  117,17                              ; jne           766 <_sk_store_8888_hsw_lowp+0xce>
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
   DB  196,65,126,127,76,147,32            ; vmovdqu       %ymm9,0x20(%r11,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -26938,17 +29559,17 @@
   DB  65,128,225,15                       ; and           $0xf,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,236                             ; ja            502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  119,236                             ; ja            762 <_sk_store_8888_hsw_lowp+0xca>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,175,0,0,0                 ; lea           0xaf(%rip),%r10        # 5d0 <_sk_store_8888_hsw_lowp+0x198>
+  DB  76,141,21,175,0,0,0                 ; lea           0xaf(%rip),%r10        # 830 <_sk_store_8888_hsw_lowp+0x198>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,126,4,147                ; vmovd         %xmm8,(%r11,%rdx,4)
-  DB  235,208                             ; jmp           502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  235,208                             ; jmp           762 <_sk_store_8888_hsw_lowp+0xca>
   DB  196,67,121,22,68,147,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
   DB  196,65,121,214,4,147                ; vmovq         %xmm8,(%r11,%rdx,4)
-  DB  235,192                             ; jmp           502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  235,192                             ; jmp           762 <_sk_store_8888_hsw_lowp+0xca>
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,67,121,22,76,147,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
@@ -26956,12 +29577,12 @@
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,65,121,126,76,147,16            ; vmovd         %xmm9,0x10(%r11,%rdx,4)
   DB  196,65,122,127,4,147                ; vmovdqu       %xmm8,(%r11,%rdx,4)
-  DB  235,143                             ; jmp           502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  235,143                             ; jmp           762 <_sk_store_8888_hsw_lowp+0xca>
   DB  196,67,121,22,76,147,40,2           ; vpextrd       $0x2,%xmm9,0x28(%r11,%rdx,4)
   DB  196,67,121,22,76,147,36,1           ; vpextrd       $0x1,%xmm9,0x24(%r11,%rdx,4)
   DB  196,65,121,126,76,147,32            ; vmovd         %xmm9,0x20(%r11,%rdx,4)
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
-  DB  233,109,255,255,255                 ; jmpq          502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  233,109,255,255,255                 ; jmpq          762 <_sk_store_8888_hsw_lowp+0xca>
   DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
   DB  196,67,121,22,84,147,56,2           ; vpextrd       $0x2,%xmm10,0x38(%r11,%rdx,4)
   DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
@@ -26970,7 +29591,7 @@
   DB  196,65,121,126,84,147,48            ; vmovd         %xmm10,0x30(%r11,%rdx,4)
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
   DB  196,65,122,127,76,147,32            ; vmovdqu       %xmm9,0x20(%r11,%rdx,4)
-  DB  233,50,255,255,255                  ; jmpq          502 <_sk_store_8888_hsw_lowp+0xca>
+  DB  233,50,255,255,255                  ; jmpq          762 <_sk_store_8888_hsw_lowp+0xca>
   DB  90                                  ; pop           %rdx
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -27011,11 +29632,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,45                              ; jne           643 <_sk_load_a8_hsw_lowp+0x37>
+  DB  117,45                              ; jne           8a3 <_sk_load_a8_hsw_lowp+0x37>
   DB  196,193,122,111,4,19                ; vmovdqu       (%r11,%rdx,1),%xmm0
   DB  196,226,125,48,192                  ; vpmovzxbw     %xmm0,%ymm0
   DB  197,253,113,240,8                   ; vpsllw        $0x8,%ymm0,%ymm0
-  DB  196,226,125,121,13,83,17,0,0        ; vpbroadcastw  0x1153(%rip),%ymm1        # 1782 <_sk_xor__hsw_lowp+0x142>
+  DB  196,226,125,121,13,179,20,0,0       ; vpbroadcastw  0x14b3(%rip),%ymm1        # 1d42 <_sk_xor__hsw_lowp+0x1e6>
   DB  197,253,228,217                     ; vpmulhuw      %ymm1,%ymm0,%ymm3
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
@@ -27027,35 +29648,35 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,197                             ; ja            61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  119,197                             ; ja            87c <_sk_load_a8_hsw_lowp+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,194,0,0,0                 ; lea           0xc2(%rip),%r10        # 724 <_sk_load_a8_hsw_lowp+0x118>
+  DB  76,141,21,194,0,0,0                 ; lea           0xc2(%rip),%r10        # 984 <_sk_load_a8_hsw_lowp+0x118>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,166                             ; jmp           61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  235,166                             ; jmp           87c <_sk_load_a8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,2,2            ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
   DB  65,15,183,4,19                      ; movzwl        (%r11,%rdx,1),%eax
   DB  197,249,110,200                     ; vmovd         %eax,%xmm1
   DB  196,227,121,14,193,1                ; vpblendw      $0x1,%xmm1,%xmm0,%xmm0
-  DB  235,137                             ; jmp           61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  235,137                             ; jmp           87c <_sk_load_a8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,6,6            ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,5,5            ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,4,4            ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%rdx,1),%xmm1
   DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  DB  233,92,255,255,255                  ; jmpq          61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  233,92,255,255,255                  ; jmpq          87c <_sk_load_a8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,10,10          ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,9,9            ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,8,8            ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,193,122,126,12,19               ; vmovq         (%r11,%rdx,1),%xmm1
   DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  DB  233,47,255,255,255                  ; jmpq          61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  233,47,255,255,255                  ; jmpq          87c <_sk_load_a8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,14,14          ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,13,13          ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
@@ -27063,7 +29684,7 @@
   DB  196,193,122,126,12,19               ; vmovq         (%r11,%rdx,1),%xmm1
   DB  196,195,113,34,76,19,8,2            ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
   DB  196,227,113,2,192,8                 ; vpblendd      $0x8,%xmm0,%xmm1,%xmm0
-  DB  233,250,254,255,255                 ; jmpq          61c <_sk_load_a8_hsw_lowp+0x10>
+  DB  233,250,254,255,255                 ; jmpq          87c <_sk_load_a8_hsw_lowp+0x10>
   DB  102,144                             ; xchg          %ax,%ax
   DB  71,255                              ; rex.RXB       (bad)
   DB  255                                 ; (bad)
@@ -27075,7 +29696,101 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  123,255                             ; jnp           739 <_sk_load_a8_hsw_lowp+0x12d>
+  DB  123,255                             ; jnp           999 <_sk_load_a8_hsw_lowp+0x12d>
+  DB  255                                 ; (bad)
+  DB  255,111,255                         ; ljmp          *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  184,255,255,255,176                 ; mov           $0xb0ffffff,%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,156             ; ljmp          *-0x63000001(%rax)
+  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,213                             ; callq         *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,45                              ; jne           9f7 <_sk_load_a8_dst_hsw_lowp+0x37>
+  DB  196,193,122,111,36,19               ; vmovdqu       (%r11,%rdx,1),%xmm4
+  DB  196,226,125,48,228                  ; vpmovzxbw     %xmm4,%ymm4
+  DB  197,221,113,244,8                   ; vpsllw        $0x8,%ymm4,%ymm4
+  DB  196,226,125,121,45,97,19,0,0        ; vpbroadcastw  0x1361(%rip),%ymm5        # 1d44 <_sk_xor__hsw_lowp+0x1e8>
+  DB  197,221,228,253                     ; vpmulhuw      %ymm5,%ymm4,%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  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,15                       ; and           $0xf,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,14                       ; cmp           $0xe,%r9b
+  DB  119,197                             ; ja            9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,194,0,0,0                 ; lea           0xc2(%rip),%r10        # ad8 <_sk_load_a8_dst_hsw_lowp+0x118>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,166                             ; jmp           9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,2,2            ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
+  DB  65,15,183,4,19                      ; movzwl        (%r11,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,227,89,14,229,1                 ; vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  DB  235,137                             ; jmp           9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,6,6            ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,5,5            ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,4,4            ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%rdx,1),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,92,255,255,255                  ; jmpq          9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,10,10          ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,9,9            ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,8,8            ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,19               ; vmovq         (%r11,%rdx,1),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,47,255,255,255                  ; jmpq          9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,14,14          ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,13,13          ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,12,12          ; vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,19               ; vmovq         (%r11,%rdx,1),%xmm5
+  DB  196,195,81,34,108,19,8,2            ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
+  DB  196,227,81,2,228,8                  ; vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  DB  233,250,254,255,255                 ; jmpq          9d0 <_sk_load_a8_dst_hsw_lowp+0x10>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  71,255                              ; rex.RXB       (bad)
+  DB  255                                 ; (bad)
+  DB  255,94,255                          ; lcall         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,82,255                          ; callq         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,139,255,255,255,131             ; decl          -0x7c000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           aed <_sk_load_a8_dst_hsw_lowp+0x12d>
   DB  255                                 ; (bad)
   DB  255,111,255                         ; ljmp          *-0x1(%rdi)
   DB  255                                 ; (bad)
@@ -27108,7 +29823,7 @@
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,65,57,103,193                   ; vpackuswb     %xmm9,%xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,10                              ; jne           784 <_sk_store_a8_hsw_lowp+0x24>
+  DB  117,10                              ; jne           b38 <_sk_store_a8_hsw_lowp+0x24>
   DB  196,65,122,127,4,19                 ; vmovdqu       %xmm8,(%r11,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  255,224                             ; jmpq          *%rax
@@ -27116,32 +29831,32 @@
   DB  65,128,225,15                       ; and           $0xf,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,236                             ; ja            780 <_sk_store_a8_hsw_lowp+0x20>
+  DB  119,236                             ; ja            b34 <_sk_store_a8_hsw_lowp+0x20>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,137,0,0,0                 ; lea           0x89(%rip),%r10        # 828 <_sk_store_a8_hsw_lowp+0xc8>
+  DB  76,141,21,137,0,0,0                 ; lea           0x89(%rip),%r10        # bdc <_sk_store_a8_hsw_lowp+0xc8>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,67,121,20,4,19,0                ; vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,207                             ; jmp           780 <_sk_store_a8_hsw_lowp+0x20>
+  DB  235,207                             ; jmp           b34 <_sk_store_a8_hsw_lowp+0x20>
   DB  196,67,121,20,68,19,2,2             ; vpextrb       $0x2,%xmm8,0x2(%r11,%rdx,1)
   DB  196,67,121,21,4,19,0                ; vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
-  DB  235,190                             ; jmp           780 <_sk_store_a8_hsw_lowp+0x20>
+  DB  235,190                             ; jmp           b34 <_sk_store_a8_hsw_lowp+0x20>
   DB  196,67,121,20,68,19,6,6             ; vpextrb       $0x6,%xmm8,0x6(%r11,%rdx,1)
   DB  196,67,121,20,68,19,5,5             ; vpextrb       $0x5,%xmm8,0x5(%r11,%rdx,1)
   DB  196,67,121,20,68,19,4,4             ; vpextrb       $0x4,%xmm8,0x4(%r11,%rdx,1)
   DB  196,65,121,126,4,19                 ; vmovd         %xmm8,(%r11,%rdx,1)
-  DB  235,158                             ; jmp           780 <_sk_store_a8_hsw_lowp+0x20>
+  DB  235,158                             ; jmp           b34 <_sk_store_a8_hsw_lowp+0x20>
   DB  196,67,121,20,68,19,10,10           ; vpextrb       $0xa,%xmm8,0xa(%r11,%rdx,1)
   DB  196,67,121,20,68,19,9,9             ; vpextrb       $0x9,%xmm8,0x9(%r11,%rdx,1)
   DB  196,67,121,20,68,19,8,8             ; vpextrb       $0x8,%xmm8,0x8(%r11,%rdx,1)
-  DB  235,32                              ; jmp           81c <_sk_store_a8_hsw_lowp+0xbc>
+  DB  235,32                              ; jmp           bd0 <_sk_store_a8_hsw_lowp+0xbc>
   DB  196,67,121,20,68,19,14,14           ; vpextrb       $0xe,%xmm8,0xe(%r11,%rdx,1)
   DB  196,67,121,20,68,19,13,13           ; vpextrb       $0xd,%xmm8,0xd(%r11,%rdx,1)
   DB  196,67,121,20,68,19,12,12           ; vpextrb       $0xc,%xmm8,0xc(%r11,%rdx,1)
   DB  196,67,121,22,68,19,8,2             ; vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,1)
   DB  196,65,121,214,4,19                 ; vmovq         %xmm8,(%r11,%rdx,1)
-  DB  233,89,255,255,255                  ; jmpq          780 <_sk_store_a8_hsw_lowp+0x20>
+  DB  233,89,255,255,255                  ; jmpq          b34 <_sk_store_a8_hsw_lowp+0x20>
   DB  144                                 ; nop
   DB  128,255,255                         ; cmp           $0xff,%bh
   DB  255,145,255,255,255,137             ; callq         *-0x76000001(%rcx)
@@ -27182,14 +29897,14 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,50                              ; jne           8a0 <_sk_load_g8_hsw_lowp+0x3c>
+  DB  117,50                              ; jne           c54 <_sk_load_g8_hsw_lowp+0x3c>
   DB  196,193,122,111,4,19                ; vmovdqu       (%r11,%rdx,1),%xmm0
   DB  196,226,125,48,192                  ; vpmovzxbw     %xmm0,%ymm0
   DB  197,253,113,240,8                   ; vpsllw        $0x8,%ymm0,%ymm0
-  DB  196,226,125,121,13,253,14,0,0       ; vpbroadcastw  0xefd(%rip),%ymm1        # 1784 <_sk_xor__hsw_lowp+0x144>
+  DB  196,226,125,121,13,11,17,0,0        ; vpbroadcastw  0x110b(%rip),%ymm1        # 1d46 <_sk_xor__hsw_lowp+0x1ea>
   DB  197,253,228,193                     ; vpmulhuw      %ymm1,%ymm0,%ymm0
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  196,226,125,121,29,240,14,0,0       ; vpbroadcastw  0xef0(%rip),%ymm3        # 1786 <_sk_xor__hsw_lowp+0x146>
+  DB  196,226,125,121,29,254,16,0,0       ; vpbroadcastw  0x10fe(%rip),%ymm3        # 1d48 <_sk_xor__hsw_lowp+0x1ec>
   DB  197,253,111,200                     ; vmovdqa       %ymm0,%ymm1
   DB  197,253,111,208                     ; vmovdqa       %ymm0,%ymm2
   DB  255,224                             ; jmpq          *%rax
@@ -27198,35 +29913,35 @@
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,192                             ; ja            874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  119,192                             ; ja            c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,193,0,0,0                 ; lea           0xc1(%rip),%r10        # 980 <_sk_load_g8_hsw_lowp+0x11c>
+  DB  76,141,21,193,0,0,0                 ; lea           0xc1(%rip),%r10        # d34 <_sk_load_g8_hsw_lowp+0x11c>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,249,110,192                     ; vmovd         %eax,%xmm0
-  DB  235,161                             ; jmp           874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  235,161                             ; jmp           c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,2,2            ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
   DB  65,15,183,4,19                      ; movzwl        (%r11,%rdx,1),%eax
   DB  197,249,110,200                     ; vmovd         %eax,%xmm1
   DB  196,227,121,14,193,1                ; vpblendw      $0x1,%xmm1,%xmm0,%xmm0
-  DB  235,132                             ; jmp           874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  235,132                             ; jmp           c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,6,6            ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,5,5            ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,4,4            ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,193,121,110,12,19               ; vmovd         (%r11,%rdx,1),%xmm1
   DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
-  DB  233,87,255,255,255                  ; jmpq          874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  233,87,255,255,255                  ; jmpq          c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,10,10          ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,9,9            ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,8,8            ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,193,122,126,12,19               ; vmovq         (%r11,%rdx,1),%xmm1
   DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
-  DB  233,42,255,255,255                  ; jmpq          874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  233,42,255,255,255                  ; jmpq          c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
   DB  196,195,121,32,68,19,14,14          ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
   DB  196,195,121,32,68,19,13,13          ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
@@ -27234,7 +29949,7 @@
   DB  196,193,122,126,12,19               ; vmovq         (%r11,%rdx,1),%xmm1
   DB  196,195,113,34,76,19,8,2            ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
   DB  196,227,113,2,192,8                 ; vpblendd      $0x8,%xmm0,%xmm1,%xmm0
-  DB  233,245,254,255,255                 ; jmpq          874 <_sk_load_g8_hsw_lowp+0x10>
+  DB  233,245,254,255,255                 ; jmpq          c28 <_sk_load_g8_hsw_lowp+0x10>
   DB  144                                 ; nop
   DB  72,255                              ; rex.W         (bad)
   DB  255                                 ; (bad)
@@ -27245,7 +29960,100 @@
   DB  255,140,255,255,255,132,255         ; decl          -0x7b0001(%rdi,%rdi,8)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  124,255                             ; jl            995 <_sk_load_g8_hsw_lowp+0x131>
+  DB  124,255                             ; jl            d49 <_sk_load_g8_hsw_lowp+0x131>
+  DB  255                                 ; (bad)
+  DB  255,112,255                         ; pushq         -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  185,255,255,255,177                 ; mov           $0xb1ffffff,%ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,169,255,255,255,157             ; ljmp          *-0x62000001(%rcx)
+  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,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  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,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,50                              ; jne           dac <_sk_load_g8_dst_hsw_lowp+0x3c>
+  DB  196,193,122,111,36,19               ; vmovdqu       (%r11,%rdx,1),%xmm4
+  DB  196,226,125,48,228                  ; vpmovzxbw     %xmm4,%ymm4
+  DB  197,221,113,244,8                   ; vpsllw        $0x8,%ymm4,%ymm4
+  DB  196,226,125,121,45,183,15,0,0       ; vpbroadcastw  0xfb7(%rip),%ymm5        # 1d4a <_sk_xor__hsw_lowp+0x1ee>
+  DB  197,221,228,229                     ; vpmulhuw      %ymm5,%ymm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,61,170,15,0,0       ; vpbroadcastw  0xfaa(%rip),%ymm7        # 1d4c <_sk_xor__hsw_lowp+0x1f0>
+  DB  197,253,111,236                     ; vmovdqa       %ymm4,%ymm5
+  DB  197,253,111,244                     ; vmovdqa       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,15                       ; and           $0xf,%r9b
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,14                       ; cmp           $0xe,%r9b
+  DB  119,192                             ; ja            d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,193,0,0,0                 ; lea           0xc1(%rip),%r10        # e8c <_sk_load_g8_dst_hsw_lowp+0x11c>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,161                             ; jmp           d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,2,2            ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
+  DB  65,15,183,4,19                      ; movzwl        (%r11,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,227,89,14,229,1                 ; vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  DB  235,132                             ; jmp           d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,6,6            ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,5,5            ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,4,4            ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,121,110,44,19               ; vmovd         (%r11,%rdx,1),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,87,255,255,255                  ; jmpq          d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,10,10          ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,9,9            ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,8,8            ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,19               ; vmovq         (%r11,%rdx,1),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,42,255,255,255                  ; jmpq          d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,19,14,14          ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,13,13          ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,19,12,12          ; vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,19               ; vmovq         (%r11,%rdx,1),%xmm5
+  DB  196,195,81,34,108,19,8,2            ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
+  DB  196,227,81,2,228,8                  ; vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  DB  233,245,254,255,255                 ; jmpq          d80 <_sk_load_g8_dst_hsw_lowp+0x10>
+  DB  144                                 ; nop
+  DB  72,255                              ; rex.W         (bad)
+  DB  255                                 ; (bad)
+  DB  255,95,255                          ; lcall         *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,83,255                          ; callq         *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,140,255,255,255,132,255         ; decl          -0x7b0001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  124,255                             ; jl            ea1 <_sk_load_g8_dst_hsw_lowp+0x131>
   DB  255                                 ; (bad)
   DB  255,112,255                         ; pushq         -0x1(%rax)
   DB  255                                 ; (bad)
@@ -27275,20 +30083,20 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,220,1,0,0                    ; jne           ba6 <_sk_srcover_rgba_8888_hsw_lowp+0x1ea>
+  DB  15,133,220,1,0,0                    ; jne           10b2 <_sk_srcover_rgba_8888_hsw_lowp+0x1ea>
   DB  196,193,126,111,124,147,32          ; vmovdqu       0x20(%r11,%rdx,4),%ymm7
   DB  196,65,126,111,4,147                ; vmovdqu       (%r11,%rdx,4),%ymm8
-  DB  197,253,111,37,193,13,0,0           ; vmovdqa       0xdc1(%rip),%ymm4        # 17a0 <_sk_xor__hsw_lowp+0x160>
+  DB  197,253,111,37,117,14,0,0           ; vmovdqa       0xe75(%rip),%ymm4        # 1d60 <_sk_xor__hsw_lowp+0x204>
   DB  196,226,61,0,236                    ; vpshufb       %ymm4,%ymm8,%ymm5
   DB  196,227,253,0,237,232               ; vpermq        $0xe8,%ymm5,%ymm5
   DB  196,226,69,0,228                    ; vpshufb       %ymm4,%ymm7,%ymm4
   DB  196,227,253,0,228,232               ; vpermq        $0xe8,%ymm4,%ymm4
   DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
-  DB  196,98,125,121,13,188,13,0,0        ; vpbroadcastw  0xdbc(%rip),%ymm9        # 17c0 <_sk_xor__hsw_lowp+0x180>
+  DB  196,98,125,121,13,112,14,0,0        ; vpbroadcastw  0xe70(%rip),%ymm9        # 1d80 <_sk_xor__hsw_lowp+0x224>
   DB  197,221,113,244,8                   ; vpsllw        $0x8,%ymm4,%ymm4
-  DB  196,98,125,121,21,176,13,0,0        ; vpbroadcastw  0xdb0(%rip),%ymm10        # 17c2 <_sk_xor__hsw_lowp+0x182>
+  DB  196,98,125,121,21,100,14,0,0        ; vpbroadcastw  0xe64(%rip),%ymm10        # 1d82 <_sk_xor__hsw_lowp+0x226>
   DB  196,193,93,228,226                  ; vpmulhuw      %ymm10,%ymm4,%ymm4
-  DB  197,253,111,45,193,13,0,0           ; vmovdqa       0xdc1(%rip),%ymm5        # 17e0 <_sk_xor__hsw_lowp+0x1a0>
+  DB  197,253,111,45,117,14,0,0           ; vmovdqa       0xe75(%rip),%ymm5        # 1da0 <_sk_xor__hsw_lowp+0x244>
   DB  196,226,61,0,245                    ; vpshufb       %ymm5,%ymm8,%ymm6
   DB  196,227,253,0,246,232               ; vpermq        $0xe8,%ymm6,%ymm6
   DB  196,226,69,0,237                    ; vpshufb       %ymm5,%ymm7,%ymm5
@@ -27296,7 +30104,7 @@
   DB  196,227,77,56,237,1                 ; vinserti128   $0x1,%xmm5,%ymm6,%ymm5
   DB  197,213,113,245,8                   ; vpsllw        $0x8,%ymm5,%ymm5
   DB  196,193,85,228,234                  ; vpmulhuw      %ymm10,%ymm5,%ymm5
-  DB  197,253,111,53,179,13,0,0           ; vmovdqa       0xdb3(%rip),%ymm6        # 1800 <_sk_xor__hsw_lowp+0x1c0>
+  DB  197,253,111,53,103,14,0,0           ; vmovdqa       0xe67(%rip),%ymm6        # 1dc0 <_sk_xor__hsw_lowp+0x264>
   DB  196,98,61,0,222                     ; vpshufb       %ymm6,%ymm8,%ymm11
   DB  196,67,253,0,219,232                ; vpermq        $0xe8,%ymm11,%ymm11
   DB  196,226,69,0,246                    ; vpshufb       %ymm6,%ymm7,%ymm6
@@ -27304,7 +30112,7 @@
   DB  196,227,37,56,246,1                 ; vinserti128   $0x1,%xmm6,%ymm11,%ymm6
   DB  197,205,113,246,8                   ; vpsllw        $0x8,%ymm6,%ymm6
   DB  196,193,77,228,242                  ; vpmulhuw      %ymm10,%ymm6,%ymm6
-  DB  197,125,111,29,165,13,0,0           ; vmovdqa       0xda5(%rip),%ymm11        # 1820 <_sk_xor__hsw_lowp+0x1e0>
+  DB  197,125,111,29,89,14,0,0            ; vmovdqa       0xe59(%rip),%ymm11        # 1de0 <_sk_xor__hsw_lowp+0x284>
   DB  196,66,61,0,195                     ; vpshufb       %ymm11,%ymm8,%ymm8
   DB  196,67,253,0,192,232                ; vpermq        $0xe8,%ymm8,%ymm8
   DB  196,194,69,0,251                    ; vpshufb       %ymm11,%ymm7,%ymm7
@@ -27312,7 +30120,7 @@
   DB  196,227,61,56,255,1                 ; vinserti128   $0x1,%xmm7,%ymm8,%ymm7
   DB  197,197,113,247,8                   ; vpsllw        $0x8,%ymm7,%ymm7
   DB  196,193,69,228,250                  ; vpmulhuw      %ymm10,%ymm7,%ymm7
-  DB  196,98,125,121,5,150,13,0,0         ; vpbroadcastw  0xd96(%rip),%ymm8        # 1840 <_sk_xor__hsw_lowp+0x200>
+  DB  196,98,125,121,5,74,14,0,0          ; vpbroadcastw  0xe4a(%rip),%ymm8        # 1e00 <_sk_xor__hsw_lowp+0x2a4>
   DB  197,61,249,195                      ; vpsubw        %ymm3,%ymm8,%ymm8
   DB  196,66,93,11,208                    ; vpmulhrsw     %ymm8,%ymm4,%ymm10
   DB  196,66,125,29,210                   ; vpabsw        %ymm10,%ymm10
@@ -27359,7 +30167,7 @@
   DB  196,65,13,235,193                   ; vpor          %ymm9,%ymm14,%ymm8
   DB  196,65,37,235,192                   ; vpor          %ymm8,%ymm11,%ymm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,77                              ; jne           be2 <_sk_srcover_rgba_8888_hsw_lowp+0x226>
+  DB  117,77                              ; jne           10ee <_sk_srcover_rgba_8888_hsw_lowp+0x226>
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
   DB  196,65,126,127,84,147,32            ; vmovdqu       %ymm10,0x20(%r11,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -27370,26 +30178,26 @@
   DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  15,135,20,254,255,255               ; ja            9d7 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  DB  15,135,20,254,255,255               ; ja            ee3 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,238,1,0,0                 ; lea           0x1ee(%rip),%r10        # dbc <_sk_srcover_rgba_8888_hsw_lowp+0x400>
+  DB  76,141,21,238,1,0,0                 ; lea           0x1ee(%rip),%r10        # 12c8 <_sk_srcover_rgba_8888_hsw_lowp+0x400>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  196,65,121,110,4,147                ; vmovd         (%r11,%rdx,4),%xmm8
-  DB  233,245,253,255,255                 ; jmpq          9d7 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  DB  233,245,253,255,255                 ; jmpq          ee3 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,15                       ; and           $0xf,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,176                             ; ja            ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  119,176                             ; ja            10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  65,15,182,193                       ; movzbl        %r9b,%eax
-  DB  76,141,13,251,1,0,0                 ; lea           0x1fb(%rip),%r9        # df8 <_sk_srcover_rgba_8888_hsw_lowp+0x43c>
+  DB  76,141,13,251,1,0,0                 ; lea           0x1fb(%rip),%r9        # 1304 <_sk_srcover_rgba_8888_hsw_lowp+0x43c>
   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,147                ; vmovd         %xmm8,(%r11,%rdx,4)
-  DB  235,148                             ; jmp           ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  235,148                             ; jmp           10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  196,193,121,110,100,147,8           ; vmovd         0x8(%r11,%rdx,4),%xmm4
   DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
   DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
@@ -27397,7 +30205,7 @@
   DB  196,194,121,53,36,147               ; vpmovzxdq     (%r11,%rdx,4),%xmm4
   DB  197,249,112,228,232                 ; vpshufd       $0xe8,%xmm4,%xmm4
   DB  196,99,61,2,196,3                   ; vpblendd      $0x3,%ymm4,%ymm8,%ymm8
-  DB  233,157,253,255,255                 ; jmpq          9d7 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  DB  233,157,253,255,255                 ; jmpq          ee3 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   DB  196,193,121,110,100,147,24          ; vmovd         0x18(%r11,%rdx,4),%xmm4
   DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
   DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
@@ -27410,7 +30218,7 @@
   DB  196,99,61,56,196,1                  ; vinserti128   $0x1,%xmm4,%ymm8,%ymm8
   DB  196,193,122,111,36,147              ; vmovdqu       (%r11,%rdx,4),%xmm4
   DB  196,67,93,2,192,240                 ; vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
-  DB  233,78,253,255,255                  ; jmpq          9d7 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  DB  233,78,253,255,255                  ; jmpq          ee3 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   DB  196,193,121,110,100,147,40          ; vmovd         0x28(%r11,%rdx,4),%xmm4
   DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
   DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
@@ -27419,7 +30227,7 @@
   DB  196,227,69,2,252,15                 ; vpblendd      $0xf,%ymm4,%ymm7,%ymm7
   DB  196,193,121,110,100,147,32          ; vmovd         0x20(%r11,%rdx,4),%xmm4
   DB  196,227,69,2,252,1                  ; vpblendd      $0x1,%ymm4,%ymm7,%ymm7
-  DB  233,18,253,255,255                  ; jmpq          9d1 <_sk_srcover_rgba_8888_hsw_lowp+0x15>
+  DB  233,18,253,255,255                  ; jmpq          edd <_sk_srcover_rgba_8888_hsw_lowp+0x15>
   DB  196,193,121,110,100,147,56          ; vmovd         0x38(%r11,%rdx,4),%xmm4
   DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
   DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
@@ -27433,10 +30241,10 @@
   DB  196,65,126,111,4,147                ; vmovdqu       (%r11,%rdx,4),%ymm8
   DB  196,193,122,111,100,147,32          ; vmovdqu       0x20(%r11,%rdx,4),%xmm4
   DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
-  DB  233,194,252,255,255                 ; jmpq          9d7 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
+  DB  233,194,252,255,255                 ; jmpq          ee3 <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
   DB  196,67,121,22,68,147,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
   DB  196,65,121,214,4,147                ; vmovq         %xmm8,(%r11,%rdx,4)
-  DB  233,122,254,255,255                 ; jmpq          ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  233,122,254,255,255                 ; jmpq          10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,67,121,22,76,147,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
@@ -27444,12 +30252,12 @@
   DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
   DB  196,65,121,126,76,147,16            ; vmovd         %xmm9,0x10(%r11,%rdx,4)
   DB  196,65,122,127,4,147                ; vmovdqu       %xmm8,(%r11,%rdx,4)
-  DB  233,70,254,255,255                  ; jmpq          ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  233,70,254,255,255                  ; jmpq          10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  196,67,121,22,84,147,40,2           ; vpextrd       $0x2,%xmm10,0x28(%r11,%rdx,4)
   DB  196,67,121,22,84,147,36,1           ; vpextrd       $0x1,%xmm10,0x24(%r11,%rdx,4)
   DB  196,65,121,126,84,147,32            ; vmovd         %xmm10,0x20(%r11,%rdx,4)
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
-  DB  233,36,254,255,255                  ; jmpq          ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  233,36,254,255,255                  ; jmpq          10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  196,67,125,57,209,1                 ; vextracti128  $0x1,%ymm10,%xmm9
   DB  196,67,121,22,76,147,56,2           ; vpextrd       $0x2,%xmm9,0x38(%r11,%rdx,4)
   DB  196,67,125,57,209,1                 ; vextracti128  $0x1,%ymm10,%xmm9
@@ -27458,7 +30266,7 @@
   DB  196,65,121,126,76,147,48            ; vmovd         %xmm9,0x30(%r11,%rdx,4)
   DB  196,65,126,127,4,147                ; vmovdqu       %ymm8,(%r11,%rdx,4)
   DB  196,65,122,127,84,147,32            ; vmovdqu       %xmm10,0x20(%r11,%rdx,4)
-  DB  233,233,253,255,255                 ; jmpq          ba2 <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
+  DB  233,233,253,255,255                 ; jmpq          10ae <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
   DB  15,31,0                             ; nopl          (%rax)
   DB  27,254                              ; sbb           %esi,%edi
   DB  255                                 ; (bad)
@@ -27472,7 +30280,7 @@
   DB  255                                 ; (bad)
   DB  255,148,254,255,255,126,254         ; callq         *-0x1810001(%rsi,%rdi,8)
   DB  255                                 ; (bad)
-  DB  255,21,252,255,255,241              ; callq         *-0xe000004(%rip)        # fffffffff2000dd9 <_sk_xor__hsw_lowp+0xfffffffff1fff799>
+  DB  255,21,252,255,255,241              ; callq         *-0xe000004(%rip)        # fffffffff20012e5 <_sk_xor__hsw_lowp+0xfffffffff1fff789>
   DB  254                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,227                             ; jmpq          *%rbx
@@ -27483,7 +30291,7 @@
   DB  255                                 ; (bad)
   DB  255,65,255                          ; incl          -0x1(%rcx)
   DB  255                                 ; (bad)
-  DB  255,45,255,255,255,25               ; ljmp          *0x19ffffff(%rip)        # 1a000df0 <_sk_xor__hsw_lowp+0x19fff7b0>
+  DB  255,45,255,255,255,25               ; ljmp          *0x19ffffff(%rip)        # 1a0012fc <_sk_xor__hsw_lowp+0x19fff7a0>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,3                               ; incl          (%rbx)
@@ -27492,7 +30300,7 @@
   DB  255,14                              ; decl          (%rsi)
   DB  254                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  255,37,255,255,255,29               ; jmpq          *0x1dffffff(%rip)        # 1e000e00 <_sk_xor__hsw_lowp+0x1dfff7c0>
+  DB  255,37,255,255,255,29               ; jmpq          *0x1dffffff(%rip)        # 1e00130c <_sk_xor__hsw_lowp+0x1dfff7b0>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,89,255                          ; lcall         *-0x1(%rcx)
@@ -27505,7 +30313,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  123,255                             ; jnp           e15 <_sk_srcover_rgba_8888_hsw_lowp+0x459>
+  DB  123,255                             ; jnp           1321 <_sk_srcover_rgba_8888_hsw_lowp+0x459>
   DB  255                                 ; (bad)
   DB  255,116,255,255                     ; pushq         -0x1(%rdi,%rdi,8)
   DB  255,108,255,255                     ; ljmp          *-0x1(%rdi,%rdi,8)
@@ -27521,7 +30329,7 @@
 _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,58,88,5,126,8,0,0               ; vaddss        0x87e(%rip),%xmm8,%xmm8        # 16c0 <_sk_xor__hsw_lowp+0x80>
+  DB  197,58,88,5,142,8,0,0               ; vaddss        0x88e(%rip),%xmm8,%xmm8        # 1bdc <_sk_xor__hsw_lowp+0x80>
   DB  197,121,126,192                     ; vmovd         %xmm8,%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
   DB  196,66,125,121,192                  ; vpbroadcastw  %xmm8,%ymm8
@@ -27541,11 +30349,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,75                              ; jne           ed0 <_sk_scale_u8_hsw_lowp+0x55>
+  DB  117,75                              ; jne           13dc <_sk_scale_u8_hsw_lowp+0x55>
   DB  196,65,122,111,4,19                 ; vmovdqu       (%r11,%rdx,1),%xmm8
   DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
   DB  196,193,61,113,240,8                ; vpsllw        $0x8,%ymm8,%ymm8
-  DB  196,98,125,121,13,163,9,0,0         ; vpbroadcastw  0x9a3(%rip),%ymm9        # 1842 <_sk_xor__hsw_lowp+0x202>
+  DB  196,98,125,121,13,87,10,0,0         ; vpbroadcastw  0xa57(%rip),%ymm9        # 1e02 <_sk_xor__hsw_lowp+0x2a6>
   DB  196,65,61,228,193                   ; vpmulhuw      %ymm9,%ymm8,%ymm8
   DB  196,194,125,11,192                  ; vpmulhrsw     %ymm8,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -27562,35 +30370,35 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  119,166                             ; ja            e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  119,166                             ; ja            1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,200,0,0,0                 ; lea           0xc8(%rip),%r10        # fb8 <_sk_scale_u8_hsw_lowp+0x13d>
+  DB  76,141,21,200,0,0,0                 ; lea           0xc8(%rip),%r10        # 14c4 <_sk_scale_u8_hsw_lowp+0x13d>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  235,135                             ; jmp           e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  235,135                             ; jmp           1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,2,2              ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
   DB  65,15,183,4,19                      ; movzwl        (%r11,%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,102,255,255,255                 ; jmpq          e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  233,102,255,255,255                 ; jmpq          1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,6,6              ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,5,5              ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,4,4              ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%rdx,1),%xmm9
   DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  DB  233,56,255,255,255                  ; jmpq          e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  233,56,255,255,255                  ; jmpq          1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,10,10            ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,9,9              ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,8,8              ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,65,122,126,12,19                ; vmovq         (%r11,%rdx,1),%xmm9
   DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  DB  233,10,255,255,255                  ; jmpq          e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  233,10,255,255,255                  ; jmpq          1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,14,14            ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,13,13            ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
@@ -27598,7 +30406,7 @@
   DB  196,65,122,126,12,19                ; vmovq         (%r11,%rdx,1),%xmm9
   DB  196,67,49,34,76,19,8,2              ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
   DB  196,67,49,2,192,8                   ; vpblendd      $0x8,%xmm8,%xmm9,%xmm8
-  DB  233,212,254,255,255                 ; jmpq          e8b <_sk_scale_u8_hsw_lowp+0x10>
+  DB  233,212,254,255,255                 ; jmpq          1397 <_sk_scale_u8_hsw_lowp+0x10>
   DB  144                                 ; nop
   DB  65,255                              ; rex.B         (bad)
   DB  255                                 ; (bad)
@@ -27609,7 +30417,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  122,255                             ; jp            fcd <_sk_scale_u8_hsw_lowp+0x152>
+  DB  122,255                             ; jp            14d9 <_sk_scale_u8_hsw_lowp+0x152>
   DB  255                                 ; (bad)
   DB  255,109,255                         ; ljmp          *-0x1(%rbp)
   DB  255                                 ; (bad)
@@ -27638,13 +30446,13 @@
 _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,58,88,5,194,6,0,0               ; vaddss        0x6c2(%rip),%xmm8,%xmm8        # 16c4 <_sk_xor__hsw_lowp+0x84>
+  DB  197,58,88,5,210,6,0,0               ; vaddss        0x6d2(%rip),%xmm8,%xmm8        # 1be0 <_sk_xor__hsw_lowp+0x84>
   DB  197,121,126,192                     ; vmovd         %xmm8,%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
   DB  196,66,125,121,192                  ; vpbroadcastw  %xmm8,%ymm8
   DB  196,194,125,11,192                  ; vpmulhrsw     %ymm8,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
-  DB  196,98,125,121,13,34,8,0,0          ; vpbroadcastw  0x822(%rip),%ymm9        # 1844 <_sk_xor__hsw_lowp+0x204>
+  DB  196,98,125,121,13,214,8,0,0         ; vpbroadcastw  0x8d6(%rip),%ymm9        # 1e04 <_sk_xor__hsw_lowp+0x2a8>
   DB  196,65,53,249,200                   ; vpsubw        %ymm8,%ymm9,%ymm9
   DB  196,66,93,11,209                    ; vpmulhrsw     %ymm9,%ymm4,%ymm10
   DB  196,66,125,29,210                   ; vpabsw        %ymm10,%ymm10
@@ -27672,15 +30480,15 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,145,0,0,0                    ; jne           1120 <_sk_lerp_u8_hsw_lowp+0x9f>
+  DB  15,133,145,0,0,0                    ; jne           162c <_sk_lerp_u8_hsw_lowp+0x9f>
   DB  196,65,122,111,4,19                 ; vmovdqu       (%r11,%rdx,1),%xmm8
   DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
   DB  196,193,61,113,240,8                ; vpsllw        $0x8,%ymm8,%ymm8
-  DB  196,98,125,121,13,157,7,0,0         ; vpbroadcastw  0x79d(%rip),%ymm9        # 1846 <_sk_xor__hsw_lowp+0x206>
+  DB  196,98,125,121,13,81,8,0,0          ; vpbroadcastw  0x851(%rip),%ymm9        # 1e06 <_sk_xor__hsw_lowp+0x2aa>
   DB  196,65,61,228,193                   ; vpmulhuw      %ymm9,%ymm8,%ymm8
   DB  196,194,125,11,192                  ; vpmulhrsw     %ymm8,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
-  DB  196,98,125,121,13,135,7,0,0         ; vpbroadcastw  0x787(%rip),%ymm9        # 1848 <_sk_xor__hsw_lowp+0x208>
+  DB  196,98,125,121,13,59,8,0,0          ; vpbroadcastw  0x83b(%rip),%ymm9        # 1e08 <_sk_xor__hsw_lowp+0x2ac>
   DB  196,65,53,249,200                   ; vpsubw        %ymm8,%ymm9,%ymm9
   DB  196,66,93,11,209                    ; vpmulhrsw     %ymm9,%ymm4,%ymm10
   DB  196,66,125,29,210                   ; vpabsw        %ymm10,%ymm10
@@ -27707,35 +30515,35 @@
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,14                       ; cmp           $0xe,%r9b
-  DB  15,135,92,255,255,255               ; ja            1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  15,135,92,255,255,255               ; ja            15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,204,0,0,0                 ; lea           0xcc(%rip),%r10        # 1210 <_sk_lerp_u8_hsw_lowp+0x18f>
+  DB  76,141,21,204,0,0,0                 ; lea           0xcc(%rip),%r10        # 171c <_sk_lerp_u8_hsw_lowp+0x18f>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  197,121,110,192                     ; vmovd         %eax,%xmm8
-  DB  233,58,255,255,255                  ; jmpq          1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  233,58,255,255,255                  ; jmpq          15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,2,2              ; vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
   DB  65,15,183,4,19                      ; movzwl        (%r11,%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,25,255,255,255                  ; jmpq          1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  233,25,255,255,255                  ; jmpq          15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,6,6              ; vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,5,5              ; vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,4,4              ; vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,65,121,110,12,19                ; vmovd         (%r11,%rdx,1),%xmm9
   DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
-  DB  233,235,254,255,255                 ; jmpq          1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  233,235,254,255,255                 ; jmpq          15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,10,10            ; vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,9,9              ; vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,8,8              ; vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,65,122,126,12,19                ; vmovq         (%r11,%rdx,1),%xmm9
   DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
-  DB  233,189,254,255,255                 ; jmpq          1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  233,189,254,255,255                 ; jmpq          15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
   DB  196,67,57,32,68,19,14,14            ; vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
   DB  196,67,57,32,68,19,13,13            ; vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
@@ -27743,7 +30551,7 @@
   DB  196,65,122,126,12,19                ; vmovq         (%r11,%rdx,1),%xmm9
   DB  196,67,49,34,76,19,8,2              ; vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
   DB  196,67,49,2,192,8                   ; vpblendd      $0x8,%xmm8,%xmm9,%xmm8
-  DB  233,135,254,255,255                 ; jmpq          1095 <_sk_lerp_u8_hsw_lowp+0x14>
+  DB  233,135,254,255,255                 ; jmpq          15a1 <_sk_lerp_u8_hsw_lowp+0x14>
   DB  102,144                             ; xchg          %ax,%ax
   DB  61,255,255,255,88                   ; cmp           $0x58ffffff,%eax
   DB  255                                 ; (bad)
@@ -27754,7 +30562,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  121,255                             ; jns           1225 <_sk_lerp_u8_hsw_lowp+0x1a4>
+  DB  121,255                             ; jns           1731 <_sk_lerp_u8_hsw_lowp+0x1a4>
   DB  255                                 ; (bad)
   DB  255,108,255,255                     ; ljmp          *-0x1(%rdi,%rdi,8)
   DB  255,183,255,255,255,175             ; pushq         -0x50000001(%rdi)
@@ -27785,6 +30593,14 @@
   DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_hsw_lowp
+_sk_swap_rb_dst_hsw_lowp LABEL PROC
+  DB  197,124,40,196                      ; vmovaps       %ymm4,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,230                      ; vmovaps       %ymm6,%ymm4
+  DB  197,124,41,198                      ; vmovaps       %ymm8,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_hsw_lowp
 _sk_swap_hsw_lowp LABEL PROC
   DB  197,124,40,195                      ; vmovaps       %ymm3,%ymm8
@@ -27833,7 +30649,7 @@
 _sk_srcatop_hsw_lowp LABEL PROC
   DB  196,226,125,11,199                  ; vpmulhrsw     %ymm7,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
-  DB  196,98,125,121,5,107,5,0,0          ; vpbroadcastw  0x56b(%rip),%ymm8        # 184a <_sk_xor__hsw_lowp+0x20a>
+  DB  196,98,125,121,5,15,6,0,0           ; vpbroadcastw  0x60f(%rip),%ymm8        # 1e0a <_sk_xor__hsw_lowp+0x2ae>
   DB  197,61,249,195                      ; vpsubw        %ymm3,%ymm8,%ymm8
   DB  196,66,93,11,200                    ; vpmulhrsw     %ymm8,%ymm4,%ymm9
   DB  196,66,125,29,201                   ; vpabsw        %ymm9,%ymm9
@@ -27860,7 +30676,7 @@
 _sk_dstatop_hsw_lowp LABEL PROC
   DB  196,98,93,11,195                    ; vpmulhrsw     %ymm3,%ymm4,%ymm8
   DB  196,66,125,29,192                   ; vpabsw        %ymm8,%ymm8
-  DB  196,98,125,121,13,252,4,0,0         ; vpbroadcastw  0x4fc(%rip),%ymm9        # 184c <_sk_xor__hsw_lowp+0x20c>
+  DB  196,98,125,121,13,160,5,0,0         ; vpbroadcastw  0x5a0(%rip),%ymm9        # 1e0c <_sk_xor__hsw_lowp+0x2b0>
   DB  197,53,249,207                      ; vpsubw        %ymm7,%ymm9,%ymm9
   DB  196,194,125,11,193                  ; vpmulhrsw     %ymm9,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -27911,7 +30727,7 @@
 
 PUBLIC _sk_srcout_hsw_lowp
 _sk_srcout_hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,59,4,0,0           ; vpbroadcastw  0x43b(%rip),%ymm8        # 184e <_sk_xor__hsw_lowp+0x20e>
+  DB  196,98,125,121,5,223,4,0,0          ; vpbroadcastw  0x4df(%rip),%ymm8        # 1e0e <_sk_xor__hsw_lowp+0x2b2>
   DB  197,61,249,199                      ; vpsubw        %ymm7,%ymm8,%ymm8
   DB  196,194,125,11,192                  ; vpmulhrsw     %ymm8,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -27926,7 +30742,7 @@
 
 PUBLIC _sk_dstout_hsw_lowp
 _sk_dstout_hsw_lowp LABEL PROC
-  DB  196,226,125,121,5,4,4,0,0           ; vpbroadcastw  0x404(%rip),%ymm0        # 1850 <_sk_xor__hsw_lowp+0x210>
+  DB  196,226,125,121,5,168,4,0,0         ; vpbroadcastw  0x4a8(%rip),%ymm0        # 1e10 <_sk_xor__hsw_lowp+0x2b4>
   DB  197,253,249,219                     ; vpsubw        %ymm3,%ymm0,%ymm3
   DB  196,226,93,11,195                   ; vpmulhrsw     %ymm3,%ymm4,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -27941,7 +30757,7 @@
 
 PUBLIC _sk_srcover_hsw_lowp
 _sk_srcover_hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,205,3,0,0          ; vpbroadcastw  0x3cd(%rip),%ymm8        # 1852 <_sk_xor__hsw_lowp+0x212>
+  DB  196,98,125,121,5,113,4,0,0          ; vpbroadcastw  0x471(%rip),%ymm8        # 1e12 <_sk_xor__hsw_lowp+0x2b6>
   DB  197,61,249,195                      ; vpsubw        %ymm3,%ymm8,%ymm8
   DB  196,66,93,11,200                    ; vpmulhrsw     %ymm8,%ymm4,%ymm9
   DB  196,66,125,29,201                   ; vpabsw        %ymm9,%ymm9
@@ -27960,7 +30776,7 @@
 
 PUBLIC _sk_dstover_hsw_lowp
 _sk_dstover_hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,134,3,0,0          ; vpbroadcastw  0x386(%rip),%ymm8        # 1854 <_sk_xor__hsw_lowp+0x214>
+  DB  196,98,125,121,5,42,4,0,0           ; vpbroadcastw  0x42a(%rip),%ymm8        # 1e14 <_sk_xor__hsw_lowp+0x2b8>
   DB  197,61,249,199                      ; vpsubw        %ymm7,%ymm8,%ymm8
   DB  196,194,125,11,192                  ; vpmulhrsw     %ymm8,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -27992,7 +30808,7 @@
 
 PUBLIC _sk_multiply_hsw_lowp
 _sk_multiply_hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,19,3,0,0           ; vpbroadcastw  0x313(%rip),%ymm8        # 1856 <_sk_xor__hsw_lowp+0x216>
+  DB  196,98,125,121,5,183,3,0,0          ; vpbroadcastw  0x3b7(%rip),%ymm8        # 1e16 <_sk_xor__hsw_lowp+0x2ba>
   DB  197,61,249,207                      ; vpsubw        %ymm7,%ymm8,%ymm9
   DB  196,66,125,11,209                   ; vpmulhrsw     %ymm9,%ymm0,%ymm10
   DB  196,66,125,29,210                   ; vpabsw        %ymm10,%ymm10
@@ -28032,7 +30848,7 @@
 
 PUBLIC _sk_screen_hsw_lowp
 _sk_screen_hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,100,2,0,0          ; vpbroadcastw  0x264(%rip),%ymm8        # 1858 <_sk_xor__hsw_lowp+0x218>
+  DB  196,98,125,121,5,8,3,0,0            ; vpbroadcastw  0x308(%rip),%ymm8        # 1e18 <_sk_xor__hsw_lowp+0x2bc>
   DB  197,61,249,200                      ; vpsubw        %ymm0,%ymm8,%ymm9
   DB  196,98,53,11,204                    ; vpmulhrsw     %ymm4,%ymm9,%ymm9
   DB  196,66,125,29,201                   ; vpabsw        %ymm9,%ymm9
@@ -28054,7 +30870,7 @@
 
 PUBLIC _sk_xor__hsw_lowp
 _sk_xor__hsw_lowp LABEL PROC
-  DB  196,98,125,121,5,17,2,0,0           ; vpbroadcastw  0x211(%rip),%ymm8        # 185a <_sk_xor__hsw_lowp+0x21a>
+  DB  196,98,125,121,5,181,2,0,0          ; vpbroadcastw  0x2b5(%rip),%ymm8        # 1e1a <_sk_xor__hsw_lowp+0x2be>
   DB  197,61,249,207                      ; vpsubw        %ymm7,%ymm8,%ymm9
   DB  196,194,125,11,193                  ; vpmulhrsw     %ymm9,%ymm0,%ymm0
   DB  196,226,125,29,192                  ; vpabsw        %ymm0,%ymm0
@@ -28124,7 +30940,98 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,17                              ; callq         *(%rcx)
-  DB  18,21,22,25,26,29                   ; adc           0x1d1a1916(%rip),%dl        # 1d1a304d <_sk_xor__hsw_lowp+0x1d1a1a0d>
+  DB  18,21,22,25,26,29                   ; adc           0x1d1a1916(%rip),%dl        # 1d1a356d <_sk_xor__hsw_lowp+0x1d1a1a11>
+  DB  30                                  ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  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,255                              ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  19,22                               ; adc           (%rsi),%edx
+  DB  23                                  ; (bad)
+  DB  26,27                               ; sbb           (%rbx),%bl
+  DB  30                                  ; (bad)
+  DB  31                                  ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,3                               ; incl          (%rbx)
+  DB  255,7                               ; incl          (%rdi)
+  DB  255,11                              ; decl          (%rbx)
+  DB  255,15                              ; decl          (%rdi)
+  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,19                              ; callq         *(%rbx)
+  DB  255,23                              ; callq         *(%rdi)
+  DB  255,27                              ; lcall         *(%rbx)
+  DB  255,31                              ; lcall         *(%rdi)
+  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,0                               ; incl          (%rax)
+  DB  1,4,5,8,9,12,13                     ; add           %eax,0xd0c0908(,%rax,1)
+  DB  128,128,128,128,128,128,128         ; addb          $0x80,-0x7f7f7f80(%rax)
+  DB  128,0,1                             ; addb          $0x1,(%rax)
+  DB  4,5                                 ; add           $0x5,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  128,128,128,128,128,128,128         ; addb          $0x80,-0x7f7f7f80(%rax)
+  DB  128,129,128,0,0,0,0                 ; addb          $0x0,0x80(%rcx)
+  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  1,2                                 ; add           %eax,(%rdx)
+  DB  5,6,9,10,13                         ; add           $0xd0a0906,%eax
+  DB  14                                  ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,17                              ; callq         *(%rcx)
+  DB  18,21,22,25,26,29                   ; adc           0x1d1a1916(%rip),%dl        # 1d1a360d <_sk_xor__hsw_lowp+0x1d1a1ab1>
   DB  30                                  ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -28184,10 +31091,8 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,0                               ; incl          (%rax)
-  DB  129,128,129,128,0,128,0,0,0,0       ; addl          $0x0,-0x7fff7f7f(%rax)
-  DB  0,0                                 ; add           %al,(%rax)
-  DB  0,0                                 ; add           %al,(%rax)
-  DB  0,0                                 ; add           %al,(%rax)
+  DB  129,128,129,128,129,128,0,128,129,128; addl          $0x80818000,-0x7f7e7f7f(%rax)
+  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -28228,7 +31133,7 @@
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255,17                              ; callq         *(%rcx)
-  DB  18,21,22,25,26,29                   ; adc           0x1d1a1916(%rip),%dl        # 1d1a310d <_sk_xor__hsw_lowp+0x1d1a1acd>
+  DB  18,21,22,25,26,29                   ; adc           0x1d1a1916(%rip),%dl        # 1d1a36cd <_sk_xor__hsw_lowp+0x1d1a1b71>
   DB  30                                  ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -28382,7 +31287,7 @@
 _sk_constant_color_ssse3_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  15,16,24                            ; movups        (%rax),%xmm3
-  DB  15,88,29,112,18,0,0                 ; addps         0x1270(%rip),%xmm3        # 13a0 <_sk_xor__ssse3_lowp+0x9f>
+  DB  15,88,29,176,21,0,0                 ; addps         0x15b0(%rip),%xmm3        # 16e0 <_sk_xor__ssse3_lowp+0xa8>
   DB  242,15,112,195,0                    ; pshuflw       $0x0,%xmm3,%xmm0
   DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
   DB  242,15,112,203,170                  ; pshuflw       $0xaa,%xmm3,%xmm1
@@ -28397,7 +31302,7 @@
 PUBLIC _sk_set_rgb_ssse3_lowp
 _sk_set_rgb_ssse3_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  243,15,16,21,58,20,0,0              ; movss         0x143a(%rip),%xmm2        # 15a0 <_sk_xor__ssse3_lowp+0x29f>
+  DB  243,15,16,21,250,23,0,0             ; movss         0x17fa(%rip),%xmm2        # 1960 <_sk_xor__ssse3_lowp+0x328>
   DB  243,15,16,0                         ; movss         (%rax),%xmm0
   DB  243,15,88,194                       ; addss         %xmm2,%xmm0
   DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
@@ -28437,16 +31342,16 @@
   DB  15,133,191,0,0,0                    ; jne           2a9 <_sk_load_8888_ssse3_lowp+0xcd>
   DB  69,15,16,68,147,16                  ; movups        0x10(%r11,%rdx,4),%xmm8
   DB  102,65,15,16,28,147                 ; movupd        (%r11,%rdx,4),%xmm3
-  DB  102,15,111,13,178,17,0,0            ; movdqa        0x11b2(%rip),%xmm1        # 13b0 <_sk_xor__ssse3_lowp+0xaf>
+  DB  102,15,111,13,242,20,0,0            ; movdqa        0x14f2(%rip),%xmm1        # 16f0 <_sk_xor__ssse3_lowp+0xb8>
   DB  102,15,40,195                       ; movapd        %xmm3,%xmm0
   DB  102,15,56,0,193                     ; pshufb        %xmm1,%xmm0
   DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
   DB  102,15,56,0,209                     ; pshufb        %xmm1,%xmm2
   DB  102,15,108,194                      ; punpcklqdq    %xmm2,%xmm0
   DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
-  DB  102,68,15,111,13,157,17,0,0         ; movdqa        0x119d(%rip),%xmm9        # 13c0 <_sk_xor__ssse3_lowp+0xbf>
+  DB  102,68,15,111,13,221,20,0,0         ; movdqa        0x14dd(%rip),%xmm9        # 1700 <_sk_xor__ssse3_lowp+0xc8>
   DB  102,65,15,228,193                   ; pmulhuw       %xmm9,%xmm0
-  DB  102,68,15,111,21,159,17,0,0         ; movdqa        0x119f(%rip),%xmm10        # 13d0 <_sk_xor__ssse3_lowp+0xcf>
+  DB  102,68,15,111,21,223,20,0,0         ; movdqa        0x14df(%rip),%xmm10        # 1710 <_sk_xor__ssse3_lowp+0xd8>
   DB  102,15,40,203                       ; movapd        %xmm3,%xmm1
   DB  102,65,15,56,0,202                  ; pshufb        %xmm10,%xmm1
   DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
@@ -28454,7 +31359,7 @@
   DB  102,15,108,202                      ; punpcklqdq    %xmm2,%xmm1
   DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
   DB  102,65,15,228,201                   ; pmulhuw       %xmm9,%xmm1
-  DB  102,68,15,111,21,131,17,0,0         ; movdqa        0x1183(%rip),%xmm10        # 13e0 <_sk_xor__ssse3_lowp+0xdf>
+  DB  102,68,15,111,21,195,20,0,0         ; movdqa        0x14c3(%rip),%xmm10        # 1720 <_sk_xor__ssse3_lowp+0xe8>
   DB  102,15,40,211                       ; movapd        %xmm3,%xmm2
   DB  102,65,15,56,0,210                  ; pshufb        %xmm10,%xmm2
   DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
@@ -28462,7 +31367,7 @@
   DB  102,65,15,108,211                   ; punpcklqdq    %xmm11,%xmm2
   DB  102,15,113,242,8                    ; psllw         $0x8,%xmm2
   DB  102,65,15,228,209                   ; pmulhuw       %xmm9,%xmm2
-  DB  102,68,15,111,21,102,17,0,0         ; movdqa        0x1166(%rip),%xmm10        # 13f0 <_sk_xor__ssse3_lowp+0xef>
+  DB  102,68,15,111,21,166,20,0,0         ; movdqa        0x14a6(%rip),%xmm10        # 1730 <_sk_xor__ssse3_lowp+0xf8>
   DB  102,65,15,56,0,218                  ; pshufb        %xmm10,%xmm3
   DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
   DB  102,65,15,108,216                   ; punpcklqdq    %xmm8,%xmm3
@@ -28519,13 +31424,103 @@
   DB  255                                 ; (bad)
   DB  255                                 ; .byte         0xff
 
+PUBLIC _sk_load_8888_dst_ssse3_lowp
+_sk_load_8888_dst_ssse3_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  15,133,191,0,0,0                    ; jne           419 <_sk_load_8888_dst_ssse3_lowp+0xcd>
+  DB  69,15,16,68,147,16                  ; movups        0x10(%r11,%rdx,4),%xmm8
+  DB  102,65,15,16,60,147                 ; movupd        (%r11,%rdx,4),%xmm7
+  DB  102,15,111,45,210,19,0,0            ; movdqa        0x13d2(%rip),%xmm5        # 1740 <_sk_xor__ssse3_lowp+0x108>
+  DB  102,15,40,231                       ; movapd        %xmm7,%xmm4
+  DB  102,15,56,0,229                     ; pshufb        %xmm5,%xmm4
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,15,56,0,245                     ; pshufb        %xmm5,%xmm6
+  DB  102,15,108,230                      ; punpcklqdq    %xmm6,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,68,15,111,13,189,19,0,0         ; movdqa        0x13bd(%rip),%xmm9        # 1750 <_sk_xor__ssse3_lowp+0x118>
+  DB  102,65,15,228,225                   ; pmulhuw       %xmm9,%xmm4
+  DB  102,68,15,111,21,191,19,0,0         ; movdqa        0x13bf(%rip),%xmm10        # 1760 <_sk_xor__ssse3_lowp+0x128>
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,65,15,56,0,234                  ; pshufb        %xmm10,%xmm5
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,65,15,56,0,242                  ; pshufb        %xmm10,%xmm6
+  DB  102,15,108,238                      ; punpcklqdq    %xmm6,%xmm5
+  DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
+  DB  102,65,15,228,233                   ; pmulhuw       %xmm9,%xmm5
+  DB  102,68,15,111,21,163,19,0,0         ; movdqa        0x13a3(%rip),%xmm10        # 1770 <_sk_xor__ssse3_lowp+0x138>
+  DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
+  DB  102,65,15,56,0,242                  ; pshufb        %xmm10,%xmm6
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,243                   ; punpcklqdq    %xmm11,%xmm6
+  DB  102,15,113,246,8                    ; psllw         $0x8,%xmm6
+  DB  102,65,15,228,241                   ; pmulhuw       %xmm9,%xmm6
+  DB  102,68,15,111,21,134,19,0,0         ; movdqa        0x1386(%rip),%xmm10        # 1780 <_sk_xor__ssse3_lowp+0x148>
+  DB  102,65,15,56,0,250                  ; pshufb        %xmm10,%xmm7
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,248                   ; punpcklqdq    %xmm8,%xmm7
+  DB  102,15,113,247,8                    ; psllw         $0x8,%xmm7
+  DB  102,65,15,228,249                   ; pmulhuw       %xmm9,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,48,255,255,255               ; ja            366 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,95,0,0,0                  ; lea           0x5f(%rip),%r10        # 4a0 <_sk_load_8888_dst_ssse3_lowp+0x154>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,60,147                 ; movss         (%r11,%rdx,4),%xmm7
+  DB  233,17,255,255,255                  ; jmpq          366 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  DB  102,65,15,110,100,147,8             ; movd          0x8(%r11,%rdx,4),%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  102,65,15,18,60,147                 ; movlpd        (%r11,%rdx,4),%xmm7
+  DB  233,250,254,255,255                 ; jmpq          366 <_sk_load_8888_dst_ssse3_lowp+0x1a>
+  DB  102,65,15,110,100,147,24            ; movd          0x18(%r11,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  243,65,15,16,100,147,20             ; movss         0x14(%r11,%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,147,16             ; movss         0x10(%r11,%rdx,4),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  233,193,254,255,255                 ; jmpq          360 <_sk_load_8888_dst_ssse3_lowp+0x14>
+  DB  144                                 ; nop
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,181,255,255,255,192             ; pushq         -0x3f000001(%rbp)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  238                                 ; out           %al,(%dx)
+  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                                 ; .byte         0xff
+
 PUBLIC _sk_store_8888_ssse3_lowp
 _sk_store_8888_ssse3_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
   DB  102,65,15,113,208,7                 ; psrlw         $0x7,%xmm8
-  DB  102,68,15,111,21,155,16,0,0         ; movdqa        0x109b(%rip),%xmm10        # 1400 <_sk_xor__ssse3_lowp+0xff>
+  DB  102,68,15,111,21,187,18,0,0         ; movdqa        0x12bb(%rip),%xmm10        # 1790 <_sk_xor__ssse3_lowp+0x158>
   DB  102,69,15,234,194                   ; pminsw        %xmm10,%xmm8
   DB  102,69,15,239,219                   ; pxor          %xmm11,%xmm11
   DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
@@ -28562,7 +31557,7 @@
   DB  102,69,15,235,198                   ; por           %xmm14,%xmm8
   DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,17                              ; jne           433 <_sk_store_8888_ssse3_lowp+0xe7>
+  DB  117,17                              ; jne           5a3 <_sk_store_8888_ssse3_lowp+0xe7>
   DB  243,69,15,127,4,147                 ; movdqu        %xmm8,(%r11,%rdx,4)
   DB  243,69,15,127,84,147,16             ; movdqu        %xmm10,0x10(%r11,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -28571,25 +31566,25 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,236                             ; ja            42f <_sk_store_8888_ssse3_lowp+0xe3>
+  DB  119,236                             ; ja            59f <_sk_store_8888_ssse3_lowp+0xe3>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,82,0,0,0                  ; lea           0x52(%rip),%r10        # 4a0 <_sk_store_8888_ssse3_lowp+0x154>
+  DB  76,141,21,82,0,0,0                  ; lea           0x52(%rip),%r10        # 610 <_sk_store_8888_ssse3_lowp+0x154>
   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,4,147                 ; movd          %xmm8,(%r11,%rdx,4)
-  DB  235,208                             ; jmp           42f <_sk_store_8888_ssse3_lowp+0xe3>
+  DB  235,208                             ; jmp           59f <_sk_store_8888_ssse3_lowp+0xe3>
   DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
   DB  102,69,15,126,76,147,8              ; movd          %xmm9,0x8(%r11,%rdx,4)
   DB  102,69,15,214,4,147                 ; movq          %xmm8,(%r11,%rdx,4)
-  DB  235,187                             ; jmp           42f <_sk_store_8888_ssse3_lowp+0xe3>
+  DB  235,187                             ; jmp           59f <_sk_store_8888_ssse3_lowp+0xe3>
   DB  102,69,15,112,202,78                ; pshufd        $0x4e,%xmm10,%xmm9
   DB  102,69,15,126,76,147,24             ; movd          %xmm9,0x18(%r11,%rdx,4)
   DB  102,69,15,112,202,229               ; pshufd        $0xe5,%xmm10,%xmm9
   DB  102,69,15,126,76,147,20             ; movd          %xmm9,0x14(%r11,%rdx,4)
   DB  102,69,15,126,84,147,16             ; movd          %xmm10,0x10(%r11,%rdx,4)
   DB  243,69,15,127,4,147                 ; movdqu        %xmm8,(%r11,%rdx,4)
-  DB  235,146                             ; jmp           42f <_sk_store_8888_ssse3_lowp+0xe3>
+  DB  235,146                             ; jmp           59f <_sk_store_8888_ssse3_lowp+0xe3>
   DB  15,31,0                             ; nopl          (%rax)
   DB  183,255                             ; mov           $0xff,%bh
   DB  255                                 ; (bad)
@@ -28617,11 +31612,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,37                              ; jne           4eb <_sk_load_a8_ssse3_lowp+0x2f>
+  DB  117,37                              ; jne           65b <_sk_load_a8_ssse3_lowp+0x2f>
   DB  243,65,15,126,28,19                 ; movq          (%r11,%rdx,1),%xmm3
   DB  102,15,96,216                       ; punpcklbw     %xmm0,%xmm3
   DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
-  DB  102,15,228,29,51,15,0,0             ; pmulhuw       0xf33(%rip),%xmm3        # 1410 <_sk_xor__ssse3_lowp+0x10f>
+  DB  102,15,228,29,83,17,0,0             ; pmulhuw       0x1153(%rip),%xmm3        # 17a0 <_sk_xor__ssse3_lowp+0x168>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  102,15,87,192                       ; xorpd         %xmm0,%xmm0
   DB  15,87,201                           ; xorps         %xmm1,%xmm1
@@ -28632,15 +31627,15 @@
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,209                             ; ja            4d0 <_sk_load_a8_ssse3_lowp+0x14>
+  DB  119,209                             ; ja            640 <_sk_load_a8_ssse3_lowp+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,110,0,0,0                 ; lea           0x6e(%rip),%r10        # 578 <_sk_load_a8_ssse3_lowp+0xbc>
+  DB  76,141,21,110,0,0,0                 ; lea           0x6e(%rip),%r10        # 6e8 <_sk_load_a8_ssse3_lowp+0xbc>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  102,15,110,216                      ; movd          %eax,%xmm3
-  DB  235,178                             ; jmp           4d0 <_sk_load_a8_ssse3_lowp+0x14>
+  DB  235,178                             ; jmp           640 <_sk_load_a8_ssse3_lowp+0x14>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  102,15,196,216,2                    ; pinsrw        $0x2,%eax,%xmm3
@@ -28648,7 +31643,7 @@
   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,144                             ; jmp           4d0 <_sk_load_a8_ssse3_lowp+0x14>
+  DB  235,144                             ; jmp           640 <_sk_load_a8_ssse3_lowp+0x14>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
   DB  102,15,196,216,6                    ; pinsrw        $0x6,%eax,%xmm3
@@ -28659,7 +31654,76 @@
   DB  102,65,15,110,4,19                  ; movd          (%r11,%rdx,1),%xmm0
   DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
   DB  242,15,16,216                       ; movsd         %xmm0,%xmm3
-  DB  233,88,255,255,255                  ; jmpq          4d0 <_sk_load_a8_ssse3_lowp+0x14>
+  DB  233,88,255,255,255                  ; jmpq          640 <_sk_load_a8_ssse3_lowp+0x14>
+  DB  155                                 ; fwait
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,181,255,255,255,166             ; pushq         -0x59000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,226                             ; jmpq          *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,215                             ; callq         *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,200                             ; dec           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_ssse3_lowp
+_sk_load_a8_dst_ssse3_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,37                              ; jne           733 <_sk_load_a8_dst_ssse3_lowp+0x2f>
+  DB  243,65,15,126,60,19                 ; movq          (%r11,%rdx,1),%xmm7
+  DB  102,15,96,248                       ; punpcklbw     %xmm0,%xmm7
+  DB  102,15,113,247,8                    ; psllw         $0x8,%xmm7
+  DB  102,15,228,61,139,16,0,0            ; pmulhuw       0x108b(%rip),%xmm7        # 17b0 <_sk_xor__ssse3_lowp+0x178>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,87,228                       ; xorpd         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,209                             ; ja            718 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,110,0,0,0                 ; lea           0x6e(%rip),%r10        # 7c0 <_sk_load_a8_dst_ssse3_lowp+0xbc>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  235,178                             ; jmp           718 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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,144                             ; jmp           718 <_sk_load_a8_dst_ssse3_lowp+0x14>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  102,15,196,248,5                    ; pinsrw        $0x5,%eax,%xmm7
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  102,15,196,248,4                    ; pinsrw        $0x4,%eax,%xmm7
+  DB  102,65,15,110,36,19                 ; movd          (%r11,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  242,15,16,252                       ; movsd         %xmm4,%xmm7
+  DB  233,88,255,255,255                  ; jmpq          718 <_sk_load_a8_dst_ssse3_lowp+0x14>
   DB  155                                 ; fwait
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
@@ -28690,7 +31754,7 @@
   DB  102,65,15,113,208,7                 ; psrlw         $0x7,%xmm8
   DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,14                              ; jne           5c0 <_sk_store_a8_ssse3_lowp+0x2c>
+  DB  117,14                              ; jne           808 <_sk_store_a8_ssse3_lowp+0x2c>
   DB  242,69,15,17,4,19                   ; movsd         %xmm8,(%r11,%rdx,1)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  72,131,196,88                       ; add           $0x58,%rsp
@@ -28699,24 +31763,24 @@
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,232                             ; ja            5b8 <_sk_store_a8_ssse3_lowp+0x24>
+  DB  119,232                             ; ja            800 <_sk_store_a8_ssse3_lowp+0x24>
   DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,132,0,0,0                 ; lea           0x84(%rip),%r10        # 664 <_sk_store_a8_ssse3_lowp+0xd0>
+  DB  76,141,21,132,0,0,0                 ; lea           0x84(%rip),%r10        # 8ac <_sk_store_a8_ssse3_lowp+0xd0>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  102,68,15,127,4,36                  ; movdqa        %xmm8,(%rsp)
   DB  138,4,36                            ; mov           (%rsp),%al
   DB  65,136,4,19                         ; mov           %al,(%r11,%rdx,1)
-  DB  235,192                             ; jmp           5b8 <_sk_store_a8_ssse3_lowp+0x24>
+  DB  235,192                             ; jmp           800 <_sk_store_a8_ssse3_lowp+0x24>
   DB  102,68,15,127,68,36,16              ; movdqa        %xmm8,0x10(%rsp)
   DB  138,68,36,20                        ; mov           0x14(%rsp),%al
   DB  65,136,68,19,2                      ; mov           %al,0x2(%r11,%rdx,1)
-  DB  102,68,15,56,0,5,30,14,0,0          ; pshufb        0xe1e(%rip),%xmm8        # 1430 <_sk_xor__ssse3_lowp+0x12f>
+  DB  102,68,15,56,0,5,118,15,0,0         ; pshufb        0xf76(%rip),%xmm8        # 17d0 <_sk_xor__ssse3_lowp+0x198>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  102,65,137,4,19                     ; mov           %ax,(%r11,%rdx,1)
-  DB  235,154                             ; jmp           5b8 <_sk_store_a8_ssse3_lowp+0x24>
+  DB  235,154                             ; jmp           800 <_sk_store_a8_ssse3_lowp+0x24>
   DB  102,68,15,127,68,36,64              ; movdqa        %xmm8,0x40(%rsp)
   DB  138,68,36,76                        ; mov           0x4c(%rsp),%al
   DB  65,136,68,19,6                      ; mov           %al,0x6(%r11,%rdx,1)
@@ -28726,9 +31790,9 @@
   DB  102,68,15,127,68,36,32              ; movdqa        %xmm8,0x20(%rsp)
   DB  138,68,36,40                        ; mov           0x28(%rsp),%al
   DB  65,136,68,19,4                      ; mov           %al,0x4(%r11,%rdx,1)
-  DB  102,68,15,56,0,5,200,13,0,0         ; pshufb        0xdc8(%rip),%xmm8        # 1420 <_sk_xor__ssse3_lowp+0x11f>
+  DB  102,68,15,56,0,5,32,15,0,0          ; pshufb        0xf20(%rip),%xmm8        # 17c0 <_sk_xor__ssse3_lowp+0x188>
   DB  102,69,15,126,4,19                  ; movd          %xmm8,(%r11,%rdx,1)
-  DB  233,85,255,255,255                  ; jmpq          5b8 <_sk_store_a8_ssse3_lowp+0x24>
+  DB  233,85,255,255,255                  ; jmpq          800 <_sk_store_a8_ssse3_lowp+0x24>
   DB  144                                 ; nop
   DB  133,255                             ; test          %edi,%edi
   DB  255                                 ; (bad)
@@ -28755,13 +31819,13 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,42                              ; jne           6b4 <_sk_load_g8_ssse3_lowp+0x34>
+  DB  117,42                              ; jne           8fc <_sk_load_g8_ssse3_lowp+0x34>
   DB  243,65,15,126,4,19                  ; movq          (%r11,%rdx,1),%xmm0
   DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
   DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
-  DB  102,15,228,5,159,13,0,0             ; pmulhuw       0xd9f(%rip),%xmm0        # 1440 <_sk_xor__ssse3_lowp+0x13f>
+  DB  102,15,228,5,247,14,0,0             ; pmulhuw       0xef7(%rip),%xmm0        # 17e0 <_sk_xor__ssse3_lowp+0x1a8>
   DB  72,173                              ; lods          %ds:(%rsi),%rax
-  DB  15,40,29,166,13,0,0                 ; movaps        0xda6(%rip),%xmm3        # 1450 <_sk_xor__ssse3_lowp+0x14f>
+  DB  15,40,29,254,14,0,0                 ; movaps        0xefe(%rip),%xmm3        # 17f0 <_sk_xor__ssse3_lowp+0x1b8>
   DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
   DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
   DB  255,224                             ; jmpq          *%rax
@@ -28770,15 +31834,15 @@
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,204                             ; ja            694 <_sk_load_g8_ssse3_lowp+0x14>
+  DB  119,204                             ; ja            8dc <_sk_load_g8_ssse3_lowp+0x14>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,113,0,0,0                 ; lea           0x71(%rip),%r10        # 744 <_sk_load_g8_ssse3_lowp+0xc4>
+  DB  76,141,21,113,0,0,0                 ; lea           0x71(%rip),%r10        # 98c <_sk_load_g8_ssse3_lowp+0xc4>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  102,15,110,192                      ; movd          %eax,%xmm0
-  DB  235,173                             ; jmp           694 <_sk_load_g8_ssse3_lowp+0x14>
+  DB  235,173                             ; jmp           8dc <_sk_load_g8_ssse3_lowp+0x14>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  102,15,196,192,2                    ; pinsrw        $0x2,%eax,%xmm0
@@ -28786,7 +31850,7 @@
   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,139                             ; jmp           694 <_sk_load_g8_ssse3_lowp+0x14>
+  DB  235,139                             ; jmp           8dc <_sk_load_g8_ssse3_lowp+0x14>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
   DB  102,15,196,192,6                    ; pinsrw        $0x6,%eax,%xmm0
@@ -28797,7 +31861,77 @@
   DB  102,65,15,110,12,19                 ; movd          (%r11,%rdx,1),%xmm1
   DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
   DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
-  DB  233,83,255,255,255                  ; jmpq          694 <_sk_load_g8_ssse3_lowp+0x14>
+  DB  233,83,255,255,255                  ; jmpq          8dc <_sk_load_g8_ssse3_lowp+0x14>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  152                                 ; cwtl
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,178,255,255,255,163             ; pushq         -0x5c000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_ssse3_lowp
+_sk_load_g8_dst_ssse3_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,24                           ; mov           (%rax),%r11
+  DB  77,133,192                          ; test          %r8,%r8
+  DB  117,42                              ; jne           9dc <_sk_load_g8_dst_ssse3_lowp+0x34>
+  DB  243,65,15,126,36,19                 ; movq          (%r11,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,228,37,55,14,0,0             ; pmulhuw       0xe37(%rip),%xmm4        # 1800 <_sk_xor__ssse3_lowp+0x1c8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,62,14,0,0                  ; movaps        0xe3e(%rip),%xmm7        # 1810 <_sk_xor__ssse3_lowp+0x1d8>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,204                             ; ja            9bc <_sk_load_g8_dst_ssse3_lowp+0x14>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,113,0,0,0                 ; lea           0x71(%rip),%r10        # a6c <_sk_load_g8_dst_ssse3_lowp+0xc4>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,173                             ; jmp           9bc <_sk_load_g8_dst_ssse3_lowp+0x14>
+  DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%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,19                      ; movzwl        (%r11,%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,139                             ; jmp           9bc <_sk_load_g8_dst_ssse3_lowp+0x14>
+  DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%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,19,5                   ; movzbl        0x5(%r11,%rdx,1),%eax
+  DB  102,15,196,224,5                    ; pinsrw        $0x5,%eax,%xmm4
+  DB  65,15,182,68,19,4                   ; movzbl        0x4(%r11,%rdx,1),%eax
+  DB  102,15,196,224,4                    ; pinsrw        $0x4,%eax,%xmm4
+  DB  102,65,15,110,44,19                 ; movd          (%r11,%rdx,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  233,83,255,255,255                  ; jmpq          9bc <_sk_load_g8_dst_ssse3_lowp+0x14>
   DB  15,31,0                             ; nopl          (%rax)
   DB  152                                 ; cwtl
   DB  255                                 ; (bad)
@@ -28826,21 +31960,21 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,17,2,0,0                     ; jne           984 <_sk_srcover_rgba_8888_ssse3_lowp+0x224>
+  DB  15,133,17,2,0,0                     ; jne           cac <_sk_srcover_rgba_8888_ssse3_lowp+0x224>
   DB  69,15,16,68,147,16                  ; movups        0x10(%r11,%rdx,4),%xmm8
   DB  102,65,15,16,60,147                 ; movupd        (%r11,%rdx,4),%xmm7
   DB  72,131,236,24                       ; sub           $0x18,%rsp
-  DB  102,15,111,45,213,12,0,0            ; movdqa        0xcd5(%rip),%xmm5        # 1460 <_sk_xor__ssse3_lowp+0x15f>
+  DB  102,15,111,45,109,13,0,0            ; movdqa        0xd6d(%rip),%xmm5        # 1820 <_sk_xor__ssse3_lowp+0x1e8>
   DB  102,15,40,231                       ; movapd        %xmm7,%xmm4
   DB  102,15,56,0,229                     ; pshufb        %xmm5,%xmm4
   DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
   DB  102,15,56,0,245                     ; pshufb        %xmm5,%xmm6
   DB  102,15,108,230                      ; punpcklqdq    %xmm6,%xmm4
-  DB  102,15,111,13,198,12,0,0            ; movdqa        0xcc6(%rip),%xmm1        # 1470 <_sk_xor__ssse3_lowp+0x16f>
+  DB  102,15,111,13,94,13,0,0             ; movdqa        0xd5e(%rip),%xmm1        # 1830 <_sk_xor__ssse3_lowp+0x1f8>
   DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
-  DB  102,68,15,111,13,200,12,0,0         ; movdqa        0xcc8(%rip),%xmm9        # 1480 <_sk_xor__ssse3_lowp+0x17f>
+  DB  102,68,15,111,13,96,13,0,0          ; movdqa        0xd60(%rip),%xmm9        # 1840 <_sk_xor__ssse3_lowp+0x208>
   DB  102,65,15,228,225                   ; pmulhuw       %xmm9,%xmm4
-  DB  102,68,15,111,21,202,12,0,0         ; movdqa        0xcca(%rip),%xmm10        # 1490 <_sk_xor__ssse3_lowp+0x18f>
+  DB  102,68,15,111,21,98,13,0,0          ; movdqa        0xd62(%rip),%xmm10        # 1850 <_sk_xor__ssse3_lowp+0x218>
   DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
   DB  102,65,15,56,0,234                  ; pshufb        %xmm10,%xmm5
   DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
@@ -28848,7 +31982,7 @@
   DB  102,15,108,238                      ; punpcklqdq    %xmm6,%xmm5
   DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
   DB  102,65,15,228,233                   ; pmulhuw       %xmm9,%xmm5
-  DB  102,68,15,111,21,174,12,0,0         ; movdqa        0xcae(%rip),%xmm10        # 14a0 <_sk_xor__ssse3_lowp+0x19f>
+  DB  102,68,15,111,21,70,13,0,0          ; movdqa        0xd46(%rip),%xmm10        # 1860 <_sk_xor__ssse3_lowp+0x228>
   DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
   DB  102,65,15,56,0,242                  ; pshufb        %xmm10,%xmm6
   DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
@@ -28856,13 +31990,13 @@
   DB  102,65,15,108,243                   ; punpcklqdq    %xmm11,%xmm6
   DB  102,15,113,246,8                    ; psllw         $0x8,%xmm6
   DB  102,65,15,228,241                   ; pmulhuw       %xmm9,%xmm6
-  DB  102,68,15,111,21,145,12,0,0         ; movdqa        0xc91(%rip),%xmm10        # 14b0 <_sk_xor__ssse3_lowp+0x1af>
+  DB  102,68,15,111,21,41,13,0,0          ; movdqa        0xd29(%rip),%xmm10        # 1870 <_sk_xor__ssse3_lowp+0x238>
   DB  102,65,15,56,0,250                  ; pshufb        %xmm10,%xmm7
   DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
   DB  102,65,15,108,248                   ; punpcklqdq    %xmm8,%xmm7
   DB  102,15,113,247,8                    ; psllw         $0x8,%xmm7
   DB  102,65,15,228,249                   ; pmulhuw       %xmm9,%xmm7
-  DB  102,68,15,111,29,125,12,0,0         ; movdqa        0xc7d(%rip),%xmm11        # 14c0 <_sk_xor__ssse3_lowp+0x1bf>
+  DB  102,68,15,111,29,21,13,0,0          ; movdqa        0xd15(%rip),%xmm11        # 1880 <_sk_xor__ssse3_lowp+0x248>
   DB  102,68,15,249,219                   ; psubw         %xmm3,%xmm11
   DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
   DB  102,69,15,56,11,195                 ; pmulhrsw      %xmm11,%xmm8
@@ -28918,7 +32052,7 @@
   DB  102,65,15,235,192                   ; por           %xmm8,%xmm0
   DB  102,15,235,194                      ; por           %xmm2,%xmm0
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,100                             ; jne           9c0 <_sk_srcover_rgba_8888_ssse3_lowp+0x260>
+  DB  117,100                             ; jne           ce8 <_sk_srcover_rgba_8888_ssse3_lowp+0x260>
   DB  243,65,15,127,4,147                 ; movdqu        %xmm0,(%r11,%rdx,4)
   DB  243,65,15,127,76,147,16             ; movdqu        %xmm1,0x10(%r11,%rdx,4)
   DB  72,173                              ; lods          %ds:(%rsi),%rax
@@ -28934,30 +32068,30 @@
   DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,222,253,255,255              ; ja            77f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  DB  15,135,222,253,255,255              ; ja            aa7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,208,0,0,0                 ; lea           0xd0(%rip),%r10        # a7c <_sk_srcover_rgba_8888_ssse3_lowp+0x31c>
+  DB  76,141,21,208,0,0,0                 ; lea           0xd0(%rip),%r10        # da4 <_sk_srcover_rgba_8888_ssse3_lowp+0x31c>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  243,65,15,16,60,147                 ; movss         (%r11,%rdx,4),%xmm7
-  DB  233,191,253,255,255                 ; jmpq          77f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  DB  233,191,253,255,255                 ; jmpq          aa7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   DB  69,137,193                          ; mov           %r8d,%r9d
   DB  65,128,225,7                        ; and           $0x7,%r9b
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,153                             ; ja            969 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
+  DB  119,153                             ; ja            c91 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
   DB  65,15,182,193                       ; movzbl        %r9b,%eax
-  DB  76,141,13,189,0,0,0                 ; lea           0xbd(%rip),%r9        # a98 <_sk_srcover_rgba_8888_ssse3_lowp+0x338>
+  DB  76,141,13,189,0,0,0                 ; lea           0xbd(%rip),%r9        # dc0 <_sk_srcover_rgba_8888_ssse3_lowp+0x338>
   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,126,4,147                 ; movd          %xmm0,(%r11,%rdx,4)
-  DB  233,122,255,255,255                 ; jmpq          969 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
+  DB  233,122,255,255,255                 ; jmpq          c91 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
   DB  102,65,15,110,100,147,8             ; movd          0x8(%r11,%rdx,4),%xmm4
   DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
   DB  102,65,15,18,60,147                 ; movlpd        (%r11,%rdx,4),%xmm7
-  DB  233,121,253,255,255                 ; jmpq          77f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
+  DB  233,121,253,255,255                 ; jmpq          aa7 <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
   DB  102,65,15,110,100,147,24            ; movd          0x18(%r11,%rdx,4),%xmm4
   DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
   DB  243,65,15,16,100,147,20             ; movss         0x14(%r11,%rdx,4),%xmm4
@@ -28966,23 +32100,23 @@
   DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
   DB  243,65,15,16,100,147,16             ; movss         0x10(%r11,%rdx,4),%xmm4
   DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
-  DB  233,64,253,255,255                  ; jmpq          779 <_sk_srcover_rgba_8888_ssse3_lowp+0x19>
+  DB  233,64,253,255,255                  ; jmpq          aa1 <_sk_srcover_rgba_8888_ssse3_lowp+0x19>
   DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
   DB  102,65,15,126,76,147,8              ; movd          %xmm1,0x8(%r11,%rdx,4)
   DB  102,65,15,214,4,147                 ; movq          %xmm0,(%r11,%rdx,4)
-  DB  233,25,255,255,255                  ; jmpq          969 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
+  DB  233,25,255,255,255                  ; jmpq          c91 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
   DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
   DB  102,65,15,126,84,147,24             ; movd          %xmm2,0x18(%r11,%rdx,4)
   DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
   DB  102,65,15,126,84,147,20             ; movd          %xmm2,0x14(%r11,%rdx,4)
   DB  102,65,15,126,76,147,16             ; movd          %xmm1,0x10(%r11,%rdx,4)
   DB  243,65,15,127,4,147                 ; movdqu        %xmm0,(%r11,%rdx,4)
-  DB  233,239,254,255,255                 ; jmpq          969 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
+  DB  233,239,254,255,255                 ; jmpq          c91 <_sk_srcover_rgba_8888_ssse3_lowp+0x209>
   DB  102,144                             ; xchg          %ax,%ax
   DB  57,255                              ; cmp           %edi,%edi
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  127,255                             ; jg            a81 <_sk_srcover_rgba_8888_ssse3_lowp+0x321>
+  DB  127,255                             ; jg            da9 <_sk_srcover_rgba_8888_ssse3_lowp+0x321>
   DB  255                                 ; (bad)
   DB  255,115,255                         ; pushq         -0x1(%rbx)
   DB  255                                 ; (bad)
@@ -29017,7 +32151,7 @@
 _sk_scale_1_float_ssse3_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
-  DB  243,68,15,88,5,224,10,0,0           ; addss         0xae0(%rip),%xmm8        # 15a4 <_sk_xor__ssse3_lowp+0x2a3>
+  DB  243,68,15,88,5,120,11,0,0           ; addss         0xb78(%rip),%xmm8        # 1964 <_sk_xor__ssse3_lowp+0x32c>
   DB  102,68,15,126,192                   ; movd          %xmm8,%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
   DB  242,69,15,112,192,0                 ; pshuflw       $0x0,%xmm8,%xmm8
@@ -29038,11 +32172,11 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  117,74                              ; jne           b5e <_sk_scale_u8_ssse3_lowp+0x54>
+  DB  117,74                              ; jne           e86 <_sk_scale_u8_ssse3_lowp+0x54>
   DB  243,69,15,126,4,19                  ; movq          (%r11,%rdx,1),%xmm8
   DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
   DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
-  DB  102,68,15,228,5,162,9,0,0           ; pmulhuw       0x9a2(%rip),%xmm8        # 14d0 <_sk_xor__ssse3_lowp+0x1cf>
+  DB  102,68,15,228,5,58,10,0,0           ; pmulhuw       0xa3a(%rip),%xmm8        # 1890 <_sk_xor__ssse3_lowp+0x258>
   DB  102,65,15,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
   DB  102,15,56,29,192                    ; pabsw         %xmm0,%xmm0
   DB  102,65,15,56,11,200                 ; pmulhrsw      %xmm8,%xmm1
@@ -29058,15 +32192,15 @@
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  119,172                             ; ja            b1f <_sk_scale_u8_ssse3_lowp+0x15>
+  DB  119,172                             ; ja            e47 <_sk_scale_u8_ssse3_lowp+0x15>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,126,0,0,0                 ; lea           0x7e(%rip),%r10        # bfc <_sk_scale_u8_ssse3_lowp+0xf2>
+  DB  76,141,21,126,0,0,0                 ; lea           0x7e(%rip),%r10        # f24 <_sk_scale_u8_ssse3_lowp+0xf2>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  235,140                             ; jmp           b1f <_sk_scale_u8_ssse3_lowp+0x15>
+  DB  235,140                             ; jmp           e47 <_sk_scale_u8_ssse3_lowp+0x15>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  102,68,15,196,192,2                 ; pinsrw        $0x2,%eax,%xmm8
@@ -29074,7 +32208,7 @@
   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  233,98,255,255,255                  ; jmpq          b1f <_sk_scale_u8_ssse3_lowp+0x15>
+  DB  233,98,255,255,255                  ; jmpq          e47 <_sk_scale_u8_ssse3_lowp+0x15>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  102,68,15,196,192,6                 ; pinsrw        $0x6,%eax,%xmm8
@@ -29085,7 +32219,7 @@
   DB  102,69,15,110,12,19                 ; movd          (%r11,%rdx,1),%xmm9
   DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
   DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
-  DB  233,36,255,255,255                  ; jmpq          b1f <_sk_scale_u8_ssse3_lowp+0x15>
+  DB  233,36,255,255,255                  ; jmpq          e47 <_sk_scale_u8_ssse3_lowp+0x15>
   DB  144                                 ; nop
   DB  139,255                             ; mov           %edi,%edi
   DB  255                                 ; (bad)
@@ -29111,14 +32245,14 @@
 _sk_lerp_1_float_ssse3_lowp LABEL PROC
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
-  DB  243,68,15,88,5,128,9,0,0            ; addss         0x980(%rip),%xmm8        # 15a8 <_sk_xor__ssse3_lowp+0x2a7>
+  DB  243,68,15,88,5,24,10,0,0            ; addss         0xa18(%rip),%xmm8        # 1968 <_sk_xor__ssse3_lowp+0x330>
   DB  102,68,15,126,192                   ; movd          %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,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
   DB  102,68,15,56,29,200                 ; pabsw         %xmm0,%xmm9
-  DB  102,68,15,111,21,141,8,0,0          ; movdqa        0x88d(%rip),%xmm10        # 14e0 <_sk_xor__ssse3_lowp+0x1df>
+  DB  102,68,15,111,21,37,9,0,0           ; movdqa        0x925(%rip),%xmm10        # 18a0 <_sk_xor__ssse3_lowp+0x268>
   DB  102,69,15,249,208                   ; psubw         %xmm8,%xmm10
   DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
   DB  102,65,15,56,11,194                 ; pmulhrsw      %xmm10,%xmm0
@@ -29149,14 +32283,14 @@
   DB  72,173                              ; lods          %ds:(%rsi),%rax
   DB  76,139,24                           ; mov           (%rax),%r11
   DB  77,133,192                          ; test          %r8,%r8
-  DB  15,133,169,0,0,0                    ; jne           d84 <_sk_lerp_u8_ssse3_lowp+0xb7>
+  DB  15,133,169,0,0,0                    ; jne           10ac <_sk_lerp_u8_ssse3_lowp+0xb7>
   DB  243,69,15,126,4,19                  ; movq          (%r11,%rdx,1),%xmm8
   DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
   DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
-  DB  102,68,15,228,5,251,7,0,0           ; pmulhuw       0x7fb(%rip),%xmm8        # 14f0 <_sk_xor__ssse3_lowp+0x1ef>
+  DB  102,68,15,228,5,147,8,0,0           ; pmulhuw       0x893(%rip),%xmm8        # 18b0 <_sk_xor__ssse3_lowp+0x278>
   DB  102,65,15,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
   DB  102,68,15,56,29,200                 ; pabsw         %xmm0,%xmm9
-  DB  102,68,15,111,21,246,7,0,0          ; movdqa        0x7f6(%rip),%xmm10        # 1500 <_sk_xor__ssse3_lowp+0x1ff>
+  DB  102,68,15,111,21,142,8,0,0          ; movdqa        0x88e(%rip),%xmm10        # 18c0 <_sk_xor__ssse3_lowp+0x288>
   DB  102,69,15,249,208                   ; psubw         %xmm8,%xmm10
   DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
   DB  102,65,15,56,11,194                 ; pmulhrsw      %xmm10,%xmm0
@@ -29186,15 +32320,15 @@
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  65,254,201                          ; dec           %r9b
   DB  65,128,249,6                        ; cmp           $0x6,%r9b
-  DB  15,135,73,255,255,255               ; ja            ce6 <_sk_lerp_u8_ssse3_lowp+0x19>
+  DB  15,135,73,255,255,255               ; ja            100e <_sk_lerp_u8_ssse3_lowp+0x19>
   DB  69,15,182,201                       ; movzbl        %r9b,%r9d
-  DB  76,141,21,128,0,0,0                 ; lea           0x80(%rip),%r10        # e28 <_sk_lerp_u8_ssse3_lowp+0x15b>
+  DB  76,141,21,128,0,0,0                 ; lea           0x80(%rip),%r10        # 1150 <_sk_lerp_u8_ssse3_lowp+0x15b>
   DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
   DB  76,1,208                            ; add           %r10,%rax
   DB  255,224                             ; jmpq          *%rax
   DB  65,15,182,4,19                      ; movzbl        (%r11,%rdx,1),%eax
   DB  102,68,15,110,192                   ; movd          %eax,%xmm8
-  DB  233,38,255,255,255                  ; jmpq          ce6 <_sk_lerp_u8_ssse3_lowp+0x19>
+  DB  233,38,255,255,255                  ; jmpq          100e <_sk_lerp_u8_ssse3_lowp+0x19>
   DB  65,15,182,68,19,2                   ; movzbl        0x2(%r11,%rdx,1),%eax
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  102,68,15,196,192,2                 ; pinsrw        $0x2,%eax,%xmm8
@@ -29202,7 +32336,7 @@
   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  233,252,254,255,255                 ; jmpq          ce6 <_sk_lerp_u8_ssse3_lowp+0x19>
+  DB  233,252,254,255,255                 ; jmpq          100e <_sk_lerp_u8_ssse3_lowp+0x19>
   DB  65,15,182,68,19,6                   ; movzbl        0x6(%r11,%rdx,1),%eax
   DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
   DB  102,68,15,196,192,6                 ; pinsrw        $0x6,%eax,%xmm8
@@ -29213,14 +32347,14 @@
   DB  102,69,15,110,12,19                 ; movd          (%r11,%rdx,1),%xmm9
   DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
   DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
-  DB  233,190,254,255,255                 ; jmpq          ce6 <_sk_lerp_u8_ssse3_lowp+0x19>
+  DB  233,190,254,255,255                 ; jmpq          100e <_sk_lerp_u8_ssse3_lowp+0x19>
   DB  137,255                             ; mov           %edi,%edi
   DB  255                                 ; (bad)
   DB  255,169,255,255,255,152             ; ljmp          *-0x67000001(%rcx)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
-  DB  235,255                             ; jmp           e35 <_sk_lerp_u8_ssse3_lowp+0x168>
+  DB  235,255                             ; jmp           115d <_sk_lerp_u8_ssse3_lowp+0x168>
   DB  255                                 ; (bad)
   DB  255                                 ; (bad)
   DB  223,255                             ; (bad)
@@ -29241,6 +32375,14 @@
   DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
   DB  255,224                             ; jmpq          *%rax
 
+PUBLIC _sk_swap_rb_dst_ssse3_lowp
+_sk_swap_rb_dst_ssse3_lowp LABEL PROC
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+
 PUBLIC _sk_swap_ssse3_lowp
 _sk_swap_ssse3_lowp LABEL PROC
   DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
@@ -29289,7 +32431,7 @@
 _sk_srcatop_ssse3_lowp LABEL PROC
   DB  102,15,56,11,199                    ; pmulhrsw      %xmm7,%xmm0
   DB  102,68,15,56,29,192                 ; pabsw         %xmm0,%xmm8
-  DB  102,68,15,111,13,73,6,0,0           ; movdqa        0x649(%rip),%xmm9        # 1510 <_sk_xor__ssse3_lowp+0x20f>
+  DB  102,68,15,111,13,210,6,0,0          ; movdqa        0x6d2(%rip),%xmm9        # 18d0 <_sk_xor__ssse3_lowp+0x298>
   DB  102,68,15,249,203                   ; psubw         %xmm3,%xmm9
   DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
   DB  102,65,15,56,11,193                 ; pmulhrsw      %xmm9,%xmm0
@@ -29320,7 +32462,7 @@
   DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
   DB  102,68,15,56,11,195                 ; pmulhrsw      %xmm3,%xmm8
   DB  102,69,15,56,29,192                 ; pabsw         %xmm8,%xmm8
-  DB  102,68,15,111,13,200,5,0,0          ; movdqa        0x5c8(%rip),%xmm9        # 1520 <_sk_xor__ssse3_lowp+0x21f>
+  DB  102,68,15,111,13,81,6,0,0           ; movdqa        0x651(%rip),%xmm9        # 18e0 <_sk_xor__ssse3_lowp+0x2a8>
   DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
   DB  102,65,15,56,11,193                 ; pmulhrsw      %xmm9,%xmm0
   DB  102,15,56,29,192                    ; pabsw         %xmm0,%xmm0
@@ -29377,7 +32519,7 @@
 
 PUBLIC _sk_srcout_ssse3_lowp
 _sk_srcout_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,238,4,0,0           ; movdqa        0x4ee(%rip),%xmm8        # 1530 <_sk_xor__ssse3_lowp+0x22f>
+  DB  102,68,15,111,5,119,5,0,0           ; movdqa        0x577(%rip),%xmm8        # 18f0 <_sk_xor__ssse3_lowp+0x2b8>
   DB  102,68,15,249,199                   ; psubw         %xmm7,%xmm8
   DB  102,65,15,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
   DB  102,15,56,29,192                    ; pabsw         %xmm0,%xmm0
@@ -29392,7 +32534,7 @@
 
 PUBLIC _sk_dstout_ssse3_lowp
 _sk_dstout_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,191,4,0,0           ; movdqa        0x4bf(%rip),%xmm8        # 1540 <_sk_xor__ssse3_lowp+0x23f>
+  DB  102,68,15,111,5,72,5,0,0            ; movdqa        0x548(%rip),%xmm8        # 1900 <_sk_xor__ssse3_lowp+0x2c8>
   DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
   DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
   DB  102,65,15,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
@@ -29410,7 +32552,7 @@
 
 PUBLIC _sk_srcover_ssse3_lowp
 _sk_srcover_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,132,4,0,0           ; movdqa        0x484(%rip),%xmm8        # 1550 <_sk_xor__ssse3_lowp+0x24f>
+  DB  102,68,15,111,5,13,5,0,0            ; movdqa        0x50d(%rip),%xmm8        # 1910 <_sk_xor__ssse3_lowp+0x2d8>
   DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
   DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
   DB  102,69,15,56,11,200                 ; pmulhrsw      %xmm8,%xmm9
@@ -29432,7 +32574,7 @@
 
 PUBLIC _sk_dstover_ssse3_lowp
 _sk_dstover_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,47,4,0,0            ; movdqa        0x42f(%rip),%xmm8        # 1560 <_sk_xor__ssse3_lowp+0x25f>
+  DB  102,68,15,111,5,184,4,0,0           ; movdqa        0x4b8(%rip),%xmm8        # 1920 <_sk_xor__ssse3_lowp+0x2e8>
   DB  102,68,15,249,199                   ; psubw         %xmm7,%xmm8
   DB  102,65,15,56,11,192                 ; pmulhrsw      %xmm8,%xmm0
   DB  102,15,56,29,192                    ; pabsw         %xmm0,%xmm0
@@ -29464,7 +32606,7 @@
 
 PUBLIC _sk_multiply_ssse3_lowp
 _sk_multiply_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,196,3,0,0           ; movdqa        0x3c4(%rip),%xmm8        # 1570 <_sk_xor__ssse3_lowp+0x26f>
+  DB  102,68,15,111,5,77,4,0,0            ; movdqa        0x44d(%rip),%xmm8        # 1930 <_sk_xor__ssse3_lowp+0x2f8>
   DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
   DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
   DB  102,68,15,111,208                   ; movdqa        %xmm0,%xmm10
@@ -29511,7 +32653,7 @@
 
 PUBLIC _sk_screen_ssse3_lowp
 _sk_screen_ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,234,2,0,0           ; movdqa        0x2ea(%rip),%xmm8        # 1580 <_sk_xor__ssse3_lowp+0x27f>
+  DB  102,68,15,111,5,115,3,0,0           ; movdqa        0x373(%rip),%xmm8        # 1940 <_sk_xor__ssse3_lowp+0x308>
   DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
   DB  102,68,15,249,200                   ; psubw         %xmm0,%xmm9
   DB  102,68,15,56,11,204                 ; pmulhrsw      %xmm4,%xmm9
@@ -29536,7 +32678,7 @@
 
 PUBLIC _sk_xor__ssse3_lowp
 _sk_xor__ssse3_lowp LABEL PROC
-  DB  102,68,15,111,5,134,2,0,0           ; movdqa        0x286(%rip),%xmm8        # 1590 <_sk_xor__ssse3_lowp+0x28f>
+  DB  102,68,15,111,5,15,3,0,0            ; movdqa        0x30f(%rip),%xmm8        # 1950 <_sk_xor__ssse3_lowp+0x318>
   DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
   DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
   DB  102,65,15,56,11,193                 ; pmulhrsw      %xmm9,%xmm0
@@ -29579,7 +32721,36 @@
   DB  12,13                               ; or            $0xd,%al
   DB  12,13                               ; or            $0xd,%al
   DB  14                                  ; (bad)
-  DB  15,129,128,129,128,129              ; jno           ffffffff81809545 <_sk_xor__ssse3_lowp+0xffffffff81808244>
+  DB  15,129,128,129,128,129              ; jno           ffffffff81809885 <_sk_xor__ssse3_lowp+0xffffffff8180824d>
+  DB  128,129,128,129,128,129,128         ; addb          $0x80,-0x7e7f7e80(%rcx)
+  DB  129,128,129,128,1,2,5,6,9,10        ; addl          $0xa090605,0x2018081(%rax)
+  DB  13,14,9,10,13                       ; or            $0xd0a090e,%eax
+  DB  14                                  ; (bad)
+  DB  13,14,15,255,2                      ; or            $0x2ff0f0e,%eax
+  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,3                               ; incl          (%rbx)
+  DB  255,7                               ; incl          (%rdi)
+  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,0                               ; incl          (%rax)
+  DB  1,4,5,8,9,12,13                     ; add           %eax,0xd0c0908(,%rax,1)
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  12,13                               ; or            $0xd,%al
+  DB  14                                  ; (bad)
+  DB  15,129,128,129,128,129              ; jno           ffffffff818098d5 <_sk_xor__ssse3_lowp+0xffffffff8180829d>
   DB  128,129,128,129,128,129,128         ; addb          $0x80,-0x7e7f7e80(%rcx)
   DB  129,128,129,128,1,2,5,6,9,10        ; addl          $0xa090605,0x2018081(%rax)
   DB  13,14,9,10,13                       ; or            $0xd0a090e,%eax
@@ -29612,9 +32783,9 @@
   DB  255,0                               ; incl          (%rax)
   DB  255,0                               ; incl          (%rax)
   DB  129,128,129,128,129,128,129,128,129,128; addl          $0x80818081,-0x7f7e7f7f(%rax)
-  DB  129,128,129,128,129,128,0,2,4,6     ; addl          $0x6040200,-0x7f7e7f7f(%rax)
-  DB  0,0                                 ; add           %al,(%rax)
-  DB  0,0                                 ; add           %al,(%rax)
+  DB  129,128,129,128,129,128,129,128,129,128; addl          $0x80818081,-0x7f7e7f7f(%rax)
+  DB  129,128,129,128,129,128,129,128,129,128; addl          $0x80818081,-0x7f7e7f7f(%rax)
+  DB  129,128,0,2,4,6,0,0,0,0             ; addl          $0x0,0x6040200(%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
   DB  0,0                                 ; add           %al,(%rax)
@@ -29631,6 +32802,10 @@
   DB  129,128,129,128,129,128,0,128,0,128 ; addl          $0x80008000,-0x7f7e7f7f(%rax)
   DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
   DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
+  DB  129,128,129,128,129,128,129,128,129,128; addl          $0x80818081,-0x7f7e7f7f(%rax)
+  DB  129,128,129,128,129,128,0,128,0,128 ; addl          $0x80008000,-0x7f7e7f7f(%rax)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
   DB  0,1                                 ; add           %al,(%rcx)
   DB  4,5                                 ; add           $0x5,%al
   DB  8,9                                 ; or            %cl,(%rcx)
diff --git a/src/jumper/SkJumper_stages.cpp b/src/jumper/SkJumper_stages.cpp
index 9ca5a08..e3c76fc 100644
--- a/src/jumper/SkJumper_stages.cpp
+++ b/src/jumper/SkJumper_stages.cpp
@@ -501,6 +501,13 @@
     b = min(b, a);
 }
 
+STAGE(clamp_a_dst) {
+    da = min(da, 1.0f);
+    dr = min(dr, da);
+    dg = min(dg, da);
+    db = min(db, da);
+}
+
 STAGE(set_rgb) {
     auto rgb = (const float*)ctx;
     r = rgb[0];
@@ -513,6 +520,12 @@
     b = tmp;
 }
 
+STAGE(swap_rb_dst) {
+    auto tmp = dr;
+    dr = db;
+    db = tmp;
+}
+
 STAGE(swap) {
     auto swap = [](F& v, F& dv) {
         auto tmp = v;
@@ -549,15 +562,21 @@
     b *= scale;
 }
 
+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) {
-    auto fn = [&](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);
-    };
-    r = fn(r);
-    g = fn(g);
-    b = fn(b);
+    r = from_srgb(r);
+    g = from_srgb(g);
+    b = from_srgb(b);
+}
+STAGE(from_srgb_dst) {
+    dr = from_srgb(dr);
+    dg = from_srgb(dg);
+    db = from_srgb(db);
 }
 STAGE(to_srgb) {
     auto fn = [&](F l) {
@@ -780,6 +799,12 @@
     r = g = b = 0.0f;
     a = from_byte(load<U8>(ptr, tail));
 }
+STAGE(load_a8_dst) {
+    auto ptr = *(const uint8_t**)ctx + x;
+
+    dr = dg = db = 0.0f;
+    da = from_byte(load<U8>(ptr, tail));
+}
 STAGE(gather_a8) {
     const uint8_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -799,6 +824,12 @@
     r = g = b = from_byte(load<U8>(ptr, tail));
     a = 1.0f;
 }
+STAGE(load_g8_dst) {
+    auto ptr = *(const uint8_t**)ctx + x;
+
+    dr = dg = db = from_byte(load<U8>(ptr, tail));
+    da = 1.0f;
+}
 STAGE(gather_g8) {
     const uint8_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -820,6 +851,12 @@
     from_565(load<U16>(ptr, tail), &r,&g,&b);
     a = 1.0f;
 }
+STAGE(load_565_dst) {
+    auto ptr = *(const uint16_t**)ctx + x;
+
+    from_565(load<U16>(ptr, tail), &dr,&dg,&db);
+    da = 1.0f;
+}
 STAGE(gather_565) {
     const uint16_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -839,6 +876,10 @@
     auto ptr = *(const uint16_t**)ctx + x;
     from_4444(load<U16>(ptr, tail), &r,&g,&b,&a);
 }
+STAGE(load_4444_dst) {
+    auto ptr = *(const uint16_t**)ctx + x;
+    from_4444(load<U16>(ptr, tail), &dr,&dg,&db,&da);
+}
 STAGE(gather_4444) {
     const uint16_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -857,6 +898,10 @@
     auto ptr = *(const uint32_t**)ctx + x;
     from_8888(load<U32>(ptr, tail), &r,&g,&b,&a);
 }
+STAGE(load_8888_dst) {
+    auto ptr = *(const uint32_t**)ctx + x;
+    from_8888(load<U32>(ptr, tail), &dr,&dg,&db,&da);
+}
 STAGE(gather_8888) {
     const uint32_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -882,6 +927,16 @@
     b = from_half(B);
     a = from_half(A);
 }
+STAGE(load_f16_dst) {
+    auto ptr = *(const uint64_t**)ctx + x;
+
+    U16 R,G,B,A;
+    load4((const uint16_t*)ptr,tail, &R,&G,&B,&A);
+    dr = from_half(R);
+    dg = from_half(G);
+    db = from_half(B);
+    da = from_half(A);
+}
 STAGE(gather_f16) {
     const uint64_t* ptr;
     U32 ix = ix_and_ptr(&ptr, ctx, r,g);
@@ -939,6 +994,10 @@
     auto ptr = *(const float**)ctx + 4*x;
     load4(ptr,tail, &r,&g,&b,&a);
 }
+STAGE(load_f32_dst) {
+    auto ptr = *(const float**)ctx + 4*x;
+    load4(ptr,tail, &dr,&dg,&db,&da);
+}
 STAGE(store_f32) {
     auto ptr = *(float**)ctx + 4*x;
     store4(ptr,tail, r,g,b,a);
diff --git a/src/jumper/SkJumper_stages_lowp.cpp b/src/jumper/SkJumper_stages_lowp.cpp
index 1b735f0..f6dd0bf 100644
--- a/src/jumper/SkJumper_stages_lowp.cpp
+++ b/src/jumper/SkJumper_stages_lowp.cpp
@@ -240,6 +240,10 @@
     auto ptr = *(const uint32_t**)ctx + x;
     from_8888(load<U32>(ptr, tail), &r,&g,&b,&a);
 }
+STAGE(load_8888_dst) {
+    auto ptr = *(const uint32_t**)ctx + x;
+    from_8888(load<U32>(ptr, tail), &dr,&dg,&db,&da);
+}
 STAGE(store_8888) {
     auto ptr = *(uint32_t**)ctx + x;
     store(ptr, to_8888(r,g,b,a), tail);
@@ -250,6 +254,11 @@
     r = g = b = 0.0f;
     a = from_byte(load<U8>(ptr, tail));
 }
+STAGE(load_a8_dst) {
+    auto ptr = *(const uint8_t**)ctx + x;
+    dr = dg = db = 0.0f;
+    da = from_byte(load<U8>(ptr, tail));
+}
 STAGE(store_a8) {
     auto ptr = *(uint8_t**)ctx + x;
     store(ptr, to_byte(a), tail);
@@ -261,6 +270,12 @@
     a = 1.0f;
 }
 
+STAGE(load_g8_dst) {
+    auto ptr = *(const uint8_t**)ctx + x;
+    dr = dg = db = from_byte(load<U8>(ptr, tail));
+    da = 1.0f;
+}
+
 STAGE(srcover_rgba_8888) {
     auto ptr = *(uint32_t**)ctx + x;
 
@@ -319,6 +334,11 @@
     r = b;
     b = tmp;
 }
+STAGE(swap_rb_dst) {
+    auto tmp = dr;
+    dr = db;
+    db = tmp;
+}
 
 STAGE(swap) {
     auto swap = [](F& v, F& dv) {