diff options
-rw-r--r-- | gn/tests.gni | 1 | ||||
-rw-r--r-- | src/jumper/SkJumper.cpp | 4 | ||||
-rw-r--r-- | src/jumper/SkJumper_generated.S | 5040 | ||||
-rw-r--r-- | src/jumper/SkJumper_generated_win.S | 5060 | ||||
-rw-r--r-- | src/jumper/SkJumper_stages.cpp | 9 | ||||
-rw-r--r-- | src/jumper/SkJumper_vectors.h | 86 | ||||
-rw-r--r-- | tests/BlitRowTest.cpp | 290 |
7 files changed, 6122 insertions, 4368 deletions
diff --git a/gn/tests.gni b/gn/tests.gni index e6ac245d2c..62bd1f5830 100644 --- a/gn/tests.gni +++ b/gn/tests.gni @@ -19,7 +19,6 @@ tests_sources = [ "$_tests/BitSetTest.cpp", "$_tests/BlendTest.cpp", "$_tests/BlitMaskClip.cpp", - "$_tests/BlitRowTest.cpp", "$_tests/BlurTest.cpp", "$_tests/CachedDataTest.cpp", "$_tests/CachedDecodingPixelRefTest.cpp", diff --git a/src/jumper/SkJumper.cpp b/src/jumper/SkJumper.cpp index 10455b9a12..c8d9815a94 100644 --- a/src/jumper/SkJumper.cpp +++ b/src/jumper/SkJumper.cpp @@ -157,7 +157,7 @@ static SkJumper_Engine choose_engine() { return { #define M(stage) ASM(stage, sse41), { SK_RASTER_PIPELINE_STAGES(M) }, - 4, M(start_pipeline) M(just_return) + 1, M(start_pipeline) M(just_return) #undef M }; } @@ -165,7 +165,7 @@ static SkJumper_Engine choose_engine() { return { #define M(stage) ASM(stage, sse2), { SK_RASTER_PIPELINE_STAGES(M) }, - 4, M(start_pipeline) M(just_return) + 1, M(start_pipeline) M(just_return) #undef M }; } diff --git a/src/jumper/SkJumper_generated.S b/src/jumper/SkJumper_generated.S index 40dee85487..e94b7f7300 100644 --- a/src/jumper/SkJumper_generated.S +++ b/src/jumper/SkJumper_generated.S @@ -21115,17 +21115,18 @@ _sk_start_pipeline_sse41: .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx - .byte 73,137,207 // mov %rcx,%r15 + .byte 73,137,205 // mov %rcx,%r13 .byte 73,137,214 // mov %rdx,%r14 .byte 72,137,251 // mov %rdi,%rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 73,137,196 // mov %rax,%r12 - .byte 73,137,245 // mov %rsi,%r13 + .byte 73,137,199 // mov %rax,%r15 + .byte 73,137,244 // mov %rsi,%r12 .byte 72,141,67,4 // lea 0x4(%rbx),%rax - .byte 76,57,248 // cmp %r15,%rax + .byte 76,57,232 // cmp %r13,%rax .byte 118,5 // jbe 28 <_sk_start_pipeline_sse41+0x28> - .byte 72,137,216 // mov %rbx,%rax - .byte 235,52 // jmp 5c <_sk_start_pipeline_sse41+0x5c> + .byte 72,137,223 // mov %rbx,%rdi + .byte 235,57 // jmp 61 <_sk_start_pipeline_sse41+0x61> + .byte 185,0,0,0,0 // mov $0x0,%ecx .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 @@ -21135,14 +21136,29 @@ _sk_start_pipeline_sse41: .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 72,137,223 // mov %rbx,%rdi - .byte 76,137,238 // mov %r13,%rsi + .byte 76,137,230 // mov %r12,%rsi .byte 76,137,242 // mov %r14,%rdx - .byte 65,255,212 // callq *%r12 - .byte 72,141,67,4 // lea 0x4(%rbx),%rax + .byte 65,255,215 // callq *%r15 + .byte 72,141,123,4 // lea 0x4(%rbx),%rdi .byte 72,131,195,8 // add $0x8,%rbx - .byte 76,57,251 // cmp %r15,%rbx - .byte 72,137,195 // mov %rax,%rbx - .byte 118,204 // jbe 28 <_sk_start_pipeline_sse41+0x28> + .byte 76,57,235 // cmp %r13,%rbx + .byte 72,137,251 // mov %rdi,%rbx + .byte 118,199 // jbe 28 <_sk_start_pipeline_sse41+0x28> + .byte 76,137,233 // mov %r13,%rcx + .byte 72,41,249 // sub %rdi,%rcx + .byte 116,33 // je 8a <_sk_start_pipeline_sse41+0x8a> + .byte 15,87,192 // xorps %xmm0,%xmm0 + .byte 15,87,201 // xorps %xmm1,%xmm1 + .byte 15,87,210 // xorps %xmm2,%xmm2 + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 15,87,228 // xorps %xmm4,%xmm4 + .byte 15,87,237 // xorps %xmm5,%xmm5 + .byte 15,87,246 // xorps %xmm6,%xmm6 + .byte 15,87,255 // xorps %xmm7,%xmm7 + .byte 76,137,230 // mov %r12,%rsi + .byte 76,137,242 // mov %r14,%rdx + .byte 65,255,215 // callq *%r15 + .byte 76,137,232 // mov %r13,%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 @@ -21164,7 +21180,7 @@ _sk_seed_shader_sse41: .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,21,180,72,0,0 // movaps 0x48b4(%rip),%xmm2 # 4930 <_sk_callback_sse41+0xe2> + .byte 15,40,21,211,79,0,0 // movaps 0x4fd3(%rip),%xmm2 # 5080 <_sk_callback_sse41+0xf5> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,16,2 // movups (%rdx),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 @@ -21173,7 +21189,7 @@ _sk_seed_shader_sse41: .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,163,72,0,0 // movaps 0x48a3(%rip),%xmm2 # 4940 <_sk_callback_sse41+0xf2> + .byte 15,40,21,194,79,0,0 // movaps 0x4fc2(%rip),%xmm2 # 5090 <_sk_callback_sse41+0x105> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 @@ -21190,18 +21206,18 @@ _sk_dither_sse41: .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 243,68,15,111,74,32 // movdqu 0x20(%rdx),%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 - .byte 72,139,8 // mov (%rax),%rcx - .byte 102,68,15,110,1 // movd (%rcx),%xmm8 + .byte 76,139,0 // mov (%rax),%r8 + .byte 102,69,15,110,0 // movd (%r8),%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,110,72,0,0 // movdqa 0x486e(%rip),%xmm10 # 4950 <_sk_callback_sse41+0x102> + .byte 102,68,15,111,21,141,79,0,0 // movdqa 0x4f8d(%rip),%xmm10 # 50a0 <_sk_callback_sse41+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,90,72,0,0 // movdqa 0x485a(%rip),%xmm12 # 4960 <_sk_callback_sse41+0x112> - .byte 102,68,15,111,45,97,72,0,0 // movdqa 0x4861(%rip),%xmm13 # 4970 <_sk_callback_sse41+0x122> + .byte 102,68,15,111,37,121,79,0,0 // movdqa 0x4f79(%rip),%xmm12 # 50b0 <_sk_callback_sse41+0x125> + .byte 102,68,15,111,45,128,79,0,0 // movdqa 0x4f80(%rip),%xmm13 # 50c0 <_sk_callback_sse41+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 @@ -21217,8 +21233,8 @@ _sk_dither_sse41: .byte 102,69,15,235,198 // por %xmm14,%xmm8 .byte 102,69,15,235,197 // por %xmm13,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,28,72,0,0 // mulps 0x481c(%rip),%xmm8 # 4980 <_sk_callback_sse41+0x132> - .byte 68,15,88,5,36,72,0,0 // addps 0x4824(%rip),%xmm8 # 4990 <_sk_callback_sse41+0x142> + .byte 68,15,89,5,59,79,0,0 // mulps 0x4f3b(%rip),%xmm8 # 50d0 <_sk_callback_sse41+0x145> + .byte 68,15,88,5,67,79,0,0 // addps 0x4f43(%rip),%xmm8 # 50e0 <_sk_callback_sse41+0x155> .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 @@ -21295,7 +21311,7 @@ HIDDEN _sk_srcatop_sse41 FUNCTION(_sk_srcatop_sse41) _sk_srcatop_sse41: .byte 15,89,199 // mulps %xmm7,%xmm0 - .byte 68,15,40,5,125,71,0,0 // movaps 0x477d(%rip),%xmm8 # 49a0 <_sk_callback_sse41+0x152> + .byte 68,15,40,5,156,78,0,0 // movaps 0x4e9c(%rip),%xmm8 # 50f0 <_sk_callback_sse41+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 @@ -21320,7 +21336,7 @@ FUNCTION(_sk_dstatop_sse41) _sk_dstatop_sse41: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 - .byte 68,15,40,13,64,71,0,0 // movaps 0x4740(%rip),%xmm9 # 49b0 <_sk_callback_sse41+0x162> + .byte 68,15,40,13,95,78,0,0 // movaps 0x4e5f(%rip),%xmm9 # 5100 <_sk_callback_sse41+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 @@ -21367,7 +21383,7 @@ HIDDEN _sk_srcout_sse41 .globl _sk_srcout_sse41 FUNCTION(_sk_srcout_sse41) _sk_srcout_sse41: - .byte 68,15,40,5,228,70,0,0 // movaps 0x46e4(%rip),%xmm8 # 49c0 <_sk_callback_sse41+0x172> + .byte 68,15,40,5,3,78,0,0 // movaps 0x4e03(%rip),%xmm8 # 5110 <_sk_callback_sse41+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 @@ -21380,7 +21396,7 @@ HIDDEN _sk_dstout_sse41 .globl _sk_dstout_sse41 FUNCTION(_sk_dstout_sse41) _sk_dstout_sse41: - .byte 68,15,40,5,212,70,0,0 // movaps 0x46d4(%rip),%xmm8 # 49d0 <_sk_callback_sse41+0x182> + .byte 68,15,40,5,243,77,0,0 // movaps 0x4df3(%rip),%xmm8 # 5120 <_sk_callback_sse41+0x195> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 @@ -21397,7 +21413,7 @@ HIDDEN _sk_srcover_sse41 .globl _sk_srcover_sse41 FUNCTION(_sk_srcover_sse41) _sk_srcover_sse41: - .byte 68,15,40,5,183,70,0,0 // movaps 0x46b7(%rip),%xmm8 # 49e0 <_sk_callback_sse41+0x192> + .byte 68,15,40,5,214,77,0,0 // movaps 0x4dd6(%rip),%xmm8 # 5130 <_sk_callback_sse41+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 @@ -21417,7 +21433,7 @@ HIDDEN _sk_dstover_sse41 .globl _sk_dstover_sse41 FUNCTION(_sk_dstover_sse41) _sk_dstover_sse41: - .byte 68,15,40,5,139,70,0,0 // movaps 0x468b(%rip),%xmm8 # 49f0 <_sk_callback_sse41+0x1a2> + .byte 68,15,40,5,170,77,0,0 // movaps 0x4daa(%rip),%xmm8 # 5140 <_sk_callback_sse41+0x1b5> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 @@ -21445,7 +21461,7 @@ HIDDEN _sk_multiply_sse41 .globl _sk_multiply_sse41 FUNCTION(_sk_multiply_sse41) _sk_multiply_sse41: - .byte 68,15,40,5,95,70,0,0 // movaps 0x465f(%rip),%xmm8 # 4a00 <_sk_callback_sse41+0x1b2> + .byte 68,15,40,5,126,77,0,0 // movaps 0x4d7e(%rip),%xmm8 # 5150 <_sk_callback_sse41+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 @@ -21494,26 +21510,25 @@ HIDDEN _sk_screen_sse41 FUNCTION(_sk_screen_sse41) _sk_screen_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,88,196 // addps %xmm4,%xmm8 - .byte 15,89,196 // mulps %xmm4,%xmm0 - .byte 68,15,92,192 // subps %xmm0,%xmm8 - .byte 68,15,40,201 // movaps %xmm1,%xmm9 - .byte 68,15,88,205 // addps %xmm5,%xmm9 + .byte 15,88,196 // addps %xmm4,%xmm0 + .byte 68,15,89,196 // mulps %xmm4,%xmm8 + .byte 65,15,92,192 // subps %xmm8,%xmm0 + .byte 68,15,40,193 // movaps %xmm1,%xmm8 + .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 - .byte 68,15,92,201 // subps %xmm1,%xmm9 - .byte 68,15,40,210 // movaps %xmm2,%xmm10 - .byte 68,15,88,214 // addps %xmm6,%xmm10 + .byte 68,15,92,193 // subps %xmm1,%xmm8 + .byte 68,15,40,202 // movaps %xmm2,%xmm9 + .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 - .byte 68,15,92,210 // subps %xmm2,%xmm10 - .byte 68,15,40,219 // movaps %xmm3,%xmm11 - .byte 68,15,88,223 // addps %xmm7,%xmm11 + .byte 68,15,92,202 // subps %xmm2,%xmm9 + .byte 68,15,40,211 // movaps %xmm3,%xmm10 + .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 - .byte 68,15,92,219 // subps %xmm3,%xmm11 + .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,192 // movaps %xmm8,%xmm0 - .byte 65,15,40,201 // movaps %xmm9,%xmm1 - .byte 65,15,40,210 // movaps %xmm10,%xmm2 - .byte 65,15,40,219 // movaps %xmm11,%xmm3 + .byte 65,15,40,200 // movaps %xmm8,%xmm1 + .byte 65,15,40,209 // movaps %xmm9,%xmm2 + .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse41 @@ -21521,7 +21536,7 @@ HIDDEN _sk_xor__sse41 FUNCTION(_sk_xor__sse41) _sk_xor__sse41: .byte 68,15,40,195 // movaps %xmm3,%xmm8 - .byte 15,40,29,144,69,0,0 // movaps 0x4590(%rip),%xmm3 # 4a10 <_sk_callback_sse41+0x1c2> + .byte 15,40,29,179,76,0,0 // movaps 0x4cb3(%rip),%xmm3 # 5160 <_sk_callback_sse41+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 @@ -21569,7 +21584,7 @@ _sk_darken_sse41: .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,251,68,0,0 // movaps 0x44fb(%rip),%xmm2 # 4a20 <_sk_callback_sse41+0x1d2> + .byte 15,40,21,30,76,0,0 // movaps 0x4c1e(%rip),%xmm2 # 5170 <_sk_callback_sse41+0x1e5> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -21603,7 +21618,7 @@ _sk_lighten_sse41: .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,160,68,0,0 // movaps 0x44a0(%rip),%xmm2 # 4a30 <_sk_callback_sse41+0x1e2> + .byte 15,40,21,195,75,0,0 // movaps 0x4bc3(%rip),%xmm2 # 5180 <_sk_callback_sse41+0x1f5> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -21640,7 +21655,7 @@ _sk_difference_sse41: .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,58,68,0,0 // movaps 0x443a(%rip),%xmm2 # 4a40 <_sk_callback_sse41+0x1f2> + .byte 15,40,21,93,75,0,0 // movaps 0x4b5d(%rip),%xmm2 # 5190 <_sk_callback_sse41+0x205> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -21652,28 +21667,28 @@ HIDDEN _sk_exclusion_sse41 .globl _sk_exclusion_sse41 FUNCTION(_sk_exclusion_sse41) _sk_exclusion_sse41: - .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 15,88,196 // addps %xmm4,%xmm0 - .byte 68,15,89,196 // mulps %xmm4,%xmm8 - .byte 69,15,88,192 // addps %xmm8,%xmm8 - .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 - .byte 68,15,88,197 // addps %xmm5,%xmm8 - .byte 15,89,205 // mulps %xmm5,%xmm1 + .byte 15,40,200 // movaps %xmm0,%xmm1 + .byte 15,88,196 // addps %xmm4,%xmm0 + .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 - .byte 68,15,92,193 // subps %xmm1,%xmm8 - .byte 68,15,40,202 // movaps %xmm2,%xmm9 - .byte 68,15,88,206 // addps %xmm6,%xmm9 + .byte 15,92,193 // subps %xmm1,%xmm0 + .byte 65,15,40,200 // movaps %xmm8,%xmm1 + .byte 15,88,205 // addps %xmm5,%xmm1 + .byte 68,15,89,197 // mulps %xmm5,%xmm8 + .byte 69,15,88,192 // addps %xmm8,%xmm8 + .byte 65,15,92,200 // subps %xmm8,%xmm1 + .byte 68,15,40,194 // movaps %xmm2,%xmm8 + .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 - .byte 68,15,92,202 // subps %xmm2,%xmm9 - .byte 15,40,13,251,67,0,0 // movaps 0x43fb(%rip),%xmm1 # 4a50 <_sk_callback_sse41+0x202> - .byte 15,92,203 // subps %xmm3,%xmm1 - .byte 15,89,207 // mulps %xmm7,%xmm1 - .byte 15,88,217 // addps %xmm1,%xmm3 + .byte 68,15,92,194 // subps %xmm2,%xmm8 + .byte 15,40,21,29,75,0,0 // movaps 0x4b1d(%rip),%xmm2 # 51a0 <_sk_callback_sse41+0x215> + .byte 15,92,211 // subps %xmm3,%xmm2 + .byte 15,89,215 // mulps %xmm7,%xmm2 + .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,200 // movaps %xmm8,%xmm1 - .byte 65,15,40,209 // movaps %xmm9,%xmm2 + .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse41 @@ -21681,7 +21696,7 @@ HIDDEN _sk_colorburn_sse41 FUNCTION(_sk_colorburn_sse41) _sk_colorburn_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,40,21,234,67,0,0 // movaps 0x43ea(%rip),%xmm10 # 4a60 <_sk_callback_sse41+0x212> + .byte 68,15,40,21,16,75,0,0 // movaps 0x4b10(%rip),%xmm10 # 51b0 <_sk_callback_sse41+0x225> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,203 // movaps %xmm11,%xmm9 @@ -21763,7 +21778,7 @@ HIDDEN _sk_colordodge_sse41 FUNCTION(_sk_colordodge_sse41) _sk_colordodge_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,40,21,200,66,0,0 // movaps 0x42c8(%rip),%xmm10 # 4a70 <_sk_callback_sse41+0x222> + .byte 68,15,40,21,238,73,0,0 // movaps 0x49ee(%rip),%xmm10 # 51c0 <_sk_callback_sse41+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 @@ -21845,7 +21860,7 @@ _sk_hardlight_sse41: .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,161,65,0,0 // movaps 0x41a1(%rip),%xmm10 # 4a80 <_sk_callback_sse41+0x232> + .byte 68,15,40,21,199,72,0,0 // movaps 0x48c7(%rip),%xmm10 # 51d0 <_sk_callback_sse41+0x245> .byte 65,15,40,234 // movaps %xmm10,%xmm5 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 @@ -21928,7 +21943,7 @@ FUNCTION(_sk_overlay_sse41) _sk_overlay_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,240 // movaps %xmm0,%xmm14 - .byte 68,15,40,21,134,64,0,0 // movaps 0x4086(%rip),%xmm10 # 4a90 <_sk_callback_sse41+0x242> + .byte 68,15,40,21,172,71,0,0 // movaps 0x47ac(%rip),%xmm10 # 51e0 <_sk_callback_sse41+0x255> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 65,15,40,195 // movaps %xmm11,%xmm0 @@ -22013,7 +22028,7 @@ _sk_softlight_sse41: .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,93,63,0,0 // movaps 0x3f5d(%rip),%xmm1 # 4aa0 <_sk_callback_sse41+0x252> + .byte 15,40,13,131,70,0,0 // movaps 0x4683(%rip),%xmm1 # 51f0 <_sk_callback_sse41+0x265> .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 68,15,40,240 // movaps %xmm0,%xmm14 @@ -22026,10 +22041,10 @@ _sk_softlight_sse41: .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,59,63,0,0 // movaps 0x3f3b(%rip),%xmm13 # 4ab0 <_sk_callback_sse41+0x262> + .byte 68,15,40,45,97,70,0,0 // movaps 0x4661(%rip),%xmm13 # 5200 <_sk_callback_sse41+0x275> .byte 69,15,88,245 // addps %xmm13,%xmm14 .byte 68,15,89,242 // mulps %xmm2,%xmm14 - .byte 68,15,40,37,59,63,0,0 // movaps 0x3f3b(%rip),%xmm12 # 4ac0 <_sk_callback_sse41+0x272> + .byte 68,15,40,37,97,70,0,0 // movaps 0x4661(%rip),%xmm12 # 5210 <_sk_callback_sse41+0x285> .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 69,15,88,254 // addps %xmm14,%xmm15 .byte 15,40,198 // movaps %xmm6,%xmm0 @@ -22215,12 +22230,12 @@ _sk_hue_sse41: .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,166,60,0,0 // movaps 0x3ca6(%rip),%xmm0 # 4ad0 <_sk_callback_sse41+0x282> + .byte 15,40,5,204,67,0,0 // movaps 0x43cc(%rip),%xmm0 # 5220 <_sk_callback_sse41+0x295> .byte 68,15,89,224 // mulps %xmm0,%xmm12 - .byte 15,40,21,171,60,0,0 // movaps 0x3cab(%rip),%xmm2 # 4ae0 <_sk_callback_sse41+0x292> + .byte 15,40,21,209,67,0,0 // movaps 0x43d1(%rip),%xmm2 # 5230 <_sk_callback_sse41+0x2a5> .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 65,15,88,252 // addps %xmm12,%xmm7 - .byte 68,15,40,53,172,60,0,0 // movaps 0x3cac(%rip),%xmm14 # 4af0 <_sk_callback_sse41+0x2a2> + .byte 68,15,40,53,210,67,0,0 // movaps 0x43d2(%rip),%xmm14 # 5240 <_sk_callback_sse41+0x2b5> .byte 68,15,40,252 // movaps %xmm4,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 68,15,88,255 // addps %xmm7,%xmm15 @@ -22303,7 +22318,7 @@ _sk_hue_sse41: .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,112,59,0,0 // movaps 0x3b70(%rip),%xmm9 # 4b00 <_sk_callback_sse41+0x2b2> + .byte 68,15,40,13,150,66,0,0 // movaps 0x4296(%rip),%xmm9 # 5250 <_sk_callback_sse41+0x2c5> .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 @@ -22397,14 +22412,14 @@ _sk_saturation_sse41: .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,42,58,0,0 // movaps 0x3a2a(%rip),%xmm2 # 4b10 <_sk_callback_sse41+0x2c2> + .byte 15,40,21,80,65,0,0 // movaps 0x4150(%rip),%xmm2 # 5260 <_sk_callback_sse41+0x2d5> .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 - .byte 15,40,13,45,58,0,0 // movaps 0x3a2d(%rip),%xmm1 # 4b20 <_sk_callback_sse41+0x2d2> + .byte 15,40,13,83,65,0,0 // movaps 0x4153(%rip),%xmm1 # 5270 <_sk_callback_sse41+0x2e5> .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,44,58,0,0 // movaps 0x3a2c(%rip),%xmm13 # 4b30 <_sk_callback_sse41+0x2e2> + .byte 68,15,40,45,82,65,0,0 // movaps 0x4152(%rip),%xmm13 # 5280 <_sk_callback_sse41+0x2f5> .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 68,15,88,247 // addps %xmm7,%xmm14 .byte 65,15,40,218 // movaps %xmm10,%xmm3 @@ -22485,7 +22500,7 @@ _sk_saturation_sse41: .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,242,56,0,0 // movaps 0x38f2(%rip),%xmm9 # 4b40 <_sk_callback_sse41+0x2f2> + .byte 68,15,40,13,24,64,0,0 // movaps 0x4018(%rip),%xmm9 # 5290 <_sk_callback_sse41+0x305> .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 @@ -22540,14 +22555,14 @@ _sk_color_sse41: .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,61,56,0,0 // movaps 0x383d(%rip),%xmm9 # 4b50 <_sk_callback_sse41+0x302> + .byte 68,15,40,13,99,63,0,0 // movaps 0x3f63(%rip),%xmm9 # 52a0 <_sk_callback_sse41+0x315> .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 65,15,89,249 // mulps %xmm9,%xmm7 - .byte 68,15,40,21,61,56,0,0 // movaps 0x383d(%rip),%xmm10 # 4b60 <_sk_callback_sse41+0x312> + .byte 68,15,40,21,99,63,0,0 // movaps 0x3f63(%rip),%xmm10 # 52b0 <_sk_callback_sse41+0x325> .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,58,56,0,0 // movaps 0x383a(%rip),%xmm11 # 4b70 <_sk_callback_sse41+0x322> + .byte 68,15,40,29,96,63,0,0 // movaps 0x3f60(%rip),%xmm11 # 52c0 <_sk_callback_sse41+0x335> .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 68,15,88,235 // addps %xmm3,%xmm13 @@ -22632,7 +22647,7 @@ _sk_color_sse41: .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,246,54,0,0 // movaps 0x36f6(%rip),%xmm9 # 4b80 <_sk_callback_sse41+0x332> + .byte 68,15,40,13,28,62,0,0 // movaps 0x3e1c(%rip),%xmm9 # 52d0 <_sk_callback_sse41+0x345> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 68,15,89,192 // mulps %xmm0,%xmm8 @@ -22684,13 +22699,13 @@ _sk_luminosity_sse41: .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,78,54,0,0 // movaps 0x364e(%rip),%xmm8 # 4b90 <_sk_callback_sse41+0x342> + .byte 68,15,40,5,116,61,0,0 // movaps 0x3d74(%rip),%xmm8 # 52e0 <_sk_callback_sse41+0x355> .byte 65,15,89,192 // mulps %xmm8,%xmm0 - .byte 68,15,40,21,82,54,0,0 // movaps 0x3652(%rip),%xmm10 # 4ba0 <_sk_callback_sse41+0x352> + .byte 68,15,40,21,120,61,0,0 // movaps 0x3d78(%rip),%xmm10 # 52f0 <_sk_callback_sse41+0x365> .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,80,54,0,0 // movaps 0x3650(%rip),%xmm12 # 4bb0 <_sk_callback_sse41+0x362> + .byte 68,15,40,37,118,61,0,0 // movaps 0x3d76(%rip),%xmm12 # 5300 <_sk_callback_sse41+0x375> .byte 68,15,40,242 // movaps %xmm2,%xmm14 .byte 69,15,89,244 // mulps %xmm12,%xmm14 .byte 68,15,88,245 // addps %xmm5,%xmm14 @@ -22775,7 +22790,7 @@ _sk_luminosity_sse41: .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,6,53,0,0 // movaps 0x3506(%rip),%xmm0 # 4bc0 <_sk_callback_sse41+0x372> + .byte 15,40,5,44,60,0,0 // movaps 0x3c2c(%rip),%xmm0 # 5310 <_sk_callback_sse41+0x385> .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,89,226 // mulps %xmm2,%xmm4 @@ -22812,55 +22827,85 @@ HIDDEN _sk_srcover_rgba_8888_sse41 .globl _sk_srcover_rgba_8888_sse41 FUNCTION(_sk_srcover_rgba_8888_sse41) _sk_srcover_rgba_8888_sse41: - .byte 68,15,40,195 // movaps %xmm3,%xmm8 - .byte 68,15,40,201 // movaps %xmm1,%xmm9 - .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 15,16,4,184 // movups (%rax,%rdi,4),%xmm0 - .byte 15,40,29,142,52,0,0 // movaps 0x348e(%rip),%xmm3 # 4bd0 <_sk_callback_sse41+0x382> - .byte 15,84,216 // andps %xmm0,%xmm3 - .byte 15,91,227 // cvtdq2ps %xmm3,%xmm4 - .byte 15,40,216 // movaps %xmm0,%xmm3 - .byte 102,15,56,0,29,140,52,0,0 // pshufb 0x348c(%rip),%xmm3 # 4be0 <_sk_callback_sse41+0x392> - .byte 15,91,235 // cvtdq2ps %xmm3,%xmm5 - .byte 15,40,216 // movaps %xmm0,%xmm3 - .byte 102,15,56,0,29,141,52,0,0 // pshufb 0x348d(%rip),%xmm3 # 4bf0 <_sk_callback_sse41+0x3a2> - .byte 15,91,243 // cvtdq2ps %xmm3,%xmm6 - .byte 102,15,114,208,24 // psrld $0x18,%xmm0 - .byte 15,91,248 // cvtdq2ps %xmm0,%xmm7 - .byte 15,40,29,139,52,0,0 // movaps 0x348b(%rip),%xmm3 # 4c00 <_sk_callback_sse41+0x3b2> - .byte 65,15,92,216 // subps %xmm8,%xmm3 - .byte 68,15,40,21,143,52,0,0 // movaps 0x348f(%rip),%xmm10 # 4c10 <_sk_callback_sse41+0x3c2> - .byte 65,15,89,202 // mulps %xmm10,%xmm1 - .byte 15,40,195 // movaps %xmm3,%xmm0 - .byte 15,89,196 // mulps %xmm4,%xmm0 - .byte 15,88,193 // addps %xmm1,%xmm0 - .byte 69,15,89,202 // mulps %xmm10,%xmm9 - .byte 15,40,203 // movaps %xmm3,%xmm1 - .byte 15,89,205 // mulps %xmm5,%xmm1 - .byte 65,15,88,201 // addps %xmm9,%xmm1 - .byte 65,15,89,210 // mulps %xmm10,%xmm2 - .byte 68,15,40,203 // movaps %xmm3,%xmm9 - .byte 68,15,89,206 // mulps %xmm6,%xmm9 - .byte 68,15,88,202 // addps %xmm2,%xmm9 - .byte 69,15,89,194 // mulps %xmm10,%xmm8 - .byte 15,89,223 // mulps %xmm7,%xmm3 - .byte 65,15,88,216 // addps %xmm8,%xmm3 - .byte 102,68,15,91,192 // cvtps2dq %xmm0,%xmm8 - .byte 102,68,15,91,209 // cvtps2dq %xmm1,%xmm10 - .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 - .byte 102,69,15,235,208 // por %xmm8,%xmm10 - .byte 102,69,15,91,193 // cvtps2dq %xmm9,%xmm8 - .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 - .byte 102,15,91,211 // cvtps2dq %xmm3,%xmm2 - .byte 102,15,114,242,24 // pslld $0x18,%xmm2 - .byte 102,65,15,235,208 // por %xmm8,%xmm2 - .byte 102,65,15,235,210 // por %xmm10,%xmm2 - .byte 243,15,127,20,184 // movdqu %xmm2,(%rax,%rdi,4) + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,217,0,0,0 // jne 1838 <_sk_srcover_rgba_8888_sse41+0xe7> + .byte 243,15,111,60,184 // movdqu (%rax,%rdi,4),%xmm7 + .byte 72,133,201 // test %rcx,%rcx + .byte 102,15,111,37,177,59,0,0 // movdqa 0x3bb1(%rip),%xmm4 # 5320 <_sk_callback_sse41+0x395> + .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,173,59,0,0 // pshufb 0x3bad(%rip),%xmm5 # 5330 <_sk_callback_sse41+0x3a5> + .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 + .byte 102,15,111,247 // movdqa %xmm7,%xmm6 + .byte 102,15,56,0,53,173,59,0,0 // pshufb 0x3bad(%rip),%xmm6 # 5340 <_sk_callback_sse41+0x3b5> + .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,170,59,0,0 // movaps 0x3baa(%rip),%xmm8 # 5350 <_sk_callback_sse41+0x3c5> + .byte 68,15,92,195 // subps %xmm3,%xmm8 + .byte 68,15,40,37,174,59,0,0 // movaps 0x3bae(%rip),%xmm12 # 5360 <_sk_callback_sse41+0x3d5> + .byte 65,15,89,196 // mulps %xmm12,%xmm0 + .byte 69,15,40,200 // movaps %xmm8,%xmm9 + .byte 68,15,89,204 // mulps %xmm4,%xmm9 + .byte 68,15,88,200 // addps %xmm0,%xmm9 + .byte 65,15,89,204 // mulps %xmm12,%xmm1 + .byte 69,15,40,208 // movaps %xmm8,%xmm10 + .byte 68,15,89,213 // mulps %xmm5,%xmm10 + .byte 68,15,88,209 // addps %xmm1,%xmm10 + .byte 65,15,89,212 // mulps %xmm12,%xmm2 + .byte 69,15,40,216 // movaps %xmm8,%xmm11 + .byte 68,15,89,222 // mulps %xmm6,%xmm11 + .byte 68,15,88,218 // addps %xmm2,%xmm11 + .byte 65,15,89,220 // mulps %xmm12,%xmm3 + .byte 68,15,89,199 // mulps %xmm7,%xmm8 + .byte 68,15,88,195 // addps %xmm3,%xmm8 + .byte 102,65,15,91,193 // cvtps2dq %xmm9,%xmm0 + .byte 102,65,15,91,202 // cvtps2dq %xmm10,%xmm1 + .byte 102,15,114,241,8 // pslld $0x8,%xmm1 + .byte 102,15,235,200 // por %xmm0,%xmm1 + .byte 102,65,15,91,211 // cvtps2dq %xmm11,%xmm2 + .byte 102,15,114,242,16 // pslld $0x10,%xmm2 + .byte 102,65,15,91,192 // cvtps2dq %xmm8,%xmm0 + .byte 102,15,114,240,24 // pslld $0x18,%xmm0 + .byte 102,15,235,194 // por %xmm2,%xmm0 + .byte 102,15,235,193 // por %xmm1,%xmm0 + .byte 117,89 // jne 1878 <_sk_srcover_rgba_8888_sse41+0x127> + .byte 243,15,127,4,184 // movdqu %xmm0,(%rax,%rdi,4) .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,209 // movaps %xmm9,%xmm2 + .byte 65,15,40,193 // movaps %xmm9,%xmm0 + .byte 65,15,40,202 // movaps %xmm10,%xmm1 + .byte 65,15,40,211 // movaps %xmm11,%xmm2 + .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,255 // pxor %xmm7,%xmm7 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,35 // je 186c <_sk_srcover_rgba_8888_sse41+0x11b> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 1864 <_sk_srcover_rgba_8888_sse41+0x113> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 15,133,11,255,255,255 // jne 1764 <_sk_srcover_rgba_8888_sse41+0x13> + .byte 102,15,110,100,184,8 // movd 0x8(%rax,%rdi,4),%xmm4 + .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 + .byte 102,15,58,34,124,184,4,1 // pinsrd $0x1,0x4(%rax,%rdi,4),%xmm7 + .byte 102,15,58,34,60,184,0 // pinsrd $0x0,(%rax,%rdi,4),%xmm7 + .byte 233,236,254,255,255 // jmpq 1764 <_sk_srcover_rgba_8888_sse41+0x13> + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,28 // je 18a1 <_sk_srcover_rgba_8888_sse41+0x150> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,14 // je 1899 <_sk_srcover_rgba_8888_sse41+0x148> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,147 // jne 1824 <_sk_srcover_rgba_8888_sse41+0xd3> + .byte 102,15,58,22,68,184,8,2 // pextrd $0x2,%xmm0,0x8(%rax,%rdi,4) + .byte 102,15,58,22,68,184,4,1 // pextrd $0x1,%xmm0,0x4(%rax,%rdi,4) + .byte 102,15,126,4,184 // movd %xmm0,(%rax,%rdi,4) + .byte 233,121,255,255,255 // jmpq 1824 <_sk_srcover_rgba_8888_sse41+0xd3> HIDDEN _sk_clamp_0_sse41 .globl _sk_clamp_0_sse41 @@ -22878,7 +22923,7 @@ HIDDEN _sk_clamp_1_sse41 .globl _sk_clamp_1_sse41 FUNCTION(_sk_clamp_1_sse41) _sk_clamp_1_sse41: - .byte 68,15,40,5,9,52,0,0 // movaps 0x3409(%rip),%xmm8 # 4c20 <_sk_callback_sse41+0x3d2> + .byte 68,15,40,5,165,58,0,0 // movaps 0x3aa5(%rip),%xmm8 # 5370 <_sk_callback_sse41+0x3e5> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 65,15,93,208 // minps %xmm8,%xmm2 @@ -22890,7 +22935,7 @@ HIDDEN _sk_clamp_a_sse41 .globl _sk_clamp_a_sse41 FUNCTION(_sk_clamp_a_sse41) _sk_clamp_a_sse41: - .byte 15,93,29,254,51,0,0 // minps 0x33fe(%rip),%xmm3 # 4c30 <_sk_callback_sse41+0x3e2> + .byte 15,93,29,154,58,0,0 // minps 0x3a9a(%rip),%xmm3 # 5380 <_sk_callback_sse41+0x3f5> .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 @@ -22977,7 +23022,7 @@ HIDDEN _sk_unpremul_sse41 FUNCTION(_sk_unpremul_sse41) _sk_unpremul_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 - .byte 68,15,40,13,105,51,0,0 // movaps 0x3369(%rip),%xmm9 # 4c40 <_sk_callback_sse41+0x3f2> + .byte 68,15,40,13,5,58,0,0 // movaps 0x3a05(%rip),%xmm9 # 5390 <_sk_callback_sse41+0x405> .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 @@ -22991,20 +23036,20 @@ HIDDEN _sk_from_srgb_sse41 .globl _sk_from_srgb_sse41 FUNCTION(_sk_from_srgb_sse41) _sk_from_srgb_sse41: - .byte 68,15,40,29,84,51,0,0 // movaps 0x3354(%rip),%xmm11 # 4c50 <_sk_callback_sse41+0x402> + .byte 68,15,40,29,240,57,0,0 // movaps 0x39f0(%rip),%xmm11 # 53a0 <_sk_callback_sse41+0x415> .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,76,51,0,0 // movaps 0x334c(%rip),%xmm12 # 4c60 <_sk_callback_sse41+0x412> + .byte 68,15,40,37,232,57,0,0 // movaps 0x39e8(%rip),%xmm12 # 53b0 <_sk_callback_sse41+0x425> .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 - .byte 68,15,40,45,76,51,0,0 // movaps 0x334c(%rip),%xmm13 # 4c70 <_sk_callback_sse41+0x422> + .byte 68,15,40,45,232,57,0,0 // movaps 0x39e8(%rip),%xmm13 # 53c0 <_sk_callback_sse41+0x435> .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 69,15,89,194 // mulps %xmm10,%xmm8 - .byte 68,15,40,53,76,51,0,0 // movaps 0x334c(%rip),%xmm14 # 4c80 <_sk_callback_sse41+0x432> + .byte 68,15,40,53,232,57,0,0 // movaps 0x39e8(%rip),%xmm14 # 53d0 <_sk_callback_sse41+0x445> .byte 69,15,88,198 // addps %xmm14,%xmm8 - .byte 68,15,40,61,80,51,0,0 // movaps 0x3350(%rip),%xmm15 # 4c90 <_sk_callback_sse41+0x442> + .byte 68,15,40,61,236,57,0,0 // movaps 0x39ec(%rip),%xmm15 # 53e0 <_sk_callback_sse41+0x455> .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 @@ -23047,22 +23092,22 @@ _sk_to_srgb_sse41: .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,200,50,0,0 // movaps 0x32c8(%rip),%xmm11 # 4ca0 <_sk_callback_sse41+0x452> + .byte 68,15,40,29,100,57,0,0 // movaps 0x3964(%rip),%xmm11 # 53f0 <_sk_callback_sse41+0x465> .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 - .byte 68,15,40,37,200,50,0,0 // movaps 0x32c8(%rip),%xmm12 # 4cb0 <_sk_callback_sse41+0x462> + .byte 68,15,40,37,100,57,0,0 // movaps 0x3964(%rip),%xmm12 # 5400 <_sk_callback_sse41+0x475> .byte 69,15,40,248 // movaps %xmm8,%xmm15 .byte 69,15,89,252 // mulps %xmm12,%xmm15 - .byte 68,15,40,21,200,50,0,0 // movaps 0x32c8(%rip),%xmm10 # 4cc0 <_sk_callback_sse41+0x472> + .byte 68,15,40,21,100,57,0,0 // movaps 0x3964(%rip),%xmm10 # 5410 <_sk_callback_sse41+0x485> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,248 // mulps %xmm8,%xmm15 - .byte 68,15,40,45,200,50,0,0 // movaps 0x32c8(%rip),%xmm13 # 4cd0 <_sk_callback_sse41+0x482> + .byte 68,15,40,45,100,57,0,0 // movaps 0x3964(%rip),%xmm13 # 5420 <_sk_callback_sse41+0x495> .byte 69,15,88,253 // addps %xmm13,%xmm15 - .byte 68,15,40,53,204,50,0,0 // movaps 0x32cc(%rip),%xmm14 # 4ce0 <_sk_callback_sse41+0x492> + .byte 68,15,40,53,104,57,0,0 // movaps 0x3968(%rip),%xmm14 # 5430 <_sk_callback_sse41+0x4a5> .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,200,50,0,0 // movaps 0x32c8(%rip),%xmm15 # 4cf0 <_sk_callback_sse41+0x4a2> + .byte 68,15,40,61,100,57,0,0 // movaps 0x3964(%rip),%xmm15 # 5440 <_sk_callback_sse41+0x4b5> .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 @@ -23115,7 +23160,7 @@ _sk_rgb_to_hsl_sse41: .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,21,50,0,0 // movaps 0x3215(%rip),%xmm14 # 4d00 <_sk_callback_sse41+0x4b2> + .byte 68,15,40,53,177,56,0,0 // movaps 0x38b1(%rip),%xmm14 # 5450 <_sk_callback_sse41+0x4c5> .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 @@ -23124,27 +23169,27 @@ _sk_rgb_to_hsl_sse41: .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,252,49,0,0 // andps 0x31fc(%rip),%xmm15 # 4d10 <_sk_callback_sse41+0x4c2> + .byte 68,15,84,61,152,56,0,0 // andps 0x3898(%rip),%xmm15 # 5460 <_sk_callback_sse41+0x4d5> .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,239,49,0,0 // movaps 0x31ef(%rip),%xmm13 # 4d20 <_sk_callback_sse41+0x4d2> + .byte 68,15,40,45,139,56,0,0 // movaps 0x388b(%rip),%xmm13 # 5470 <_sk_callback_sse41+0x4e5> .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,235,49,0,0 // addps 0x31eb(%rip),%xmm8 # 4d30 <_sk_callback_sse41+0x4e2> + .byte 68,15,88,5,135,56,0,0 // addps 0x3887(%rip),%xmm8 # 5480 <_sk_callback_sse41+0x4f5> .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,227,49,0,0 // mulps 0x31e3(%rip),%xmm8 # 4d40 <_sk_callback_sse41+0x4f2> + .byte 68,15,89,5,127,56,0,0 // mulps 0x387f(%rip),%xmm8 # 5490 <_sk_callback_sse41+0x505> .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,215,49,0,0 // movaps 0x31d7(%rip),%xmm0 # 4d50 <_sk_callback_sse41+0x502> + .byte 15,40,5,115,56,0,0 // movaps 0x3873(%rip),%xmm0 # 54a0 <_sk_callback_sse41+0x515> .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,194,194,1 // cmpltps %xmm2,%xmm0 @@ -23166,7 +23211,7 @@ _sk_hsl_to_rgb_sse41: .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,157,49,0,0 // movaps 0x319d(%rip),%xmm9 # 4d60 <_sk_callback_sse41+0x512> + .byte 68,15,40,13,57,56,0,0 // movaps 0x3839(%rip),%xmm9 # 54b0 <_sk_callback_sse41+0x525> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,194,194,2 // cmpleps %xmm2,%xmm0 .byte 15,40,217 // movaps %xmm1,%xmm3 @@ -23179,19 +23224,19 @@ _sk_hsl_to_rgb_sse41: .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,120,49,0,0 // movaps 0x3178(%rip),%xmm14 # 4d70 <_sk_callback_sse41+0x522> + .byte 68,15,40,53,20,56,0,0 // movaps 0x3814(%rip),%xmm14 # 54c0 <_sk_callback_sse41+0x535> .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,113,49,0,0 // movaps 0x3171(%rip),%xmm11 # 4d80 <_sk_callback_sse41+0x532> + .byte 68,15,40,29,13,56,0,0 // movaps 0x380d(%rip),%xmm11 # 54d0 <_sk_callback_sse41+0x545> .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,106,49,0,0 // movaps 0x316a(%rip),%xmm7 # 4d90 <_sk_callback_sse41+0x542> + .byte 15,40,61,6,56,0,0 // movaps 0x3806(%rip),%xmm7 # 54e0 <_sk_callback_sse41+0x555> .byte 69,15,40,238 // movaps %xmm14,%xmm13 .byte 68,15,89,239 // mulps %xmm7,%xmm13 - .byte 15,40,29,107,49,0,0 // movaps 0x316b(%rip),%xmm3 # 4da0 <_sk_callback_sse41+0x552> + .byte 15,40,29,7,56,0,0 // movaps 0x3807(%rip),%xmm3 # 54f0 <_sk_callback_sse41+0x565> .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 @@ -23201,7 +23246,7 @@ _sk_hsl_to_rgb_sse41: .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,74,49,0,0 // movaps 0x314a(%rip),%xmm12 # 4db0 <_sk_callback_sse41+0x562> + .byte 68,15,40,37,230,55,0,0 // movaps 0x37e6(%rip),%xmm12 # 5500 <_sk_callback_sse41+0x575> .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 @@ -23235,7 +23280,7 @@ _sk_hsl_to_rgb_sse41: .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,194,48,0,0 // addps 0x30c2(%rip),%xmm10 # 4dc0 <_sk_callback_sse41+0x572> + .byte 68,15,88,21,94,55,0,0 // addps 0x375e(%rip),%xmm10 # 5510 <_sk_callback_sse41+0x585> .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 @@ -23284,16 +23329,37 @@ HIDDEN _sk_scale_u8_sse41 FUNCTION(_sk_scale_u8_sse41) _sk_scale_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,56,49,4,56 // pmovzxbd (%rax,%rdi,1),%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,52 // jne 1e8b <_sk_scale_u8_sse41+0x3e> + .byte 102,69,15,56,49,4,57 // pmovzxbd (%r9,%rdi,1),%xmm8 + .byte 102,68,15,219,5,185,54,0,0 // pand 0x36b9(%rip),%xmm8 # 5520 <_sk_callback_sse41+0x595> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,31,48,0,0 // mulps 0x301f(%rip),%xmm8 # 4dd0 <_sk_callback_sse41+0x582> + .byte 68,15,89,5,189,54,0,0 // mulps 0x36bd(%rip),%xmm8 # 5530 <_sk_callback_sse41+0x5a5> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 - .byte 65,15,89,216 // mulps %xmm8,%xmm3 + .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax + .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,42 // je 1ec7 <_sk_scale_u8_sse41+0x7a> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,23 // je 1eba <_sk_scale_u8_sse41+0x6d> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,181 // jne 1e5e <_sk_scale_u8_sse41+0x11> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,68,15,58,34,192,1 // pinsrd $0x1,%eax,%xmm8 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,68,15,58,34,192,0 // pinsrd $0x0,%eax,%xmm8 + .byte 235,137 // jmp 1e5e <_sk_scale_u8_sse41+0x11> HIDDEN _sk_lerp_1_float_sse41 .globl _sk_lerp_1_float_sse41 @@ -23322,10 +23388,13 @@ HIDDEN _sk_lerp_u8_sse41 FUNCTION(_sk_lerp_u8_sse41) _sk_lerp_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,56,49,4,56 // pmovzxbd (%rax,%rdi,1),%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,72 // jne 1f5f <_sk_lerp_u8_sse41+0x52> + .byte 102,69,15,56,49,4,57 // pmovzxbd (%r9,%rdi,1),%xmm8 + .byte 102,68,15,219,5,25,54,0,0 // pand 0x3619(%rip),%xmm8 # 5540 <_sk_callback_sse41+0x5b5> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,203,47,0,0 // mulps 0x2fcb(%rip),%xmm8 # 4de0 <_sk_callback_sse41+0x592> + .byte 68,15,89,5,29,54,0,0 // mulps 0x361d(%rip),%xmm8 # 5550 <_sk_callback_sse41+0x5c5> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 @@ -23340,46 +23409,82 @@ _sk_lerp_u8_sse41: .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,42 // je 1f9b <_sk_lerp_u8_sse41+0x8e> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,23 // je 1f8e <_sk_lerp_u8_sse41+0x81> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,161 // jne 1f1e <_sk_lerp_u8_sse41+0x11> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,68,15,58,34,192,1 // pinsrd $0x1,%eax,%xmm8 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,68,15,58,34,192,0 // pinsrd $0x0,%eax,%xmm8 + .byte 233,114,255,255,255 // jmpq 1f1e <_sk_lerp_u8_sse41+0x11> HIDDEN _sk_lerp_565_sse41 .globl _sk_lerp_565_sse41 FUNCTION(_sk_lerp_565_sse41) _sk_lerp_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,56,51,20,120 // pmovzxwd (%rax,%rdi,2),%xmm10 - .byte 102,68,15,111,5,154,47,0,0 // movdqa 0x2f9a(%rip),%xmm8 # 4df0 <_sk_callback_sse41+0x5a2> - .byte 102,69,15,219,194 // pand %xmm10,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,152,0,0,0 // jne 2052 <_sk_lerp_565_sse41+0xa6> + .byte 102,69,15,56,51,12,121 // pmovzxwd (%r9,%rdi,2),%xmm9 + .byte 102,68,15,111,5,150,53,0,0 // movdqa 0x3596(%rip),%xmm8 # 5560 <_sk_callback_sse41+0x5d5> + .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,153,47,0,0 // mulps 0x2f99(%rip),%xmm8 # 4e00 <_sk_callback_sse41+0x5b2> - .byte 102,68,15,111,13,160,47,0,0 // movdqa 0x2fa0(%rip),%xmm9 # 4e10 <_sk_callback_sse41+0x5c2> - .byte 102,69,15,219,202 // pand %xmm10,%xmm9 - .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 - .byte 68,15,89,13,159,47,0,0 // mulps 0x2f9f(%rip),%xmm9 # 4e20 <_sk_callback_sse41+0x5d2> - .byte 102,68,15,219,21,166,47,0,0 // pand 0x2fa6(%rip),%xmm10 # 4e30 <_sk_callback_sse41+0x5e2> + .byte 68,15,89,5,149,53,0,0 // mulps 0x3595(%rip),%xmm8 # 5570 <_sk_callback_sse41+0x5e5> + .byte 102,68,15,111,21,156,53,0,0 // movdqa 0x359c(%rip),%xmm10 # 5580 <_sk_callback_sse41+0x5f5> + .byte 102,69,15,219,209 // pand %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 - .byte 68,15,89,21,170,47,0,0 // mulps 0x2faa(%rip),%xmm10 # 4e40 <_sk_callback_sse41+0x5f2> + .byte 68,15,89,21,155,53,0,0 // mulps 0x359b(%rip),%xmm10 # 5590 <_sk_callback_sse41+0x605> + .byte 102,68,15,219,13,162,53,0,0 // pand 0x35a2(%rip),%xmm9 # 55a0 <_sk_callback_sse41+0x615> + .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 + .byte 68,15,89,13,166,53,0,0 // mulps 0x35a6(%rip),%xmm9 # 55b0 <_sk_callback_sse41+0x625> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 - .byte 65,15,89,201 // mulps %xmm9,%xmm1 + .byte 65,15,89,202 // mulps %xmm10,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 - .byte 65,15,89,210 // mulps %xmm10,%xmm2 + .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 68,15,88,199 // addps %xmm7,%xmm8 - .byte 68,15,89,203 // mulps %xmm3,%xmm9 - .byte 68,15,88,207 // addps %xmm7,%xmm9 - .byte 65,15,89,218 // mulps %xmm10,%xmm3 + .byte 68,15,89,211 // mulps %xmm3,%xmm10 + .byte 68,15,88,215 // addps %xmm7,%xmm10 + .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 - .byte 68,15,95,203 // maxps %xmm3,%xmm9 - .byte 69,15,95,193 // maxps %xmm9,%xmm8 + .byte 68,15,95,211 // maxps %xmm3,%xmm10 + .byte 69,15,95,194 // maxps %xmm10,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,46 // je 2092 <_sk_lerp_565_sse41+0xe6> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,27 // je 2085 <_sk_lerp_565_sse41+0xd9> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 15,133,77,255,255,255 // jne 1fc1 <_sk_lerp_565_sse41+0x15> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,200,69 // pshufd $0x45,%xmm8,%xmm9 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,68,15,58,34,200,1 // pinsrd $0x1,%eax,%xmm9 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,68,15,58,34,200,0 // pinsrd $0x0,%eax,%xmm9 + .byte 233,30,255,255,255 // jmpq 1fc1 <_sk_lerp_565_sse41+0x15> HIDDEN _sk_load_tables_sse41 .globl _sk_load_tables_sse41 @@ -23387,117 +23492,141 @@ FUNCTION(_sk_load_tables_sse41) _sk_load_tables_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 - .byte 76,139,72,8 // mov 0x8(%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,20,1,0,0 // jne 21c5 <_sk_load_tables_sse41+0x122> .byte 243,69,15,111,4,184 // movdqu (%r8,%rdi,4),%xmm8 - .byte 102,15,111,5,91,47,0,0 // movdqa 0x2f5b(%rip),%xmm0 # 4e50 <_sk_callback_sse41+0x602> + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,15,111,5,254,52,0,0 // movdqa 0x34fe(%rip),%xmm0 # 55c0 <_sk_callback_sse41+0x635> .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 102,73,15,126,193 // movq %xmm0,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d + .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 - .byte 243,67,15,16,4,145 // movss (%r9,%r10,4),%xmm0 - .byte 102,65,15,58,33,4,9,16 // insertps $0x10,(%r9,%rcx,1),%xmm0 - .byte 102,67,15,58,33,4,153,32 // insertps $0x20,(%r9,%r11,4),%xmm0 - .byte 243,67,15,16,12,1 // movss (%r9,%r8,1),%xmm1 - .byte 102,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm0 - .byte 76,139,64,16 // mov 0x10(%rax),%r8 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 + .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 + .byte 102,66,15,58,33,4,155,32 // insertps $0x20,(%rbx,%r11,4),%xmm0 + .byte 102,66,15,58,33,4,3,48 // insertps $0x30,(%rbx,%r8,1),%xmm0 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 - .byte 102,15,56,0,13,22,47,0,0 // pshufb 0x2f16(%rip),%xmm1 # 4e60 <_sk_callback_sse41+0x612> - .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d - .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,67,15,16,12,144 // movss (%r8,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,8,16 // insertps $0x10,(%r8,%rcx,1),%xmm1 - .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 + .byte 102,15,56,0,13,185,52,0,0 // pshufb 0x34b9(%rip),%xmm1 # 55d0 <_sk_callback_sse41+0x645> + .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 + .byte 102,72,15,126,203 // movq %xmm1,%rbx + .byte 68,15,182,203 // movzbl %bl,%r9d + .byte 72,193,235,30 // shr $0x1e,%rbx + .byte 69,15,182,208 // movzbl %r8b,%r10d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 + .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 + .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 - .byte 243,67,15,16,20,8 // movss (%r8,%r9,1),%xmm2 + .byte 243,67,15,16,20,6 // movss (%r14,%r8,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 - .byte 102,15,56,0,21,210,46,0,0 // pshufb 0x2ed2(%rip),%xmm2 # 4e70 <_sk_callback_sse41+0x622> - .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx + .byte 102,15,56,0,21,117,52,0,0 // pshufb 0x3475(%rip),%xmm2 # 55e0 <_sk_callback_sse41+0x655> + .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 68,15,182,211 // movzbl %bl,%r10d + .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 - .byte 243,65,15,16,28,8 // movss (%r8,%rcx,1),%xmm3 + .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 65,15,91,216 // cvtdq2ps %xmm8,%xmm3 - .byte 15,89,29,143,46,0,0 // mulps 0x2e8f(%rip),%xmm3 # 4e80 <_sk_callback_sse41+0x632> + .byte 15,89,29,50,52,0,0 // mulps 0x3432(%rip),%xmm3 # 55f0 <_sk_callback_sse41+0x665> .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 65,137,201 // mov %ecx,%r9d + .byte 65,128,225,3 // and $0x3,%r9b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,249,1 // cmp $0x1,%r9b + .byte 116,38 // je 21fd <_sk_load_tables_sse41+0x15a> + .byte 65,128,249,2 // cmp $0x2,%r9b + .byte 116,23 // je 21f4 <_sk_load_tables_sse41+0x151> + .byte 65,128,249,3 // cmp $0x3,%r9b + .byte 15,133,208,254,255,255 // jne 20b7 <_sk_load_tables_sse41+0x14> + .byte 102,65,15,110,68,184,8 // movd 0x8(%r8,%rdi,4),%xmm0 + .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 + .byte 102,69,15,58,34,68,184,4,1 // pinsrd $0x1,0x4(%r8,%rdi,4),%xmm8 + .byte 102,69,15,58,34,4,184,0 // pinsrd $0x0,(%r8,%rdi,4),%xmm8 + .byte 233,173,254,255,255 // jmpq 20b7 <_sk_load_tables_sse41+0x14> HIDDEN _sk_load_tables_u16_be_sse41 .globl _sk_load_tables_u16_be_sse41 FUNCTION(_sk_load_tables_u16_be_sse41) _sk_load_tables_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,64,8 // mov 0x8(%rax),%r8 - .byte 243,15,111,4,249 // movdqu (%rcx,%rdi,8),%xmm0 - .byte 243,15,111,76,249,16 // movdqu 0x10(%rcx,%rdi,8),%xmm1 - .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 + .byte 76,139,0 // mov (%rax),%r8 + .byte 76,141,12,189,0,0,0,0 // lea 0x0(,%rdi,4),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,95,1,0,0 // jne 237f <_sk_load_tables_u16_be_sse41+0x175> + .byte 102,67,15,16,4,72 // movupd (%r8,%r9,2),%xmm0 + .byte 243,67,15,111,76,72,16 // movdqu 0x10(%r8,%r9,2),%xmm1 + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,68,15,105,200 // punpckhwd %xmm0,%xmm9 - .byte 102,68,15,111,5,98,46,0,0 // movdqa 0x2e62(%rip),%xmm8 # 4e90 <_sk_callback_sse41+0x642> + .byte 102,68,15,111,5,171,51,0,0 // movdqa 0x33ab(%rip),%xmm8 # 5600 <_sk_callback_sse41+0x675> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 - .byte 102,73,15,58,22,193,1 // pextrq $0x1,%xmm0,%r9 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d + .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 + .byte 102,73,15,126,193 // movq %xmm0,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,67,15,16,4,144 // movss (%r8,%r10,4),%xmm0 - .byte 102,65,15,58,33,4,8,16 // insertps $0x10,(%r8,%rcx,1),%xmm0 - .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 + .byte 69,15,182,216 // movzbl %r8b,%r11d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 + .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 102,15,58,33,194,32 // insertps $0x20,%xmm2,%xmm0 - .byte 243,67,15,16,20,8 // movss (%r8,%r9,1),%xmm2 + .byte 243,66,15,16,20,3 // movss (%rbx,%r8,1),%xmm2 .byte 102,15,58,33,194,48 // insertps $0x30,%xmm2,%xmm0 - .byte 76,139,64,16 // mov 0x10(%rax),%r8 - .byte 102,15,56,0,13,21,46,0,0 // pshufb 0x2e15(%rip),%xmm1 # 4ea0 <_sk_callback_sse41+0x652> + .byte 102,15,56,0,13,90,51,0,0 // pshufb 0x335a(%rip),%xmm1 # 5610 <_sk_callback_sse41+0x685> .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,201 // movq %xmm1,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d - .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,67,15,16,12,144 // movss (%r8,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,8,16 // insertps $0x10,(%r8,%rcx,1),%xmm1 - .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 + .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 + .byte 102,72,15,126,203 // movq %xmm1,%rbx + .byte 68,15,182,203 // movzbl %bl,%r9d + .byte 72,193,235,30 // shr $0x1e,%rbx + .byte 69,15,182,208 // movzbl %r8b,%r10d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 + .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 + .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 - .byte 243,67,15,16,20,8 // movss (%r8,%r9,1),%xmm2 + .byte 243,67,15,16,20,6 // movss (%r14,%r8,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,65,15,56,51,208 // pmovzxwd %xmm8,%xmm2 - .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx + .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 68,15,182,211 // movzbl %bl,%r10d + .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 - .byte 243,65,15,16,28,8 // movss (%r8,%rcx,1),%xmm3 + .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 102,65,15,112,217,78 // pshufd $0x4e,%xmm9,%xmm3 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 @@ -23506,156 +23635,197 @@ _sk_load_tables_u16_be_sse41: .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,99,45,0,0 // mulps 0x2d63(%rip),%xmm3 # 4eb0 <_sk_callback_sse41+0x662> + .byte 15,89,29,168,50,0,0 // mulps 0x32a8(%rip),%xmm3 # 5620 <_sk_callback_sse41+0x695> .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 242,67,15,16,4,72 // movsd (%r8,%r9,2),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,13 // jne 2398 <_sk_load_tables_u16_be_sse41+0x18e> + .byte 243,15,126,192 // movq %xmm0,%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 233,149,254,255,255 // jmpq 222d <_sk_load_tables_u16_be_sse41+0x23> + .byte 102,67,15,22,68,72,8 // movhpd 0x8(%r8,%r9,2),%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,128,254,255,255 // jb 222d <_sk_load_tables_u16_be_sse41+0x23> + .byte 243,67,15,126,76,72,16 // movq 0x10(%r8,%r9,2),%xmm1 + .byte 233,116,254,255,255 // jmpq 222d <_sk_load_tables_u16_be_sse41+0x23> HIDDEN _sk_load_tables_rgb_u16_be_sse41 .globl _sk_load_tables_rgb_u16_be_sse41 FUNCTION(_sk_load_tables_rgb_u16_be_sse41) _sk_load_tables_rgb_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax + .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,127 // lea (%rdi,%rdi,2),%r9 - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,64,8 // mov 0x8(%rax),%r8 - .byte 243,66,15,111,20,73 // movdqu (%rcx,%r9,2),%xmm2 - .byte 243,66,15,111,68,73,8 // movdqu 0x8(%rcx,%r9,2),%xmm0 - .byte 102,15,115,216,4 // psrldq $0x4,%xmm0 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,79,1,0,0 // jne 251a <_sk_load_tables_rgb_u16_be_sse41+0x161> + .byte 243,67,15,111,20,72 // movdqu (%r8,%r9,2),%xmm2 + .byte 243,67,15,111,76,72,8 // movdqu 0x8(%r8,%r9,2),%xmm1 + .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,65,15,115,217,6 // psrldq $0x6,%xmm9 - .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 + .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .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,37,45,0,0 // movdqa 0x2d25(%rip),%xmm8 # 4ec0 <_sk_callback_sse41+0x672> + .byte 102,68,15,111,5,33,50,0,0 // movdqa 0x3221(%rip),%xmm8 # 5630 <_sk_callback_sse41+0x6a5> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 - .byte 102,73,15,58,22,193,1 // pextrq $0x1,%xmm0,%r9 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d + .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 + .byte 102,73,15,126,193 // movq %xmm0,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,67,15,16,4,144 // movss (%r8,%r10,4),%xmm0 - .byte 102,65,15,58,33,4,8,16 // insertps $0x10,(%r8,%rcx,1),%xmm0 - .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 + .byte 69,15,182,216 // movzbl %r8b,%r11d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 + .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 + .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 102,15,58,33,195,32 // insertps $0x20,%xmm3,%xmm0 - .byte 243,67,15,16,28,8 // movss (%r8,%r9,1),%xmm3 + .byte 243,66,15,16,28,3 // movss (%rbx,%r8,1),%xmm3 .byte 102,15,58,33,195,48 // insertps $0x30,%xmm3,%xmm0 - .byte 76,139,64,16 // mov 0x10(%rax),%r8 - .byte 102,15,56,0,13,216,44,0,0 // pshufb 0x2cd8(%rip),%xmm1 # 4ed0 <_sk_callback_sse41+0x682> + .byte 102,15,56,0,13,208,49,0,0 // pshufb 0x31d0(%rip),%xmm1 # 5640 <_sk_callback_sse41+0x6b5> .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,201 // movq %xmm1,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d - .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,67,15,16,12,144 // movss (%r8,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,8,16 // insertps $0x10,(%r8,%rcx,1),%xmm1 - .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 + .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 + .byte 102,72,15,126,203 // movq %xmm1,%rbx + .byte 68,15,182,203 // movzbl %bl,%r9d + .byte 72,193,235,30 // shr $0x1e,%rbx + .byte 69,15,182,208 // movzbl %r8b,%r10d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 + .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 + .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 102,15,58,33,203,32 // insertps $0x20,%xmm3,%xmm1 - .byte 243,67,15,16,28,8 // movss (%r8,%r9,1),%xmm3 + .byte 243,67,15,16,28,6 // movss (%r14,%r8,1),%xmm3 .byte 102,15,58,33,203,48 // insertps $0x30,%xmm3,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,105,209 // punpckhwd %xmm9,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,56,51,210 // pmovzxwd %xmm2,%xmm2 - .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx + .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 68,15,182,211 // movzbl %bl,%r10d + .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 - .byte 243,65,15,16,28,8 // movss (%r8,%rcx,1),%xmm3 + .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,67,44,0,0 // movaps 0x2c43(%rip),%xmm3 # 4ee0 <_sk_callback_sse41+0x692> + .byte 15,40,29,59,49,0,0 // movaps 0x313b(%rip),%xmm3 # 5650 <_sk_callback_sse41+0x6c5> + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 102,67,15,110,20,72 // movd (%r8,%r9,2),%xmm2 + .byte 102,67,15,196,84,72,4,2 // pinsrw $0x2,0x4(%r8,%r9,2),%xmm2 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,14 // jne 2540 <_sk_load_tables_rgb_u16_be_sse41+0x187> + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 + .byte 233,177,254,255,255 // jmpq 23f1 <_sk_load_tables_rgb_u16_be_sse41+0x38> + .byte 102,71,15,110,76,72,6 // movd 0x6(%r8,%r9,2),%xmm9 + .byte 102,71,15,196,76,72,10,2 // pinsrw $0x2,0xa(%r8,%r9,2),%xmm9 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,24 // jb 2571 <_sk_load_tables_rgb_u16_be_sse41+0x1b8> + .byte 102,67,15,110,76,72,12 // movd 0xc(%r8,%r9,2),%xmm1 + .byte 102,67,15,196,76,72,16,2 // pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 233,128,254,255,255 // jmpq 23f1 <_sk_load_tables_rgb_u16_be_sse41+0x38> + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 233,119,254,255,255 // jmpq 23f1 <_sk_load_tables_rgb_u16_be_sse41+0x38> HIDDEN _sk_byte_tables_sse41 .globl _sk_byte_tables_sse41 FUNCTION(_sk_byte_tables_sse41) _sk_byte_tables_sse41: + .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,68,44,0,0 // movaps 0x2c44(%rip),%xmm8 # 4ef0 <_sk_callback_sse41+0x6a2> + .byte 68,15,40,5,215,48,0,0 // movaps 0x30d7(%rip),%xmm8 # 5660 <_sk_callback_sse41+0x6d5> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 - .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,73,15,126,193 // movq %xmm0,%r9 - .byte 69,137,202 // mov %r9d,%r10d - .byte 73,193,233,32 // shr $0x20,%r9 - .byte 76,139,24 // mov (%rax),%r11 + .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 76,139,56 // mov (%rax),%r15 .byte 76,139,112,8 // mov 0x8(%rax),%r14 - .byte 102,67,15,58,32,4,19,0 // pinsrb $0x0,(%r11,%r10,1),%xmm0 - .byte 102,67,15,58,32,4,11,1 // pinsrb $0x1,(%r11,%r9,1),%xmm0 - .byte 67,15,182,28,3 // movzbl (%r11,%r8,1),%ebx + .byte 102,67,15,58,32,4,31,0 // pinsrb $0x0,(%r15,%r11,1),%xmm0 + .byte 102,67,15,58,32,4,23,1 // pinsrb $0x1,(%r15,%r10,1),%xmm0 + .byte 67,15,182,28,15 // movzbl (%r15,%r9,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 - .byte 65,15,182,12,11 // movzbl (%r11,%rcx,1),%ecx - .byte 102,15,58,32,193,3 // pinsrb $0x3,%ecx,%xmm0 + .byte 67,15,182,28,7 // movzbl (%r15,%r8,1),%ebx + .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,245,43,0,0 // movaps 0x2bf5(%rip),%xmm9 # 4f00 <_sk_callback_sse41+0x6b2> + .byte 68,15,40,13,136,48,0,0 // movaps 0x3088(%rip),%xmm9 # 5670 <_sk_callback_sse41+0x6e5> .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 - .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,72,15,126,203 // movq %xmm1,%rbx - .byte 65,137,217 // mov %ebx,%r9d + .byte 102,72,15,58,22,203,1 // pextrq $0x1,%xmm1,%rbx + .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 102,67,15,58,32,12,14,0 // pinsrb $0x0,(%r14,%r9,1),%xmm1 - .byte 102,65,15,58,32,12,30,1 // pinsrb $0x1,(%r14,%rbx,1),%xmm1 - .byte 67,15,182,28,6 // movzbl (%r14,%r8,1),%ebx - .byte 102,15,58,32,203,2 // pinsrb $0x2,%ebx,%xmm1 - .byte 65,15,182,12,14 // movzbl (%r14,%rcx,1),%ecx - .byte 102,15,58,32,201,3 // pinsrb $0x3,%ecx,%xmm1 + .byte 102,73,15,126,201 // movq %xmm1,%r9 + .byte 69,137,202 // mov %r9d,%r10d + .byte 73,193,233,32 // shr $0x20,%r9 + .byte 102,67,15,58,32,12,22,0 // pinsrb $0x0,(%r14,%r10,1),%xmm1 + .byte 102,67,15,58,32,12,14,1 // pinsrb $0x1,(%r14,%r9,1),%xmm1 + .byte 71,15,182,4,6 // movzbl (%r14,%r8,1),%r8d + .byte 102,65,15,58,32,200,2 // pinsrb $0x2,%r8d,%xmm1 + .byte 65,15,182,28,30 // movzbl (%r14,%rbx,1),%ebx + .byte 102,15,58,32,203,3 // pinsrb $0x3,%ebx,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,201 // mulps %xmm9,%xmm1 - .byte 76,139,72,16 // mov 0x10(%rax),%r9 + .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 - .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx - .byte 65,137,216 // mov %ebx,%r8d + .byte 102,73,15,58,22,208,1 // pextrq $0x1,%xmm2,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 + .byte 102,72,15,126,211 // movq %xmm2,%rbx + .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,58,32,20,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm2 - .byte 102,65,15,58,32,20,9,1 // pinsrb $0x1,(%r9,%rcx,1),%xmm2 - .byte 67,15,182,12,1 // movzbl (%r9,%r8,1),%ecx - .byte 102,15,58,32,209,2 // pinsrb $0x2,%ecx,%xmm2 - .byte 65,15,182,12,25 // movzbl (%r9,%rbx,1),%ecx - .byte 102,15,58,32,209,3 // pinsrb $0x3,%ecx,%xmm2 + .byte 102,67,15,58,32,20,26,0 // pinsrb $0x0,(%r10,%r11,1),%xmm2 + .byte 102,65,15,58,32,20,26,1 // pinsrb $0x1,(%r10,%rbx,1),%xmm2 + .byte 67,15,182,28,10 // movzbl (%r10,%r9,1),%ebx + .byte 102,15,58,32,211,2 // pinsrb $0x2,%ebx,%xmm2 + .byte 67,15,182,28,2 // movzbl (%r10,%r8,1),%ebx + .byte 102,15,58,32,211,3 // pinsrb $0x3,%ebx,%xmm2 .byte 102,15,56,49,210 // pmovzxbd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%xmm2 - .byte 72,139,64,24 // mov 0x18(%rax),%rax + .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 102,15,91,219 // cvtps2dq %xmm3,%xmm3 - .byte 102,72,15,58,22,217,1 // pextrq $0x1,%xmm3,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,72,15,126,219 // movq %xmm3,%rbx - .byte 65,137,217 // mov %ebx,%r9d + .byte 102,72,15,58,22,219,1 // pextrq $0x1,%xmm3,%rbx + .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 102,66,15,58,32,28,8,0 // pinsrb $0x0,(%rax,%r9,1),%xmm3 - .byte 102,15,58,32,28,24,1 // pinsrb $0x1,(%rax,%rbx,1),%xmm3 - .byte 66,15,182,28,0 // movzbl (%rax,%r8,1),%ebx - .byte 102,15,58,32,219,2 // pinsrb $0x2,%ebx,%xmm3 - .byte 15,182,4,8 // movzbl (%rax,%rcx,1),%eax + .byte 102,72,15,126,216 // movq %xmm3,%rax + .byte 65,137,194 // mov %eax,%r10d + .byte 72,193,232,32 // shr $0x20,%rax + .byte 102,67,15,58,32,28,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm3 + .byte 102,65,15,58,32,28,1,1 // pinsrb $0x1,(%r9,%rax,1),%xmm3 + .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax + .byte 102,15,58,32,216,2 // pinsrb $0x2,%eax,%xmm3 + .byte 65,15,182,4,25 // movzbl (%r9,%rbx,1),%eax .byte 102,15,58,32,216,3 // pinsrb $0x3,%eax,%xmm3 .byte 102,15,56,49,219 // pmovzxbd %xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 @@ -23663,72 +23833,75 @@ _sk_byte_tables_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 + .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_sse41 .globl _sk_byte_tables_rgb_sse41 FUNCTION(_sk_byte_tables_rgb_sse41) _sk_byte_tables_rgb_sse41: + .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 139,72,24 // mov 0x18(%rax),%ecx - .byte 255,201 // dec %ecx - .byte 102,68,15,110,193 // movd %ecx,%xmm8 + .byte 68,139,64,24 // mov 0x18(%rax),%r8d + .byte 65,255,200 // dec %r8d + .byte 102,69,15,110,192 // movd %r8d,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 - .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,73,15,126,193 // movq %xmm0,%r9 - .byte 69,137,202 // mov %r9d,%r10d - .byte 77,137,203 // mov %r9,%r11 - .byte 73,193,235,32 // shr $0x20,%r11 - .byte 76,139,48 // mov (%rax),%r14 - .byte 76,139,72,8 // mov 0x8(%rax),%r9 - .byte 102,67,15,58,32,4,22,0 // pinsrb $0x0,(%r14,%r10,1),%xmm0 - .byte 102,67,15,58,32,4,30,1 // pinsrb $0x1,(%r14,%r11,1),%xmm0 - .byte 67,15,182,28,6 // movzbl (%r14,%r8,1),%ebx + .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 77,137,194 // mov %r8,%r10 + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,73,15,126,192 // movq %xmm0,%r8 + .byte 69,137,195 // mov %r8d,%r11d + .byte 77,137,198 // mov %r8,%r14 + .byte 73,193,238,32 // shr $0x20,%r14 + .byte 76,139,56 // mov (%rax),%r15 + .byte 76,139,64,8 // mov 0x8(%rax),%r8 + .byte 102,67,15,58,32,4,31,0 // pinsrb $0x0,(%r15,%r11,1),%xmm0 + .byte 102,67,15,58,32,4,55,1 // pinsrb $0x1,(%r15,%r14,1),%xmm0 + .byte 67,15,182,28,15 // movzbl (%r15,%r9,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 - .byte 65,15,182,12,14 // movzbl (%r14,%rcx,1),%ecx - .byte 102,15,58,32,193,3 // pinsrb $0x3,%ecx,%xmm0 + .byte 67,15,182,28,23 // movzbl (%r15,%r10,1),%ebx + .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,125,42,0,0 // movaps 0x2a7d(%rip),%xmm9 # 4f10 <_sk_callback_sse41+0x6c2> + .byte 68,15,40,13,4,47,0,0 // movaps 0x2f04(%rip),%xmm9 # 5680 <_sk_callback_sse41+0x6f5> .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 - .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,72,15,126,203 // movq %xmm1,%rbx - .byte 65,137,218 // mov %ebx,%r10d + .byte 102,72,15,58,22,203,1 // pextrq $0x1,%xmm1,%rbx + .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 102,67,15,58,32,12,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm1 - .byte 102,65,15,58,32,12,25,1 // pinsrb $0x1,(%r9,%rbx,1),%xmm1 - .byte 67,15,182,28,1 // movzbl (%r9,%r8,1),%ebx - .byte 102,15,58,32,203,2 // pinsrb $0x2,%ebx,%xmm1 - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 102,15,58,32,201,3 // pinsrb $0x3,%ecx,%xmm1 + .byte 102,73,15,126,202 // movq %xmm1,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,58,32,12,24,0 // pinsrb $0x0,(%r8,%r11,1),%xmm1 + .byte 102,67,15,58,32,12,16,1 // pinsrb $0x1,(%r8,%r10,1),%xmm1 + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 102,65,15,58,32,201,2 // pinsrb $0x2,%r9d,%xmm1 + .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx + .byte 102,15,58,32,203,3 // pinsrb $0x3,%ebx,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,201 // mulps %xmm9,%xmm1 - .byte 72,139,64,16 // mov 0x10(%rax),%rax + .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 - .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,72,15,126,211 // movq %xmm2,%rbx - .byte 65,137,217 // mov %ebx,%r9d + .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx + .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 102,66,15,58,32,20,8,0 // pinsrb $0x0,(%rax,%r9,1),%xmm2 - .byte 102,15,58,32,20,24,1 // pinsrb $0x1,(%rax,%rbx,1),%xmm2 - .byte 66,15,182,28,0 // movzbl (%rax,%r8,1),%ebx - .byte 102,15,58,32,211,2 // pinsrb $0x2,%ebx,%xmm2 - .byte 15,182,4,8 // movzbl (%rax,%rcx,1),%eax + .byte 102,72,15,126,208 // movq %xmm2,%rax + .byte 65,137,194 // mov %eax,%r10d + .byte 72,193,232,32 // shr $0x20,%rax + .byte 102,67,15,58,32,20,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm2 + .byte 102,65,15,58,32,20,1,1 // pinsrb $0x1,(%r9,%rax,1),%xmm2 + .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax + .byte 102,15,58,32,208,2 // pinsrb $0x2,%eax,%xmm2 + .byte 65,15,182,4,25 // movzbl (%r9,%rbx,1),%eax .byte 102,15,58,32,208,3 // pinsrb $0x3,%eax,%xmm2 .byte 102,15,56,49,210 // pmovzxbd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 @@ -23736,6 +23909,7 @@ _sk_byte_tables_rgb_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 + .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse41 @@ -23743,7 +23917,7 @@ HIDDEN _sk_table_r_sse41 FUNCTION(_sk_table_r_sse41) _sk_table_r_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -23752,16 +23926,16 @@ _sk_table_r_sse41: .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 102,65,15,91,192 // cvtps2dq %xmm8,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,67,15,16,4,145 // movss (%r9,%r10,4),%xmm0 - .byte 102,65,15,58,33,4,137,16 // insertps $0x10,(%r9,%rcx,4),%xmm0 - .byte 243,71,15,16,4,129 // movss (%r9,%r8,4),%xmm8 + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 + .byte 102,67,15,58,33,4,144,16 // insertps $0x10,(%r8,%r10,4),%xmm0 + .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,192,32 // insertps $0x20,%xmm8,%xmm0 - .byte 243,69,15,16,4,129 // movss (%r9,%rax,4),%xmm8 + .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,192,48 // insertps $0x30,%xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -23771,7 +23945,7 @@ HIDDEN _sk_table_g_sse41 FUNCTION(_sk_table_g_sse41) _sk_table_g_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -23780,16 +23954,16 @@ _sk_table_g_sse41: .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 102,65,15,91,200 // cvtps2dq %xmm8,%xmm1 .byte 102,72,15,58,22,200,1 // pextrq $0x1,%xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,67,15,16,12,145 // movss (%r9,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,137,16 // insertps $0x10,(%r9,%rcx,4),%xmm1 - .byte 243,71,15,16,4,129 // movss (%r9,%r8,4),%xmm8 + .byte 102,73,15,126,202 // movq %xmm1,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,16,12,152 // movss (%r8,%r11,4),%xmm1 + .byte 102,67,15,58,33,12,144,16 // insertps $0x10,(%r8,%r10,4),%xmm1 + .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,200,32 // insertps $0x20,%xmm8,%xmm1 - .byte 243,69,15,16,4,129 // movss (%r9,%rax,4),%xmm8 + .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,200,48 // insertps $0x30,%xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -23799,7 +23973,7 @@ HIDDEN _sk_table_b_sse41 FUNCTION(_sk_table_b_sse41) _sk_table_b_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -23808,16 +23982,16 @@ _sk_table_b_sse41: .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 102,65,15,91,208 // cvtps2dq %xmm8,%xmm2 .byte 102,72,15,58,22,208,1 // pextrq $0x1,%xmm2,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 - .byte 102,65,15,58,33,20,137,16 // insertps $0x10,(%r9,%rcx,4),%xmm2 - .byte 243,71,15,16,4,129 // movss (%r9,%r8,4),%xmm8 + .byte 102,73,15,126,210 // movq %xmm2,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 + .byte 102,67,15,58,33,20,144,16 // insertps $0x10,(%r8,%r10,4),%xmm2 + .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,208,32 // insertps $0x20,%xmm8,%xmm2 - .byte 243,69,15,16,4,129 // movss (%r9,%rax,4),%xmm8 + .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,208,48 // insertps $0x30,%xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -23827,7 +24001,7 @@ HIDDEN _sk_table_a_sse41 FUNCTION(_sk_table_a_sse41) _sk_table_a_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -23836,16 +24010,16 @@ _sk_table_a_sse41: .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,65,15,91,216 // cvtps2dq %xmm8,%xmm3 .byte 102,72,15,58,22,216,1 // pextrq $0x1,%xmm3,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,217 // movq %xmm3,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,67,15,16,28,145 // movss (%r9,%r10,4),%xmm3 - .byte 102,65,15,58,33,28,137,16 // insertps $0x10,(%r9,%rcx,4),%xmm3 - .byte 243,71,15,16,4,129 // movss (%r9,%r8,4),%xmm8 + .byte 102,73,15,126,218 // movq %xmm3,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 + .byte 102,67,15,58,33,28,144,16 // insertps $0x10,(%r8,%r10,4),%xmm3 + .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,216,32 // insertps $0x20,%xmm8,%xmm3 - .byte 243,69,15,16,4,129 // movss (%r9,%rax,4),%xmm8 + .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,216,48 // insertps $0x30,%xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -23873,31 +24047,31 @@ _sk_parametric_r_sse41: .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,212,39,0,0 // mulps 0x27d4(%rip),%xmm8 # 4f20 <_sk_callback_sse41+0x6d2> - .byte 68,15,84,21,220,39,0,0 // andps 0x27dc(%rip),%xmm10 # 4f30 <_sk_callback_sse41+0x6e2> - .byte 68,15,86,21,228,39,0,0 // orps 0x27e4(%rip),%xmm10 # 4f40 <_sk_callback_sse41+0x6f2> - .byte 68,15,88,5,236,39,0,0 // addps 0x27ec(%rip),%xmm8 # 4f50 <_sk_callback_sse41+0x702> - .byte 68,15,40,37,244,39,0,0 // movaps 0x27f4(%rip),%xmm12 # 4f60 <_sk_callback_sse41+0x712> + .byte 68,15,89,5,86,44,0,0 // mulps 0x2c56(%rip),%xmm8 # 5690 <_sk_callback_sse41+0x705> + .byte 68,15,84,21,94,44,0,0 // andps 0x2c5e(%rip),%xmm10 # 56a0 <_sk_callback_sse41+0x715> + .byte 68,15,86,21,102,44,0,0 // orps 0x2c66(%rip),%xmm10 # 56b0 <_sk_callback_sse41+0x725> + .byte 68,15,88,5,110,44,0,0 // addps 0x2c6e(%rip),%xmm8 # 56c0 <_sk_callback_sse41+0x735> + .byte 68,15,40,37,118,44,0,0 // movaps 0x2c76(%rip),%xmm12 # 56d0 <_sk_callback_sse41+0x745> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,196 // subps %xmm12,%xmm8 - .byte 68,15,88,21,244,39,0,0 // addps 0x27f4(%rip),%xmm10 # 4f70 <_sk_callback_sse41+0x722> - .byte 68,15,40,37,252,39,0,0 // movaps 0x27fc(%rip),%xmm12 # 4f80 <_sk_callback_sse41+0x732> + .byte 68,15,88,21,118,44,0,0 // addps 0x2c76(%rip),%xmm10 # 56e0 <_sk_callback_sse41+0x755> + .byte 68,15,40,37,126,44,0,0 // movaps 0x2c7e(%rip),%xmm12 # 56f0 <_sk_callback_sse41+0x765> .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,233,39,0,0 // addps 0x27e9(%rip),%xmm8 # 4f90 <_sk_callback_sse41+0x742> - .byte 68,15,40,21,241,39,0,0 // movaps 0x27f1(%rip),%xmm10 # 4fa0 <_sk_callback_sse41+0x752> + .byte 68,15,88,5,107,44,0,0 // addps 0x2c6b(%rip),%xmm8 # 5700 <_sk_callback_sse41+0x775> + .byte 68,15,40,21,115,44,0,0 // movaps 0x2c73(%rip),%xmm10 # 5710 <_sk_callback_sse41+0x785> .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 69,15,92,194 // subps %xmm10,%xmm8 - .byte 68,15,40,21,241,39,0,0 // movaps 0x27f1(%rip),%xmm10 # 4fb0 <_sk_callback_sse41+0x762> + .byte 68,15,40,21,115,44,0,0 // movaps 0x2c73(%rip),%xmm10 # 5720 <_sk_callback_sse41+0x795> .byte 69,15,92,211 // subps %xmm11,%xmm10 - .byte 68,15,40,29,245,39,0,0 // movaps 0x27f5(%rip),%xmm11 # 4fc0 <_sk_callback_sse41+0x772> + .byte 68,15,40,29,119,44,0,0 // movaps 0x2c77(%rip),%xmm11 # 5730 <_sk_callback_sse41+0x7a5> .byte 69,15,94,218 // divps %xmm10,%xmm11 .byte 69,15,88,216 // addps %xmm8,%xmm11 - .byte 68,15,89,29,245,39,0,0 // mulps 0x27f5(%rip),%xmm11 # 4fd0 <_sk_callback_sse41+0x782> + .byte 68,15,89,29,119,44,0,0 // mulps 0x2c77(%rip),%xmm11 # 5740 <_sk_callback_sse41+0x7b5> .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 @@ -23905,7 +24079,7 @@ _sk_parametric_r_sse41: .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,220,39,0,0 // minps 0x27dc(%rip),%xmm8 # 4fe0 <_sk_callback_sse41+0x792> + .byte 68,15,93,5,94,44,0,0 // minps 0x2c5e(%rip),%xmm8 # 5750 <_sk_callback_sse41+0x7c5> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -23935,31 +24109,31 @@ _sk_parametric_g_sse41: .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,125,39,0,0 // mulps 0x277d(%rip),%xmm12 # 4ff0 <_sk_callback_sse41+0x7a2> - .byte 68,15,84,29,133,39,0,0 // andps 0x2785(%rip),%xmm11 # 5000 <_sk_callback_sse41+0x7b2> - .byte 68,15,86,29,141,39,0,0 // orps 0x278d(%rip),%xmm11 # 5010 <_sk_callback_sse41+0x7c2> - .byte 68,15,88,37,149,39,0,0 // addps 0x2795(%rip),%xmm12 # 5020 <_sk_callback_sse41+0x7d2> - .byte 15,40,13,158,39,0,0 // movaps 0x279e(%rip),%xmm1 # 5030 <_sk_callback_sse41+0x7e2> + .byte 68,15,89,37,255,43,0,0 // mulps 0x2bff(%rip),%xmm12 # 5760 <_sk_callback_sse41+0x7d5> + .byte 68,15,84,29,7,44,0,0 // andps 0x2c07(%rip),%xmm11 # 5770 <_sk_callback_sse41+0x7e5> + .byte 68,15,86,29,15,44,0,0 // orps 0x2c0f(%rip),%xmm11 # 5780 <_sk_callback_sse41+0x7f5> + .byte 68,15,88,37,23,44,0,0 // addps 0x2c17(%rip),%xmm12 # 5790 <_sk_callback_sse41+0x805> + .byte 15,40,13,32,44,0,0 // movaps 0x2c20(%rip),%xmm1 # 57a0 <_sk_callback_sse41+0x815> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 - .byte 68,15,88,29,158,39,0,0 // addps 0x279e(%rip),%xmm11 # 5040 <_sk_callback_sse41+0x7f2> - .byte 15,40,13,167,39,0,0 // movaps 0x27a7(%rip),%xmm1 # 5050 <_sk_callback_sse41+0x802> + .byte 68,15,88,29,32,44,0,0 // addps 0x2c20(%rip),%xmm11 # 57b0 <_sk_callback_sse41+0x825> + .byte 15,40,13,41,44,0,0 // movaps 0x2c29(%rip),%xmm1 # 57c0 <_sk_callback_sse41+0x835> .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,148,39,0,0 // addps 0x2794(%rip),%xmm12 # 5060 <_sk_callback_sse41+0x812> - .byte 15,40,13,157,39,0,0 // movaps 0x279d(%rip),%xmm1 # 5070 <_sk_callback_sse41+0x822> + .byte 68,15,88,37,22,44,0,0 // addps 0x2c16(%rip),%xmm12 # 57d0 <_sk_callback_sse41+0x845> + .byte 15,40,13,31,44,0,0 // movaps 0x2c1f(%rip),%xmm1 # 57e0 <_sk_callback_sse41+0x855> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 - .byte 68,15,40,21,157,39,0,0 // movaps 0x279d(%rip),%xmm10 # 5080 <_sk_callback_sse41+0x832> + .byte 68,15,40,21,31,44,0,0 // movaps 0x2c1f(%rip),%xmm10 # 57f0 <_sk_callback_sse41+0x865> .byte 69,15,92,211 // subps %xmm11,%xmm10 - .byte 15,40,13,162,39,0,0 // movaps 0x27a2(%rip),%xmm1 # 5090 <_sk_callback_sse41+0x842> + .byte 15,40,13,36,44,0,0 // movaps 0x2c24(%rip),%xmm1 # 5800 <_sk_callback_sse41+0x875> .byte 65,15,94,202 // divps %xmm10,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 - .byte 15,89,13,163,39,0,0 // mulps 0x27a3(%rip),%xmm1 # 50a0 <_sk_callback_sse41+0x852> + .byte 15,89,13,37,44,0,0 // mulps 0x2c25(%rip),%xmm1 # 5810 <_sk_callback_sse41+0x885> .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 @@ -23967,7 +24141,7 @@ _sk_parametric_g_sse41: .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,142,39,0,0 // minps 0x278e(%rip),%xmm1 # 50b0 <_sk_callback_sse41+0x862> + .byte 15,93,13,16,44,0,0 // minps 0x2c10(%rip),%xmm1 # 5820 <_sk_callback_sse41+0x895> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -23997,31 +24171,31 @@ _sk_parametric_b_sse41: .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,47,39,0,0 // mulps 0x272f(%rip),%xmm12 # 50c0 <_sk_callback_sse41+0x872> - .byte 68,15,84,29,55,39,0,0 // andps 0x2737(%rip),%xmm11 # 50d0 <_sk_callback_sse41+0x882> - .byte 68,15,86,29,63,39,0,0 // orps 0x273f(%rip),%xmm11 # 50e0 <_sk_callback_sse41+0x892> - .byte 68,15,88,37,71,39,0,0 // addps 0x2747(%rip),%xmm12 # 50f0 <_sk_callback_sse41+0x8a2> - .byte 15,40,21,80,39,0,0 // movaps 0x2750(%rip),%xmm2 # 5100 <_sk_callback_sse41+0x8b2> + .byte 68,15,89,37,177,43,0,0 // mulps 0x2bb1(%rip),%xmm12 # 5830 <_sk_callback_sse41+0x8a5> + .byte 68,15,84,29,185,43,0,0 // andps 0x2bb9(%rip),%xmm11 # 5840 <_sk_callback_sse41+0x8b5> + .byte 68,15,86,29,193,43,0,0 // orps 0x2bc1(%rip),%xmm11 # 5850 <_sk_callback_sse41+0x8c5> + .byte 68,15,88,37,201,43,0,0 // addps 0x2bc9(%rip),%xmm12 # 5860 <_sk_callback_sse41+0x8d5> + .byte 15,40,21,210,43,0,0 // movaps 0x2bd2(%rip),%xmm2 # 5870 <_sk_callback_sse41+0x8e5> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 - .byte 68,15,88,29,80,39,0,0 // addps 0x2750(%rip),%xmm11 # 5110 <_sk_callback_sse41+0x8c2> - .byte 15,40,21,89,39,0,0 // movaps 0x2759(%rip),%xmm2 # 5120 <_sk_callback_sse41+0x8d2> + .byte 68,15,88,29,210,43,0,0 // addps 0x2bd2(%rip),%xmm11 # 5880 <_sk_callback_sse41+0x8f5> + .byte 15,40,21,219,43,0,0 // movaps 0x2bdb(%rip),%xmm2 # 5890 <_sk_callback_sse41+0x905> .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,70,39,0,0 // addps 0x2746(%rip),%xmm12 # 5130 <_sk_callback_sse41+0x8e2> - .byte 15,40,21,79,39,0,0 // movaps 0x274f(%rip),%xmm2 # 5140 <_sk_callback_sse41+0x8f2> + .byte 68,15,88,37,200,43,0,0 // addps 0x2bc8(%rip),%xmm12 # 58a0 <_sk_callback_sse41+0x915> + .byte 15,40,21,209,43,0,0 // movaps 0x2bd1(%rip),%xmm2 # 58b0 <_sk_callback_sse41+0x925> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 - .byte 68,15,40,21,79,39,0,0 // movaps 0x274f(%rip),%xmm10 # 5150 <_sk_callback_sse41+0x902> + .byte 68,15,40,21,209,43,0,0 // movaps 0x2bd1(%rip),%xmm10 # 58c0 <_sk_callback_sse41+0x935> .byte 69,15,92,211 // subps %xmm11,%xmm10 - .byte 15,40,21,84,39,0,0 // movaps 0x2754(%rip),%xmm2 # 5160 <_sk_callback_sse41+0x912> + .byte 15,40,21,214,43,0,0 // movaps 0x2bd6(%rip),%xmm2 # 58d0 <_sk_callback_sse41+0x945> .byte 65,15,94,210 // divps %xmm10,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 - .byte 15,89,21,85,39,0,0 // mulps 0x2755(%rip),%xmm2 # 5170 <_sk_callback_sse41+0x922> + .byte 15,89,21,215,43,0,0 // mulps 0x2bd7(%rip),%xmm2 # 58e0 <_sk_callback_sse41+0x955> .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 @@ -24029,7 +24203,7 @@ _sk_parametric_b_sse41: .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,64,39,0,0 // minps 0x2740(%rip),%xmm2 # 5180 <_sk_callback_sse41+0x932> + .byte 15,93,21,194,43,0,0 // minps 0x2bc2(%rip),%xmm2 # 58f0 <_sk_callback_sse41+0x965> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -24059,31 +24233,31 @@ _sk_parametric_a_sse41: .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,225,38,0,0 // mulps 0x26e1(%rip),%xmm12 # 5190 <_sk_callback_sse41+0x942> - .byte 68,15,84,29,233,38,0,0 // andps 0x26e9(%rip),%xmm11 # 51a0 <_sk_callback_sse41+0x952> - .byte 68,15,86,29,241,38,0,0 // orps 0x26f1(%rip),%xmm11 # 51b0 <_sk_callback_sse41+0x962> - .byte 68,15,88,37,249,38,0,0 // addps 0x26f9(%rip),%xmm12 # 51c0 <_sk_callback_sse41+0x972> - .byte 15,40,29,2,39,0,0 // movaps 0x2702(%rip),%xmm3 # 51d0 <_sk_callback_sse41+0x982> + .byte 68,15,89,37,99,43,0,0 // mulps 0x2b63(%rip),%xmm12 # 5900 <_sk_callback_sse41+0x975> + .byte 68,15,84,29,107,43,0,0 // andps 0x2b6b(%rip),%xmm11 # 5910 <_sk_callback_sse41+0x985> + .byte 68,15,86,29,115,43,0,0 // orps 0x2b73(%rip),%xmm11 # 5920 <_sk_callback_sse41+0x995> + .byte 68,15,88,37,123,43,0,0 // addps 0x2b7b(%rip),%xmm12 # 5930 <_sk_callback_sse41+0x9a5> + .byte 15,40,29,132,43,0,0 // movaps 0x2b84(%rip),%xmm3 # 5940 <_sk_callback_sse41+0x9b5> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 - .byte 68,15,88,29,2,39,0,0 // addps 0x2702(%rip),%xmm11 # 51e0 <_sk_callback_sse41+0x992> - .byte 15,40,29,11,39,0,0 // movaps 0x270b(%rip),%xmm3 # 51f0 <_sk_callback_sse41+0x9a2> + .byte 68,15,88,29,132,43,0,0 // addps 0x2b84(%rip),%xmm11 # 5950 <_sk_callback_sse41+0x9c5> + .byte 15,40,29,141,43,0,0 // movaps 0x2b8d(%rip),%xmm3 # 5960 <_sk_callback_sse41+0x9d5> .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,248,38,0,0 // addps 0x26f8(%rip),%xmm12 # 5200 <_sk_callback_sse41+0x9b2> - .byte 15,40,29,1,39,0,0 // movaps 0x2701(%rip),%xmm3 # 5210 <_sk_callback_sse41+0x9c2> + .byte 68,15,88,37,122,43,0,0 // addps 0x2b7a(%rip),%xmm12 # 5970 <_sk_callback_sse41+0x9e5> + .byte 15,40,29,131,43,0,0 // movaps 0x2b83(%rip),%xmm3 # 5980 <_sk_callback_sse41+0x9f5> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 - .byte 68,15,40,21,1,39,0,0 // movaps 0x2701(%rip),%xmm10 # 5220 <_sk_callback_sse41+0x9d2> + .byte 68,15,40,21,131,43,0,0 // movaps 0x2b83(%rip),%xmm10 # 5990 <_sk_callback_sse41+0xa05> .byte 69,15,92,211 // subps %xmm11,%xmm10 - .byte 15,40,29,6,39,0,0 // movaps 0x2706(%rip),%xmm3 # 5230 <_sk_callback_sse41+0x9e2> + .byte 15,40,29,136,43,0,0 // movaps 0x2b88(%rip),%xmm3 # 59a0 <_sk_callback_sse41+0xa15> .byte 65,15,94,218 // divps %xmm10,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 - .byte 15,89,29,7,39,0,0 // mulps 0x2707(%rip),%xmm3 # 5240 <_sk_callback_sse41+0x9f2> + .byte 15,89,29,137,43,0,0 // mulps 0x2b89(%rip),%xmm3 # 59b0 <_sk_callback_sse41+0xa25> .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 @@ -24091,7 +24265,7 @@ _sk_parametric_a_sse41: .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,242,38,0,0 // minps 0x26f2(%rip),%xmm3 # 5250 <_sk_callback_sse41+0xa02> + .byte 15,93,29,116,43,0,0 // minps 0x2b74(%rip),%xmm3 # 59c0 <_sk_callback_sse41+0xa35> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -24101,29 +24275,29 @@ HIDDEN _sk_lab_to_xyz_sse41 FUNCTION(_sk_lab_to_xyz_sse41) _sk_lab_to_xyz_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,89,5,238,38,0,0 // mulps 0x26ee(%rip),%xmm8 # 5260 <_sk_callback_sse41+0xa12> - .byte 68,15,40,13,246,38,0,0 // movaps 0x26f6(%rip),%xmm9 # 5270 <_sk_callback_sse41+0xa22> + .byte 68,15,89,5,112,43,0,0 // mulps 0x2b70(%rip),%xmm8 # 59d0 <_sk_callback_sse41+0xa45> + .byte 68,15,40,13,120,43,0,0 // movaps 0x2b78(%rip),%xmm9 # 59e0 <_sk_callback_sse41+0xa55> .byte 65,15,89,201 // mulps %xmm9,%xmm1 - .byte 15,40,5,251,38,0,0 // movaps 0x26fb(%rip),%xmm0 # 5280 <_sk_callback_sse41+0xa32> + .byte 15,40,5,125,43,0,0 // movaps 0x2b7d(%rip),%xmm0 # 59f0 <_sk_callback_sse41+0xa65> .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,249,38,0,0 // addps 0x26f9(%rip),%xmm8 # 5290 <_sk_callback_sse41+0xa42> - .byte 68,15,89,5,1,39,0,0 // mulps 0x2701(%rip),%xmm8 # 52a0 <_sk_callback_sse41+0xa52> - .byte 15,89,13,10,39,0,0 // mulps 0x270a(%rip),%xmm1 # 52b0 <_sk_callback_sse41+0xa62> + .byte 68,15,88,5,123,43,0,0 // addps 0x2b7b(%rip),%xmm8 # 5a00 <_sk_callback_sse41+0xa75> + .byte 68,15,89,5,131,43,0,0 // mulps 0x2b83(%rip),%xmm8 # 5a10 <_sk_callback_sse41+0xa85> + .byte 15,89,13,140,43,0,0 // mulps 0x2b8c(%rip),%xmm1 # 5a20 <_sk_callback_sse41+0xa95> .byte 65,15,88,200 // addps %xmm8,%xmm1 - .byte 15,89,21,15,39,0,0 // mulps 0x270f(%rip),%xmm2 # 52c0 <_sk_callback_sse41+0xa72> + .byte 15,89,21,145,43,0,0 // mulps 0x2b91(%rip),%xmm2 # 5a30 <_sk_callback_sse41+0xaa5> .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,3,39,0,0 // movaps 0x2703(%rip),%xmm9 # 52d0 <_sk_callback_sse41+0xa82> + .byte 68,15,40,13,133,43,0,0 // movaps 0x2b85(%rip),%xmm9 # 5a40 <_sk_callback_sse41+0xab5> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 - .byte 15,40,21,3,39,0,0 // movaps 0x2703(%rip),%xmm2 # 52e0 <_sk_callback_sse41+0xa92> + .byte 15,40,21,133,43,0,0 // movaps 0x2b85(%rip),%xmm2 # 5a50 <_sk_callback_sse41+0xac5> .byte 15,88,202 // addps %xmm2,%xmm1 - .byte 68,15,40,37,8,39,0,0 // movaps 0x2708(%rip),%xmm12 # 52f0 <_sk_callback_sse41+0xaa2> + .byte 68,15,40,37,138,43,0,0 // movaps 0x2b8a(%rip),%xmm12 # 5a60 <_sk_callback_sse41+0xad5> .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 @@ -24142,8 +24316,8 @@ _sk_lab_to_xyz_sse41: .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,193,38,0,0 // mulps 0x26c1(%rip),%xmm1 # 5300 <_sk_callback_sse41+0xab2> - .byte 15,89,21,202,38,0,0 // mulps 0x26ca(%rip),%xmm2 # 5310 <_sk_callback_sse41+0xac2> + .byte 15,89,13,67,43,0,0 // mulps 0x2b43(%rip),%xmm1 # 5a70 <_sk_callback_sse41+0xae5> + .byte 15,89,21,76,43,0,0 // mulps 0x2b4c(%rip),%xmm2 # 5a80 <_sk_callback_sse41+0xaf5> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 @@ -24154,22 +24328,42 @@ HIDDEN _sk_load_a8_sse41 FUNCTION(_sk_load_a8_sse41) _sk_load_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,56,49,4,56 // pmovzxbd (%rax,%rdi,1),%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,38 // jne 2f6f <_sk_load_a8_sse41+0x30> + .byte 102,65,15,56,49,4,57 // pmovzxbd (%r9,%rdi,1),%xmm0 + .byte 102,15,219,5,56,43,0,0 // pand 0x2b38(%rip),%xmm0 # 5a90 <_sk_callback_sse41+0xb05> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 - .byte 15,89,29,186,38,0,0 // mulps 0x26ba(%rip),%xmm3 # 5320 <_sk_callback_sse41+0xad2> + .byte 15,89,29,62,43,0,0 // mulps 0x2b3e(%rip),%xmm3 # 5aa0 <_sk_callback_sse41+0xb15> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,39 // je 2fa7 <_sk_load_a8_sse41+0x68> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 2f9b <_sk_load_a8_sse41+0x5c> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,196 // jne 2f50 <_sk_load_a8_sse41+0x11> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,15,58,34,192,1 // pinsrd $0x1,%eax,%xmm0 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,15,58,34,192,0 // pinsrd $0x0,%eax,%xmm0 + .byte 235,156 // jmp 2f50 <_sk_load_a8_sse41+0x11> HIDDEN _sk_gather_a8_sse41 .globl _sk_gather_a8_sse41 FUNCTION(_sk_gather_a8_sse41) _sk_gather_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24177,20 +24371,20 @@ _sk_gather_a8_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,58,32,4,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm0 - .byte 102,65,15,58,32,4,9,1 // pinsrb $0x1,(%r9,%rcx,1),%xmm0 - .byte 67,15,182,12,1 // movzbl (%r9,%r8,1),%ecx - .byte 102,15,58,32,193,2 // pinsrb $0x2,%ecx,%xmm0 - .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,58,32,4,24,0 // pinsrb $0x0,(%r8,%r11,1),%xmm0 + .byte 102,67,15,58,32,4,16,1 // pinsrb $0x1,(%r8,%r10,1),%xmm0 + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 102,65,15,58,32,193,2 // pinsrb $0x2,%r9d,%xmm0 + .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 102,15,58,32,192,3 // pinsrb $0x3,%eax,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 - .byte 15,89,29,78,38,0,0 // mulps 0x264e(%rip),%xmm3 # 5330 <_sk_callback_sse41+0xae2> + .byte 15,89,29,140,42,0,0 // mulps 0x2a8c(%rip),%xmm3 # 5ab0 <_sk_callback_sse41+0xb25> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 @@ -24202,37 +24396,73 @@ HIDDEN _sk_store_a8_sse41 FUNCTION(_sk_store_a8_sse41) _sk_store_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,66,38,0,0 // movaps 0x2642(%rip),%xmm8 # 5340 <_sk_callback_sse41+0xaf2> + .byte 76,139,8 // mov (%rax),%r9 + .byte 68,15,40,5,128,42,0,0 // movaps 0x2a80(%rip),%xmm8 # 5ac0 <_sk_callback_sse41+0xb35> .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 102,68,15,126,4,56 // movd %xmm8,(%rax,%rdi,1) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,13 // jne 3066 <_sk_store_a8_sse41+0x33> + .byte 102,68,15,126,192 // movd %xmm8,%eax + .byte 65,137,4,57 // mov %eax,(%r9,%rdi,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,69,15,56,49,192 // pmovzxbd %xmm8,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,30 // je 3097 <_sk_store_a8_sse41+0x64> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,15 // je 308e <_sk_store_a8_sse41+0x5b> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,221 // jne 3062 <_sk_store_a8_sse41+0x2f> + .byte 102,69,15,58,20,68,57,2,8 // pextrb $0x8,%xmm8,0x2(%r9,%rdi,1) + .byte 102,69,15,58,20,68,57,1,4 // pextrb $0x4,%xmm8,0x1(%r9,%rdi,1) + .byte 102,69,15,58,20,4,57,0 // pextrb $0x0,%xmm8,(%r9,%rdi,1) + .byte 235,193 // jmp 3062 <_sk_store_a8_sse41+0x2f> HIDDEN _sk_load_g8_sse41 .globl _sk_load_g8_sse41 FUNCTION(_sk_load_g8_sse41) _sk_load_g8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,56,49,4,56 // pmovzxbd (%rax,%rdi,1),%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,42 // jne 30d5 <_sk_load_g8_sse41+0x34> + .byte 102,65,15,56,49,4,57 // pmovzxbd (%r9,%rdi,1),%xmm0 + .byte 102,15,219,5,22,42,0,0 // pand 0x2a16(%rip),%xmm0 # 5ad0 <_sk_callback_sse41+0xb45> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,31,38,0,0 // mulps 0x261f(%rip),%xmm0 # 5350 <_sk_callback_sse41+0xb02> + .byte 15,89,5,28,42,0,0 // mulps 0x2a1c(%rip),%xmm0 # 5ae0 <_sk_callback_sse41+0xb55> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,38,38,0,0 // movaps 0x2626(%rip),%xmm3 # 5360 <_sk_callback_sse41+0xb12> + .byte 15,40,29,35,42,0,0 // movaps 0x2a23(%rip),%xmm3 # 5af0 <_sk_callback_sse41+0xb65> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,39 // je 310d <_sk_load_g8_sse41+0x6c> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 3101 <_sk_load_g8_sse41+0x60> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,192 // jne 30b2 <_sk_load_g8_sse41+0x11> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,15,58,34,192,1 // pinsrd $0x1,%eax,%xmm0 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,15,58,34,192,0 // pinsrd $0x0,%eax,%xmm0 + .byte 235,152 // jmp 30b2 <_sk_load_g8_sse41+0x11> HIDDEN _sk_gather_g8_sse41 .globl _sk_gather_g8_sse41 FUNCTION(_sk_gather_g8_sse41) _sk_gather_g8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24240,22 +24470,22 @@ _sk_gather_g8_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,58,32,4,17,0 // pinsrb $0x0,(%r9,%r10,1),%xmm0 - .byte 102,65,15,58,32,4,9,1 // pinsrb $0x1,(%r9,%rcx,1),%xmm0 - .byte 67,15,182,12,1 // movzbl (%r9,%r8,1),%ecx - .byte 102,15,58,32,193,2 // pinsrb $0x2,%ecx,%xmm0 - .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,58,32,4,24,0 // pinsrb $0x0,(%r8,%r11,1),%xmm0 + .byte 102,67,15,58,32,4,16,1 // pinsrb $0x1,(%r8,%r10,1),%xmm0 + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 102,65,15,58,32,193,2 // pinsrb $0x2,%r9d,%xmm0 + .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 102,15,58,32,192,3 // pinsrb $0x3,%eax,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,191,37,0,0 // mulps 0x25bf(%rip),%xmm0 # 5370 <_sk_callback_sse41+0xb22> + .byte 15,89,5,118,41,0,0 // mulps 0x2976(%rip),%xmm0 # 5b00 <_sk_callback_sse41+0xb75> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,198,37,0,0 // movaps 0x25c6(%rip),%xmm3 # 5380 <_sk_callback_sse41+0xb32> + .byte 15,40,29,125,41,0,0 // movaps 0x297d(%rip),%xmm3 # 5b10 <_sk_callback_sse41+0xb85> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax @@ -24267,11 +24497,12 @@ _sk_gather_i8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,192 // mov %rax,%r8 .byte 77,133,192 // test %r8,%r8 - .byte 116,5 // je 2dd1 <_sk_gather_i8_sse41+0xf> + .byte 116,5 // je 31aa <_sk_gather_i8_sse41+0xf> .byte 76,137,192 // mov %r8,%rax - .byte 235,2 // jmp 2dd3 <_sk_gather_i8_sse41+0x11> + .byte 235,2 // jmp 31ac <_sk_gather_i8_sse41+0x11> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,16 // mov (%rax),%r10 + .byte 83 // push %rbx + .byte 76,139,8 // mov (%rax),%r9 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24279,44 +24510,45 @@ _sk_gather_i8_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,193 // mov %eax,%r9d + .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,203 // mov %ecx,%r11d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,58,32,4,26,0 // pinsrb $0x0,(%r10,%r11,1),%xmm0 - .byte 102,65,15,58,32,4,10,1 // pinsrb $0x1,(%r10,%rcx,1),%xmm0 - .byte 102,67,15,58,32,4,10,2 // pinsrb $0x2,(%r10,%r9,1),%xmm0 - .byte 102,65,15,58,32,4,2,3 // pinsrb $0x3,(%r10,%rax,1),%xmm0 + .byte 102,73,15,126,195 // movq %xmm0,%r11 + .byte 68,137,219 // mov %r11d,%ebx + .byte 73,193,235,32 // shr $0x20,%r11 + .byte 102,65,15,58,32,4,25,0 // pinsrb $0x0,(%r9,%rbx,1),%xmm0 + .byte 102,67,15,58,32,4,25,1 // pinsrb $0x1,(%r9,%r11,1),%xmm0 + .byte 102,67,15,58,32,4,17,2 // pinsrb $0x2,(%r9,%r10,1),%xmm0 + .byte 102,65,15,58,32,4,1,3 // pinsrb $0x3,(%r9,%rax,1),%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 102,73,15,58,22,193,1 // pextrq $0x1,%xmm0,%r9 - .byte 102,72,15,126,193 // movq %xmm0,%rcx + .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 73,139,64,8 // mov 0x8(%r8),%rax - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 65,137,216 // mov %ebx,%r8d + .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 102,66,15,110,28,128 // movd (%rax,%r8,4),%xmm3 - .byte 102,15,58,34,28,8,1 // pinsrd $0x1,(%rax,%rcx,1),%xmm3 + .byte 102,15,58,34,28,24,1 // pinsrd $0x1,(%rax,%rbx,1),%xmm3 .byte 102,66,15,58,34,28,144,2 // pinsrd $0x2,(%rax,%r10,4),%xmm3 .byte 102,66,15,58,34,28,8,3 // pinsrd $0x3,(%rax,%r9,1),%xmm3 - .byte 102,15,111,5,29,37,0,0 // movdqa 0x251d(%rip),%xmm0 # 5390 <_sk_callback_sse41+0xb42> + .byte 102,15,111,5,211,40,0,0 // movdqa 0x28d3(%rip),%xmm0 # 5b20 <_sk_callback_sse41+0xb95> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 68,15,40,5,30,37,0,0 // movaps 0x251e(%rip),%xmm8 # 53a0 <_sk_callback_sse41+0xb52> + .byte 68,15,40,5,212,40,0,0 // movaps 0x28d4(%rip),%xmm8 # 5b30 <_sk_callback_sse41+0xba5> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 - .byte 102,15,56,0,13,29,37,0,0 // pshufb 0x251d(%rip),%xmm1 # 53b0 <_sk_callback_sse41+0xb62> + .byte 102,15,56,0,13,211,40,0,0 // pshufb 0x28d3(%rip),%xmm1 # 5b40 <_sk_callback_sse41+0xbb5> .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,25,37,0,0 // pshufb 0x2519(%rip),%xmm2 # 53c0 <_sk_callback_sse41+0xb72> + .byte 102,15,56,0,21,207,40,0,0 // pshufb 0x28cf(%rip),%xmm2 # 5b50 <_sk_callback_sse41+0xbc5> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse41 @@ -24324,29 +24556,48 @@ HIDDEN _sk_load_565_sse41 FUNCTION(_sk_load_565_sse41) _sk_load_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,56,51,20,120 // pmovzxwd (%rax,%rdi,2),%xmm2 - .byte 102,15,111,5,255,36,0,0 // movdqa 0x24ff(%rip),%xmm0 # 53d0 <_sk_callback_sse41+0xb82> + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,80 // jne 32f3 <_sk_load_565_sse41+0x5a> + .byte 102,65,15,56,51,20,121 // pmovzxwd (%r9,%rdi,2),%xmm2 + .byte 102,15,111,5,174,40,0,0 // movdqa 0x28ae(%rip),%xmm0 # 5b60 <_sk_callback_sse41+0xbd5> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,1,37,0,0 // mulps 0x2501(%rip),%xmm0 # 53e0 <_sk_callback_sse41+0xb92> - .byte 102,15,111,13,9,37,0,0 // movdqa 0x2509(%rip),%xmm1 # 53f0 <_sk_callback_sse41+0xba2> + .byte 15,89,5,176,40,0,0 // mulps 0x28b0(%rip),%xmm0 # 5b70 <_sk_callback_sse41+0xbe5> + .byte 102,15,111,13,184,40,0,0 // movdqa 0x28b8(%rip),%xmm1 # 5b80 <_sk_callback_sse41+0xbf5> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,11,37,0,0 // mulps 0x250b(%rip),%xmm1 # 5400 <_sk_callback_sse41+0xbb2> - .byte 102,15,219,21,19,37,0,0 // pand 0x2513(%rip),%xmm2 # 5410 <_sk_callback_sse41+0xbc2> + .byte 15,89,13,186,40,0,0 // mulps 0x28ba(%rip),%xmm1 # 5b90 <_sk_callback_sse41+0xc05> + .byte 102,15,219,21,194,40,0,0 // pand 0x28c2(%rip),%xmm2 # 5ba0 <_sk_callback_sse41+0xc15> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,25,37,0,0 // mulps 0x2519(%rip),%xmm2 # 5420 <_sk_callback_sse41+0xbd2> + .byte 15,89,21,200,40,0,0 // mulps 0x28c8(%rip),%xmm2 # 5bb0 <_sk_callback_sse41+0xc25> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,32,37,0,0 // movaps 0x2520(%rip),%xmm3 # 5430 <_sk_callback_sse41+0xbe2> + .byte 15,40,29,207,40,0,0 // movaps 0x28cf(%rip),%xmm3 # 5bc0 <_sk_callback_sse41+0xc35> .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,210 // pxor %xmm2,%xmm2 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,39 // je 332b <_sk_load_565_sse41+0x92> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 331f <_sk_load_565_sse41+0x86> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,154 // jne 32aa <_sk_load_565_sse41+0x11> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,15,58,34,208,1 // pinsrd $0x1,%eax,%xmm2 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,15,58,34,208,0 // pinsrd $0x0,%eax,%xmm2 + .byte 233,111,255,255,255 // jmpq 32aa <_sk_load_565_sse41+0x11> HIDDEN _sk_gather_565_sse41 .globl _sk_gather_565_sse41 FUNCTION(_sk_gather_565_sse41) _sk_gather_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24354,31 +24605,31 @@ _sk_gather_565_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,196,4,81,0 // pinsrw $0x0,(%r9,%r10,2),%xmm0 - .byte 102,65,15,196,4,73,1 // pinsrw $0x1,(%r9,%rcx,2),%xmm0 - .byte 67,15,183,12,65 // movzwl (%r9,%r8,2),%ecx - .byte 102,15,196,193,2 // pinsrw $0x2,%ecx,%xmm0 - .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,196,4,88,0 // pinsrw $0x0,(%r8,%r11,2),%xmm0 + .byte 102,67,15,196,4,80,1 // pinsrw $0x1,(%r8,%r10,2),%xmm0 + .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d + .byte 102,65,15,196,193,2 // pinsrw $0x2,%r9d,%xmm0 + .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,208 // pmovzxwd %xmm0,%xmm2 - .byte 102,15,111,5,197,36,0,0 // movdqa 0x24c5(%rip),%xmm0 # 5440 <_sk_callback_sse41+0xbf2> + .byte 102,15,111,5,43,40,0,0 // movdqa 0x282b(%rip),%xmm0 # 5bd0 <_sk_callback_sse41+0xc45> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,199,36,0,0 // mulps 0x24c7(%rip),%xmm0 # 5450 <_sk_callback_sse41+0xc02> - .byte 102,15,111,13,207,36,0,0 // movdqa 0x24cf(%rip),%xmm1 # 5460 <_sk_callback_sse41+0xc12> + .byte 15,89,5,45,40,0,0 // mulps 0x282d(%rip),%xmm0 # 5be0 <_sk_callback_sse41+0xc55> + .byte 102,15,111,13,53,40,0,0 // movdqa 0x2835(%rip),%xmm1 # 5bf0 <_sk_callback_sse41+0xc65> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,209,36,0,0 // mulps 0x24d1(%rip),%xmm1 # 5470 <_sk_callback_sse41+0xc22> - .byte 102,15,219,21,217,36,0,0 // pand 0x24d9(%rip),%xmm2 # 5480 <_sk_callback_sse41+0xc32> + .byte 15,89,13,55,40,0,0 // mulps 0x2837(%rip),%xmm1 # 5c00 <_sk_callback_sse41+0xc75> + .byte 102,15,219,21,63,40,0,0 // pand 0x283f(%rip),%xmm2 # 5c10 <_sk_callback_sse41+0xc85> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,223,36,0,0 // mulps 0x24df(%rip),%xmm2 # 5490 <_sk_callback_sse41+0xc42> + .byte 15,89,21,69,40,0,0 // mulps 0x2845(%rip),%xmm2 # 5c20 <_sk_callback_sse41+0xc95> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,230,36,0,0 // movaps 0x24e6(%rip),%xmm3 # 54a0 <_sk_callback_sse41+0xc52> + .byte 15,40,29,76,40,0,0 // movaps 0x284c(%rip),%xmm3 # 5c30 <_sk_callback_sse41+0xca5> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse41 @@ -24387,12 +24638,12 @@ FUNCTION(_sk_store_565_sse41) _sk_store_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,231,36,0,0 // movaps 0x24e7(%rip),%xmm8 # 54b0 <_sk_callback_sse41+0xc62> + .byte 68,15,40,5,77,40,0,0 // movaps 0x284d(%rip),%xmm8 # 5c40 <_sk_callback_sse41+0xcb5> .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,220,36,0,0 // movaps 0x24dc(%rip),%xmm10 # 54c0 <_sk_callback_sse41+0xc72> + .byte 68,15,40,21,66,40,0,0 // movaps 0x2842(%rip),%xmm10 # 5c50 <_sk_callback_sse41+0xcc5> .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 @@ -24401,41 +24652,75 @@ _sk_store_565_sse41: .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,86,194 // orpd %xmm10,%xmm8 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 - .byte 102,68,15,214,4,120 // movq %xmm8,(%rax,%rdi,2) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 3445 <_sk_store_565_sse41+0x5f> + .byte 242,68,15,17,4,120 // movsd %xmm8,(%rax,%rdi,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,30 // je 3476 <_sk_store_565_sse41+0x90> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,15 // je 346d <_sk_store_565_sse41+0x87> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,221 // jne 3441 <_sk_store_565_sse41+0x5b> + .byte 102,68,15,58,21,68,120,4,4 // pextrw $0x4,%xmm8,0x4(%rax,%rdi,2) + .byte 102,68,15,58,21,68,120,2,2 // pextrw $0x2,%xmm8,0x2(%rax,%rdi,2) + .byte 102,68,15,58,21,4,120,0 // pextrw $0x0,%xmm8,(%rax,%rdi,2) + .byte 235,193 // jmp 3441 <_sk_store_565_sse41+0x5b> HIDDEN _sk_load_4444_sse41 .globl _sk_load_4444_sse41 FUNCTION(_sk_load_4444_sse41) _sk_load_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,56,51,28,120 // pmovzxwd (%rax,%rdi,2),%xmm3 - .byte 102,15,111,5,167,36,0,0 // movdqa 0x24a7(%rip),%xmm0 # 54d0 <_sk_callback_sse41+0xc82> + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,95 // jne 34e9 <_sk_load_4444_sse41+0x69> + .byte 102,65,15,56,51,28,121 // pmovzxwd (%r9,%rdi,2),%xmm3 + .byte 102,15,111,5,199,39,0,0 // movdqa 0x27c7(%rip),%xmm0 # 5c60 <_sk_callback_sse41+0xcd5> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,169,36,0,0 // mulps 0x24a9(%rip),%xmm0 # 54e0 <_sk_callback_sse41+0xc92> - .byte 102,15,111,13,177,36,0,0 // movdqa 0x24b1(%rip),%xmm1 # 54f0 <_sk_callback_sse41+0xca2> + .byte 15,89,5,201,39,0,0 // mulps 0x27c9(%rip),%xmm0 # 5c70 <_sk_callback_sse41+0xce5> + .byte 102,15,111,13,209,39,0,0 // movdqa 0x27d1(%rip),%xmm1 # 5c80 <_sk_callback_sse41+0xcf5> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,179,36,0,0 // mulps 0x24b3(%rip),%xmm1 # 5500 <_sk_callback_sse41+0xcb2> - .byte 102,15,111,21,187,36,0,0 // movdqa 0x24bb(%rip),%xmm2 # 5510 <_sk_callback_sse41+0xcc2> + .byte 15,89,13,211,39,0,0 // mulps 0x27d3(%rip),%xmm1 # 5c90 <_sk_callback_sse41+0xd05> + .byte 102,15,111,21,219,39,0,0 // movdqa 0x27db(%rip),%xmm2 # 5ca0 <_sk_callback_sse41+0xd15> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,189,36,0,0 // mulps 0x24bd(%rip),%xmm2 # 5520 <_sk_callback_sse41+0xcd2> - .byte 102,15,219,29,197,36,0,0 // pand 0x24c5(%rip),%xmm3 # 5530 <_sk_callback_sse41+0xce2> + .byte 15,89,21,221,39,0,0 // mulps 0x27dd(%rip),%xmm2 # 5cb0 <_sk_callback_sse41+0xd25> + .byte 102,15,219,29,229,39,0,0 // pand 0x27e5(%rip),%xmm3 # 5cc0 <_sk_callback_sse41+0xd35> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 - .byte 15,89,29,203,36,0,0 // mulps 0x24cb(%rip),%xmm3 # 5540 <_sk_callback_sse41+0xcf2> + .byte 15,89,29,235,39,0,0 // mulps 0x27eb(%rip),%xmm3 # 5cd0 <_sk_callback_sse41+0xd45> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,219 // pxor %xmm3,%xmm3 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,39 // je 3521 <_sk_load_4444_sse41+0xa1> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 3515 <_sk_load_4444_sse41+0x95> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,139 // jne 3491 <_sk_load_4444_sse41+0x11> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,15,58,34,216,1 // pinsrd $0x1,%eax,%xmm3 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,15,58,34,216,0 // pinsrd $0x0,%eax,%xmm3 + .byte 233,96,255,255,255 // jmpq 3491 <_sk_load_4444_sse41+0x11> HIDDEN _sk_gather_4444_sse41 .globl _sk_gather_4444_sse41 FUNCTION(_sk_gather_4444_sse41) _sk_gather_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24443,33 +24728,33 @@ _sk_gather_4444_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,58,22,192,1 // pextrq $0x1,%xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,196,4,81,0 // pinsrw $0x0,(%r9,%r10,2),%xmm0 - .byte 102,65,15,196,4,73,1 // pinsrw $0x1,(%r9,%rcx,2),%xmm0 - .byte 67,15,183,12,65 // movzwl (%r9,%r8,2),%ecx - .byte 102,15,196,193,2 // pinsrw $0x2,%ecx,%xmm0 - .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,196,4,88,0 // pinsrw $0x0,(%r8,%r11,2),%xmm0 + .byte 102,67,15,196,4,80,1 // pinsrw $0x1,(%r8,%r10,2),%xmm0 + .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d + .byte 102,65,15,196,193,2 // pinsrw $0x2,%r9d,%xmm0 + .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,216 // pmovzxwd %xmm0,%xmm3 - .byte 102,15,111,5,110,36,0,0 // movdqa 0x246e(%rip),%xmm0 # 5550 <_sk_callback_sse41+0xd02> + .byte 102,15,111,5,69,39,0,0 // movdqa 0x2745(%rip),%xmm0 # 5ce0 <_sk_callback_sse41+0xd55> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,112,36,0,0 // mulps 0x2470(%rip),%xmm0 # 5560 <_sk_callback_sse41+0xd12> - .byte 102,15,111,13,120,36,0,0 // movdqa 0x2478(%rip),%xmm1 # 5570 <_sk_callback_sse41+0xd22> + .byte 15,89,5,71,39,0,0 // mulps 0x2747(%rip),%xmm0 # 5cf0 <_sk_callback_sse41+0xd65> + .byte 102,15,111,13,79,39,0,0 // movdqa 0x274f(%rip),%xmm1 # 5d00 <_sk_callback_sse41+0xd75> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,122,36,0,0 // mulps 0x247a(%rip),%xmm1 # 5580 <_sk_callback_sse41+0xd32> - .byte 102,15,111,21,130,36,0,0 // movdqa 0x2482(%rip),%xmm2 # 5590 <_sk_callback_sse41+0xd42> + .byte 15,89,13,81,39,0,0 // mulps 0x2751(%rip),%xmm1 # 5d10 <_sk_callback_sse41+0xd85> + .byte 102,15,111,21,89,39,0,0 // movdqa 0x2759(%rip),%xmm2 # 5d20 <_sk_callback_sse41+0xd95> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,132,36,0,0 // mulps 0x2484(%rip),%xmm2 # 55a0 <_sk_callback_sse41+0xd52> - .byte 102,15,219,29,140,36,0,0 // pand 0x248c(%rip),%xmm3 # 55b0 <_sk_callback_sse41+0xd62> + .byte 15,89,21,91,39,0,0 // mulps 0x275b(%rip),%xmm2 # 5d30 <_sk_callback_sse41+0xda5> + .byte 102,15,219,29,99,39,0,0 // pand 0x2763(%rip),%xmm3 # 5d40 <_sk_callback_sse41+0xdb5> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 - .byte 15,89,29,146,36,0,0 // mulps 0x2492(%rip),%xmm3 # 55c0 <_sk_callback_sse41+0xd72> + .byte 15,89,29,105,39,0,0 // mulps 0x2769(%rip),%xmm3 # 5d50 <_sk_callback_sse41+0xdc5> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -24479,7 +24764,7 @@ FUNCTION(_sk_store_4444_sse41) _sk_store_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,145,36,0,0 // movaps 0x2491(%rip),%xmm8 # 55d0 <_sk_callback_sse41+0xd82> + .byte 68,15,40,5,104,39,0,0 // movaps 0x2768(%rip),%xmm8 # 5d60 <_sk_callback_sse41+0xdd5> .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 @@ -24498,9 +24783,24 @@ _sk_store_4444_sse41: .byte 102,69,15,86,193 // orpd %xmm9,%xmm8 .byte 102,69,15,86,194 // orpd %xmm10,%xmm8 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 - .byte 102,68,15,214,4,120 // movq %xmm8,(%rax,%rdi,2) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 365e <_sk_store_4444_sse41+0x73> + .byte 242,68,15,17,4,120 // movsd %xmm8,(%rax,%rdi,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,30 // je 368f <_sk_store_4444_sse41+0xa4> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,15 // je 3686 <_sk_store_4444_sse41+0x9b> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,221 // jne 365a <_sk_store_4444_sse41+0x6f> + .byte 102,68,15,58,21,68,120,4,4 // pextrw $0x4,%xmm8,0x4(%rax,%rdi,2) + .byte 102,68,15,58,21,68,120,2,2 // pextrw $0x2,%xmm8,0x2(%rax,%rdi,2) + .byte 102,68,15,58,21,4,120,0 // pextrw $0x0,%xmm8,(%rax,%rdi,2) + .byte 235,193 // jmp 365a <_sk_store_4444_sse41+0x6f> HIDDEN _sk_load_8888_sse41 .globl _sk_load_8888_sse41 @@ -24508,18 +24808,20 @@ FUNCTION(_sk_load_8888_sse41) _sk_load_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 15,16,28,184 // movups (%rax,%rdi,4),%xmm3 - .byte 15,40,5,48,36,0,0 // movaps 0x2430(%rip),%xmm0 # 55e0 <_sk_callback_sse41+0xd92> - .byte 15,84,195 // andps %xmm3,%xmm0 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,88 // jne 36fb <_sk_load_8888_sse41+0x62> + .byte 243,15,111,28,184 // movdqu (%rax,%rdi,4),%xmm3 + .byte 102,15,111,5,192,38,0,0 // movdqa 0x26c0(%rip),%xmm0 # 5d70 <_sk_callback_sse41+0xde5> + .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 68,15,40,5,50,36,0,0 // movaps 0x2432(%rip),%xmm8 # 55f0 <_sk_callback_sse41+0xda2> + .byte 68,15,40,5,193,38,0,0 // movaps 0x26c1(%rip),%xmm8 # 5d80 <_sk_callback_sse41+0xdf5> .byte 65,15,89,192 // mulps %xmm8,%xmm0 - .byte 15,40,203 // movaps %xmm3,%xmm1 - .byte 102,15,56,0,13,50,36,0,0 // pshufb 0x2432(%rip),%xmm1 # 5600 <_sk_callback_sse41+0xdb2> + .byte 102,15,111,203 // movdqa %xmm3,%xmm1 + .byte 102,15,56,0,13,192,38,0,0 // pshufb 0x26c0(%rip),%xmm1 # 5d90 <_sk_callback_sse41+0xe05> .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 - .byte 15,40,211 // movaps %xmm3,%xmm2 - .byte 102,15,56,0,21,47,36,0,0 // pshufb 0x242f(%rip),%xmm2 # 5610 <_sk_callback_sse41+0xdc2> + .byte 102,15,111,211 // movdqa %xmm3,%xmm2 + .byte 102,15,56,0,21,188,38,0,0 // pshufb 0x26bc(%rip),%xmm2 # 5da0 <_sk_callback_sse41+0xe15> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 @@ -24527,13 +24829,27 @@ _sk_load_8888_sse41: .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,219 // pxor %xmm3,%xmm3 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,31 // je 372b <_sk_load_8888_sse41+0x92> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,17 // je 3723 <_sk_load_8888_sse41+0x8a> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,144 // jne 36a8 <_sk_load_8888_sse41+0xf> + .byte 102,15,110,68,184,8 // movd 0x8(%rax,%rdi,4),%xmm0 + .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 + .byte 102,15,58,34,92,184,4,1 // pinsrd $0x1,0x4(%rax,%rdi,4),%xmm3 + .byte 102,15,58,34,28,184,0 // pinsrd $0x0,(%rax,%rdi,4),%xmm3 + .byte 233,113,255,255,255 // jmpq 36a8 <_sk_load_8888_sse41+0xf> HIDDEN _sk_gather_8888_sse41 .globl _sk_gather_8888_sse41 FUNCTION(_sk_gather_8888_sse41) _sk_gather_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24541,26 +24857,26 @@ _sk_gather_8888_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,110,28,129 // movd (%r9,%r8,4),%xmm3 - .byte 102,65,15,58,34,28,129,1 // pinsrd $0x1,(%r9,%rax,4),%xmm3 - .byte 102,67,15,58,34,28,145,2 // pinsrd $0x2,(%r9,%r10,4),%xmm3 - .byte 102,65,15,58,34,28,137,3 // pinsrd $0x3,(%r9,%rcx,4),%xmm3 - .byte 102,15,111,5,200,35,0,0 // movdqa 0x23c8(%rip),%xmm0 # 5620 <_sk_callback_sse41+0xdd2> + .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,110,28,136 // movd (%r8,%r9,4),%xmm3 + .byte 102,65,15,58,34,28,128,1 // pinsrd $0x1,(%r8,%rax,4),%xmm3 + .byte 102,67,15,58,34,28,152,2 // pinsrd $0x2,(%r8,%r11,4),%xmm3 + .byte 102,67,15,58,34,28,144,3 // pinsrd $0x3,(%r8,%r10,4),%xmm3 + .byte 102,15,111,5,25,38,0,0 // movdqa 0x2619(%rip),%xmm0 # 5db0 <_sk_callback_sse41+0xe25> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 68,15,40,5,201,35,0,0 // movaps 0x23c9(%rip),%xmm8 # 5630 <_sk_callback_sse41+0xde2> + .byte 68,15,40,5,26,38,0,0 // movaps 0x261a(%rip),%xmm8 # 5dc0 <_sk_callback_sse41+0xe35> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 - .byte 102,15,56,0,13,200,35,0,0 // pshufb 0x23c8(%rip),%xmm1 # 5640 <_sk_callback_sse41+0xdf2> + .byte 102,15,56,0,13,25,38,0,0 // pshufb 0x2619(%rip),%xmm1 # 5dd0 <_sk_callback_sse41+0xe45> .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,196,35,0,0 // pshufb 0x23c4(%rip),%xmm2 # 5650 <_sk_callback_sse41+0xe02> + .byte 102,15,56,0,21,21,38,0,0 // pshufb 0x2615(%rip),%xmm2 # 5de0 <_sk_callback_sse41+0xe55> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 @@ -24575,7 +24891,7 @@ FUNCTION(_sk_store_8888_sse41) _sk_store_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,176,35,0,0 // movaps 0x23b0(%rip),%xmm8 # 5660 <_sk_callback_sse41+0xe12> + .byte 68,15,40,5,1,38,0,0 // movaps 0x2601(%rip),%xmm8 # 5df0 <_sk_callback_sse41+0xe65> .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 @@ -24593,9 +24909,23 @@ _sk_store_8888_sse41: .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 384f <_sk_store_8888_sse41+0x6d> .byte 243,68,15,127,4,184 // movdqu %xmm8,(%rax,%rdi,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,30 // je 387a <_sk_store_8888_sse41+0x98> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,15 // je 3871 <_sk_store_8888_sse41+0x8f> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,227 // jne 384b <_sk_store_8888_sse41+0x69> + .byte 102,68,15,58,22,68,184,8,2 // pextrd $0x2,%xmm8,0x8(%rax,%rdi,4) + .byte 102,68,15,58,22,68,184,4,1 // pextrd $0x1,%xmm8,0x4(%rax,%rdi,4) + .byte 102,68,15,126,4,184 // movd %xmm8,(%rax,%rdi,4) + .byte 235,201 // jmp 384b <_sk_store_8888_sse41+0x69> HIDDEN _sk_load_f16_sse41 .globl _sk_load_f16_sse41 @@ -24603,27 +24933,29 @@ FUNCTION(_sk_load_f16_sse41) _sk_load_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,111,4,248 // movdqu (%rax,%rdi,8),%xmm0 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,60,1,0,0 // jne 39cc <_sk_load_f16_sse41+0x14a> + .byte 102,15,16,4,248 // movupd (%rax,%rdi,8),%xmm0 .byte 243,15,111,76,248,16 // movdqu 0x10(%rax,%rdi,8),%xmm1 - .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 + .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .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,41,35,0,0 // movdqa 0x2329(%rip),%xmm8 # 5670 <_sk_callback_sse41+0xe22> + .byte 102,68,15,111,5,57,37,0,0 // movdqa 0x2539(%rip),%xmm8 # 5e00 <_sk_callback_sse41+0xe75> .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,36,35,0,0 // movdqa 0x2324(%rip),%xmm3 # 5680 <_sk_callback_sse41+0xe32> + .byte 102,15,111,29,52,37,0,0 // movdqa 0x2534(%rip),%xmm3 # 5e10 <_sk_callback_sse41+0xe85> .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,16,35,0,0 // movdqa 0x2310(%rip),%xmm10 # 5690 <_sk_callback_sse41+0xe42> + .byte 102,68,15,111,21,32,37,0,0 // movdqa 0x2520(%rip),%xmm10 # 5e20 <_sk_callback_sse41+0xe95> .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 @@ -24664,13 +24996,25 @@ _sk_load_f16_sse41: .byte 102,65,15,219,217 // pand %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 242,15,16,4,248 // movsd (%rax,%rdi,8),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,13 // jne 39e4 <_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 389b <_sk_load_f16_sse41+0x19> + .byte 102,15,22,68,248,8 // movhpd 0x8(%rax,%rdi,8),%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,163,254,255,255 // jb 389b <_sk_load_f16_sse41+0x19> + .byte 243,15,126,76,248,16 // movq 0x10(%rax,%rdi,8),%xmm1 + .byte 233,152,254,255,255 // jmpq 389b <_sk_load_f16_sse41+0x19> HIDDEN _sk_gather_f16_sse41 .globl _sk_gather_f16_sse41 FUNCTION(_sk_gather_f16_sse41) _sk_gather_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -24678,16 +25022,16 @@ _sk_gather_f16_sse41: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,65,15,126,4,201 // movq (%r9,%rcx,8),%xmm0 - .byte 243,67,15,126,12,209 // movq (%r9,%r10,8),%xmm1 + .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,126,4,208 // movq (%r8,%r10,8),%xmm0 + .byte 243,67,15,126,12,216 // movq (%r8,%r11,8),%xmm1 .byte 102,15,108,200 // punpcklqdq %xmm0,%xmm1 - .byte 243,65,15,126,4,193 // movq (%r9,%rax,8),%xmm0 - .byte 243,67,15,126,20,193 // movq (%r9,%r8,8),%xmm2 + .byte 243,65,15,126,4,192 // movq (%r8,%rax,8),%xmm0 + .byte 243,67,15,126,20,200 // movq (%r8,%r9,8),%xmm2 .byte 102,15,108,208 // punpcklqdq %xmm0,%xmm2 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 @@ -24696,18 +25040,18 @@ _sk_gather_f16_sse41: .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,206,33,0,0 // movdqa 0x21ce(%rip),%xmm8 # 56a0 <_sk_callback_sse41+0xe52> + .byte 102,68,15,111,5,167,35,0,0 // movdqa 0x23a7(%rip),%xmm8 # 5e30 <_sk_callback_sse41+0xea5> .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,201,33,0,0 // movdqa 0x21c9(%rip),%xmm3 # 56b0 <_sk_callback_sse41+0xe62> + .byte 102,15,111,29,162,35,0,0 // movdqa 0x23a2(%rip),%xmm3 # 5e40 <_sk_callback_sse41+0xeb5> .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,181,33,0,0 // movdqa 0x21b5(%rip),%xmm10 # 56c0 <_sk_callback_sse41+0xe72> + .byte 102,68,15,111,21,142,35,0,0 // movdqa 0x238e(%rip),%xmm10 # 5e50 <_sk_callback_sse41+0xec5> .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 @@ -24755,74 +25099,88 @@ FUNCTION(_sk_store_f16_sse41) _sk_store_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,111,21,235,32,0,0 // movdqa 0x20eb(%rip),%xmm10 # 56d0 <_sk_callback_sse41+0xe82> - .byte 102,68,15,111,224 // movdqa %xmm0,%xmm12 + .byte 102,68,15,111,21,196,34,0,0 // movdqa 0x22c4(%rip),%xmm10 # 5e60 <_sk_callback_sse41+0xed5> + .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,219,234 // pand %xmm10,%xmm13 - .byte 102,69,15,239,229 // pxor %xmm13,%xmm12 - .byte 102,68,15,111,13,222,32,0,0 // movdqa 0x20de(%rip),%xmm9 # 56e0 <_sk_callback_sse41+0xe92> - .byte 102,65,15,114,213,16 // psrld $0x10,%xmm13 + .byte 102,69,15,239,235 // pxor %xmm11,%xmm13 + .byte 102,68,15,111,13,183,34,0,0 // movdqa 0x22b7(%rip),%xmm9 # 5e70 <_sk_callback_sse41+0xee5> + .byte 102,65,15,114,211,16 // psrld $0x10,%xmm11 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 - .byte 102,69,15,102,196 // pcmpgtd %xmm12,%xmm8 - .byte 102,65,15,114,212,13 // psrld $0xd,%xmm12 - .byte 102,68,15,111,29,207,32,0,0 // movdqa 0x20cf(%rip),%xmm11 # 56f0 <_sk_callback_sse41+0xea2> - .byte 102,69,15,235,235 // por %xmm11,%xmm13 - .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 - .byte 102,69,15,223,197 // pandn %xmm13,%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,168,34,0,0 // movdqa 0x22a8(%rip),%xmm12 # 5e80 <_sk_callback_sse41+0xef5> + .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 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 - .byte 102,68,15,111,233 // movdqa %xmm1,%xmm13 + .byte 102,68,15,111,217 // movdqa %xmm1,%xmm11 + .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,68,15,111,241 // movdqa %xmm1,%xmm14 - .byte 102,69,15,219,242 // pand %xmm10,%xmm14 - .byte 102,69,15,239,238 // pxor %xmm14,%xmm13 - .byte 102,65,15,114,214,16 // psrld $0x10,%xmm14 - .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 - .byte 102,69,15,102,229 // pcmpgtd %xmm13,%xmm12 - .byte 102,65,15,114,213,13 // psrld $0xd,%xmm13 - .byte 102,69,15,235,243 // por %xmm11,%xmm14 - .byte 102,69,15,254,245 // paddd %xmm13,%xmm14 - .byte 102,69,15,223,230 // pandn %xmm14,%xmm12 - .byte 102,69,15,56,43,228 // packusdw %xmm12,%xmm12 - .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 - .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 - .byte 102,69,15,219,250 // pand %xmm10,%xmm15 - .byte 102,69,15,239,247 // pxor %xmm15,%xmm14 - .byte 102,65,15,114,215,16 // psrld $0x10,%xmm15 + .byte 102,69,15,239,243 // pxor %xmm11,%xmm14 + .byte 102,65,15,114,211,16 // psrld $0x10,%xmm11 .byte 102,69,15,111,233 // movdqa %xmm9,%xmm13 .byte 102,69,15,102,238 // pcmpgtd %xmm14,%xmm13 .byte 102,65,15,114,214,13 // psrld $0xd,%xmm14 - .byte 102,69,15,235,251 // por %xmm11,%xmm15 - .byte 102,69,15,254,254 // paddd %xmm14,%xmm15 - .byte 102,69,15,223,239 // pandn %xmm15,%xmm13 + .byte 102,69,15,235,220 // por %xmm12,%xmm11 + .byte 102,69,15,254,222 // paddd %xmm14,%xmm11 + .byte 102,69,15,223,235 // pandn %xmm11,%xmm13 .byte 102,69,15,56,43,237 // packusdw %xmm13,%xmm13 + .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 + .byte 102,69,15,219,242 // pand %xmm10,%xmm14 + .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 + .byte 102,69,15,239,254 // pxor %xmm14,%xmm15 + .byte 102,65,15,114,214,16 // psrld $0x10,%xmm14 + .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 + .byte 102,69,15,102,223 // pcmpgtd %xmm15,%xmm11 + .byte 102,65,15,114,215,13 // psrld $0xd,%xmm15 + .byte 102,69,15,235,244 // por %xmm12,%xmm14 + .byte 102,69,15,254,247 // paddd %xmm15,%xmm14 + .byte 102,69,15,223,222 // pandn %xmm14,%xmm11 + .byte 102,69,15,56,43,219 // packusdw %xmm11,%xmm11 .byte 102,68,15,219,211 // pand %xmm3,%xmm10 .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,69,15,239,242 // pxor %xmm10,%xmm14 .byte 102,65,15,114,210,16 // psrld $0x10,%xmm10 .byte 102,69,15,102,206 // pcmpgtd %xmm14,%xmm9 .byte 102,65,15,114,214,13 // psrld $0xd,%xmm14 - .byte 102,69,15,235,211 // por %xmm11,%xmm10 + .byte 102,69,15,235,212 // por %xmm12,%xmm10 .byte 102,69,15,254,214 // paddd %xmm14,%xmm10 .byte 102,69,15,223,202 // pandn %xmm10,%xmm9 .byte 102,69,15,56,43,201 // packusdw %xmm9,%xmm9 - .byte 102,69,15,97,196 // punpcklwd %xmm12,%xmm8 - .byte 102,69,15,97,233 // punpcklwd %xmm9,%xmm13 + .byte 102,69,15,97,197 // punpcklwd %xmm13,%xmm8 + .byte 102,69,15,97,217 // punpcklwd %xmm9,%xmm11 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 - .byte 102,69,15,98,205 // punpckldq %xmm13,%xmm9 - .byte 243,68,15,127,12,248 // movdqu %xmm9,(%rax,%rdi,8) - .byte 102,69,15,106,197 // punpckhdq %xmm13,%xmm8 + .byte 102,69,15,98,203 // punpckldq %xmm11,%xmm9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,21 // jne 3cce <_sk_store_f16_sse41+0x140> + .byte 68,15,17,12,248 // movups %xmm9,(%rax,%rdi,8) + .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 .byte 243,68,15,127,68,248,16 // movdqu %xmm8,0x10(%rax,%rdi,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,68,15,214,12,248 // movq %xmm9,(%rax,%rdi,8) + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,240 // je 3cca <_sk_store_f16_sse41+0x13c> + .byte 102,68,15,23,76,248,8 // movhpd %xmm9,0x8(%rax,%rdi,8) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,227 // jb 3cca <_sk_store_f16_sse41+0x13c> + .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 + .byte 102,68,15,214,68,248,16 // movq %xmm8,0x10(%rax,%rdi,8) + .byte 235,213 // jmp 3cca <_sk_store_f16_sse41+0x13c> HIDDEN _sk_load_u16_be_sse41 .globl _sk_load_u16_be_sse41 FUNCTION(_sk_load_u16_be_sse41) _sk_load_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,111,4,248 // movdqu (%rax,%rdi,8),%xmm0 - .byte 243,15,111,76,248,16 // movdqu 0x10(%rax,%rdi,8),%xmm1 - .byte 102,15,111,208 // movdqa %xmm0,%xmm2 + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%rax + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,185,0,0,0 // jne 3dc4 <_sk_load_u16_be_sse41+0xcf> + .byte 102,65,15,16,4,64 // movupd (%r8,%rax,2),%xmm0 + .byte 243,65,15,111,76,64,16 // movdqu 0x10(%r8,%rax,2),%xmm1 + .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 @@ -24835,7 +25193,7 @@ _sk_load_u16_be_sse41: .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,158,31,0,0 // movaps 0x1f9e(%rip),%xmm8 # 5700 <_sk_callback_sse41+0xeb2> + .byte 68,15,40,5,57,33,0,0 // movaps 0x2139(%rip),%xmm8 # 5e90 <_sk_callback_sse41+0xf05> .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 @@ -24861,33 +25219,48 @@ _sk_load_u16_be_sse41: .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 242,65,15,16,4,64 // movsd (%r8,%rax,2),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,13 // jne 3ddd <_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 3d18 <_sk_load_u16_be_sse41+0x23> + .byte 102,65,15,22,68,64,8 // movhpd 0x8(%r8,%rax,2),%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,38,255,255,255 // jb 3d18 <_sk_load_u16_be_sse41+0x23> + .byte 243,65,15,126,76,64,16 // movq 0x10(%r8,%rax,2),%xmm1 + .byte 233,26,255,255,255 // jmpq 3d18 <_sk_load_u16_be_sse41+0x23> HIDDEN _sk_load_rgb_u16_be_sse41 .globl _sk_load_rgb_u16_be_sse41 FUNCTION(_sk_load_rgb_u16_be_sse41) _sk_load_rgb_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,141,12,127 // lea (%rdi,%rdi,2),%rcx - .byte 243,15,111,20,72 // movdqu (%rax,%rcx,2),%xmm2 - .byte 243,15,111,68,72,8 // movdqu 0x8(%rax,%rcx,2),%xmm0 - .byte 102,15,115,216,4 // psrldq $0x4,%xmm0 - .byte 102,15,111,202 // movdqa %xmm2,%xmm1 - .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 - .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 - .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 - .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,127 // lea (%rdi,%rdi,2),%rax + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,170,0,0,0 // jne 3eba <_sk_load_rgb_u16_be_sse41+0xbc> + .byte 243,65,15,111,20,64 // movdqu (%r8,%rax,2),%xmm2 + .byte 243,65,15,111,92,64,8 // movdqu 0x8(%r8,%rax,2),%xmm3 + .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 + .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 + .byte 102,15,111,203 // movdqa %xmm3,%xmm1 + .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 + .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 - .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 - .byte 102,15,105,209 // punpckhwd %xmm1,%xmm2 - .byte 102,15,111,200 // movdqa %xmm0,%xmm1 - .byte 102,15,113,241,8 // psllw $0x8,%xmm1 - .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 - .byte 102,15,235,193 // por %xmm1,%xmm0 - .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 + .byte 102,15,111,202 // movdqa %xmm2,%xmm1 + .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 + .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 + .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 + .byte 102,15,111,193 // movdqa %xmm1,%xmm0 + .byte 102,15,113,240,8 // psllw $0x8,%xmm0 + .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 + .byte 102,15,235,200 // por %xmm0,%xmm1 + .byte 102,15,56,51,193 // pmovzxwd %xmm1,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 68,15,40,5,223,30,0,0 // movaps 0x1edf(%rip),%xmm8 # 5710 <_sk_callback_sse41+0xec2> + .byte 68,15,40,5,49,32,0,0 // movaps 0x2031(%rip),%xmm8 # 5ea0 <_sk_callback_sse41+0xf15> .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 @@ -24904,69 +25277,103 @@ _sk_load_rgb_u16_be_sse41: .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,166,30,0,0 // movaps 0x1ea6(%rip),%xmm3 # 5720 <_sk_callback_sse41+0xed2> + .byte 15,40,29,248,31,0,0 // movaps 0x1ff8(%rip),%xmm3 # 5eb0 <_sk_callback_sse41+0xf25> .byte 255,224 // jmpq *%rax + .byte 102,65,15,110,20,64 // movd (%r8,%rax,2),%xmm2 + .byte 102,65,15,196,84,64,4,2 // pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,13 // jne 3edf <_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 3e34 <_sk_load_rgb_u16_be_sse41+0x36> + .byte 102,65,15,110,68,64,6 // movd 0x6(%r8,%rax,2),%xmm0 + .byte 102,65,15,196,68,64,10,2 // pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,24 // jb 3f10 <_sk_load_rgb_u16_be_sse41+0x112> + .byte 102,65,15,110,92,64,12 // movd 0xc(%r8,%rax,2),%xmm3 + .byte 102,65,15,196,92,64,16,2 // pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 233,36,255,255,255 // jmpq 3e34 <_sk_load_rgb_u16_be_sse41+0x36> + .byte 102,15,239,219 // pxor %xmm3,%xmm3 + .byte 233,27,255,255,255 // jmpq 3e34 <_sk_load_rgb_u16_be_sse41+0x36> HIDDEN _sk_store_u16_be_sse41 .globl _sk_store_u16_be_sse41 FUNCTION(_sk_store_u16_be_sse41) _sk_store_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,13,167,30,0,0 // movaps 0x1ea7(%rip),%xmm9 # 5730 <_sk_callback_sse41+0xee2> + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%rax + .byte 68,15,40,21,146,31,0,0 // movaps 0x1f92(%rip),%xmm10 # 5ec0 <_sk_callback_sse41+0xf35> .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 69,15,89,193 // mulps %xmm9,%xmm8 + .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 - .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 - .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 + .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 + .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 - .byte 102,69,15,235,194 // por %xmm10,%xmm8 - .byte 68,15,40,209 // movaps %xmm1,%xmm10 - .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 - .byte 102,69,15,56,43,210 // packusdw %xmm10,%xmm10 - .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 - .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 - .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 - .byte 102,69,15,235,211 // por %xmm11,%xmm10 - .byte 68,15,40,218 // movaps %xmm2,%xmm11 - .byte 69,15,89,217 // mulps %xmm9,%xmm11 - .byte 102,69,15,91,219 // cvtps2dq %xmm11,%xmm11 + .byte 102,69,15,235,193 // por %xmm9,%xmm8 + .byte 68,15,40,201 // movaps %xmm1,%xmm9 + .byte 69,15,89,202 // mulps %xmm10,%xmm9 + .byte 102,69,15,91,217 // cvtps2dq %xmm9,%xmm11 .byte 102,69,15,56,43,219 // packusdw %xmm11,%xmm11 - .byte 102,69,15,111,227 // movdqa %xmm11,%xmm12 - .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 + .byte 102,69,15,111,203 // movdqa %xmm11,%xmm9 + .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 - .byte 102,69,15,235,220 // por %xmm12,%xmm11 - .byte 68,15,89,203 // mulps %xmm3,%xmm9 + .byte 102,69,15,235,217 // por %xmm9,%xmm11 + .byte 68,15,40,202 // movaps %xmm2,%xmm9 + .byte 69,15,89,202 // mulps %xmm10,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,69,15,56,43,201 // packusdw %xmm9,%xmm9 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,204 // por %xmm12,%xmm9 - .byte 102,69,15,97,194 // punpcklwd %xmm10,%xmm8 - .byte 102,69,15,97,217 // punpcklwd %xmm9,%xmm11 - .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 - .byte 102,69,15,98,203 // punpckldq %xmm11,%xmm9 - .byte 243,68,15,127,12,248 // movdqu %xmm9,(%rax,%rdi,8) - .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 - .byte 243,68,15,127,68,248,16 // movdqu %xmm8,0x10(%rax,%rdi,8) + .byte 68,15,89,211 // mulps %xmm3,%xmm10 + .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 + .byte 102,69,15,56,43,210 // packusdw %xmm10,%xmm10 + .byte 102,69,15,111,226 // movdqa %xmm10,%xmm12 + .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 + .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 + .byte 102,69,15,235,212 // por %xmm12,%xmm10 + .byte 102,69,15,97,195 // punpcklwd %xmm11,%xmm8 + .byte 102,69,15,97,202 // punpcklwd %xmm10,%xmm9 + .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 + .byte 102,69,15,98,209 // punpckldq %xmm9,%xmm10 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,21 // jne 3ffc <_sk_store_u16_be_sse41+0xe3> + .byte 69,15,17,20,64 // movups %xmm10,(%r8,%rax,2) + .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 + .byte 243,69,15,127,68,64,16 // movdqu %xmm8,0x10(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,69,15,214,20,64 // movq %xmm10,(%r8,%rax,2) + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,240 // je 3ff8 <_sk_store_u16_be_sse41+0xdf> + .byte 102,69,15,23,84,64,8 // movhpd %xmm10,0x8(%r8,%rax,2) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,227 // jb 3ff8 <_sk_store_u16_be_sse41+0xdf> + .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 + .byte 102,69,15,214,68,64,16 // movq %xmm8,0x10(%r8,%rax,2) + .byte 235,213 // jmp 3ff8 <_sk_store_u16_be_sse41+0xdf> HIDDEN _sk_load_f32_sse41 .globl _sk_load_f32_sse41 FUNCTION(_sk_load_f32_sse41) _sk_load_f32_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,137,249 // mov %rdi,%rcx - .byte 72,193,225,4 // shl $0x4,%rcx - .byte 68,15,16,4,8 // movups (%rax,%rcx,1),%xmm8 - .byte 15,16,68,8,16 // movups 0x10(%rax,%rcx,1),%xmm0 - .byte 15,16,92,8,32 // movups 0x20(%rax,%rcx,1),%xmm3 - .byte 68,15,16,76,8,48 // movups 0x30(%rax,%rcx,1),%xmm9 + .byte 76,139,8 // mov (%rax),%r9 + .byte 76,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%r8 + .byte 72,137,248 // mov %rdi,%rax + .byte 72,193,224,4 // shl $0x4,%rax + .byte 69,15,16,4,1 // movups (%r9,%rax,1),%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,66 // jne 4083 <_sk_load_f32_sse41+0x60> + .byte 67,15,16,68,129,16 // movups 0x10(%r9,%r8,4),%xmm0 + .byte 67,15,16,92,129,32 // movups 0x20(%r9,%r8,4),%xmm3 + .byte 71,15,16,76,129,48 // movups 0x30(%r9,%r8,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 @@ -24981,35 +25388,58 @@ _sk_load_f32_sse41: .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 69,15,87,201 // xorps %xmm9,%xmm9 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,8 // jne 4095 <_sk_load_f32_sse41+0x72> + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 15,87,192 // xorps %xmm0,%xmm0 + .byte 235,190 // jmp 4053 <_sk_load_f32_sse41+0x30> + .byte 67,15,16,68,129,16 // movups 0x10(%r9,%r8,4),%xmm0 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,8 // jb 40a9 <_sk_load_f32_sse41+0x86> + .byte 67,15,16,92,129,32 // movups 0x20(%r9,%r8,4),%xmm3 + .byte 235,170 // jmp 4053 <_sk_load_f32_sse41+0x30> + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 235,165 // jmp 4053 <_sk_load_f32_sse41+0x30> HIDDEN _sk_store_f32_sse41 .globl _sk_store_f32_sse41 FUNCTION(_sk_store_f32_sse41) _sk_store_f32_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,137,249 // mov %rdi,%rcx - .byte 72,193,225,4 // shl $0x4,%rcx - .byte 68,15,40,192 // movaps %xmm0,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 76,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%r8 + .byte 72,137,248 // mov %rdi,%rax + .byte 72,193,224,4 // shl $0x4,%rax .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 - .byte 68,15,40,210 // movaps %xmm2,%xmm10 + .byte 68,15,40,194 // movaps %xmm2,%xmm8 + .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 + .byte 68,15,40,208 // movaps %xmm0,%xmm10 + .byte 68,15,21,209 // unpckhps %xmm1,%xmm10 .byte 68,15,40,218 // movaps %xmm2,%xmm11 - .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 - .byte 68,15,21,193 // unpckhps %xmm1,%xmm8 - .byte 68,15,21,211 // unpckhps %xmm3,%xmm10 + .byte 68,15,21,219 // unpckhps %xmm3,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 - .byte 102,69,15,20,227 // unpcklpd %xmm11,%xmm12 - .byte 69,15,18,217 // movhlps %xmm9,%xmm11 - .byte 69,15,40,200 // movaps %xmm8,%xmm9 - .byte 102,69,15,20,202 // unpcklpd %xmm10,%xmm9 - .byte 69,15,18,208 // movhlps %xmm8,%xmm10 - .byte 102,68,15,17,36,8 // movupd %xmm12,(%rax,%rcx,1) - .byte 68,15,17,92,8,16 // movups %xmm11,0x10(%rax,%rcx,1) - .byte 102,68,15,17,76,8,32 // movupd %xmm9,0x20(%rax,%rcx,1) - .byte 68,15,17,84,8,48 // movups %xmm10,0x30(%rax,%rcx,1) + .byte 102,69,15,20,224 // unpcklpd %xmm8,%xmm12 + .byte 69,15,18,193 // movhlps %xmm9,%xmm8 + .byte 69,15,40,202 // movaps %xmm10,%xmm9 + .byte 102,69,15,20,203 // unpcklpd %xmm11,%xmm9 + .byte 102,69,15,17,36,1 // movupd %xmm12,(%r9,%rax,1) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,29 // jne 4120 <_sk_store_f32_sse41+0x72> + .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 + .byte 71,15,17,68,129,16 // movups %xmm8,0x10(%r9,%r8,4) + .byte 102,71,15,17,76,129,32 // movupd %xmm9,0x20(%r9,%r8,4) + .byte 102,71,15,17,84,129,48 // movupd %xmm10,0x30(%r9,%r8,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,246 // je 411c <_sk_store_f32_sse41+0x6e> + .byte 71,15,17,68,129,16 // movups %xmm8,0x10(%r9,%r8,4) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,234 // jb 411c <_sk_store_f32_sse41+0x6e> + .byte 102,71,15,17,76,129,32 // movupd %xmm9,0x20(%r9,%r8,4) + .byte 235,225 // jmp 411c <_sk_store_f32_sse41+0x6e> HIDDEN _sk_clamp_x_sse41 .globl _sk_clamp_x_sse41 @@ -25121,7 +25551,7 @@ FUNCTION(_sk_clamp_x_1_sse41) _sk_clamp_x_1_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 - .byte 68,15,93,5,13,28,0,0 // minps 0x1c0d(%rip),%xmm8 # 5740 <_sk_callback_sse41+0xef2> + .byte 68,15,93,5,105,28,0,0 // minps 0x1c69(%rip),%xmm8 # 5ed0 <_sk_callback_sse41+0xf45> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -25139,9 +25569,9 @@ HIDDEN _sk_mirror_x_1_sse41 .globl _sk_mirror_x_1_sse41 FUNCTION(_sk_mirror_x_1_sse41) _sk_mirror_x_1_sse41: - .byte 68,15,40,5,254,27,0,0 // movaps 0x1bfe(%rip),%xmm8 # 5750 <_sk_callback_sse41+0xf02> + .byte 68,15,40,5,90,28,0,0 // movaps 0x1c5a(%rip),%xmm8 # 5ee0 <_sk_callback_sse41+0xf55> .byte 65,15,88,192 // addps %xmm8,%xmm0 - .byte 68,15,40,13,2,28,0,0 // movaps 0x1c02(%rip),%xmm9 # 5760 <_sk_callback_sse41+0xf12> + .byte 68,15,40,13,94,28,0,0 // movaps 0x1c5e(%rip),%xmm9 # 5ef0 <_sk_callback_sse41+0xf65> .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 @@ -25158,10 +25588,10 @@ HIDDEN _sk_luminance_to_alpha_sse41 FUNCTION(_sk_luminance_to_alpha_sse41) _sk_luminance_to_alpha_sse41: .byte 15,40,218 // movaps %xmm2,%xmm3 - .byte 15,89,5,225,27,0,0 // mulps 0x1be1(%rip),%xmm0 # 5770 <_sk_callback_sse41+0xf22> - .byte 15,89,13,234,27,0,0 // mulps 0x1bea(%rip),%xmm1 # 5780 <_sk_callback_sse41+0xf32> + .byte 15,89,5,61,28,0,0 // mulps 0x1c3d(%rip),%xmm0 # 5f00 <_sk_callback_sse41+0xf75> + .byte 15,89,13,70,28,0,0 // mulps 0x1c46(%rip),%xmm1 # 5f10 <_sk_callback_sse41+0xf85> .byte 15,88,200 // addps %xmm0,%xmm1 - .byte 15,89,29,240,27,0,0 // mulps 0x1bf0(%rip),%xmm3 # 5790 <_sk_callback_sse41+0xf42> + .byte 15,89,29,76,28,0,0 // mulps 0x1c4c(%rip),%xmm3 # 5f20 <_sk_callback_sse41+0xf95> .byte 15,88,217 // addps %xmm1,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 @@ -25433,82 +25863,84 @@ HIDDEN _sk_evenly_spaced_gradient_sse41 .globl _sk_evenly_spaced_gradient_sse41 FUNCTION(_sk_evenly_spaced_gradient_sse41) _sk_evenly_spaced_gradient_sse41: + .byte 65,86 // push %r14 + .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,88,8 // mov 0x8(%rax),%r11 - .byte 72,255,201 // dec %rcx - .byte 120,7 // js 3fd9 <_sk_evenly_spaced_gradient_sse41+0x15> - .byte 243,72,15,42,201 // cvtsi2ss %rcx,%xmm1 - .byte 235,21 // jmp 3fee <_sk_evenly_spaced_gradient_sse41+0x2a> - .byte 73,137,200 // mov %rcx,%r8 + .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 4710 <_sk_evenly_spaced_gradient_sse41+0x18> + .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 + .byte 235,21 // jmp 4725 <_sk_evenly_spaced_gradient_sse41+0x2d> + .byte 73,137,216 // mov %rbx,%r8 .byte 73,209,232 // shr %r8 - .byte 131,225,1 // and $0x1,%ecx - .byte 76,9,193 // or %r8,%rcx - .byte 243,72,15,42,201 // cvtsi2ss %rcx,%xmm1 + .byte 131,227,1 // and $0x1,%ebx + .byte 76,9,195 // or %r8,%rbx + .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 243,15,88,201 // addss %xmm1,%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 - .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 - .byte 69,137,200 // mov %r9d,%r8d - .byte 73,193,233,32 // shr $0x20,%r9 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,71,15,16,4,147 // movss (%r11,%r10,4),%xmm8 - .byte 102,69,15,58,33,4,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm8 - .byte 243,67,15,16,12,131 // movss (%r11,%r8,4),%xmm1 + .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 + .byte 102,73,15,126,202 // movq %xmm1,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,71,15,16,4,158 // movss (%r14,%r11,4),%xmm8 + .byte 102,71,15,58,33,4,150,16 // insertps $0x10,(%r14,%r10,4),%xmm8 + .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 - .byte 243,67,15,16,12,139 // movss (%r11,%r9,4),%xmm1 + .byte 243,67,15,16,12,134 // movss (%r14,%r8,4),%xmm1 .byte 102,68,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm8 - .byte 76,139,88,40 // mov 0x28(%rax),%r11 - .byte 243,71,15,16,12,147 // movss (%r11,%r10,4),%xmm9 - .byte 102,69,15,58,33,12,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm9 - .byte 243,67,15,16,12,131 // movss (%r11,%r8,4),%xmm1 + .byte 72,139,88,40 // mov 0x28(%rax),%rbx + .byte 243,70,15,16,12,155 // movss (%rbx,%r11,4),%xmm9 + .byte 102,70,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm9 + .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 - .byte 243,67,15,16,12,139 // movss (%r11,%r9,4),%xmm1 + .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 - .byte 76,139,88,16 // mov 0x10(%rax),%r11 - .byte 243,67,15,16,12,147 // movss (%r11,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm1 - .byte 243,67,15,16,20,131 // movss (%r11,%r8,4),%xmm2 + .byte 72,139,88,16 // mov 0x10(%rax),%rbx + .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 + .byte 102,66,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm1 + .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 - .byte 243,67,15,16,20,139 // movss (%r11,%r9,4),%xmm2 + .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 - .byte 76,139,88,48 // mov 0x30(%rax),%r11 - .byte 243,71,15,16,20,147 // movss (%r11,%r10,4),%xmm10 - .byte 102,69,15,58,33,20,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm10 - .byte 243,67,15,16,20,131 // movss (%r11,%r8,4),%xmm2 + .byte 72,139,88,48 // mov 0x30(%rax),%rbx + .byte 243,70,15,16,20,155 // movss (%rbx,%r11,4),%xmm10 + .byte 102,70,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm10 + .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 - .byte 243,67,15,16,20,139 // movss (%r11,%r9,4),%xmm2 + .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,68,15,58,33,210,48 // insertps $0x30,%xmm2,%xmm10 - .byte 76,139,88,24 // mov 0x18(%rax),%r11 - .byte 243,67,15,16,20,147 // movss (%r11,%r10,4),%xmm2 - .byte 102,65,15,58,33,20,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm2 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 72,139,88,24 // mov 0x18(%rax),%rbx + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 + .byte 102,66,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm2 + .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 - .byte 243,67,15,16,28,139 // movss (%r11,%r9,4),%xmm3 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 - .byte 76,139,88,56 // mov 0x38(%rax),%r11 - .byte 243,71,15,16,28,147 // movss (%r11,%r10,4),%xmm11 - .byte 102,69,15,58,33,28,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm11 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 72,139,88,56 // mov 0x38(%rax),%rbx + .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 + .byte 102,70,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm11 + .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 - .byte 243,67,15,16,28,139 // movss (%r11,%r9,4),%xmm3 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,68,15,58,33,219,48 // insertps $0x30,%xmm3,%xmm11 - .byte 76,139,88,32 // mov 0x20(%rax),%r11 - .byte 243,67,15,16,28,147 // movss (%r11,%r10,4),%xmm3 - .byte 102,65,15,58,33,28,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm3 - .byte 243,71,15,16,36,131 // movss (%r11,%r8,4),%xmm12 + .byte 72,139,88,32 // mov 0x20(%rax),%rbx + .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 + .byte 102,66,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm3 + .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 - .byte 243,71,15,16,36,139 // movss (%r11,%r9,4),%xmm12 + .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 .byte 102,65,15,58,33,220,48 // insertps $0x30,%xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax - .byte 243,70,15,16,36,144 // movss (%rax,%r10,4),%xmm12 - .byte 102,68,15,58,33,36,136,16 // insertps $0x10,(%rax,%rcx,4),%xmm12 - .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 - .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 + .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 + .byte 102,70,15,58,33,36,144,16 // insertps $0x10,(%rax,%r10,4),%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 + .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 + .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 @@ -25520,21 +25952,23 @@ _sk_evenly_spaced_gradient_sse41: .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_gauss_a_to_rgba_sse41 .globl _sk_gauss_a_to_rgba_sse41 FUNCTION(_sk_gauss_a_to_rgba_sse41) _sk_gauss_a_to_rgba_sse41: - .byte 15,40,5,9,22,0,0 // movaps 0x1609(%rip),%xmm0 # 57a0 <_sk_callback_sse41+0xf52> + .byte 15,40,5,95,22,0,0 // movaps 0x165f(%rip),%xmm0 # 5f30 <_sk_callback_sse41+0xfa5> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,15,22,0,0 // addps 0x160f(%rip),%xmm0 # 57b0 <_sk_callback_sse41+0xf62> + .byte 15,88,5,101,22,0,0 // addps 0x1665(%rip),%xmm0 # 5f40 <_sk_callback_sse41+0xfb5> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,21,22,0,0 // addps 0x1615(%rip),%xmm0 # 57c0 <_sk_callback_sse41+0xf72> + .byte 15,88,5,107,22,0,0 // addps 0x166b(%rip),%xmm0 # 5f50 <_sk_callback_sse41+0xfc5> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,27,22,0,0 // addps 0x161b(%rip),%xmm0 # 57d0 <_sk_callback_sse41+0xf82> + .byte 15,88,5,113,22,0,0 // addps 0x1671(%rip),%xmm0 # 5f60 <_sk_callback_sse41+0xfd5> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,33,22,0,0 // addps 0x1621(%rip),%xmm0 # 57e0 <_sk_callback_sse41+0xf92> + .byte 15,88,5,119,22,0,0 // addps 0x1677(%rip),%xmm0 # 5f70 <_sk_callback_sse41+0xfe5> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 @@ -25549,83 +25983,83 @@ _sk_gradient_sse41: .byte 76,139,0 // mov (%rax),%r8 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,2 // cmp $0x2,%r8 - .byte 114,50 // jb 420d <_sk_gradient_sse41+0x41> - .byte 72,139,72,72 // mov 0x48(%rax),%rcx + .byte 114,51 // jb 4948 <_sk_gradient_sse41+0x42> + .byte 76,139,72,72 // mov 0x48(%rax),%r9 .byte 73,255,200 // dec %r8 - .byte 72,131,193,4 // add $0x4,%rcx + .byte 73,131,193,4 // add $0x4,%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 - .byte 15,40,21,255,21,0,0 // movaps 0x15ff(%rip),%xmm2 # 57f0 <_sk_callback_sse41+0xfa2> - .byte 243,15,16,25 // movss (%rcx),%xmm3 + .byte 15,40,21,85,22,0,0 // movaps 0x1655(%rip),%xmm2 # 5f80 <_sk_callback_sse41+0xff5> + .byte 243,65,15,16,25 // movss (%r9),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,194,216,2 // cmpleps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 - .byte 72,131,193,4 // add $0x4,%rcx + .byte 73,131,193,4 // add $0x4,%r9 .byte 73,255,200 // dec %r8 - .byte 117,228 // jne 41f1 <_sk_gradient_sse41+0x25> + .byte 117,227 // jne 492b <_sk_gradient_sse41+0x25> .byte 65,86 // push %r14 .byte 83 // push %rbx - .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 - .byte 69,137,200 // mov %r9d,%r8d - .byte 73,193,233,32 // shr $0x20,%r9 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 76,139,88,8 // mov 0x8(%rax),%r11 + .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 + .byte 102,73,15,126,202 // movq %xmm1,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 - .byte 243,71,15,16,4,147 // movss (%r11,%r10,4),%xmm8 - .byte 102,69,15,58,33,4,139,16 // insertps $0x10,(%r11,%rcx,4),%xmm8 - .byte 243,67,15,16,12,131 // movss (%r11,%r8,4),%xmm1 + .byte 243,70,15,16,4,155 // movss (%rbx,%r11,4),%xmm8 + .byte 102,70,15,58,33,4,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm8 + .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 - .byte 243,67,15,16,12,139 // movss (%r11,%r9,4),%xmm1 + .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx - .byte 243,70,15,16,12,147 // movss (%rbx,%r10,4),%xmm9 - .byte 102,68,15,58,33,12,139,16 // insertps $0x10,(%rbx,%rcx,4),%xmm9 - .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 - .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 + .byte 243,70,15,16,12,155 // movss (%rbx,%r11,4),%xmm9 + .byte 102,70,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 + .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 + .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 - .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 - .byte 102,65,15,58,33,12,142,16 // insertps $0x10,(%r14,%rcx,4),%xmm1 - .byte 243,67,15,16,20,134 // movss (%r14,%r8,4),%xmm2 - .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 + .byte 243,67,15,16,12,158 // movss (%r14,%r11,4),%xmm1 + .byte 102,67,15,58,33,12,150,16 // insertps $0x10,(%r14,%r10,4),%xmm1 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 + .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 + .byte 243,67,15,16,20,134 // movss (%r14,%r8,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx - .byte 243,70,15,16,20,147 // movss (%rbx,%r10,4),%xmm10 - .byte 102,68,15,58,33,20,139,16 // insertps $0x10,(%rbx,%rcx,4),%xmm10 - .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 - .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 + .byte 243,70,15,16,20,155 // movss (%rbx,%r11,4),%xmm10 + .byte 102,70,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 + .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 + .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,68,15,58,33,210,48 // insertps $0x30,%xmm2,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx - .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 - .byte 102,15,58,33,20,139,16 // insertps $0x10,(%rbx,%rcx,4),%xmm2 - .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 - .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 + .byte 102,66,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm2 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 + .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx - .byte 243,70,15,16,28,147 // movss (%rbx,%r10,4),%xmm11 - .byte 102,68,15,58,33,28,139,16 // insertps $0x10,(%rbx,%rcx,4),%xmm11 - .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 - .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 + .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 + .byte 102,70,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm11 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 + .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,68,15,58,33,219,48 // insertps $0x30,%xmm3,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx - .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 - .byte 102,15,58,33,28,139,16 // insertps $0x10,(%rbx,%rcx,4),%xmm3 - .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 - .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 + .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 + .byte 102,66,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 + .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 + .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 .byte 102,65,15,58,33,220,48 // insertps $0x30,%xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax - .byte 243,70,15,16,36,144 // movss (%rax,%r10,4),%xmm12 - .byte 102,68,15,58,33,36,136,16 // insertps $0x10,(%rax,%rcx,4),%xmm12 - .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 - .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 + .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 + .byte 102,70,15,58,33,36,144,16 // insertps $0x10,(%rax,%r10,4),%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 + .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 + .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 @@ -25693,26 +26127,26 @@ _sk_xy_to_unit_angle_sse41: .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,161,19,0,0 // movaps 0x13a1(%rip),%xmm10 # 5800 <_sk_callback_sse41+0xfb2> + .byte 68,15,40,21,244,19,0,0 // movaps 0x13f4(%rip),%xmm10 # 5f90 <_sk_callback_sse41+0x1005> .byte 69,15,89,213 // mulps %xmm13,%xmm10 - .byte 68,15,88,21,165,19,0,0 // addps 0x13a5(%rip),%xmm10 # 5810 <_sk_callback_sse41+0xfc2> + .byte 68,15,88,21,248,19,0,0 // addps 0x13f8(%rip),%xmm10 # 5fa0 <_sk_callback_sse41+0x1015> .byte 69,15,89,213 // mulps %xmm13,%xmm10 - .byte 68,15,88,21,169,19,0,0 // addps 0x13a9(%rip),%xmm10 # 5820 <_sk_callback_sse41+0xfd2> + .byte 68,15,88,21,252,19,0,0 // addps 0x13fc(%rip),%xmm10 # 5fb0 <_sk_callback_sse41+0x1025> .byte 69,15,89,213 // mulps %xmm13,%xmm10 - .byte 68,15,88,21,173,19,0,0 // addps 0x13ad(%rip),%xmm10 # 5830 <_sk_callback_sse41+0xfe2> + .byte 68,15,88,21,0,20,0,0 // addps 0x1400(%rip),%xmm10 # 5fc0 <_sk_callback_sse41+0x1035> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 - .byte 68,15,40,29,172,19,0,0 // movaps 0x13ac(%rip),%xmm11 # 5840 <_sk_callback_sse41+0xff2> + .byte 68,15,40,29,255,19,0,0 // movaps 0x13ff(%rip),%xmm11 # 5fd0 <_sk_callback_sse41+0x1045> .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,165,19,0,0 // movaps 0x13a5(%rip),%xmm11 # 5850 <_sk_callback_sse41+0x1002> + .byte 68,15,40,29,248,19,0,0 // movaps 0x13f8(%rip),%xmm11 # 5fe0 <_sk_callback_sse41+0x1055> .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,151,19,0,0 // movaps 0x1397(%rip),%xmm9 # 5860 <_sk_callback_sse41+0x1012> + .byte 68,15,40,13,234,19,0,0 // movaps 0x13ea(%rip),%xmm9 # 5ff0 <_sk_callback_sse41+0x1065> .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 @@ -25738,7 +26172,7 @@ HIDDEN _sk_save_xy_sse41 FUNCTION(_sk_save_xy_sse41) _sk_save_xy_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,107,19,0,0 // movaps 0x136b(%rip),%xmm8 # 5870 <_sk_callback_sse41+0x1022> + .byte 68,15,40,5,190,19,0,0 // movaps 0x13be(%rip),%xmm8 # 6000 <_sk_callback_sse41+0x1075> .byte 15,17,0 // movups %xmm0,(%rax) .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 @@ -25782,8 +26216,8 @@ _sk_bilinear_nx_sse41: .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,237,18,0,0 // addps 0x12ed(%rip),%xmm0 # 5880 <_sk_callback_sse41+0x1032> - .byte 68,15,40,13,245,18,0,0 // movaps 0x12f5(%rip),%xmm9 # 5890 <_sk_callback_sse41+0x1042> + .byte 15,88,5,64,19,0,0 // addps 0x1340(%rip),%xmm0 # 6010 <_sk_callback_sse41+0x1085> + .byte 68,15,40,13,72,19,0,0 // movaps 0x1348(%rip),%xmm9 # 6020 <_sk_callback_sse41+0x1095> .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 @@ -25796,7 +26230,7 @@ _sk_bilinear_px_sse41: .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,228,18,0,0 // addps 0x12e4(%rip),%xmm0 # 58a0 <_sk_callback_sse41+0x1052> + .byte 15,88,5,55,19,0,0 // addps 0x1337(%rip),%xmm0 # 6030 <_sk_callback_sse41+0x10a5> .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 @@ -25808,8 +26242,8 @@ _sk_bilinear_ny_sse41: .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,214,18,0,0 // addps 0x12d6(%rip),%xmm1 # 58b0 <_sk_callback_sse41+0x1062> - .byte 68,15,40,13,222,18,0,0 // movaps 0x12de(%rip),%xmm9 # 58c0 <_sk_callback_sse41+0x1072> + .byte 15,88,13,41,19,0,0 // addps 0x1329(%rip),%xmm1 # 6040 <_sk_callback_sse41+0x10b5> + .byte 68,15,40,13,49,19,0,0 // movaps 0x1331(%rip),%xmm9 # 6050 <_sk_callback_sse41+0x10c5> .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 @@ -25822,7 +26256,7 @@ _sk_bilinear_py_sse41: .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,204,18,0,0 // addps 0x12cc(%rip),%xmm1 # 58d0 <_sk_callback_sse41+0x1082> + .byte 15,88,13,31,19,0,0 // addps 0x131f(%rip),%xmm1 # 6060 <_sk_callback_sse41+0x10d5> .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 @@ -25834,13 +26268,13 @@ _sk_bicubic_n3x_sse41: .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,191,18,0,0 // addps 0x12bf(%rip),%xmm0 # 58e0 <_sk_callback_sse41+0x1092> - .byte 68,15,40,13,199,18,0,0 // movaps 0x12c7(%rip),%xmm9 # 58f0 <_sk_callback_sse41+0x10a2> + .byte 15,88,5,18,19,0,0 // addps 0x1312(%rip),%xmm0 # 6070 <_sk_callback_sse41+0x10e5> + .byte 68,15,40,13,26,19,0,0 // movaps 0x131a(%rip),%xmm9 # 6080 <_sk_callback_sse41+0x10f5> .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,195,18,0,0 // mulps 0x12c3(%rip),%xmm9 # 5900 <_sk_callback_sse41+0x10b2> - .byte 68,15,88,13,203,18,0,0 // addps 0x12cb(%rip),%xmm9 # 5910 <_sk_callback_sse41+0x10c2> + .byte 68,15,89,13,22,19,0,0 // mulps 0x1316(%rip),%xmm9 # 6090 <_sk_callback_sse41+0x1105> + .byte 68,15,88,13,30,19,0,0 // addps 0x131e(%rip),%xmm9 # 60a0 <_sk_callback_sse41+0x1115> .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 @@ -25853,16 +26287,16 @@ _sk_bicubic_n1x_sse41: .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,186,18,0,0 // addps 0x12ba(%rip),%xmm0 # 5920 <_sk_callback_sse41+0x10d2> - .byte 68,15,40,13,194,18,0,0 // movaps 0x12c2(%rip),%xmm9 # 5930 <_sk_callback_sse41+0x10e2> + .byte 15,88,5,13,19,0,0 // addps 0x130d(%rip),%xmm0 # 60b0 <_sk_callback_sse41+0x1125> + .byte 68,15,40,13,21,19,0,0 // movaps 0x1315(%rip),%xmm9 # 60c0 <_sk_callback_sse41+0x1135> .byte 69,15,92,200 // subps %xmm8,%xmm9 - .byte 68,15,40,5,198,18,0,0 // movaps 0x12c6(%rip),%xmm8 # 5940 <_sk_callback_sse41+0x10f2> + .byte 68,15,40,5,25,19,0,0 // movaps 0x1319(%rip),%xmm8 # 60d0 <_sk_callback_sse41+0x1145> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,202,18,0,0 // addps 0x12ca(%rip),%xmm8 # 5950 <_sk_callback_sse41+0x1102> + .byte 68,15,88,5,29,19,0,0 // addps 0x131d(%rip),%xmm8 # 60e0 <_sk_callback_sse41+0x1155> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,206,18,0,0 // addps 0x12ce(%rip),%xmm8 # 5960 <_sk_callback_sse41+0x1112> + .byte 68,15,88,5,33,19,0,0 // addps 0x1321(%rip),%xmm8 # 60f0 <_sk_callback_sse41+0x1165> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,210,18,0,0 // addps 0x12d2(%rip),%xmm8 # 5970 <_sk_callback_sse41+0x1122> + .byte 68,15,88,5,37,19,0,0 // addps 0x1325(%rip),%xmm8 # 6100 <_sk_callback_sse41+0x1175> .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 @@ -25872,17 +26306,17 @@ HIDDEN _sk_bicubic_p1x_sse41 FUNCTION(_sk_bicubic_p1x_sse41) _sk_bicubic_p1x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,204,18,0,0 // movaps 0x12cc(%rip),%xmm8 # 5980 <_sk_callback_sse41+0x1132> + .byte 68,15,40,5,31,19,0,0 // movaps 0x131f(%rip),%xmm8 # 6110 <_sk_callback_sse41+0x1185> .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,200,18,0,0 // movaps 0x12c8(%rip),%xmm10 # 5990 <_sk_callback_sse41+0x1142> + .byte 68,15,40,21,27,19,0,0 // movaps 0x131b(%rip),%xmm10 # 6120 <_sk_callback_sse41+0x1195> .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 68,15,88,21,204,18,0,0 // addps 0x12cc(%rip),%xmm10 # 59a0 <_sk_callback_sse41+0x1152> + .byte 68,15,88,21,31,19,0,0 // addps 0x131f(%rip),%xmm10 # 6130 <_sk_callback_sse41+0x11a5> .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,200,18,0,0 // addps 0x12c8(%rip),%xmm10 # 59b0 <_sk_callback_sse41+0x1162> + .byte 68,15,88,21,27,19,0,0 // addps 0x131b(%rip),%xmm10 # 6140 <_sk_callback_sse41+0x11b5> .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 @@ -25894,11 +26328,11 @@ _sk_bicubic_p3x_sse41: .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,187,18,0,0 // addps 0x12bb(%rip),%xmm0 # 59c0 <_sk_callback_sse41+0x1172> + .byte 15,88,5,14,19,0,0 // addps 0x130e(%rip),%xmm0 # 6150 <_sk_callback_sse41+0x11c5> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 - .byte 68,15,89,5,187,18,0,0 // mulps 0x12bb(%rip),%xmm8 # 59d0 <_sk_callback_sse41+0x1182> - .byte 68,15,88,5,195,18,0,0 // addps 0x12c3(%rip),%xmm8 # 59e0 <_sk_callback_sse41+0x1192> + .byte 68,15,89,5,14,19,0,0 // mulps 0x130e(%rip),%xmm8 # 6160 <_sk_callback_sse41+0x11d5> + .byte 68,15,88,5,22,19,0,0 // addps 0x1316(%rip),%xmm8 # 6170 <_sk_callback_sse41+0x11e5> .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 @@ -25911,13 +26345,13 @@ _sk_bicubic_n3y_sse41: .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,177,18,0,0 // addps 0x12b1(%rip),%xmm1 # 59f0 <_sk_callback_sse41+0x11a2> - .byte 68,15,40,13,185,18,0,0 // movaps 0x12b9(%rip),%xmm9 # 5a00 <_sk_callback_sse41+0x11b2> + .byte 15,88,13,4,19,0,0 // addps 0x1304(%rip),%xmm1 # 6180 <_sk_callback_sse41+0x11f5> + .byte 68,15,40,13,12,19,0,0 // movaps 0x130c(%rip),%xmm9 # 6190 <_sk_callback_sse41+0x1205> .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,181,18,0,0 // mulps 0x12b5(%rip),%xmm9 # 5a10 <_sk_callback_sse41+0x11c2> - .byte 68,15,88,13,189,18,0,0 // addps 0x12bd(%rip),%xmm9 # 5a20 <_sk_callback_sse41+0x11d2> + .byte 68,15,89,13,8,19,0,0 // mulps 0x1308(%rip),%xmm9 # 61a0 <_sk_callback_sse41+0x1215> + .byte 68,15,88,13,16,19,0,0 // addps 0x1310(%rip),%xmm9 # 61b0 <_sk_callback_sse41+0x1225> .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 @@ -25930,16 +26364,16 @@ _sk_bicubic_n1y_sse41: .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,171,18,0,0 // addps 0x12ab(%rip),%xmm1 # 5a30 <_sk_callback_sse41+0x11e2> - .byte 68,15,40,13,179,18,0,0 // movaps 0x12b3(%rip),%xmm9 # 5a40 <_sk_callback_sse41+0x11f2> + .byte 15,88,13,254,18,0,0 // addps 0x12fe(%rip),%xmm1 # 61c0 <_sk_callback_sse41+0x1235> + .byte 68,15,40,13,6,19,0,0 // movaps 0x1306(%rip),%xmm9 # 61d0 <_sk_callback_sse41+0x1245> .byte 69,15,92,200 // subps %xmm8,%xmm9 - .byte 68,15,40,5,183,18,0,0 // movaps 0x12b7(%rip),%xmm8 # 5a50 <_sk_callback_sse41+0x1202> + .byte 68,15,40,5,10,19,0,0 // movaps 0x130a(%rip),%xmm8 # 61e0 <_sk_callback_sse41+0x1255> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,187,18,0,0 // addps 0x12bb(%rip),%xmm8 # 5a60 <_sk_callback_sse41+0x1212> + .byte 68,15,88,5,14,19,0,0 // addps 0x130e(%rip),%xmm8 # 61f0 <_sk_callback_sse41+0x1265> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,191,18,0,0 // addps 0x12bf(%rip),%xmm8 # 5a70 <_sk_callback_sse41+0x1222> + .byte 68,15,88,5,18,19,0,0 // addps 0x1312(%rip),%xmm8 # 6200 <_sk_callback_sse41+0x1275> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,195,18,0,0 // addps 0x12c3(%rip),%xmm8 # 5a80 <_sk_callback_sse41+0x1232> + .byte 68,15,88,5,22,19,0,0 // addps 0x1316(%rip),%xmm8 # 6210 <_sk_callback_sse41+0x1285> .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 @@ -25949,17 +26383,17 @@ HIDDEN _sk_bicubic_p1y_sse41 FUNCTION(_sk_bicubic_p1y_sse41) _sk_bicubic_p1y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,189,18,0,0 // movaps 0x12bd(%rip),%xmm8 # 5a90 <_sk_callback_sse41+0x1242> + .byte 68,15,40,5,16,19,0,0 // movaps 0x1310(%rip),%xmm8 # 6220 <_sk_callback_sse41+0x1295> .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,184,18,0,0 // movaps 0x12b8(%rip),%xmm10 # 5aa0 <_sk_callback_sse41+0x1252> + .byte 68,15,40,21,11,19,0,0 // movaps 0x130b(%rip),%xmm10 # 6230 <_sk_callback_sse41+0x12a5> .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 68,15,88,21,188,18,0,0 // addps 0x12bc(%rip),%xmm10 # 5ab0 <_sk_callback_sse41+0x1262> + .byte 68,15,88,21,15,19,0,0 // addps 0x130f(%rip),%xmm10 # 6240 <_sk_callback_sse41+0x12b5> .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,184,18,0,0 // addps 0x12b8(%rip),%xmm10 # 5ac0 <_sk_callback_sse41+0x1272> + .byte 68,15,88,21,11,19,0,0 // addps 0x130b(%rip),%xmm10 # 6250 <_sk_callback_sse41+0x12c5> .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 @@ -25971,11 +26405,11 @@ _sk_bicubic_p3y_sse41: .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,170,18,0,0 // addps 0x12aa(%rip),%xmm1 # 5ad0 <_sk_callback_sse41+0x1282> + .byte 15,88,13,253,18,0,0 // addps 0x12fd(%rip),%xmm1 # 6260 <_sk_callback_sse41+0x12d5> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 - .byte 68,15,89,5,170,18,0,0 // mulps 0x12aa(%rip),%xmm8 # 5ae0 <_sk_callback_sse41+0x1292> - .byte 68,15,88,5,178,18,0,0 // addps 0x12b2(%rip),%xmm8 # 5af0 <_sk_callback_sse41+0x12a2> + .byte 68,15,89,5,253,18,0,0 // mulps 0x12fd(%rip),%xmm8 # 6270 <_sk_callback_sse41+0x12e5> + .byte 68,15,88,5,5,19,0,0 // addps 0x1305(%rip),%xmm8 # 6280 <_sk_callback_sse41+0x12f5> .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 @@ -25987,13 +26421,15 @@ FUNCTION(_sk_callback_sse41) _sk_callback_sse41: .byte 65,87 // push %r15 .byte 65,86 // push %r14 + .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx - .byte 72,131,236,72 // sub $0x48,%rsp + .byte 72,131,236,64 // sub $0x40,%rsp .byte 15,41,124,36,48 // movaps %xmm7,0x30(%rsp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%rsp) .byte 15,41,108,36,16 // movaps %xmm5,0x10(%rsp) .byte 15,41,36,36 // movaps %xmm4,(%rsp) + .byte 73,137,205 // mov %rcx,%r13 .byte 73,137,214 // mov %rdx,%r14 .byte 73,137,255 // mov %rdi,%r15 .byte 72,173 // lods %ds:(%rsi),%rax @@ -26010,12 +26446,14 @@ _sk_callback_sse41: .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 - .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 102,15,17,75,8 // movupd %xmm1,0x8(%rbx) + .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,107,24 // movups %xmm5,0x18(%rbx) .byte 102,15,17,91,40 // movupd %xmm3,0x28(%rbx) .byte 15,17,83,56 // movups %xmm2,0x38(%rbx) + .byte 77,133,237 // test %r13,%r13 .byte 190,4,0,0,0 // mov $0x4,%esi + .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax @@ -26039,13 +26477,15 @@ _sk_callback_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,255 // mov %r15,%rdi .byte 76,137,242 // mov %r14,%rdx + .byte 76,137,233 // mov %r13,%rcx .byte 15,40,36,36 // movaps (%rsp),%xmm4 .byte 15,40,108,36,16 // movaps 0x10(%rsp),%xmm5 .byte 15,40,116,36,32 // movaps 0x20(%rsp),%xmm6 .byte 15,40,124,36,48 // movaps 0x30(%rsp),%xmm7 - .byte 72,131,196,72 // add $0x48,%rsp + .byte 72,131,196,64 // add $0x40,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 + .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax @@ -26194,11 +26634,11 @@ BALIGN16 .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 4b08 <.literal16+0x1d8> + .byte 224,64 // loopne 5258 <.literal16+0x1d8> .byte 0,0 // add %al,(%rax) - .byte 224,64 // loopne 4b0c <.literal16+0x1dc> + .byte 224,64 // loopne 525c <.literal16+0x1dc> .byte 0,0 // add %al,(%rax) - .byte 224,64 // loopne 4b10 <.literal16+0x1e0> + .byte 224,64 // loopne 5260 <.literal16+0x1e0> .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd @@ -26218,13 +26658,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b31 <.literal16+0x201> + .byte 71,225,61 // rex.RXB loope 5281 <.literal16+0x201> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b35 <.literal16+0x205> + .byte 71,225,61 // rex.RXB loope 5285 <.literal16+0x205> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b39 <.literal16+0x209> + .byte 71,225,61 // rex.RXB loope 5289 <.literal16+0x209> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b3d <.literal16+0x20d> + .byte 71,225,61 // rex.RXB loope 528d <.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) @@ -26249,13 +26689,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b71 <.literal16+0x241> + .byte 71,225,61 // rex.RXB loope 52c1 <.literal16+0x241> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b75 <.literal16+0x245> + .byte 71,225,61 // rex.RXB loope 52c5 <.literal16+0x245> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b79 <.literal16+0x249> + .byte 71,225,61 // rex.RXB loope 52c9 <.literal16+0x249> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4b7d <.literal16+0x24d> + .byte 71,225,61 // rex.RXB loope 52cd <.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) @@ -26280,13 +26720,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bb1 <.literal16+0x281> + .byte 71,225,61 // rex.RXB loope 5301 <.literal16+0x281> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bb5 <.literal16+0x285> + .byte 71,225,61 // rex.RXB loope 5305 <.literal16+0x285> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bb9 <.literal16+0x289> + .byte 71,225,61 // rex.RXB loope 5309 <.literal16+0x289> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bbd <.literal16+0x28d> + .byte 71,225,61 // rex.RXB loope 530d <.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) @@ -26311,13 +26751,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bf1 <.literal16+0x2c1> + .byte 71,225,61 // rex.RXB loope 5341 <.literal16+0x2c1> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bf5 <.literal16+0x2c5> + .byte 71,225,61 // rex.RXB loope 5345 <.literal16+0x2c5> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bf9 <.literal16+0x2c9> + .byte 71,225,61 // rex.RXB loope 5349 <.literal16+0x2c9> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4bfd <.literal16+0x2cd> + .byte 71,225,61 // rex.RXB loope 534d <.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) @@ -26334,10 +26774,10 @@ BALIGN16 .byte 0,1 // add %al,(%rcx) .byte 255 // (bad) .byte 255 // (bad) - .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a004be8 <_sk_callback_sse41+0xa00039a> + .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005338 <_sk_callback_sse41+0xa0003ad> .byte 255 // (bad) .byte 255 // (bad) - .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3004bf0 <_sk_callback_sse41+0x30003a2> + .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3005340 <_sk_callback_sse41+0x30003b5> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) @@ -26356,11 +26796,11 @@ BALIGN16 .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 4c5b <.literal16+0x32b> + .byte 127,67 // jg 53ab <.literal16+0x32b> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 4c5f <.literal16+0x32f> + .byte 127,67 // jg 53af <.literal16+0x32f> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 4c63 <.literal16+0x333> + .byte 127,67 // jg 53b3 <.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) @@ -26561,13 +27001,26 @@ BALIGN16 .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi + .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,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 248 // clc + .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,248,0,0 // addb $0x0,0xf8003b(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al @@ -26582,13 +27035,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 4e19 <.literal16+0x4e9> + .byte 224,7 // loopne 5589 <.literal16+0x509> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 4e1d <.literal16+0x4ed> + .byte 224,7 // loopne 558d <.literal16+0x50d> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 4e21 <.literal16+0x4f1> + .byte 224,7 // loopne 5591 <.literal16+0x511> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 4e25 <.literal16+0x4f5> + .byte 224,7 // loopne 5595 <.literal16+0x515> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -26622,10 +27075,10 @@ BALIGN16 .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) # a004e68 <_sk_callback_sse41+0xa00061a> + .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a0055d8 <_sk_callback_sse41+0xa00064d> .byte 255 // (bad) .byte 255 // (bad) - .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3004e70 <_sk_callback_sse41+0x3000622> + .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 30055e0 <_sk_callback_sse41+0x3000655> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) @@ -26680,11 +27133,11 @@ BALIGN16 .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 4f3b <.literal16+0x60b> + .byte 127,67 // jg 56ab <.literal16+0x62b> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 4f3f <.literal16+0x60f> + .byte 127,67 // jg 56af <.literal16+0x62f> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 4f43 <.literal16+0x613> + .byte 127,67 // jg 56b3 <.literal16+0x633> .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) @@ -26699,16 +27152,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 4f34 <.literal16+0x604> + .byte 127,0 // jg 56a4 <.literal16+0x624> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 4f38 <.literal16+0x608> + .byte 127,0 // jg 56a8 <.literal16+0x628> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 4f3c <.literal16+0x60c> + .byte 127,0 // jg 56ac <.literal16+0x62c> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 4f40 <.literal16+0x610> + .byte 127,0 // jg 56b0 <.literal16+0x630> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -26717,7 +27170,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 4fc5 <.literal16+0x695> + .byte 119,115 // ja 5735 <.literal16+0x6b5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -26728,7 +27181,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 4f29 <.literal16+0x5f9> + .byte 117,191 // jne 5699 <.literal16+0x619> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -26740,7 +27193,7 @@ BALIGN16 .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 ffffffffe9a38f6a <_sk_callback_sse41+0xffffffffe9a3471c> + .byte 233,220,63,163,233 // jmpq ffffffffe9a396da <_sk_callback_sse41+0xffffffffe9a3474f> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx @@ -26795,16 +27248,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 5004 <.literal16+0x6d4> + .byte 127,0 // jg 5774 <.literal16+0x6f4> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5008 <.literal16+0x6d8> + .byte 127,0 // jg 5778 <.literal16+0x6f8> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 500c <.literal16+0x6dc> + .byte 127,0 // jg 577c <.literal16+0x6fc> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5010 <.literal16+0x6e0> + .byte 127,0 // jg 5780 <.literal16+0x700> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -26813,7 +27266,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 5095 <.literal16+0x765> + .byte 119,115 // ja 5805 <.literal16+0x785> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -26824,7 +27277,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 4ff9 <.literal16+0x6c9> + .byte 117,191 // jne 5769 <.literal16+0x6e9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -26836,7 +27289,7 @@ BALIGN16 .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 ffffffffe9a3903a <_sk_callback_sse41+0xffffffffe9a347ec> + .byte 233,220,63,163,233 // jmpq ffffffffe9a397aa <_sk_callback_sse41+0xffffffffe9a3481f> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx @@ -26891,16 +27344,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 50d4 <.literal16+0x7a4> + .byte 127,0 // jg 5844 <.literal16+0x7c4> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 50d8 <.literal16+0x7a8> + .byte 127,0 // jg 5848 <.literal16+0x7c8> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 50dc <.literal16+0x7ac> + .byte 127,0 // jg 584c <.literal16+0x7cc> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 50e0 <.literal16+0x7b0> + .byte 127,0 // jg 5850 <.literal16+0x7d0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -26909,7 +27362,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 5165 <.literal16+0x835> + .byte 119,115 // ja 58d5 <.literal16+0x855> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -26920,7 +27373,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 50c9 <.literal16+0x799> + .byte 117,191 // jne 5839 <.literal16+0x7b9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -26932,7 +27385,7 @@ BALIGN16 .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 ffffffffe9a3910a <_sk_callback_sse41+0xffffffffe9a348bc> + .byte 233,220,63,163,233 // jmpq ffffffffe9a3987a <_sk_callback_sse41+0xffffffffe9a348ef> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx @@ -26987,16 +27440,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 51a4 <.literal16+0x874> + .byte 127,0 // jg 5914 <.literal16+0x894> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 51a8 <.literal16+0x878> + .byte 127,0 // jg 5918 <.literal16+0x898> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 51ac <.literal16+0x87c> + .byte 127,0 // jg 591c <.literal16+0x89c> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 51b0 <.literal16+0x880> + .byte 127,0 // jg 5920 <.literal16+0x8a0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -27005,7 +27458,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 5235 <.literal16+0x905> + .byte 119,115 // ja 59a5 <.literal16+0x925> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -27016,7 +27469,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 5199 <.literal16+0x869> + .byte 117,191 // jne 5909 <.literal16+0x889> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -27028,7 +27481,7 @@ BALIGN16 .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 ffffffffe9a391da <_sk_callback_sse41+0xffffffffe9a3498c> + .byte 233,220,63,163,233 // jmpq ffffffffe9a3994a <_sk_callback_sse41+0xffffffffe9a349bf> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx @@ -27079,13 +27532,13 @@ BALIGN16 .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 52b7 <.literal16+0x987> + .byte 127,67 // jg 5a27 <.literal16+0x9a7> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 52bb <.literal16+0x98b> + .byte 127,67 // jg 5a2b <.literal16+0x9ab> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 52bf <.literal16+0x98f> + .byte 127,67 // jg 5a2f <.literal16+0x9af> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 52c3 <.literal16+0x993> + .byte 127,67 // jg 5a33 <.literal16+0x9b3> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) @@ -27132,20 +27585,28 @@ BALIGN16 .byte 128,3,62 // addb $0x3e,(%rbx) .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 5343 <.literal16+0xa13> + .byte 118,63 // jbe 5ab3 <.literal16+0xa33> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 5347 <.literal16+0xa17> + .byte 118,63 // jbe 5ab7 <.literal16+0xa37> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 534b <.literal16+0xa1b> + .byte 118,63 // jbe 5abb <.literal16+0xa3b> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 534f <.literal16+0xa1f> + .byte 118,63 // jbe 5abf <.literal16+0xa3f> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) + .byte 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,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) @@ -27153,11 +27614,19 @@ BALIGN16 .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 538b <.literal16+0xa5b> + .byte 127,67 // jg 5b0b <.literal16+0xa8b> + .byte 0,0 // add %al,(%rax) + .byte 127,67 // jg 5b0f <.literal16+0xa8f> + .byte 0,0 // add %al,(%rax) + .byte 127,67 // jg 5b13 <.literal16+0xa93> + .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 538f <.literal16+0xa5f> + .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 127,67 // jg 5393 <.literal16+0xa63> .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) @@ -27186,7 +27655,7 @@ BALIGN16 .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) # 30053c0 <_sk_callback_sse41+0x3000b72> + .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3005b50 <_sk_callback_sse41+0x3000bc5> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) @@ -27215,13 +27684,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 53f9 <.literal16+0xac9> + .byte 224,7 // loopne 5b89 <.literal16+0xb09> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 53fd <.literal16+0xacd> + .byte 224,7 // loopne 5b8d <.literal16+0xb0d> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5401 <.literal16+0xad1> + .byte 224,7 // loopne 5b91 <.literal16+0xb11> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5405 <.literal16+0xad5> + .byte 224,7 // loopne 5b95 <.literal16+0xb15> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -27267,13 +27736,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 5469 <.literal16+0xb39> + .byte 224,7 // loopne 5bf9 <.literal16+0xb79> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 546d <.literal16+0xb3d> + .byte 224,7 // loopne 5bfd <.literal16+0xb7d> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5471 <.literal16+0xb41> + .byte 224,7 // loopne 5c01 <.literal16+0xb81> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5475 <.literal16+0xb45> + .byte 224,7 // loopne 5c05 <.literal16+0xb85> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -27311,13 +27780,13 @@ BALIGN16 .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) - .byte 124,66 // jl 5506 <.literal16+0xbd6> + .byte 124,66 // jl 5c96 <.literal16+0xc16> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 550a <.literal16+0xbda> + .byte 124,66 // jl 5c9a <.literal16+0xc1a> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 550e <.literal16+0xbde> + .byte 124,66 // jl 5c9e <.literal16+0xc1e> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 5512 <.literal16+0xbe2> + .byte 124,66 // jl 5ca2 <.literal16+0xc22> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al @@ -27407,13 +27876,13 @@ BALIGN16 .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 5615 <.literal16+0xce5> + .byte 112,65 // jo 5da5 <.literal16+0xd25> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 5619 <.literal16+0xce9> + .byte 112,65 // jo 5da9 <.literal16+0xd29> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 561d <.literal16+0xced> + .byte 112,65 // jo 5dad <.literal16+0xd2d> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 5621 <.literal16+0xcf1> + .byte 112,65 // jo 5db1 <.literal16+0xd31> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) @@ -27428,7 +27897,7 @@ BALIGN16 .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) # 3005610 <_sk_callback_sse41+0x3000dc2> + .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3005da0 <_sk_callback_sse41+0x3000e15> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) @@ -27455,7 +27924,7 @@ BALIGN16 .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) # 3005650 <_sk_callback_sse41+0x3000e02> + .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3005de0 <_sk_callback_sse41+0x3000e55> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) @@ -27470,11 +27939,11 @@ BALIGN16 .byte 255,0 // incl (%rax) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 56ab <.literal16+0xd7b> + .byte 127,67 // jg 5e3b <.literal16+0xdbb> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 56af <.literal16+0xd7f> + .byte 127,67 // jg 5e3f <.literal16+0xdbf> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 56b3 <.literal16+0xd83> + .byte 127,67 // jg 5e43 <.literal16+0xdc3> .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) @@ -27550,13 +28019,13 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 255 // (bad) - .byte 127,71 // jg 577b <.literal16+0xe4b> + .byte 127,71 // jg 5f0b <.literal16+0xe8b> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 577f <.literal16+0xe4f> + .byte 127,71 // jg 5f0f <.literal16+0xe8f> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 5783 <.literal16+0xe53> + .byte 127,71 // jg 5f13 <.literal16+0xe93> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 5787 <.literal16+0xe57> + .byte 127,71 // jg 5f17 <.literal16+0xe97> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) @@ -27602,10 +28071,10 @@ BALIGN16 .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) # 2dc068ba <_sk_callback_sse41+0x2dc0206c> + .byte 192,45,16,17,192,45,16 // shrb $0x10,0x2dc01110(%rip) # 2dc0704a <_sk_callback_sse41+0x2dc020bf> .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax - .byte 120,57 // js 57ec <.literal16+0xebc> + .byte 120,57 // js 5f7c <.literal16+0xefc> .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 @@ -27727,11 +28196,11 @@ BALIGN16 .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 5922 <.literal16+0xff2> + .byte 62,114,28 // jb,pt 60b2 <.literal16+0x1032> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5926 <.literal16+0xff6> + .byte 62,114,28 // jb,pt 60b6 <.literal16+0x1036> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 592a <.literal16+0xffa> + .byte 62,114,28 // jb,pt 60ba <.literal16+0x103a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -27775,7 +28244,7 @@ BALIGN16 .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 # 3d63e7b5 <_sk_callback_sse41+0x3d639f67> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63ef45 <_sk_callback_sse41+0x3d639fba> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -27801,7 +28270,7 @@ BALIGN16 .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 # 3d63e7f5 <_sk_callback_sse41+0x3d639fa7> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63ef85 <_sk_callback_sse41+0x3d639ffa> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al @@ -27810,13 +28279,13 @@ BALIGN16 .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) - .byte 114,28 // jb 59ee <.literal16+0x10be> + .byte 114,28 // jb 617e <.literal16+0x10fe> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 59f2 <.literal16+0x10c2> + .byte 62,114,28 // jb,pt 6182 <.literal16+0x1102> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 59f6 <.literal16+0x10c6> + .byte 62,114,28 // jb,pt 6186 <.literal16+0x1106> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 59fa <.literal16+0x10ca> + .byte 62,114,28 // jb,pt 618a <.literal16+0x110a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -27837,11 +28306,11 @@ BALIGN16 .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 5a32 <.literal16+0x1102> + .byte 62,114,28 // jb,pt 61c2 <.literal16+0x1142> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5a36 <.literal16+0x1106> + .byte 62,114,28 // jb,pt 61c6 <.literal16+0x1146> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5a3a <.literal16+0x110a> + .byte 62,114,28 // jb,pt 61ca <.literal16+0x114a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -27885,7 +28354,7 @@ BALIGN16 .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 # 3d63e8c5 <_sk_callback_sse41+0x3d63a077> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f055 <_sk_callback_sse41+0x3d63a0ca> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -27911,7 +28380,7 @@ BALIGN16 .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 # 3d63e905 <_sk_callback_sse41+0x3d63a0b7> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f095 <_sk_callback_sse41+0x3d63a10a> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al @@ -27920,13 +28389,13 @@ BALIGN16 .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) - .byte 114,28 // jb 5afe <.literal16+0x11ce> + .byte 114,28 // jb 628e <.literal16+0x120e> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5b02 <_sk_callback_sse41+0x12b4> + .byte 62,114,28 // jb,pt 6292 <_sk_callback_sse41+0x1307> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5b06 <_sk_callback_sse41+0x12b8> + .byte 62,114,28 // jb,pt 6296 <_sk_callback_sse41+0x130b> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5b0a <_sk_callback_sse41+0x12bc> + .byte 62,114,28 // jb,pt 629a <_sk_callback_sse41+0x130f> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -27947,17 +28416,18 @@ _sk_start_pipeline_sse2: .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx - .byte 73,137,207 // mov %rcx,%r15 + .byte 73,137,205 // mov %rcx,%r13 .byte 73,137,214 // mov %rdx,%r14 .byte 72,137,251 // mov %rdi,%rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 73,137,196 // mov %rax,%r12 - .byte 73,137,245 // mov %rsi,%r13 + .byte 73,137,199 // mov %rax,%r15 + .byte 73,137,244 // mov %rsi,%r12 .byte 72,141,67,4 // lea 0x4(%rbx),%rax - .byte 76,57,248 // cmp %r15,%rax + .byte 76,57,232 // cmp %r13,%rax .byte 118,5 // jbe 28 <_sk_start_pipeline_sse2+0x28> - .byte 72,137,216 // mov %rbx,%rax - .byte 235,52 // jmp 5c <_sk_start_pipeline_sse2+0x5c> + .byte 72,137,223 // mov %rbx,%rdi + .byte 235,57 // jmp 61 <_sk_start_pipeline_sse2+0x61> + .byte 185,0,0,0,0 // mov $0x0,%ecx .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 @@ -27967,14 +28437,29 @@ _sk_start_pipeline_sse2: .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 72,137,223 // mov %rbx,%rdi - .byte 76,137,238 // mov %r13,%rsi + .byte 76,137,230 // mov %r12,%rsi .byte 76,137,242 // mov %r14,%rdx - .byte 65,255,212 // callq *%r12 - .byte 72,141,67,4 // lea 0x4(%rbx),%rax + .byte 65,255,215 // callq *%r15 + .byte 72,141,123,4 // lea 0x4(%rbx),%rdi .byte 72,131,195,8 // add $0x8,%rbx - .byte 76,57,251 // cmp %r15,%rbx - .byte 72,137,195 // mov %rax,%rbx - .byte 118,204 // jbe 28 <_sk_start_pipeline_sse2+0x28> + .byte 76,57,235 // cmp %r13,%rbx + .byte 72,137,251 // mov %rdi,%rbx + .byte 118,199 // jbe 28 <_sk_start_pipeline_sse2+0x28> + .byte 76,137,233 // mov %r13,%rcx + .byte 72,41,249 // sub %rdi,%rcx + .byte 116,33 // je 8a <_sk_start_pipeline_sse2+0x8a> + .byte 15,87,192 // xorps %xmm0,%xmm0 + .byte 15,87,201 // xorps %xmm1,%xmm1 + .byte 15,87,210 // xorps %xmm2,%xmm2 + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 15,87,228 // xorps %xmm4,%xmm4 + .byte 15,87,237 // xorps %xmm5,%xmm5 + .byte 15,87,246 // xorps %xmm6,%xmm6 + .byte 15,87,255 // xorps %xmm7,%xmm7 + .byte 76,137,230 // mov %r12,%rsi + .byte 76,137,242 // mov %r14,%rdx + .byte 65,255,215 // callq *%r15 + .byte 76,137,232 // mov %r13,%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 @@ -27996,7 +28481,7 @@ _sk_seed_shader_sse2: .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,21,84,77,0,0 // movaps 0x4d54(%rip),%xmm2 # 4dd0 <_sk_callback_sse2+0xe4> + .byte 15,40,21,35,85,0,0 // movaps 0x5523(%rip),%xmm2 # 55d0 <_sk_callback_sse2+0xe8> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,16,2 // movups (%rdx),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 @@ -28005,7 +28490,7 @@ _sk_seed_shader_sse2: .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,67,77,0,0 // movaps 0x4d43(%rip),%xmm2 # 4de0 <_sk_callback_sse2+0xf4> + .byte 15,40,21,18,85,0,0 // movaps 0x5512(%rip),%xmm2 # 55e0 <_sk_callback_sse2+0xf8> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 @@ -28022,18 +28507,18 @@ _sk_dither_sse2: .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 243,68,15,111,74,32 // movdqu 0x20(%rdx),%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 - .byte 72,139,8 // mov (%rax),%rcx - .byte 102,68,15,110,1 // movd (%rcx),%xmm8 + .byte 76,139,0 // mov (%rax),%r8 + .byte 102,69,15,110,0 // movd (%r8),%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,14,77,0,0 // movdqa 0x4d0e(%rip),%xmm10 # 4df0 <_sk_callback_sse2+0x104> + .byte 102,68,15,111,21,221,84,0,0 // movdqa 0x54dd(%rip),%xmm10 # 55f0 <_sk_callback_sse2+0x108> .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,250,76,0,0 // movdqa 0x4cfa(%rip),%xmm12 # 4e00 <_sk_callback_sse2+0x114> - .byte 102,68,15,111,45,1,77,0,0 // movdqa 0x4d01(%rip),%xmm13 # 4e10 <_sk_callback_sse2+0x124> + .byte 102,68,15,111,37,201,84,0,0 // movdqa 0x54c9(%rip),%xmm12 # 5600 <_sk_callback_sse2+0x118> + .byte 102,68,15,111,45,208,84,0,0 // movdqa 0x54d0(%rip),%xmm13 # 5610 <_sk_callback_sse2+0x128> .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 @@ -28049,8 +28534,8 @@ _sk_dither_sse2: .byte 102,69,15,235,198 // por %xmm14,%xmm8 .byte 102,69,15,235,197 // por %xmm13,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,188,76,0,0 // mulps 0x4cbc(%rip),%xmm8 # 4e20 <_sk_callback_sse2+0x134> - .byte 68,15,88,5,196,76,0,0 // addps 0x4cc4(%rip),%xmm8 # 4e30 <_sk_callback_sse2+0x144> + .byte 68,15,89,5,139,84,0,0 // mulps 0x548b(%rip),%xmm8 # 5620 <_sk_callback_sse2+0x138> + .byte 68,15,88,5,147,84,0,0 // addps 0x5493(%rip),%xmm8 # 5630 <_sk_callback_sse2+0x148> .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 @@ -28127,7 +28612,7 @@ HIDDEN _sk_srcatop_sse2 FUNCTION(_sk_srcatop_sse2) _sk_srcatop_sse2: .byte 15,89,199 // mulps %xmm7,%xmm0 - .byte 68,15,40,5,29,76,0,0 // movaps 0x4c1d(%rip),%xmm8 # 4e40 <_sk_callback_sse2+0x154> + .byte 68,15,40,5,236,83,0,0 // movaps 0x53ec(%rip),%xmm8 # 5640 <_sk_callback_sse2+0x158> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 @@ -28152,7 +28637,7 @@ FUNCTION(_sk_dstatop_sse2) _sk_dstatop_sse2: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 - .byte 68,15,40,13,224,75,0,0 // movaps 0x4be0(%rip),%xmm9 # 4e50 <_sk_callback_sse2+0x164> + .byte 68,15,40,13,175,83,0,0 // movaps 0x53af(%rip),%xmm9 # 5650 <_sk_callback_sse2+0x168> .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 @@ -28199,7 +28684,7 @@ HIDDEN _sk_srcout_sse2 .globl _sk_srcout_sse2 FUNCTION(_sk_srcout_sse2) _sk_srcout_sse2: - .byte 68,15,40,5,132,75,0,0 // movaps 0x4b84(%rip),%xmm8 # 4e60 <_sk_callback_sse2+0x174> + .byte 68,15,40,5,83,83,0,0 // movaps 0x5353(%rip),%xmm8 # 5660 <_sk_callback_sse2+0x178> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 @@ -28212,7 +28697,7 @@ HIDDEN _sk_dstout_sse2 .globl _sk_dstout_sse2 FUNCTION(_sk_dstout_sse2) _sk_dstout_sse2: - .byte 68,15,40,5,116,75,0,0 // movaps 0x4b74(%rip),%xmm8 # 4e70 <_sk_callback_sse2+0x184> + .byte 68,15,40,5,67,83,0,0 // movaps 0x5343(%rip),%xmm8 # 5670 <_sk_callback_sse2+0x188> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 @@ -28229,7 +28714,7 @@ HIDDEN _sk_srcover_sse2 .globl _sk_srcover_sse2 FUNCTION(_sk_srcover_sse2) _sk_srcover_sse2: - .byte 68,15,40,5,87,75,0,0 // movaps 0x4b57(%rip),%xmm8 # 4e80 <_sk_callback_sse2+0x194> + .byte 68,15,40,5,38,83,0,0 // movaps 0x5326(%rip),%xmm8 # 5680 <_sk_callback_sse2+0x198> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 @@ -28249,7 +28734,7 @@ HIDDEN _sk_dstover_sse2 .globl _sk_dstover_sse2 FUNCTION(_sk_dstover_sse2) _sk_dstover_sse2: - .byte 68,15,40,5,43,75,0,0 // movaps 0x4b2b(%rip),%xmm8 # 4e90 <_sk_callback_sse2+0x1a4> + .byte 68,15,40,5,250,82,0,0 // movaps 0x52fa(%rip),%xmm8 # 5690 <_sk_callback_sse2+0x1a8> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 @@ -28277,7 +28762,7 @@ HIDDEN _sk_multiply_sse2 .globl _sk_multiply_sse2 FUNCTION(_sk_multiply_sse2) _sk_multiply_sse2: - .byte 68,15,40,5,255,74,0,0 // movaps 0x4aff(%rip),%xmm8 # 4ea0 <_sk_callback_sse2+0x1b4> + .byte 68,15,40,5,206,82,0,0 // movaps 0x52ce(%rip),%xmm8 # 56a0 <_sk_callback_sse2+0x1b8> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,209 // movaps %xmm9,%xmm10 @@ -28326,26 +28811,25 @@ HIDDEN _sk_screen_sse2 FUNCTION(_sk_screen_sse2) _sk_screen_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,88,196 // addps %xmm4,%xmm8 - .byte 15,89,196 // mulps %xmm4,%xmm0 - .byte 68,15,92,192 // subps %xmm0,%xmm8 - .byte 68,15,40,201 // movaps %xmm1,%xmm9 - .byte 68,15,88,205 // addps %xmm5,%xmm9 + .byte 15,88,196 // addps %xmm4,%xmm0 + .byte 68,15,89,196 // mulps %xmm4,%xmm8 + .byte 65,15,92,192 // subps %xmm8,%xmm0 + .byte 68,15,40,193 // movaps %xmm1,%xmm8 + .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 - .byte 68,15,92,201 // subps %xmm1,%xmm9 - .byte 68,15,40,210 // movaps %xmm2,%xmm10 - .byte 68,15,88,214 // addps %xmm6,%xmm10 + .byte 68,15,92,193 // subps %xmm1,%xmm8 + .byte 68,15,40,202 // movaps %xmm2,%xmm9 + .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 - .byte 68,15,92,210 // subps %xmm2,%xmm10 - .byte 68,15,40,219 // movaps %xmm3,%xmm11 - .byte 68,15,88,223 // addps %xmm7,%xmm11 + .byte 68,15,92,202 // subps %xmm2,%xmm9 + .byte 68,15,40,211 // movaps %xmm3,%xmm10 + .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 - .byte 68,15,92,219 // subps %xmm3,%xmm11 + .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,192 // movaps %xmm8,%xmm0 - .byte 65,15,40,201 // movaps %xmm9,%xmm1 - .byte 65,15,40,210 // movaps %xmm10,%xmm2 - .byte 65,15,40,219 // movaps %xmm11,%xmm3 + .byte 65,15,40,200 // movaps %xmm8,%xmm1 + .byte 65,15,40,209 // movaps %xmm9,%xmm2 + .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse2 @@ -28353,7 +28837,7 @@ HIDDEN _sk_xor__sse2 FUNCTION(_sk_xor__sse2) _sk_xor__sse2: .byte 68,15,40,195 // movaps %xmm3,%xmm8 - .byte 15,40,29,48,74,0,0 // movaps 0x4a30(%rip),%xmm3 # 4eb0 <_sk_callback_sse2+0x1c4> + .byte 15,40,29,3,82,0,0 // movaps 0x5203(%rip),%xmm3 # 56b0 <_sk_callback_sse2+0x1c8> .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 @@ -28401,7 +28885,7 @@ _sk_darken_sse2: .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,155,73,0,0 // movaps 0x499b(%rip),%xmm2 # 4ec0 <_sk_callback_sse2+0x1d4> + .byte 15,40,21,110,81,0,0 // movaps 0x516e(%rip),%xmm2 # 56c0 <_sk_callback_sse2+0x1d8> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -28435,7 +28919,7 @@ _sk_lighten_sse2: .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,64,73,0,0 // movaps 0x4940(%rip),%xmm2 # 4ed0 <_sk_callback_sse2+0x1e4> + .byte 15,40,21,19,81,0,0 // movaps 0x5113(%rip),%xmm2 # 56d0 <_sk_callback_sse2+0x1e8> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -28472,7 +28956,7 @@ _sk_difference_sse2: .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,218,72,0,0 // movaps 0x48da(%rip),%xmm2 # 4ee0 <_sk_callback_sse2+0x1f4> + .byte 15,40,21,173,80,0,0 // movaps 0x50ad(%rip),%xmm2 # 56e0 <_sk_callback_sse2+0x1f8> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 @@ -28484,28 +28968,28 @@ HIDDEN _sk_exclusion_sse2 .globl _sk_exclusion_sse2 FUNCTION(_sk_exclusion_sse2) _sk_exclusion_sse2: - .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 15,88,196 // addps %xmm4,%xmm0 - .byte 68,15,89,196 // mulps %xmm4,%xmm8 - .byte 69,15,88,192 // addps %xmm8,%xmm8 - .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 - .byte 68,15,88,197 // addps %xmm5,%xmm8 - .byte 15,89,205 // mulps %xmm5,%xmm1 + .byte 15,40,200 // movaps %xmm0,%xmm1 + .byte 15,88,196 // addps %xmm4,%xmm0 + .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 - .byte 68,15,92,193 // subps %xmm1,%xmm8 - .byte 68,15,40,202 // movaps %xmm2,%xmm9 - .byte 68,15,88,206 // addps %xmm6,%xmm9 + .byte 15,92,193 // subps %xmm1,%xmm0 + .byte 65,15,40,200 // movaps %xmm8,%xmm1 + .byte 15,88,205 // addps %xmm5,%xmm1 + .byte 68,15,89,197 // mulps %xmm5,%xmm8 + .byte 69,15,88,192 // addps %xmm8,%xmm8 + .byte 65,15,92,200 // subps %xmm8,%xmm1 + .byte 68,15,40,194 // movaps %xmm2,%xmm8 + .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 - .byte 68,15,92,202 // subps %xmm2,%xmm9 - .byte 15,40,13,155,72,0,0 // movaps 0x489b(%rip),%xmm1 # 4ef0 <_sk_callback_sse2+0x204> - .byte 15,92,203 // subps %xmm3,%xmm1 - .byte 15,89,207 // mulps %xmm7,%xmm1 - .byte 15,88,217 // addps %xmm1,%xmm3 + .byte 68,15,92,194 // subps %xmm2,%xmm8 + .byte 15,40,21,109,80,0,0 // movaps 0x506d(%rip),%xmm2 # 56f0 <_sk_callback_sse2+0x208> + .byte 15,92,211 // subps %xmm3,%xmm2 + .byte 15,89,215 // mulps %xmm7,%xmm2 + .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,200 // movaps %xmm8,%xmm1 - .byte 65,15,40,209 // movaps %xmm9,%xmm2 + .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse2 @@ -28513,7 +28997,7 @@ HIDDEN _sk_colorburn_sse2 FUNCTION(_sk_colorburn_sse2) _sk_colorburn_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 68,15,40,21,138,72,0,0 // movaps 0x488a(%rip),%xmm10 # 4f00 <_sk_callback_sse2+0x214> + .byte 68,15,40,21,96,80,0,0 // movaps 0x5060(%rip),%xmm10 # 5700 <_sk_callback_sse2+0x218> .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,217 // movaps %xmm9,%xmm11 @@ -28607,7 +29091,7 @@ HIDDEN _sk_colordodge_sse2 FUNCTION(_sk_colordodge_sse2) _sk_colordodge_sse2: .byte 68,15,40,200 // movaps %xmm0,%xmm9 - .byte 68,15,40,21,64,71,0,0 // movaps 0x4740(%rip),%xmm10 # 4f10 <_sk_callback_sse2+0x224> + .byte 68,15,40,21,22,79,0,0 // movaps 0x4f16(%rip),%xmm10 # 5710 <_sk_callback_sse2+0x228> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 @@ -28701,7 +29185,7 @@ _sk_hardlight_sse2: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 - .byte 68,15,40,29,245,69,0,0 // movaps 0x45f5(%rip),%xmm11 # 4f20 <_sk_callback_sse2+0x234> + .byte 68,15,40,29,203,77,0,0 // movaps 0x4dcb(%rip),%xmm11 # 5720 <_sk_callback_sse2+0x238> .byte 69,15,40,211 // movaps %xmm11,%xmm10 .byte 68,15,92,215 // subps %xmm7,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 @@ -28789,7 +29273,7 @@ FUNCTION(_sk_overlay_sse2) _sk_overlay_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,232 // movaps %xmm0,%xmm13 - .byte 68,15,40,13,195,68,0,0 // movaps 0x44c3(%rip),%xmm9 # 4f30 <_sk_callback_sse2+0x244> + .byte 68,15,40,13,153,76,0,0 // movaps 0x4c99(%rip),%xmm9 # 5730 <_sk_callback_sse2+0x248> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,92,215 // subps %xmm7,%xmm10 .byte 69,15,40,218 // movaps %xmm10,%xmm11 @@ -28880,7 +29364,7 @@ _sk_softlight_sse2: .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,128,67,0,0 // movaps 0x4380(%rip),%xmm9 # 4f40 <_sk_callback_sse2+0x254> + .byte 68,15,40,13,86,75,0,0 // movaps 0x4b56(%rip),%xmm9 # 5740 <_sk_callback_sse2+0x258> .byte 69,15,40,249 // movaps %xmm9,%xmm15 .byte 69,15,92,250 // subps %xmm10,%xmm15 .byte 69,15,40,218 // movaps %xmm10,%xmm11 @@ -28893,10 +29377,10 @@ _sk_softlight_sse2: .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,90,67,0,0 // movaps 0x435a(%rip),%xmm14 # 4f50 <_sk_callback_sse2+0x264> + .byte 68,15,40,53,48,75,0,0 // movaps 0x4b30(%rip),%xmm14 # 5750 <_sk_callback_sse2+0x268> .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 68,15,89,216 // mulps %xmm0,%xmm11 - .byte 68,15,40,21,90,67,0,0 // movaps 0x435a(%rip),%xmm10 # 4f60 <_sk_callback_sse2+0x274> + .byte 68,15,40,21,48,75,0,0 // movaps 0x4b30(%rip),%xmm10 # 5760 <_sk_callback_sse2+0x278> .byte 69,15,89,234 // mulps %xmm10,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 15,88,228 // addps %xmm4,%xmm4 @@ -29041,7 +29525,7 @@ _sk_hue_sse2: .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,157,65,0,0 // movaps 0x419d(%rip),%xmm8 # 4fa0 <_sk_callback_sse2+0x2b4> + .byte 68,15,40,5,115,73,0,0 // movaps 0x4973(%rip),%xmm8 # 57a0 <_sk_callback_sse2+0x2b8> .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 68,15,92,217 // subps %xmm1,%xmm11 @@ -29053,11 +29537,13 @@ _sk_hue_sse2: .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 68,15,40,237 // movaps %xmm5,%xmm13 + .byte 15,40,197 // movaps %xmm5,%xmm0 + .byte 15,41,68,36,200 // movaps %xmm0,-0x38(%rsp) .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 68,15,95,239 // maxps %xmm7,%xmm13 - .byte 15,41,100,36,200 // movaps %xmm4,-0x38(%rsp) - .byte 68,15,40,244 // movaps %xmm4,%xmm14 - .byte 68,15,40,252 // movaps %xmm4,%xmm15 + .byte 15,40,236 // movaps %xmm4,%xmm5 + .byte 68,15,40,245 // movaps %xmm5,%xmm14 + .byte 68,15,40,253 // movaps %xmm5,%xmm15 .byte 69,15,95,253 // maxps %xmm13,%xmm15 .byte 68,15,93,231 // minps %xmm7,%xmm12 .byte 69,15,93,244 // minps %xmm12,%xmm14 @@ -29074,25 +29560,25 @@ _sk_hue_sse2: .byte 69,15,92,205 // subps %xmm13,%xmm9 .byte 69,15,92,213 // subps %xmm13,%xmm10 .byte 65,15,92,213 // subps %xmm13,%xmm2 - .byte 15,40,245 // movaps %xmm5,%xmm6 + .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 68,15,89,251 // mulps %xmm3,%xmm15 .byte 69,15,89,207 // mulps %xmm15,%xmm9 .byte 69,15,89,215 // mulps %xmm15,%xmm10 .byte 65,15,89,215 // mulps %xmm15,%xmm2 - .byte 15,87,192 // xorps %xmm0,%xmm0 + .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,94,206 // divps %xmm14,%xmm9 .byte 69,15,94,214 // divps %xmm14,%xmm10 .byte 65,15,94,214 // divps %xmm14,%xmm2 - .byte 68,15,194,240,4 // cmpneqps %xmm0,%xmm14 + .byte 69,15,194,244,4 // cmpneqps %xmm12,%xmm14 .byte 69,15,84,206 // andps %xmm14,%xmm9 .byte 69,15,84,214 // andps %xmm14,%xmm10 .byte 65,15,84,214 // andps %xmm14,%xmm2 - .byte 68,15,40,61,177,64,0,0 // movaps 0x40b1(%rip),%xmm15 # 4f70 <_sk_callback_sse2+0x284> + .byte 68,15,40,61,128,72,0,0 // movaps 0x4880(%rip),%xmm15 # 5770 <_sk_callback_sse2+0x288> .byte 65,15,89,231 // mulps %xmm15,%xmm4 - .byte 15,40,5,182,64,0,0 // movaps 0x40b6(%rip),%xmm0 # 4f80 <_sk_callback_sse2+0x294> + .byte 15,40,5,133,72,0,0 // movaps 0x4885(%rip),%xmm0 # 5780 <_sk_callback_sse2+0x298> .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 - .byte 68,15,40,53,184,64,0,0 // movaps 0x40b8(%rip),%xmm14 # 4f90 <_sk_callback_sse2+0x2a4> + .byte 68,15,40,53,135,72,0,0 // movaps 0x4887(%rip),%xmm14 # 5790 <_sk_callback_sse2+0x2a8> .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,88,238 // addps %xmm6,%xmm13 @@ -29135,13 +29621,13 @@ _sk_hue_sse2: .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 68,15,86,200 // orps %xmm0,%xmm9 - .byte 68,15,40,227 // movaps %xmm3,%xmm12 - .byte 65,15,40,196 // movaps %xmm12,%xmm0 + .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,41,76,36,184 // movaps %xmm1,-0x48(%rsp) .byte 15,89,193 // mulps %xmm1,%xmm0 - .byte 69,15,92,196 // subps %xmm12,%xmm8 - .byte 68,15,88,225 // addps %xmm1,%xmm12 - .byte 68,15,92,224 // subps %xmm0,%xmm12 + .byte 68,15,92,195 // subps %xmm3,%xmm8 + .byte 15,88,217 // addps %xmm1,%xmm3 + .byte 15,92,216 // subps %xmm0,%xmm3 + .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,194,196,1 // cmpltps %xmm4,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 @@ -29187,19 +29673,18 @@ _sk_hue_sse2: .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 - .byte 15,87,192 // xorps %xmm0,%xmm0 - .byte 68,15,95,200 // maxps %xmm0,%xmm9 - .byte 68,15,95,208 // maxps %xmm0,%xmm10 - .byte 15,95,208 // maxps %xmm0,%xmm2 + .byte 69,15,95,204 // maxps %xmm12,%xmm9 + .byte 69,15,95,212 // maxps %xmm12,%xmm10 + .byte 65,15,95,212 // maxps %xmm12,%xmm2 .byte 65,15,40,192 // movaps %xmm8,%xmm0 - .byte 15,40,100,36,200 // movaps -0x38(%rsp),%xmm4 - .byte 15,89,196 // mulps %xmm4,%xmm0 + .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,76,36,232 // movaps -0x18(%rsp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,40,216 // movaps %xmm8,%xmm3 - .byte 15,89,221 // mulps %xmm5,%xmm3 + .byte 15,40,116,36,200 // movaps -0x38(%rsp),%xmm6 + .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,40,76,36,216 // movaps -0x28(%rsp),%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 @@ -29207,9 +29692,11 @@ _sk_hue_sse2: .byte 69,15,88,195 // addps %xmm11,%xmm8 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax + .byte 15,40,229 // movaps %xmm5,%xmm4 + .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 65,15,40,208 // movaps %xmm8,%xmm2 - .byte 65,15,40,220 // movaps %xmm12,%xmm3 + .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,124,36,184 // movaps -0x48(%rsp),%xmm7 .byte 255,224 // jmpq *%rax @@ -29269,14 +29756,14 @@ _sk_saturation_sse2: .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,77,62,0,0 // movaps 0x3e4d(%rip),%xmm8 # 4fb0 <_sk_callback_sse2+0x2c4> + .byte 68,15,40,5,25,70,0,0 // movaps 0x4619(%rip),%xmm8 # 57b0 <_sk_callback_sse2+0x2c8> .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 - .byte 15,40,13,79,62,0,0 // movaps 0x3e4f(%rip),%xmm1 # 4fc0 <_sk_callback_sse2+0x2d4> + .byte 15,40,13,27,70,0,0 // movaps 0x461b(%rip),%xmm1 # 57c0 <_sk_callback_sse2+0x2d8> .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,78,62,0,0 // movaps 0x3e4e(%rip),%xmm12 # 4fd0 <_sk_callback_sse2+0x2e4> + .byte 68,15,40,37,26,70,0,0 // movaps 0x461a(%rip),%xmm12 # 57d0 <_sk_callback_sse2+0x2e8> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,235 // addps %xmm3,%xmm13 .byte 65,15,40,210 // movaps %xmm10,%xmm2 @@ -29321,7 +29808,7 @@ _sk_saturation_sse2: .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,179,61,0,0 // movaps 0x3db3(%rip),%xmm8 # 4fe0 <_sk_callback_sse2+0x2f4> + .byte 68,15,40,5,127,69,0,0 // movaps 0x457f(%rip),%xmm8 # 57e0 <_sk_callback_sse2+0x2f8> .byte 65,15,40,224 // movaps %xmm8,%xmm4 .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 15,88,253 // addps %xmm5,%xmm7 @@ -29422,14 +29909,14 @@ _sk_color_sse2: .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,40,208 // movaps %xmm8,%xmm2 - .byte 68,15,40,45,81,60,0,0 // movaps 0x3c51(%rip),%xmm13 # 4ff0 <_sk_callback_sse2+0x304> + .byte 68,15,40,45,29,68,0,0 // movaps 0x441d(%rip),%xmm13 # 57f0 <_sk_callback_sse2+0x308> .byte 68,15,40,198 // movaps %xmm6,%xmm8 .byte 69,15,89,197 // mulps %xmm13,%xmm8 - .byte 68,15,40,53,81,60,0,0 // movaps 0x3c51(%rip),%xmm14 # 5000 <_sk_callback_sse2+0x314> + .byte 68,15,40,53,29,68,0,0 // movaps 0x441d(%rip),%xmm14 # 5800 <_sk_callback_sse2+0x318> .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 - .byte 68,15,40,29,77,60,0,0 // movaps 0x3c4d(%rip),%xmm11 # 5010 <_sk_callback_sse2+0x324> + .byte 68,15,40,29,25,68,0,0 // movaps 0x4419(%rip),%xmm11 # 5810 <_sk_callback_sse2+0x328> .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 @@ -29437,7 +29924,7 @@ _sk_color_sse2: .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,57,60,0,0 // movaps 0x3c39(%rip),%xmm8 # 5020 <_sk_callback_sse2+0x334> + .byte 68,15,40,5,5,68,0,0 // movaps 0x4405(%rip),%xmm8 # 5820 <_sk_callback_sse2+0x338> .byte 65,15,40,224 // movaps %xmm8,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,89,252 // mulps %xmm4,%xmm7 @@ -29573,15 +30060,15 @@ _sk_luminosity_sse2: .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,80,58,0,0 // movaps 0x3a50(%rip),%xmm12 # 5030 <_sk_callback_sse2+0x344> + .byte 68,15,40,37,28,66,0,0 // movaps 0x421c(%rip),%xmm12 # 5830 <_sk_callback_sse2+0x348> .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 - .byte 68,15,40,45,80,58,0,0 // movaps 0x3a50(%rip),%xmm13 # 5040 <_sk_callback_sse2+0x354> + .byte 68,15,40,45,28,66,0,0 // movaps 0x421c(%rip),%xmm13 # 5840 <_sk_callback_sse2+0x358> .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,76,58,0,0 // movaps 0x3a4c(%rip),%xmm11 # 5050 <_sk_callback_sse2+0x364> - .byte 68,15,40,5,84,58,0,0 // movaps 0x3a54(%rip),%xmm8 # 5060 <_sk_callback_sse2+0x374> + .byte 68,15,40,29,24,66,0,0 // movaps 0x4218(%rip),%xmm11 # 5850 <_sk_callback_sse2+0x368> + .byte 68,15,40,5,32,66,0,0 // movaps 0x4220(%rip),%xmm8 # 5860 <_sk_callback_sse2+0x378> .byte 69,15,40,248 // movaps %xmm8,%xmm15 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 68,15,92,248 // subps %xmm0,%xmm15 @@ -29714,58 +30201,94 @@ HIDDEN _sk_srcover_rgba_8888_sse2 .globl _sk_srcover_rgba_8888_sse2 FUNCTION(_sk_srcover_rgba_8888_sse2) _sk_srcover_rgba_8888_sse2: - .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 15,16,4,184 // movups (%rax,%rdi,4),%xmm0 - .byte 15,40,53,105,56,0,0 // movaps 0x3869(%rip),%xmm6 # 5070 <_sk_callback_sse2+0x384> - .byte 15,40,224 // movaps %xmm0,%xmm4 - .byte 15,84,230 // andps %xmm6,%xmm4 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,227,0,0,0 // jne 1918 <_sk_srcover_rgba_8888_sse2+0xf1> + .byte 243,68,15,111,4,184 // movdqu (%rax,%rdi,4),%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 102,15,111,53,42,64,0,0 // movdqa 0x402a(%rip),%xmm6 # 5870 <_sk_callback_sse2+0x388> + .byte 102,65,15,111,224 // movdqa %xmm8,%xmm4 + .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 - .byte 15,40,232 // movaps %xmm0,%xmm5 + .byte 102,65,15,111,232 // movdqa %xmm8,%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 15,40,248 // movaps %xmm0,%xmm7 + .byte 102,65,15,111,248 // movdqa %xmm8,%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 102,15,114,208,24 // psrld $0x18,%xmm0 - .byte 15,91,248 // cvtdq2ps %xmm0,%xmm7 - .byte 68,15,40,5,66,56,0,0 // movaps 0x3842(%rip),%xmm8 # 5080 <_sk_callback_sse2+0x394> + .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 + .byte 65,15,91,248 // cvtdq2ps %xmm8,%xmm7 + .byte 68,15,40,5,250,63,0,0 // movaps 0x3ffa(%rip),%xmm8 # 5880 <_sk_callback_sse2+0x398> .byte 68,15,92,195 // subps %xmm3,%xmm8 - .byte 68,15,40,29,70,56,0,0 // movaps 0x3846(%rip),%xmm11 # 5090 <_sk_callback_sse2+0x3a4> - .byte 69,15,89,203 // mulps %xmm11,%xmm9 - .byte 65,15,40,192 // movaps %xmm8,%xmm0 - .byte 15,89,196 // mulps %xmm4,%xmm0 - .byte 65,15,88,193 // addps %xmm9,%xmm0 - .byte 65,15,89,203 // mulps %xmm11,%xmm1 + .byte 68,15,40,37,254,63,0,0 // movaps 0x3ffe(%rip),%xmm12 # 5890 <_sk_callback_sse2+0x3a8> + .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 69,15,40,200 // movaps %xmm8,%xmm9 - .byte 68,15,89,205 // mulps %xmm5,%xmm9 - .byte 68,15,88,201 // addps %xmm1,%xmm9 - .byte 65,15,89,211 // mulps %xmm11,%xmm2 + .byte 68,15,89,204 // mulps %xmm4,%xmm9 + .byte 68,15,88,200 // addps %xmm0,%xmm9 + .byte 65,15,89,204 // mulps %xmm12,%xmm1 .byte 69,15,40,208 // movaps %xmm8,%xmm10 - .byte 68,15,89,214 // mulps %xmm6,%xmm10 - .byte 68,15,88,210 // addps %xmm2,%xmm10 - .byte 65,15,89,219 // mulps %xmm11,%xmm3 + .byte 68,15,89,213 // mulps %xmm5,%xmm10 + .byte 68,15,88,209 // addps %xmm1,%xmm10 + .byte 65,15,89,212 // mulps %xmm12,%xmm2 + .byte 69,15,40,216 // movaps %xmm8,%xmm11 + .byte 68,15,89,222 // mulps %xmm6,%xmm11 + .byte 68,15,88,218 // addps %xmm2,%xmm11 + .byte 65,15,89,220 // mulps %xmm12,%xmm3 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,88,195 // addps %xmm3,%xmm8 - .byte 102,15,91,200 // cvtps2dq %xmm0,%xmm1 - .byte 102,65,15,91,209 // cvtps2dq %xmm9,%xmm2 - .byte 102,15,114,242,8 // pslld $0x8,%xmm2 - .byte 102,15,235,209 // por %xmm1,%xmm2 + .byte 102,65,15,91,193 // cvtps2dq %xmm9,%xmm0 .byte 102,65,15,91,202 // cvtps2dq %xmm10,%xmm1 - .byte 102,15,114,241,16 // pslld $0x10,%xmm1 - .byte 102,65,15,91,216 // cvtps2dq %xmm8,%xmm3 - .byte 102,15,114,243,24 // pslld $0x18,%xmm3 - .byte 102,15,235,217 // por %xmm1,%xmm3 - .byte 102,15,235,218 // por %xmm2,%xmm3 - .byte 243,15,127,28,184 // movdqu %xmm3,(%rax,%rdi,4) + .byte 102,15,114,241,8 // pslld $0x8,%xmm1 + .byte 102,15,235,200 // por %xmm0,%xmm1 + .byte 102,65,15,91,211 // cvtps2dq %xmm11,%xmm2 + .byte 102,15,114,242,16 // pslld $0x10,%xmm2 + .byte 102,65,15,91,192 // cvtps2dq %xmm8,%xmm0 + .byte 102,15,114,240,24 // pslld $0x18,%xmm0 + .byte 102,15,235,194 // por %xmm2,%xmm0 + .byte 102,15,235,193 // por %xmm1,%xmm0 + .byte 117,106 // jne 1969 <_sk_srcover_rgba_8888_sse2+0x142> + .byte 243,15,127,4,184 // movdqu %xmm0,(%rax,%rdi,4) .byte 72,173 // lods %ds:(%rsi),%rax - .byte 65,15,40,201 // movaps %xmm9,%xmm1 - .byte 65,15,40,210 // movaps %xmm10,%xmm2 + .byte 65,15,40,193 // movaps %xmm9,%xmm0 + .byte 65,15,40,202 // movaps %xmm10,%xmm1 + .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,48 // je 195a <_sk_srcover_rgba_8888_sse2+0x133> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,22 // je 1946 <_sk_srcover_rgba_8888_sse2+0x11f> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 15,133,1,255,255,255 // jne 183b <_sk_srcover_rgba_8888_sse2+0x14> + .byte 102,15,110,100,184,8 // movd 0x8(%rax,%rdi,4),%xmm4 + .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 + .byte 243,15,16,100,184,4 // movss 0x4(%rax,%rdi,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,15,16,36,184 // movss (%rax,%rdi,4),%xmm4 + .byte 243,68,15,16,196 // movss %xmm4,%xmm8 + .byte 233,210,254,255,255 // jmpq 183b <_sk_srcover_rgba_8888_sse2+0x14> + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,34 // je 1998 <_sk_srcover_rgba_8888_sse2+0x171> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,17 // je 198d <_sk_srcover_rgba_8888_sse2+0x166> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,130 // jne 1904 <_sk_srcover_rgba_8888_sse2+0xdd> + .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 + .byte 102,15,126,76,184,8 // movd %xmm1,0x8(%rax,%rdi,4) + .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 + .byte 102,15,126,76,184,4 // movd %xmm1,0x4(%rax,%rdi,4) + .byte 102,15,126,4,184 // movd %xmm0,(%rax,%rdi,4) + .byte 233,98,255,255,255 // jmpq 1904 <_sk_srcover_rgba_8888_sse2+0xdd> HIDDEN _sk_clamp_0_sse2 .globl _sk_clamp_0_sse2 @@ -29783,7 +30306,7 @@ HIDDEN _sk_clamp_1_sse2 .globl _sk_clamp_1_sse2 FUNCTION(_sk_clamp_1_sse2) _sk_clamp_1_sse2: - .byte 68,15,40,5,184,55,0,0 // movaps 0x37b8(%rip),%xmm8 # 50a0 <_sk_callback_sse2+0x3b4> + .byte 68,15,40,5,222,62,0,0 // movaps 0x3ede(%rip),%xmm8 # 58a0 <_sk_callback_sse2+0x3b8> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 65,15,93,208 // minps %xmm8,%xmm2 @@ -29795,7 +30318,7 @@ HIDDEN _sk_clamp_a_sse2 .globl _sk_clamp_a_sse2 FUNCTION(_sk_clamp_a_sse2) _sk_clamp_a_sse2: - .byte 15,93,29,173,55,0,0 // minps 0x37ad(%rip),%xmm3 # 50b0 <_sk_callback_sse2+0x3c4> + .byte 15,93,29,211,62,0,0 // minps 0x3ed3(%rip),%xmm3 # 58b0 <_sk_callback_sse2+0x3c8> .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 @@ -29882,7 +30405,7 @@ HIDDEN _sk_unpremul_sse2 FUNCTION(_sk_unpremul_sse2) _sk_unpremul_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 - .byte 68,15,40,13,24,55,0,0 // movaps 0x3718(%rip),%xmm9 # 50c0 <_sk_callback_sse2+0x3d4> + .byte 68,15,40,13,62,62,0,0 // movaps 0x3e3e(%rip),%xmm9 # 58c0 <_sk_callback_sse2+0x3d8> .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 @@ -29896,20 +30419,20 @@ HIDDEN _sk_from_srgb_sse2 .globl _sk_from_srgb_sse2 FUNCTION(_sk_from_srgb_sse2) _sk_from_srgb_sse2: - .byte 68,15,40,5,3,55,0,0 // movaps 0x3703(%rip),%xmm8 # 50d0 <_sk_callback_sse2+0x3e4> + .byte 68,15,40,5,41,62,0,0 // movaps 0x3e29(%rip),%xmm8 # 58d0 <_sk_callback_sse2+0x3e8> .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,251,54,0,0 // movaps 0x36fb(%rip),%xmm9 # 50e0 <_sk_callback_sse2+0x3f4> + .byte 68,15,40,13,33,62,0,0 // movaps 0x3e21(%rip),%xmm9 # 58e0 <_sk_callback_sse2+0x3f8> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 - .byte 68,15,40,21,251,54,0,0 // movaps 0x36fb(%rip),%xmm10 # 50f0 <_sk_callback_sse2+0x404> + .byte 68,15,40,21,33,62,0,0 // movaps 0x3e21(%rip),%xmm10 # 58f0 <_sk_callback_sse2+0x408> .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 - .byte 68,15,40,29,251,54,0,0 // movaps 0x36fb(%rip),%xmm11 # 5100 <_sk_callback_sse2+0x414> + .byte 68,15,40,29,33,62,0,0 // movaps 0x3e21(%rip),%xmm11 # 5900 <_sk_callback_sse2+0x418> .byte 69,15,88,243 // addps %xmm11,%xmm14 - .byte 68,15,40,37,255,54,0,0 // movaps 0x36ff(%rip),%xmm12 # 5110 <_sk_callback_sse2+0x424> + .byte 68,15,40,37,37,62,0,0 // movaps 0x3e25(%rip),%xmm12 # 5910 <_sk_callback_sse2+0x428> .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 @@ -29946,22 +30469,22 @@ HIDDEN _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,140,54,0,0 // movaps 0x368c(%rip),%xmm8 # 5120 <_sk_callback_sse2+0x434> + .byte 68,15,40,5,178,61,0,0 // movaps 0x3db2(%rip),%xmm8 # 5920 <_sk_callback_sse2+0x438> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,240 // mulps %xmm8,%xmm14 - .byte 68,15,40,13,140,54,0,0 // movaps 0x368c(%rip),%xmm9 # 5130 <_sk_callback_sse2+0x444> + .byte 68,15,40,13,178,61,0,0 // movaps 0x3db2(%rip),%xmm9 # 5930 <_sk_callback_sse2+0x448> .byte 69,15,40,253 // movaps %xmm13,%xmm15 .byte 69,15,89,249 // mulps %xmm9,%xmm15 - .byte 68,15,40,21,140,54,0,0 // movaps 0x368c(%rip),%xmm10 # 5140 <_sk_callback_sse2+0x454> + .byte 68,15,40,21,178,61,0,0 // movaps 0x3db2(%rip),%xmm10 # 5940 <_sk_callback_sse2+0x458> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,253 // mulps %xmm13,%xmm15 - .byte 68,15,40,29,140,54,0,0 // movaps 0x368c(%rip),%xmm11 # 5150 <_sk_callback_sse2+0x464> + .byte 68,15,40,29,178,61,0,0 // movaps 0x3db2(%rip),%xmm11 # 5950 <_sk_callback_sse2+0x468> .byte 69,15,88,251 // addps %xmm11,%xmm15 - .byte 68,15,40,37,144,54,0,0 // movaps 0x3690(%rip),%xmm12 # 5160 <_sk_callback_sse2+0x474> + .byte 68,15,40,37,182,61,0,0 // movaps 0x3db6(%rip),%xmm12 # 5960 <_sk_callback_sse2+0x478> .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,140,54,0,0 // movaps 0x368c(%rip),%xmm15 # 5170 <_sk_callback_sse2+0x484> + .byte 68,15,40,61,178,61,0,0 // movaps 0x3db2(%rip),%xmm15 # 5970 <_sk_callback_sse2+0x488> .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 @@ -30011,7 +30534,7 @@ _sk_rgb_to_hsl_sse2: .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,229,53,0,0 // movaps 0x35e5(%rip),%xmm13 # 5180 <_sk_callback_sse2+0x494> + .byte 68,15,40,45,11,61,0,0 // movaps 0x3d0b(%rip),%xmm13 # 5980 <_sk_callback_sse2+0x498> .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 @@ -30020,30 +30543,30 @@ _sk_rgb_to_hsl_sse2: .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,203,53,0,0 // andps 0x35cb(%rip),%xmm14 # 5190 <_sk_callback_sse2+0x4a4> + .byte 68,15,84,53,241,60,0,0 // andps 0x3cf1(%rip),%xmm14 # 5990 <_sk_callback_sse2+0x4a8> .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,190,53,0,0 // movaps 0x35be(%rip),%xmm12 # 51a0 <_sk_callback_sse2+0x4b4> + .byte 68,15,40,37,228,60,0,0 // movaps 0x3ce4(%rip),%xmm12 # 59a0 <_sk_callback_sse2+0x4b8> .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,186,53,0,0 // addps 0x35ba(%rip),%xmm8 # 51b0 <_sk_callback_sse2+0x4c4> + .byte 68,15,88,5,224,60,0,0 // addps 0x3ce0(%rip),%xmm8 # 59b0 <_sk_callback_sse2+0x4c8> .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,171,53,0,0 // mulps 0x35ab(%rip),%xmm0 # 51c0 <_sk_callback_sse2+0x4d4> + .byte 15,89,5,209,60,0,0 // mulps 0x3cd1(%rip),%xmm0 # 59c0 <_sk_callback_sse2+0x4d8> .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,158,53,0,0 // movaps 0x359e(%rip),%xmm9 # 51d0 <_sk_callback_sse2+0x4e4> + .byte 68,15,40,13,196,60,0,0 // movaps 0x3cc4(%rip),%xmm9 # 59d0 <_sk_callback_sse2+0x4e8> .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 @@ -30067,7 +30590,7 @@ _sk_hsl_to_rgb_sse2: .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,93,53,0,0 // movaps 0x355d(%rip),%xmm9 # 51e0 <_sk_callback_sse2+0x4f4> + .byte 68,15,40,13,131,60,0,0 // movaps 0x3c83(%rip),%xmm9 # 59e0 <_sk_callback_sse2+0x4f8> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 69,15,194,211,2 // cmpleps %xmm11,%xmm10 .byte 15,40,193 // movaps %xmm1,%xmm0 @@ -30084,28 +30607,28 @@ _sk_hsl_to_rgb_sse2: .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,38,53,0,0 // movaps 0x3526(%rip),%xmm0 # 51f0 <_sk_callback_sse2+0x504> + .byte 15,40,5,76,60,0,0 // movaps 0x3c4c(%rip),%xmm0 # 59f0 <_sk_callback_sse2+0x508> .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,30,53,0,0 // andps 0x351e(%rip),%xmm3 # 5200 <_sk_callback_sse2+0x514> + .byte 15,84,29,68,60,0,0 // andps 0x3c44(%rip),%xmm3 # 5a00 <_sk_callback_sse2+0x518> .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 - .byte 68,15,40,45,32,53,0,0 // movaps 0x3520(%rip),%xmm13 # 5210 <_sk_callback_sse2+0x524> + .byte 68,15,40,45,70,60,0,0 // movaps 0x3c46(%rip),%xmm13 # 5a10 <_sk_callback_sse2+0x528> .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,48,53,0,0 // movaps 0x3530(%rip),%xmm2 # 5240 <_sk_callback_sse2+0x554> + .byte 15,40,21,86,60,0,0 // movaps 0x3c56(%rip),%xmm2 # 5a40 <_sk_callback_sse2+0x558> .byte 68,15,40,250 // movaps %xmm2,%xmm15 .byte 68,15,194,248,2 // cmpleps %xmm0,%xmm15 - .byte 15,40,13,0,53,0,0 // movaps 0x3500(%rip),%xmm1 # 5220 <_sk_callback_sse2+0x534> + .byte 15,40,13,38,60,0,0 // movaps 0x3c26(%rip),%xmm1 # 5a20 <_sk_callback_sse2+0x538> .byte 15,89,193 // mulps %xmm1,%xmm0 - .byte 15,40,45,6,53,0,0 // movaps 0x3506(%rip),%xmm5 # 5230 <_sk_callback_sse2+0x544> + .byte 15,40,45,44,60,0,0 // movaps 0x3c2c(%rip),%xmm5 # 5a30 <_sk_callback_sse2+0x548> .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 65,15,89,230 // mulps %xmm14,%xmm4 @@ -30128,7 +30651,7 @@ _sk_hsl_to_rgb_sse2: .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,123,52,0,0 // andps 0x347b(%rip),%xmm3 # 5200 <_sk_callback_sse2+0x514> + .byte 15,84,29,161,59,0,0 // andps 0x3ba1(%rip),%xmm3 # 5a00 <_sk_callback_sse2+0x518> .byte 15,92,195 // subps %xmm3,%xmm0 .byte 68,15,40,230 // movaps %xmm6,%xmm12 .byte 68,15,92,224 // subps %xmm0,%xmm12 @@ -30158,12 +30681,12 @@ _sk_hsl_to_rgb_sse2: .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,83,52,0,0 // addps 0x3453(%rip),%xmm6 # 5250 <_sk_callback_sse2+0x564> + .byte 15,88,53,121,59,0,0 // addps 0x3b79(%rip),%xmm6 # 5a50 <_sk_callback_sse2+0x568> .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,238,51,0,0 // andps 0x33ee(%rip),%xmm3 # 5200 <_sk_callback_sse2+0x514> + .byte 15,84,29,20,59,0,0 // andps 0x3b14(%rip),%xmm3 # 5a00 <_sk_callback_sse2+0x518> .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,206 // mulps %xmm6,%xmm1 @@ -30221,19 +30744,43 @@ HIDDEN _sk_scale_u8_sse2 FUNCTION(_sk_scale_u8_sse2) _sk_scale_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,110,4,56 // movd (%rax,%rdi,1),%xmm8 - .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 - .byte 102,69,15,96,193 // punpcklbw %xmm9,%xmm8 - .byte 102,69,15,97,193 // punpcklwd %xmm9,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,61 // jne 1fdf <_sk_scale_u8_sse2+0x47> + .byte 102,69,15,110,4,57 // movd (%r9,%rdi,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,165,58,0,0 // pand 0x3aa5(%rip),%xmm8 # 5a60 <_sk_callback_sse2+0x578> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,124,51,0,0 // mulps 0x337c(%rip),%xmm8 # 5260 <_sk_callback_sse2+0x574> + .byte 68,15,89,5,169,58,0,0 // mulps 0x3aa9(%rip),%xmm8 # 5a70 <_sk_callback_sse2+0x588> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 - .byte 65,15,89,216 // mulps %xmm8,%xmm3 + .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax + .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,54 // je 2027 <_sk_scale_u8_sse2+0x8f> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,23 // je 200e <_sk_scale_u8_sse2+0x76> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,181 // jne 1fb2 <_sk_scale_u8_sse2+0x1a> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,68,15,110,200 // movd %eax,%xmm9 + .byte 69,15,198,200,0 // shufps $0x0,%xmm8,%xmm9 + .byte 69,15,198,200,226 // shufps $0xe2,%xmm8,%xmm9 + .byte 69,15,40,193 // movaps %xmm9,%xmm8 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,68,15,110,200 // movd %eax,%xmm9 + .byte 243,69,15,16,193 // movss %xmm9,%xmm8 + .byte 233,119,255,255,255 // jmpq 1fb2 <_sk_scale_u8_sse2+0x1a> HIDDEN _sk_lerp_1_float_sse2 .globl _sk_lerp_1_float_sse2 @@ -30262,13 +30809,15 @@ HIDDEN _sk_lerp_u8_sse2 FUNCTION(_sk_lerp_u8_sse2) _sk_lerp_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,110,4,56 // movd (%rax,%rdi,1),%xmm8 - .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 - .byte 102,69,15,96,193 // punpcklbw %xmm9,%xmm8 - .byte 102,69,15,97,193 // punpcklwd %xmm9,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,81 // jne 20ce <_sk_lerp_u8_sse2+0x5b> + .byte 102,69,15,110,4,57 // movd (%r9,%rdi,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,234,57,0,0 // pand 0x39ea(%rip),%xmm8 # 5a80 <_sk_callback_sse2+0x598> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,26,51,0,0 // mulps 0x331a(%rip),%xmm8 # 5270 <_sk_callback_sse2+0x584> + .byte 68,15,89,5,238,57,0,0 // mulps 0x39ee(%rip),%xmm8 # 5a90 <_sk_callback_sse2+0x5a8> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 @@ -30283,48 +30832,91 @@ _sk_lerp_u8_sse2: .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,54 // je 2116 <_sk_lerp_u8_sse2+0xa3> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,23 // je 20fd <_sk_lerp_u8_sse2+0x8a> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,161 // jne 208d <_sk_lerp_u8_sse2+0x1a> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,68,15,110,200 // movd %eax,%xmm9 + .byte 69,15,198,200,0 // shufps $0x0,%xmm8,%xmm9 + .byte 69,15,198,200,226 // shufps $0xe2,%xmm8,%xmm9 + .byte 69,15,40,193 // movaps %xmm9,%xmm8 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,68,15,110,200 // movd %eax,%xmm9 + .byte 243,69,15,16,193 // movss %xmm9,%xmm8 + .byte 233,99,255,255,255 // jmpq 208d <_sk_lerp_u8_sse2+0x1a> HIDDEN _sk_lerp_565_sse2 .globl _sk_lerp_565_sse2 FUNCTION(_sk_lerp_565_sse2) _sk_lerp_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 243,68,15,126,20,120 // movq (%rax,%rdi,2),%xmm10 - .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 - .byte 102,69,15,97,208 // punpcklwd %xmm8,%xmm10 - .byte 102,68,15,111,5,224,50,0,0 // movdqa 0x32e0(%rip),%xmm8 # 5280 <_sk_callback_sse2+0x594> - .byte 102,69,15,219,194 // pand %xmm10,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,156,0,0,0 // jne 21d4 <_sk_lerp_565_sse2+0xaa> + .byte 243,69,15,126,12,121 // movq (%r9,%rdi,2),%xmm9 + .byte 102,68,15,97,200 // punpcklwd %xmm0,%xmm9 + .byte 102,68,15,111,5,84,57,0,0 // movdqa 0x3954(%rip),%xmm8 # 5aa0 <_sk_callback_sse2+0x5b8> + .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 - .byte 68,15,89,5,223,50,0,0 // mulps 0x32df(%rip),%xmm8 # 5290 <_sk_callback_sse2+0x5a4> - .byte 102,68,15,111,13,230,50,0,0 // movdqa 0x32e6(%rip),%xmm9 # 52a0 <_sk_callback_sse2+0x5b4> - .byte 102,69,15,219,202 // pand %xmm10,%xmm9 - .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 - .byte 68,15,89,13,229,50,0,0 // mulps 0x32e5(%rip),%xmm9 # 52b0 <_sk_callback_sse2+0x5c4> - .byte 102,68,15,219,21,236,50,0,0 // pand 0x32ec(%rip),%xmm10 # 52c0 <_sk_callback_sse2+0x5d4> + .byte 68,15,89,5,83,57,0,0 // mulps 0x3953(%rip),%xmm8 # 5ab0 <_sk_callback_sse2+0x5c8> + .byte 102,68,15,111,21,90,57,0,0 // movdqa 0x395a(%rip),%xmm10 # 5ac0 <_sk_callback_sse2+0x5d8> + .byte 102,69,15,219,209 // pand %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 - .byte 68,15,89,21,240,50,0,0 // mulps 0x32f0(%rip),%xmm10 # 52d0 <_sk_callback_sse2+0x5e4> + .byte 68,15,89,21,89,57,0,0 // mulps 0x3959(%rip),%xmm10 # 5ad0 <_sk_callback_sse2+0x5e8> + .byte 102,68,15,219,13,96,57,0,0 // pand 0x3960(%rip),%xmm9 # 5ae0 <_sk_callback_sse2+0x5f8> + .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 + .byte 68,15,89,13,100,57,0,0 // mulps 0x3964(%rip),%xmm9 # 5af0 <_sk_callback_sse2+0x608> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 - .byte 65,15,89,201 // mulps %xmm9,%xmm1 + .byte 65,15,89,202 // mulps %xmm10,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 - .byte 65,15,89,210 // mulps %xmm10,%xmm2 + .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 68,15,88,199 // addps %xmm7,%xmm8 - .byte 68,15,89,203 // mulps %xmm3,%xmm9 - .byte 68,15,88,207 // addps %xmm7,%xmm9 - .byte 65,15,89,218 // mulps %xmm10,%xmm3 + .byte 68,15,89,211 // mulps %xmm3,%xmm10 + .byte 68,15,88,215 // addps %xmm7,%xmm10 + .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 - .byte 68,15,95,203 // maxps %xmm3,%xmm9 - .byte 69,15,95,193 // maxps %xmm9,%xmm8 + .byte 68,15,95,211 // maxps %xmm3,%xmm10 + .byte 69,15,95,194 // maxps %xmm10,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,58 // je 2220 <_sk_lerp_565_sse2+0xf6> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,27 // je 2207 <_sk_lerp_565_sse2+0xdd> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 15,133,77,255,255,255 // jne 2143 <_sk_lerp_565_sse2+0x19> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 102,69,15,112,200,69 // pshufd $0x45,%xmm8,%xmm9 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 69,15,198,193,0 // shufps $0x0,%xmm9,%xmm8 + .byte 69,15,198,193,226 // shufps $0xe2,%xmm9,%xmm8 + .byte 69,15,40,200 // movaps %xmm8,%xmm9 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,68,15,110,192 // movd %eax,%xmm8 + .byte 243,69,15,16,200 // movss %xmm8,%xmm9 + .byte 233,15,255,255,255 // jmpq 2143 <_sk_lerp_565_sse2+0x19> HIDDEN _sk_load_tables_sse2 .globl _sk_load_tables_sse2 @@ -30332,41 +30924,45 @@ FUNCTION(_sk_load_tables_sse2) _sk_load_tables_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 - .byte 76,139,72,8 // mov 0x8(%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,32,1,0,0 // jne 2362 <_sk_load_tables_sse2+0x12e> .byte 243,69,15,111,12,184 // movdqu (%r8,%rdi,4),%xmm9 - .byte 102,68,15,111,5,160,50,0,0 // movdqa 0x32a0(%rip),%xmm8 # 52e0 <_sk_callback_sse2+0x5f4> + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,68,15,111,5,172,56,0,0 // movdqa 0x38ac(%rip),%xmm8 # 5b00 <_sk_callback_sse2+0x618> .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 102,73,15,126,193 // movq %xmm0,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d + .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 - .byte 243,65,15,16,12,9 // movss (%r9,%rcx,1),%xmm1 - .byte 243,67,15,16,4,1 // movss (%r9,%r8,1),%xmm0 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,12,11 // movss (%rbx,%r9,1),%xmm1 + .byte 243,66,15,16,4,3 // movss (%rbx,%r8,1),%xmm0 .byte 15,20,200 // unpcklps %xmm0,%xmm1 - .byte 243,67,15,16,4,145 // movss (%r9,%r10,4),%xmm0 - .byte 243,67,15,16,20,153 // movss (%r9,%r11,4),%xmm2 + .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 - .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 - .byte 102,73,15,126,209 // movq %xmm2,%r9 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 69,15,182,217 // movzbl %r9b,%r11d - .byte 73,193,233,30 // shr $0x1e,%r9 - .byte 243,65,15,16,20,8 // movss (%r8,%rcx,1),%xmm2 - .byte 243,67,15,16,12,8 // movss (%r8,%r9,1),%xmm1 + .byte 102,73,15,126,208 // movq %xmm2,%r8 + .byte 102,72,15,126,203 // movq %xmm1,%rbx + .byte 68,15,182,203 // movzbl %bl,%r9d + .byte 72,193,235,30 // shr $0x1e,%rbx + .byte 69,15,182,208 // movzbl %r8b,%r10d + .byte 73,193,232,30 // shr $0x1e,%r8 + .byte 243,65,15,16,20,30 // movss (%r14,%rbx,1),%xmm2 + .byte 243,67,15,16,12,6 // movss (%r14,%r8,1),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 - .byte 243,67,15,16,12,144 // movss (%r8,%r10,4),%xmm1 - .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 + .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 + .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 @@ -30374,14 +30970,14 @@ _sk_load_tables_sse2: .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 - .byte 102,72,15,126,217 // movq %xmm3,%rcx + .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx + .byte 68,15,182,211 // movzbl %bl,%r10d + .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,69,15,16,4,0 // movss (%r8,%rax,1),%xmm8 - .byte 243,65,15,16,20,8 // movss (%r8,%rcx,1),%xmm2 + .byte 243,65,15,16,20,24 // movss (%r8,%rbx,1),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 @@ -30389,74 +30985,99 @@ _sk_load_tables_sse2: .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,173,49,0,0 // mulps 0x31ad(%rip),%xmm3 # 52f0 <_sk_callback_sse2+0x604> + .byte 15,89,29,181,55,0,0 // mulps 0x37b5(%rip),%xmm3 # 5b10 <_sk_callback_sse2+0x628> .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 65,137,201 // mov %ecx,%r9d + .byte 65,128,225,3 // and $0x3,%r9b + .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 + .byte 65,128,249,1 // cmp $0x1,%r9b + .byte 116,50 // je 23a6 <_sk_load_tables_sse2+0x172> + .byte 65,128,249,2 // cmp $0x2,%r9b + .byte 116,23 // je 2391 <_sk_load_tables_sse2+0x15d> + .byte 65,128,249,3 // cmp $0x3,%r9b + .byte 15,133,196,254,255,255 // jne 2248 <_sk_load_tables_sse2+0x14> + .byte 102,65,15,110,68,184,8 // movd 0x8(%r8,%rdi,4),%xmm0 + .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 + .byte 243,65,15,16,68,184,4 // movss 0x4(%r8,%rdi,4),%xmm0 + .byte 65,15,198,193,0 // shufps $0x0,%xmm9,%xmm0 + .byte 65,15,198,193,226 // shufps $0xe2,%xmm9,%xmm0 + .byte 68,15,40,200 // movaps %xmm0,%xmm9 + .byte 243,65,15,16,4,184 // movss (%r8,%rdi,4),%xmm0 + .byte 243,68,15,16,200 // movss %xmm0,%xmm9 + .byte 233,146,254,255,255 // jmpq 2248 <_sk_load_tables_sse2+0x14> HIDDEN _sk_load_tables_u16_be_sse2 .globl _sk_load_tables_u16_be_sse2 FUNCTION(_sk_load_tables_u16_be_sse2) _sk_load_tables_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,64,8 // mov 0x8(%rax),%r8 - .byte 243,15,111,4,249 // movdqu (%rcx,%rdi,8),%xmm0 - .byte 243,15,111,76,249,16 // movdqu 0x10(%rcx,%rdi,8),%xmm1 - .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 + .byte 76,139,0 // mov (%rax),%r8 + .byte 76,141,12,189,0,0,0,0 // lea 0x0(,%rdi,4),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,97,1,0,0 // jne 252d <_sk_load_tables_u16_be_sse2+0x177> + .byte 102,67,15,16,4,72 // movupd (%r8,%r9,2),%xmm0 + .byte 102,67,15,16,76,72,16 // movupd 0x10(%r8,%r9,2),%xmm1 + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,68,15,105,200 // punpckhwd %xmm0,%xmm9 - .byte 102,68,15,111,21,128,49,0,0 // movdqa 0x3180(%rip),%xmm10 # 5300 <_sk_callback_sse2+0x614> + .byte 102,68,15,111,21,31,55,0,0 // movdqa 0x371f(%rip),%xmm10 # 5b20 <_sk_callback_sse2+0x638> .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 .byte 102,65,15,97,192 // punpcklwd %xmm8,%xmm0 .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 - .byte 102,72,15,126,217 // movq %xmm3,%rcx - .byte 68,15,182,201 // movzbl %cl,%r9d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,73,15,126,216 // movq %xmm3,%r8 + .byte 69,15,182,200 // movzbl %r8b,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 - .byte 243,67,15,16,28,16 // movss (%r8,%r10,1),%xmm3 - .byte 243,65,15,16,4,136 // movss (%r8,%rcx,4),%xmm0 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,28,19 // movss (%rbx,%r10,1),%xmm3 + .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 - .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 - .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 + .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 + .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 - .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 102,15,115,217,8 // psrldq $0x8,%xmm1 .byte 102,65,15,219,202 // pand %xmm10,%xmm1 .byte 102,65,15,97,200 // punpcklwd %xmm8,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 - .byte 102,73,15,126,208 // movq %xmm2,%r8 - .byte 69,15,182,200 // movzbl %r8b,%r9d - .byte 73,193,232,32 // shr $0x20,%r8 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 68,15,182,217 // movzbl %cl,%r11d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 243,65,15,16,20,10 // movss (%r10,%rcx,1),%xmm2 - .byte 243,67,15,16,12,130 // movss (%r10,%r8,4),%xmm1 + .byte 102,72,15,126,211 // movq %xmm2,%rbx + .byte 68,15,182,195 // movzbl %bl,%r8d + .byte 72,193,235,32 // shr $0x20,%rbx + .byte 102,73,15,126,201 // movq %xmm1,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d + .byte 73,193,233,30 // shr $0x1e,%r9 + .byte 243,67,15,16,20,14 // movss (%r14,%r9,1),%xmm2 + .byte 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 - .byte 243,67,15,16,12,154 // movss (%r10,%r11,4),%xmm1 - .byte 243,67,15,16,28,138 // movss (%r10,%r9,4),%xmm3 + .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 + .byte 243,67,15,16,28,134 // movss (%r14,%r8,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 102,69,15,219,209 // pand %xmm9,%xmm10 .byte 102,69,15,97,208 // punpcklwd %xmm8,%xmm10 .byte 102,65,15,112,210,78 // pshufd $0x4e,%xmm10,%xmm2 - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 68,15,182,193 // movzbl %cl,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,211 // movq %xmm2,%rbx + .byte 68,15,182,195 // movzbl %bl,%r8d + .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,76,15,126,208 // movq %xmm10,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 243,69,15,16,20,1 // movss (%r9,%rax,1),%xmm10 - .byte 243,65,15,16,20,137 // movss (%r9,%rcx,4),%xmm2 + .byte 243,65,15,16,20,153 // movss (%r9,%rbx,4),%xmm2 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 .byte 243,67,15,16,28,129 // movss (%r9,%r8,4),%xmm3 @@ -30469,62 +31090,82 @@ _sk_load_tables_u16_be_sse2: .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,111,48,0,0 // mulps 0x306f(%rip),%xmm3 # 5310 <_sk_callback_sse2+0x624> + .byte 15,89,29,10,54,0,0 // mulps 0x360a(%rip),%xmm3 # 5b30 <_sk_callback_sse2+0x648> .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 242,67,15,16,4,72 // movsd (%r8,%r9,2),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,17 // jne 254a <_sk_load_tables_u16_be_sse2+0x194> + .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 23d9 <_sk_load_tables_u16_be_sse2+0x23> + .byte 102,67,15,22,68,72,8 // movhpd 0x8(%r8,%r9,2),%xmm0 + .byte 102,15,87,201 // xorpd %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,122,254,255,255 // jb 23d9 <_sk_load_tables_u16_be_sse2+0x23> + .byte 242,67,15,16,76,72,16 // movsd 0x10(%r8,%r9,2),%xmm1 + .byte 233,110,254,255,255 // jmpq 23d9 <_sk_load_tables_u16_be_sse2+0x23> HIDDEN _sk_load_tables_rgb_u16_be_sse2 .globl _sk_load_tables_rgb_u16_be_sse2 FUNCTION(_sk_load_tables_rgb_u16_be_sse2) _sk_load_tables_rgb_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax + .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,127 // lea (%rdi,%rdi,2),%r9 - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,64,8 // mov 0x8(%rax),%r8 - .byte 243,70,15,111,28,73 // movdqu (%rcx,%r9,2),%xmm11 - .byte 243,66,15,111,68,73,8 // movdqu 0x8(%rcx,%r9,2),%xmm0 - .byte 102,15,115,216,4 // psrldq $0x4,%xmm0 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,80,1,0,0 // jne 26cd <_sk_load_tables_rgb_u16_be_sse2+0x162> + .byte 243,71,15,111,28,72 // movdqu (%r8,%r9,2),%xmm11 + .byte 243,67,15,111,76,72,8 // movdqu 0x8(%r8,%r9,2),%xmm1 + .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,69,15,111,211 // movdqa %xmm11,%xmm10 .byte 102,65,15,115,218,6 // psrldq $0x6,%xmm10 - .byte 102,68,15,97,216 // punpcklwd %xmm0,%xmm11 + .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 + .byte 65,86 // push %r14 + .byte 83 // push %rbx + .byte 102,68,15,97,217 // punpcklwd %xmm1,%xmm11 .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,47,48,0,0 // movdqa 0x302f(%rip),%xmm8 # 5320 <_sk_callback_sse2+0x634> + .byte 102,68,15,111,5,125,53,0,0 // movdqa 0x357d(%rip),%xmm8 # 5b40 <_sk_callback_sse2+0x658> .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 .byte 102,65,15,97,193 // punpcklwd %xmm9,%xmm0 .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 - .byte 102,72,15,126,217 // movq %xmm3,%rcx - .byte 68,15,182,201 // movzbl %cl,%r9d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,73,15,126,216 // movq %xmm3,%r8 + .byte 69,15,182,200 // movzbl %r8b,%r9d + .byte 73,193,232,32 // shr $0x20,%r8 .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 - .byte 243,67,15,16,28,16 // movss (%r8,%r10,1),%xmm3 - .byte 243,65,15,16,4,136 // movss (%r8,%rcx,4),%xmm0 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx + .byte 76,139,112,16 // mov 0x10(%rax),%r14 + .byte 243,66,15,16,28,19 // movss (%rbx,%r10,1),%xmm3 + .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 - .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 - .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 + .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 + .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 - .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 - .byte 102,73,15,126,208 // movq %xmm2,%r8 - .byte 69,15,182,200 // movzbl %r8b,%r9d - .byte 73,193,232,32 // shr $0x20,%r8 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 68,15,182,217 // movzbl %cl,%r11d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 243,65,15,16,20,10 // movss (%r10,%rcx,1),%xmm2 - .byte 243,67,15,16,12,130 // movss (%r10,%r8,4),%xmm1 + .byte 102,72,15,126,211 // movq %xmm2,%rbx + .byte 68,15,182,195 // movzbl %bl,%r8d + .byte 72,193,235,32 // shr $0x20,%rbx + .byte 102,73,15,126,201 // movq %xmm1,%r9 + .byte 69,15,182,209 // movzbl %r9b,%r10d + .byte 73,193,233,30 // shr $0x1e,%r9 + .byte 243,67,15,16,20,14 // movss (%r14,%r9,1),%xmm2 + .byte 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 - .byte 243,67,15,16,12,154 // movss (%r10,%r11,4),%xmm1 - .byte 243,67,15,16,28,138 // movss (%r10,%r9,4),%xmm3 + .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 + .byte 243,67,15,16,28,134 // movss (%r14,%r8,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,72,24 // mov 0x18(%rax),%r9 @@ -30532,77 +31173,100 @@ _sk_load_tables_rgb_u16_be_sse2: .byte 102,69,15,219,216 // pand %xmm8,%xmm11 .byte 102,69,15,97,217 // punpcklwd %xmm9,%xmm11 .byte 102,65,15,112,211,78 // pshufd $0x4e,%xmm11,%xmm2 - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 68,15,182,193 // movzbl %cl,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,211 // movq %xmm2,%rbx + .byte 68,15,182,195 // movzbl %bl,%r8d + .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,76,15,126,216 // movq %xmm11,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 243,69,15,16,4,1 // movss (%r9,%rax,1),%xmm8 - .byte 243,65,15,16,20,137 // movss (%r9,%rcx,4),%xmm2 + .byte 243,65,15,16,20,153 // movss (%r9,%rbx,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 .byte 243,67,15,16,28,129 // movss (%r9,%r8,4),%xmm3 .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,62,47,0,0 // movaps 0x2f3e(%rip),%xmm3 # 5330 <_sk_callback_sse2+0x644> + .byte 15,40,29,136,52,0,0 // movaps 0x3488(%rip),%xmm3 # 5b50 <_sk_callback_sse2+0x668> + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax + .byte 102,71,15,110,28,72 // movd (%r8,%r9,2),%xmm11 + .byte 102,71,15,196,92,72,4,2 // pinsrw $0x2,0x4(%r8,%r9,2),%xmm11 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,14 // jne 26f3 <_sk_load_tables_rgb_u16_be_sse2+0x188> + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 + .byte 233,176,254,255,255 // jmpq 25a3 <_sk_load_tables_rgb_u16_be_sse2+0x38> + .byte 102,71,15,110,84,72,6 // movd 0x6(%r8,%r9,2),%xmm10 + .byte 102,71,15,196,84,72,10,2 // pinsrw $0x2,0xa(%r8,%r9,2),%xmm10 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,24 // jb 2724 <_sk_load_tables_rgb_u16_be_sse2+0x1b9> + .byte 102,67,15,110,76,72,12 // movd 0xc(%r8,%r9,2),%xmm1 + .byte 102,67,15,196,76,72,16,2 // pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 233,127,254,255,255 // jmpq 25a3 <_sk_load_tables_rgb_u16_be_sse2+0x38> + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 233,118,254,255,255 // jmpq 25a3 <_sk_load_tables_rgb_u16_be_sse2+0x38> HIDDEN _sk_byte_tables_sse2 .globl _sk_byte_tables_sse2 FUNCTION(_sk_byte_tables_sse2) _sk_byte_tables_sse2: + .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,63,47,0,0 // movaps 0x2f3f(%rip),%xmm8 # 5340 <_sk_callback_sse2+0x654> + .byte 68,15,40,5,37,52,0,0 // movaps 0x3425(%rip),%xmm8 # 5b60 <_sk_callback_sse2+0x678> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,73,15,126,192 // movq %xmm0,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 77,137,194 // mov %r8,%r10 + .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 - .byte 102,73,15,126,193 // movq %xmm0,%r9 - .byte 69,137,202 // mov %r9d,%r10d - .byte 77,137,203 // mov %r9,%r11 - .byte 73,193,235,32 // shr $0x20,%r11 - .byte 76,139,48 // mov (%rax),%r14 - .byte 76,139,72,8 // mov 0x8(%rax),%r9 - .byte 71,15,182,20,22 // movzbl (%r14,%r10,1),%r10d - .byte 67,15,182,28,30 // movzbl (%r14,%r11,1),%ebx + .byte 102,73,15,126,192 // movq %xmm0,%r8 + .byte 69,137,195 // mov %r8d,%r11d + .byte 77,137,198 // mov %r8,%r14 + .byte 73,193,238,32 // shr $0x20,%r14 + .byte 72,139,24 // mov (%rax),%rbx + .byte 76,139,64,8 // mov 0x8(%rax),%r8 + .byte 70,15,182,28,27 // movzbl (%rbx,%r11,1),%r11d + .byte 66,15,182,44,51 // movzbl (%rbx,%r14,1),%ebp + .byte 193,229,8 // shl $0x8,%ebp + .byte 68,9,221 // or %r11d,%ebp + .byte 70,15,182,12,11 // movzbl (%rbx,%r9,1),%r9d + .byte 66,15,182,28,19 // movzbl (%rbx,%r10,1),%ebx .byte 193,227,8 // shl $0x8,%ebx - .byte 68,9,211 // or %r10d,%ebx - .byte 71,15,182,4,6 // movzbl (%r14,%r8,1),%r8d - .byte 65,15,182,12,14 // movzbl (%r14,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,193 // or %r8d,%ecx - .byte 102,15,196,193,0 // pinsrw $0x0,%ecx,%xmm0 - .byte 102,15,196,195,1 // pinsrw $0x1,%ebx,%xmm0 + .byte 68,9,203 // or %r9d,%ebx + .byte 102,15,196,195,0 // pinsrw $0x0,%ebx,%xmm0 + .byte 102,15,196,197,1 // pinsrw $0x1,%ebp,%xmm0 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .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,220,46,0,0 // movaps 0x2edc(%rip),%xmm10 # 5350 <_sk_callback_sse2+0x664> + .byte 68,15,40,21,191,51,0,0 // movaps 0x33bf(%rip),%xmm10 # 5b70 <_sk_callback_sse2+0x688> .byte 65,15,89,194 // mulps %xmm10,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,205 // movq %xmm1,%rbp + .byte 65,137,233 // mov %ebp,%r9d + .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,201,78 // pshufd $0x4e,%xmm1,%xmm1 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d - .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx + .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d + .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx - .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,193 // or %r8d,%ecx - .byte 102,15,196,201,0 // pinsrw $0x0,%ecx,%xmm1 + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp + .byte 193,229,8 // shl $0x8,%ebp + .byte 68,9,205 // or %r9d,%ebp + .byte 102,15,196,205,0 // pinsrw $0x0,%ebp,%xmm1 .byte 102,15,196,203,1 // pinsrw $0x1,%ebx,%xmm1 .byte 102,65,15,96,201 // punpcklbw %xmm9,%xmm1 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 @@ -30615,19 +31279,19 @@ _sk_byte_tables_sse2: .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,213 // movq %xmm2,%rbp + .byte 65,137,234 // mov %ebp,%r10d + .byte 72,193,237,32 // shr $0x20,%rbp .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,209 // or %r10d,%ecx + .byte 65,15,182,44,41 // movzbl (%r9,%rbp,1),%ebp + .byte 193,229,8 // shl $0x8,%ebp + .byte 68,9,213 // or %r10d,%ebp .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,195 // or %r8d,%ebx .byte 102,15,196,211,0 // pinsrw $0x0,%ebx,%xmm2 - .byte 102,15,196,209,1 // pinsrw $0x1,%ecx,%xmm2 + .byte 102,15,196,213,1 // pinsrw $0x1,%ebp,%xmm2 .byte 102,65,15,96,209 // punpcklbw %xmm9,%xmm2 .byte 102,65,15,97,209 // punpcklwd %xmm9,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 @@ -30635,9 +31299,9 @@ _sk_byte_tables_sse2: .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 102,15,91,219 // cvtps2dq %xmm3,%xmm3 - .byte 102,72,15,126,217 // movq %xmm3,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,221 // movq %xmm3,%rbp + .byte 65,137,232 // mov %ebp,%r8d + .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,219,78 // pshufd $0x4e,%xmm3,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,217 // mov %ebx,%r9d @@ -30647,7 +31311,7 @@ _sk_byte_tables_sse2: .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 70,15,182,4,0 // movzbl (%rax,%r8,1),%r8d - .byte 15,182,4,8 // movzbl (%rax,%rcx,1),%eax + .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,192 // or %r8d,%eax .byte 102,15,196,216,0 // pinsrw $0x0,%eax,%xmm3 @@ -30659,66 +31323,69 @@ _sk_byte_tables_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 + .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_sse2 .globl _sk_byte_tables_rgb_sse2 FUNCTION(_sk_byte_tables_rgb_sse2) _sk_byte_tables_rgb_sse2: + .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 139,72,24 // mov 0x18(%rax),%ecx - .byte 255,201 // dec %ecx - .byte 102,68,15,110,193 // movd %ecx,%xmm8 + .byte 68,139,64,24 // mov 0x18(%rax),%r8d + .byte 65,255,200 // dec %r8d + .byte 102,69,15,110,192 // movd %r8d,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,73,15,126,192 // movq %xmm0,%r8 + .byte 69,137,193 // mov %r8d,%r9d + .byte 77,137,194 // mov %r8,%r10 + .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 - .byte 102,73,15,126,193 // movq %xmm0,%r9 - .byte 69,137,202 // mov %r9d,%r10d - .byte 77,137,203 // mov %r9,%r11 - .byte 73,193,235,32 // shr $0x20,%r11 - .byte 76,139,48 // mov (%rax),%r14 - .byte 76,139,72,8 // mov 0x8(%rax),%r9 - .byte 71,15,182,20,22 // movzbl (%r14,%r10,1),%r10d - .byte 67,15,182,28,30 // movzbl (%r14,%r11,1),%ebx + .byte 102,73,15,126,192 // movq %xmm0,%r8 + .byte 69,137,195 // mov %r8d,%r11d + .byte 77,137,198 // mov %r8,%r14 + .byte 73,193,238,32 // shr $0x20,%r14 + .byte 72,139,24 // mov (%rax),%rbx + .byte 76,139,64,8 // mov 0x8(%rax),%r8 + .byte 70,15,182,28,27 // movzbl (%rbx,%r11,1),%r11d + .byte 66,15,182,44,51 // movzbl (%rbx,%r14,1),%ebp + .byte 193,229,8 // shl $0x8,%ebp + .byte 68,9,221 // or %r11d,%ebp + .byte 70,15,182,12,11 // movzbl (%rbx,%r9,1),%r9d + .byte 66,15,182,28,19 // movzbl (%rbx,%r10,1),%ebx .byte 193,227,8 // shl $0x8,%ebx - .byte 68,9,211 // or %r10d,%ebx - .byte 71,15,182,4,6 // movzbl (%r14,%r8,1),%r8d - .byte 65,15,182,12,14 // movzbl (%r14,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,193 // or %r8d,%ecx - .byte 102,15,196,193,0 // pinsrw $0x0,%ecx,%xmm0 - .byte 102,15,196,195,1 // pinsrw $0x1,%ebx,%xmm0 + .byte 68,9,203 // or %r9d,%ebx + .byte 102,15,196,195,0 // pinsrw $0x0,%ebx,%xmm0 + .byte 102,15,196,197,1 // pinsrw $0x1,%ebp,%xmm0 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .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,47,45,0,0 // movaps 0x2d2f(%rip),%xmm10 # 5360 <_sk_callback_sse2+0x674> + .byte 68,15,40,21,11,50,0,0 // movaps 0x320b(%rip),%xmm10 # 5b80 <_sk_callback_sse2+0x698> .byte 65,15,89,194 // mulps %xmm10,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,205 // movq %xmm1,%rbp + .byte 65,137,233 // mov %ebp,%r9d + .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,201,78 // pshufd $0x4e,%xmm1,%xmm1 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx - .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d - .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx + .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d + .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx - .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,193 // or %r8d,%ecx - .byte 102,15,196,201,0 // pinsrw $0x0,%ecx,%xmm1 + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp + .byte 193,229,8 // shl $0x8,%ebp + .byte 68,9,205 // or %r9d,%ebp + .byte 102,15,196,205,0 // pinsrw $0x0,%ebp,%xmm1 .byte 102,15,196,203,1 // pinsrw $0x1,%ebx,%xmm1 .byte 102,65,15,96,201 // punpcklbw %xmm9,%xmm1 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 @@ -30727,9 +31394,9 @@ _sk_byte_tables_rgb_sse2: .byte 72,139,64,16 // mov 0x10(%rax),%rax .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 - .byte 102,72,15,126,209 // movq %xmm2,%rcx - .byte 65,137,200 // mov %ecx,%r8d - .byte 72,193,233,32 // shr $0x20,%rcx + .byte 102,72,15,126,213 // movq %xmm2,%rbp + .byte 65,137,232 // mov %ebp,%r8d + .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,217 // mov %ebx,%r9d @@ -30739,7 +31406,7 @@ _sk_byte_tables_rgb_sse2: .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 70,15,182,4,0 // movzbl (%rax,%r8,1),%r8d - .byte 15,182,4,8 // movzbl (%rax,%rcx,1),%eax + .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,192 // or %r8d,%eax .byte 102,15,196,208,0 // pinsrw $0x0,%eax,%xmm2 @@ -30751,6 +31418,7 @@ _sk_byte_tables_rgb_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 + .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse2 @@ -30758,7 +31426,7 @@ HIDDEN _sk_table_r_sse2 FUNCTION(_sk_table_r_sse2) _sk_table_r_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -30768,16 +31436,16 @@ _sk_table_r_sse2: .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,112,192,78 // pshufd $0x4e,%xmm8,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,76,15,126,193 // movq %xmm8,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,69,15,16,4,137 // movss (%r9,%rcx,4),%xmm8 - .byte 243,65,15,16,4,129 // movss (%r9,%rax,4),%xmm0 + .byte 102,77,15,126,194 // movq %xmm8,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 + .byte 243,65,15,16,4,128 // movss (%r8,%rax,4),%xmm0 .byte 68,15,20,192 // unpcklps %xmm0,%xmm8 - .byte 243,67,15,16,4,145 // movss (%r9,%r10,4),%xmm0 - .byte 243,71,15,16,12,129 // movss (%r9,%r8,4),%xmm9 + .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 + .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 65,15,20,193 // unpcklps %xmm9,%xmm0 .byte 65,15,20,192 // unpcklps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax @@ -30788,7 +31456,7 @@ HIDDEN _sk_table_g_sse2 FUNCTION(_sk_table_g_sse2) _sk_table_g_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -30798,16 +31466,16 @@ _sk_table_g_sse2: .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,76,15,126,193 // movq %xmm8,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,69,15,16,4,137 // movss (%r9,%rcx,4),%xmm8 - .byte 243,65,15,16,12,129 // movss (%r9,%rax,4),%xmm1 + .byte 102,77,15,126,194 // movq %xmm8,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 + .byte 243,65,15,16,12,128 // movss (%r8,%rax,4),%xmm1 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 - .byte 243,67,15,16,12,145 // movss (%r9,%r10,4),%xmm1 - .byte 243,71,15,16,12,129 // movss (%r9,%r8,4),%xmm9 + .byte 243,67,15,16,12,152 // movss (%r8,%r11,4),%xmm1 + .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 65,15,20,201 // unpcklps %xmm9,%xmm1 .byte 65,15,20,200 // unpcklps %xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax @@ -30818,7 +31486,7 @@ HIDDEN _sk_table_b_sse2 FUNCTION(_sk_table_b_sse2) _sk_table_b_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -30828,16 +31496,16 @@ _sk_table_b_sse2: .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,112,208,78 // pshufd $0x4e,%xmm8,%xmm2 .byte 102,72,15,126,208 // movq %xmm2,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,76,15,126,193 // movq %xmm8,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,69,15,16,4,137 // movss (%r9,%rcx,4),%xmm8 - .byte 243,65,15,16,20,129 // movss (%r9,%rax,4),%xmm2 + .byte 102,77,15,126,194 // movq %xmm8,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 + .byte 243,65,15,16,20,128 // movss (%r8,%rax,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 - .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 - .byte 243,71,15,16,12,129 // movss (%r9,%r8,4),%xmm9 + .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 + .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 65,15,20,209 // unpcklps %xmm9,%xmm2 .byte 65,15,20,208 // unpcklps %xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax @@ -30848,7 +31516,7 @@ HIDDEN _sk_table_a_sse2 FUNCTION(_sk_table_a_sse2) _sk_table_a_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 @@ -30858,16 +31526,16 @@ _sk_table_a_sse2: .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,112,216,78 // pshufd $0x4e,%xmm8,%xmm3 .byte 102,72,15,126,216 // movq %xmm3,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,76,15,126,193 // movq %xmm8,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,69,15,16,4,137 // movss (%r9,%rcx,4),%xmm8 - .byte 243,65,15,16,28,129 // movss (%r9,%rax,4),%xmm3 + .byte 102,77,15,126,194 // movq %xmm8,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 + .byte 243,65,15,16,28,128 // movss (%r8,%rax,4),%xmm3 .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 - .byte 243,67,15,16,28,145 // movss (%r9,%r10,4),%xmm3 - .byte 243,71,15,16,12,129 // movss (%r9,%r8,4),%xmm9 + .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 + .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 65,15,20,217 // unpcklps %xmm9,%xmm3 .byte 65,15,20,216 // unpcklps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax @@ -30896,15 +31564,15 @@ _sk_parametric_r_sse2: .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,110,42,0,0 // mulps 0x2a6e(%rip),%xmm9 # 5370 <_sk_callback_sse2+0x684> - .byte 68,15,84,21,118,42,0,0 // andps 0x2a76(%rip),%xmm10 # 5380 <_sk_callback_sse2+0x694> - .byte 68,15,86,21,126,42,0,0 // orps 0x2a7e(%rip),%xmm10 # 5390 <_sk_callback_sse2+0x6a4> - .byte 68,15,88,13,134,42,0,0 // addps 0x2a86(%rip),%xmm9 # 53a0 <_sk_callback_sse2+0x6b4> - .byte 68,15,40,37,142,42,0,0 // movaps 0x2a8e(%rip),%xmm12 # 53b0 <_sk_callback_sse2+0x6c4> + .byte 68,15,89,13,73,47,0,0 // mulps 0x2f49(%rip),%xmm9 # 5b90 <_sk_callback_sse2+0x6a8> + .byte 68,15,84,21,81,47,0,0 // andps 0x2f51(%rip),%xmm10 # 5ba0 <_sk_callback_sse2+0x6b8> + .byte 68,15,86,21,89,47,0,0 // orps 0x2f59(%rip),%xmm10 # 5bb0 <_sk_callback_sse2+0x6c8> + .byte 68,15,88,13,97,47,0,0 // addps 0x2f61(%rip),%xmm9 # 5bc0 <_sk_callback_sse2+0x6d8> + .byte 68,15,40,37,105,47,0,0 // movaps 0x2f69(%rip),%xmm12 # 5bd0 <_sk_callback_sse2+0x6e8> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,88,21,142,42,0,0 // addps 0x2a8e(%rip),%xmm10 # 53c0 <_sk_callback_sse2+0x6d4> - .byte 68,15,40,37,150,42,0,0 // movaps 0x2a96(%rip),%xmm12 # 53d0 <_sk_callback_sse2+0x6e4> + .byte 68,15,88,21,105,47,0,0 // addps 0x2f69(%rip),%xmm10 # 5be0 <_sk_callback_sse2+0x6f8> + .byte 68,15,40,37,113,47,0,0 // movaps 0x2f71(%rip),%xmm12 # 5bf0 <_sk_callback_sse2+0x708> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 @@ -30912,22 +31580,22 @@ _sk_parametric_r_sse2: .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,128,42,0,0 // movaps 0x2a80(%rip),%xmm10 # 53e0 <_sk_callback_sse2+0x6f4> + .byte 68,15,40,21,91,47,0,0 // movaps 0x2f5b(%rip),%xmm10 # 5c00 <_sk_callback_sse2+0x718> .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,116,42,0,0 // addps 0x2a74(%rip),%xmm9 # 53f0 <_sk_callback_sse2+0x704> - .byte 68,15,40,37,124,42,0,0 // movaps 0x2a7c(%rip),%xmm12 # 5400 <_sk_callback_sse2+0x714> + .byte 68,15,88,13,79,47,0,0 // addps 0x2f4f(%rip),%xmm9 # 5c10 <_sk_callback_sse2+0x728> + .byte 68,15,40,37,87,47,0,0 // movaps 0x2f57(%rip),%xmm12 # 5c20 <_sk_callback_sse2+0x738> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,40,37,124,42,0,0 // movaps 0x2a7c(%rip),%xmm12 # 5410 <_sk_callback_sse2+0x724> + .byte 68,15,40,37,87,47,0,0 // movaps 0x2f57(%rip),%xmm12 # 5c30 <_sk_callback_sse2+0x748> .byte 69,15,92,229 // subps %xmm13,%xmm12 - .byte 68,15,40,45,128,42,0,0 // movaps 0x2a80(%rip),%xmm13 # 5420 <_sk_callback_sse2+0x734> + .byte 68,15,40,45,91,47,0,0 // movaps 0x2f5b(%rip),%xmm13 # 5c40 <_sk_callback_sse2+0x758> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 - .byte 68,15,89,45,128,42,0,0 // mulps 0x2a80(%rip),%xmm13 # 5430 <_sk_callback_sse2+0x744> + .byte 68,15,89,45,91,47,0,0 // mulps 0x2f5b(%rip),%xmm13 # 5c50 <_sk_callback_sse2+0x768> .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 @@ -30963,15 +31631,15 @@ _sk_parametric_g_sse2: .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,0,42,0,0 // mulps 0x2a00(%rip),%xmm9 # 5440 <_sk_callback_sse2+0x754> - .byte 68,15,84,21,8,42,0,0 // andps 0x2a08(%rip),%xmm10 # 5450 <_sk_callback_sse2+0x764> - .byte 68,15,86,21,16,42,0,0 // orps 0x2a10(%rip),%xmm10 # 5460 <_sk_callback_sse2+0x774> - .byte 68,15,88,13,24,42,0,0 // addps 0x2a18(%rip),%xmm9 # 5470 <_sk_callback_sse2+0x784> - .byte 68,15,40,37,32,42,0,0 // movaps 0x2a20(%rip),%xmm12 # 5480 <_sk_callback_sse2+0x794> + .byte 68,15,89,13,219,46,0,0 // mulps 0x2edb(%rip),%xmm9 # 5c60 <_sk_callback_sse2+0x778> + .byte 68,15,84,21,227,46,0,0 // andps 0x2ee3(%rip),%xmm10 # 5c70 <_sk_callback_sse2+0x788> + .byte 68,15,86,21,235,46,0,0 // orps 0x2eeb(%rip),%xmm10 # 5c80 <_sk_callback_sse2+0x798> + .byte 68,15,88,13,243,46,0,0 // addps 0x2ef3(%rip),%xmm9 # 5c90 <_sk_callback_sse2+0x7a8> + .byte 68,15,40,37,251,46,0,0 // movaps 0x2efb(%rip),%xmm12 # 5ca0 <_sk_callback_sse2+0x7b8> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,88,21,32,42,0,0 // addps 0x2a20(%rip),%xmm10 # 5490 <_sk_callback_sse2+0x7a4> - .byte 68,15,40,37,40,42,0,0 // movaps 0x2a28(%rip),%xmm12 # 54a0 <_sk_callback_sse2+0x7b4> + .byte 68,15,88,21,251,46,0,0 // addps 0x2efb(%rip),%xmm10 # 5cb0 <_sk_callback_sse2+0x7c8> + .byte 68,15,40,37,3,47,0,0 // movaps 0x2f03(%rip),%xmm12 # 5cc0 <_sk_callback_sse2+0x7d8> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 @@ -30979,22 +31647,22 @@ _sk_parametric_g_sse2: .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,18,42,0,0 // movaps 0x2a12(%rip),%xmm10 # 54b0 <_sk_callback_sse2+0x7c4> + .byte 68,15,40,21,237,46,0,0 // movaps 0x2eed(%rip),%xmm10 # 5cd0 <_sk_callback_sse2+0x7e8> .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,6,42,0,0 // addps 0x2a06(%rip),%xmm9 # 54c0 <_sk_callback_sse2+0x7d4> - .byte 68,15,40,37,14,42,0,0 // movaps 0x2a0e(%rip),%xmm12 # 54d0 <_sk_callback_sse2+0x7e4> + .byte 68,15,88,13,225,46,0,0 // addps 0x2ee1(%rip),%xmm9 # 5ce0 <_sk_callback_sse2+0x7f8> + .byte 68,15,40,37,233,46,0,0 // movaps 0x2ee9(%rip),%xmm12 # 5cf0 <_sk_callback_sse2+0x808> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,40,37,14,42,0,0 // movaps 0x2a0e(%rip),%xmm12 # 54e0 <_sk_callback_sse2+0x7f4> + .byte 68,15,40,37,233,46,0,0 // movaps 0x2ee9(%rip),%xmm12 # 5d00 <_sk_callback_sse2+0x818> .byte 69,15,92,229 // subps %xmm13,%xmm12 - .byte 68,15,40,45,18,42,0,0 // movaps 0x2a12(%rip),%xmm13 # 54f0 <_sk_callback_sse2+0x804> + .byte 68,15,40,45,237,46,0,0 // movaps 0x2eed(%rip),%xmm13 # 5d10 <_sk_callback_sse2+0x828> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 - .byte 68,15,89,45,18,42,0,0 // mulps 0x2a12(%rip),%xmm13 # 5500 <_sk_callback_sse2+0x814> + .byte 68,15,89,45,237,46,0,0 // mulps 0x2eed(%rip),%xmm13 # 5d20 <_sk_callback_sse2+0x838> .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 @@ -31030,15 +31698,15 @@ _sk_parametric_b_sse2: .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,146,41,0,0 // mulps 0x2992(%rip),%xmm9 # 5510 <_sk_callback_sse2+0x824> - .byte 68,15,84,21,154,41,0,0 // andps 0x299a(%rip),%xmm10 # 5520 <_sk_callback_sse2+0x834> - .byte 68,15,86,21,162,41,0,0 // orps 0x29a2(%rip),%xmm10 # 5530 <_sk_callback_sse2+0x844> - .byte 68,15,88,13,170,41,0,0 // addps 0x29aa(%rip),%xmm9 # 5540 <_sk_callback_sse2+0x854> - .byte 68,15,40,37,178,41,0,0 // movaps 0x29b2(%rip),%xmm12 # 5550 <_sk_callback_sse2+0x864> + .byte 68,15,89,13,109,46,0,0 // mulps 0x2e6d(%rip),%xmm9 # 5d30 <_sk_callback_sse2+0x848> + .byte 68,15,84,21,117,46,0,0 // andps 0x2e75(%rip),%xmm10 # 5d40 <_sk_callback_sse2+0x858> + .byte 68,15,86,21,125,46,0,0 // orps 0x2e7d(%rip),%xmm10 # 5d50 <_sk_callback_sse2+0x868> + .byte 68,15,88,13,133,46,0,0 // addps 0x2e85(%rip),%xmm9 # 5d60 <_sk_callback_sse2+0x878> + .byte 68,15,40,37,141,46,0,0 // movaps 0x2e8d(%rip),%xmm12 # 5d70 <_sk_callback_sse2+0x888> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,88,21,178,41,0,0 // addps 0x29b2(%rip),%xmm10 # 5560 <_sk_callback_sse2+0x874> - .byte 68,15,40,37,186,41,0,0 // movaps 0x29ba(%rip),%xmm12 # 5570 <_sk_callback_sse2+0x884> + .byte 68,15,88,21,141,46,0,0 // addps 0x2e8d(%rip),%xmm10 # 5d80 <_sk_callback_sse2+0x898> + .byte 68,15,40,37,149,46,0,0 // movaps 0x2e95(%rip),%xmm12 # 5d90 <_sk_callback_sse2+0x8a8> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 @@ -31046,22 +31714,22 @@ _sk_parametric_b_sse2: .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,164,41,0,0 // movaps 0x29a4(%rip),%xmm10 # 5580 <_sk_callback_sse2+0x894> + .byte 68,15,40,21,127,46,0,0 // movaps 0x2e7f(%rip),%xmm10 # 5da0 <_sk_callback_sse2+0x8b8> .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,152,41,0,0 // addps 0x2998(%rip),%xmm9 # 5590 <_sk_callback_sse2+0x8a4> - .byte 68,15,40,37,160,41,0,0 // movaps 0x29a0(%rip),%xmm12 # 55a0 <_sk_callback_sse2+0x8b4> + .byte 68,15,88,13,115,46,0,0 // addps 0x2e73(%rip),%xmm9 # 5db0 <_sk_callback_sse2+0x8c8> + .byte 68,15,40,37,123,46,0,0 // movaps 0x2e7b(%rip),%xmm12 # 5dc0 <_sk_callback_sse2+0x8d8> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,40,37,160,41,0,0 // movaps 0x29a0(%rip),%xmm12 # 55b0 <_sk_callback_sse2+0x8c4> + .byte 68,15,40,37,123,46,0,0 // movaps 0x2e7b(%rip),%xmm12 # 5dd0 <_sk_callback_sse2+0x8e8> .byte 69,15,92,229 // subps %xmm13,%xmm12 - .byte 68,15,40,45,164,41,0,0 // movaps 0x29a4(%rip),%xmm13 # 55c0 <_sk_callback_sse2+0x8d4> + .byte 68,15,40,45,127,46,0,0 // movaps 0x2e7f(%rip),%xmm13 # 5de0 <_sk_callback_sse2+0x8f8> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 - .byte 68,15,89,45,164,41,0,0 // mulps 0x29a4(%rip),%xmm13 # 55d0 <_sk_callback_sse2+0x8e4> + .byte 68,15,89,45,127,46,0,0 // mulps 0x2e7f(%rip),%xmm13 # 5df0 <_sk_callback_sse2+0x908> .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 @@ -31097,15 +31765,15 @@ _sk_parametric_a_sse2: .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,36,41,0,0 // mulps 0x2924(%rip),%xmm9 # 55e0 <_sk_callback_sse2+0x8f4> - .byte 68,15,84,21,44,41,0,0 // andps 0x292c(%rip),%xmm10 # 55f0 <_sk_callback_sse2+0x904> - .byte 68,15,86,21,52,41,0,0 // orps 0x2934(%rip),%xmm10 # 5600 <_sk_callback_sse2+0x914> - .byte 68,15,88,13,60,41,0,0 // addps 0x293c(%rip),%xmm9 # 5610 <_sk_callback_sse2+0x924> - .byte 68,15,40,37,68,41,0,0 // movaps 0x2944(%rip),%xmm12 # 5620 <_sk_callback_sse2+0x934> + .byte 68,15,89,13,255,45,0,0 // mulps 0x2dff(%rip),%xmm9 # 5e00 <_sk_callback_sse2+0x918> + .byte 68,15,84,21,7,46,0,0 // andps 0x2e07(%rip),%xmm10 # 5e10 <_sk_callback_sse2+0x928> + .byte 68,15,86,21,15,46,0,0 // orps 0x2e0f(%rip),%xmm10 # 5e20 <_sk_callback_sse2+0x938> + .byte 68,15,88,13,23,46,0,0 // addps 0x2e17(%rip),%xmm9 # 5e30 <_sk_callback_sse2+0x948> + .byte 68,15,40,37,31,46,0,0 // movaps 0x2e1f(%rip),%xmm12 # 5e40 <_sk_callback_sse2+0x958> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,88,21,68,41,0,0 // addps 0x2944(%rip),%xmm10 # 5630 <_sk_callback_sse2+0x944> - .byte 68,15,40,37,76,41,0,0 // movaps 0x294c(%rip),%xmm12 # 5640 <_sk_callback_sse2+0x954> + .byte 68,15,88,21,31,46,0,0 // addps 0x2e1f(%rip),%xmm10 # 5e50 <_sk_callback_sse2+0x968> + .byte 68,15,40,37,39,46,0,0 // movaps 0x2e27(%rip),%xmm12 # 5e60 <_sk_callback_sse2+0x978> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 @@ -31113,22 +31781,22 @@ _sk_parametric_a_sse2: .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,54,41,0,0 // movaps 0x2936(%rip),%xmm10 # 5650 <_sk_callback_sse2+0x964> + .byte 68,15,40,21,17,46,0,0 // movaps 0x2e11(%rip),%xmm10 # 5e70 <_sk_callback_sse2+0x988> .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,42,41,0,0 // addps 0x292a(%rip),%xmm9 # 5660 <_sk_callback_sse2+0x974> - .byte 68,15,40,37,50,41,0,0 // movaps 0x2932(%rip),%xmm12 # 5670 <_sk_callback_sse2+0x984> + .byte 68,15,88,13,5,46,0,0 // addps 0x2e05(%rip),%xmm9 # 5e80 <_sk_callback_sse2+0x998> + .byte 68,15,40,37,13,46,0,0 // movaps 0x2e0d(%rip),%xmm12 # 5e90 <_sk_callback_sse2+0x9a8> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 - .byte 68,15,40,37,50,41,0,0 // movaps 0x2932(%rip),%xmm12 # 5680 <_sk_callback_sse2+0x994> + .byte 68,15,40,37,13,46,0,0 // movaps 0x2e0d(%rip),%xmm12 # 5ea0 <_sk_callback_sse2+0x9b8> .byte 69,15,92,229 // subps %xmm13,%xmm12 - .byte 68,15,40,45,54,41,0,0 // movaps 0x2936(%rip),%xmm13 # 5690 <_sk_callback_sse2+0x9a4> + .byte 68,15,40,45,17,46,0,0 // movaps 0x2e11(%rip),%xmm13 # 5eb0 <_sk_callback_sse2+0x9c8> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 - .byte 68,15,89,45,54,41,0,0 // mulps 0x2936(%rip),%xmm13 # 56a0 <_sk_callback_sse2+0x9b4> + .byte 68,15,89,45,17,46,0,0 // mulps 0x2e11(%rip),%xmm13 # 5ec0 <_sk_callback_sse2+0x9d8> .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 @@ -31145,29 +31813,29 @@ HIDDEN _sk_lab_to_xyz_sse2 .globl _sk_lab_to_xyz_sse2 FUNCTION(_sk_lab_to_xyz_sse2) _sk_lab_to_xyz_sse2: - .byte 15,89,5,19,41,0,0 // mulps 0x2913(%rip),%xmm0 # 56b0 <_sk_callback_sse2+0x9c4> - .byte 68,15,40,5,27,41,0,0 // movaps 0x291b(%rip),%xmm8 # 56c0 <_sk_callback_sse2+0x9d4> + .byte 15,89,5,238,45,0,0 // mulps 0x2dee(%rip),%xmm0 # 5ed0 <_sk_callback_sse2+0x9e8> + .byte 68,15,40,5,246,45,0,0 // movaps 0x2df6(%rip),%xmm8 # 5ee0 <_sk_callback_sse2+0x9f8> .byte 65,15,89,200 // mulps %xmm8,%xmm1 - .byte 68,15,40,13,31,41,0,0 // movaps 0x291f(%rip),%xmm9 # 56d0 <_sk_callback_sse2+0x9e4> + .byte 68,15,40,13,250,45,0,0 // movaps 0x2dfa(%rip),%xmm9 # 5ef0 <_sk_callback_sse2+0xa08> .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,28,41,0,0 // addps 0x291c(%rip),%xmm0 # 56e0 <_sk_callback_sse2+0x9f4> - .byte 15,89,5,37,41,0,0 // mulps 0x2925(%rip),%xmm0 # 56f0 <_sk_callback_sse2+0xa04> - .byte 15,89,13,46,41,0,0 // mulps 0x292e(%rip),%xmm1 # 5700 <_sk_callback_sse2+0xa14> + .byte 15,88,5,247,45,0,0 // addps 0x2df7(%rip),%xmm0 # 5f00 <_sk_callback_sse2+0xa18> + .byte 15,89,5,0,46,0,0 // mulps 0x2e00(%rip),%xmm0 # 5f10 <_sk_callback_sse2+0xa28> + .byte 15,89,13,9,46,0,0 // mulps 0x2e09(%rip),%xmm1 # 5f20 <_sk_callback_sse2+0xa38> .byte 15,88,200 // addps %xmm0,%xmm1 - .byte 15,89,21,52,41,0,0 // mulps 0x2934(%rip),%xmm2 # 5710 <_sk_callback_sse2+0xa24> + .byte 15,89,21,15,46,0,0 // mulps 0x2e0f(%rip),%xmm2 # 5f30 <_sk_callback_sse2+0xa48> .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,41,41,0,0 // movaps 0x2929(%rip),%xmm2 # 5720 <_sk_callback_sse2+0xa34> + .byte 15,40,21,4,46,0,0 // movaps 0x2e04(%rip),%xmm2 # 5f40 <_sk_callback_sse2+0xa58> .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 69,15,194,196,1 // cmpltps %xmm12,%xmm8 - .byte 68,15,40,21,40,41,0,0 // movaps 0x2928(%rip),%xmm10 # 5730 <_sk_callback_sse2+0xa44> + .byte 68,15,40,21,3,46,0,0 // movaps 0x2e03(%rip),%xmm10 # 5f50 <_sk_callback_sse2+0xa68> .byte 65,15,88,202 // addps %xmm10,%xmm1 - .byte 68,15,40,29,44,41,0,0 // movaps 0x292c(%rip),%xmm11 # 5740 <_sk_callback_sse2+0xa54> + .byte 68,15,40,29,7,46,0,0 // movaps 0x2e07(%rip),%xmm11 # 5f60 <_sk_callback_sse2+0xa78> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 69,15,84,224 // andps %xmm8,%xmm12 .byte 68,15,85,193 // andnps %xmm1,%xmm8 @@ -31191,8 +31859,8 @@ _sk_lab_to_xyz_sse2: .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,220,40,0,0 // mulps 0x28dc(%rip),%xmm8 # 5750 <_sk_callback_sse2+0xa64> - .byte 15,89,21,229,40,0,0 // mulps 0x28e5(%rip),%xmm2 # 5760 <_sk_callback_sse2+0xa74> + .byte 68,15,89,5,183,45,0,0 // mulps 0x2db7(%rip),%xmm8 # 5f70 <_sk_callback_sse2+0xa88> + .byte 15,89,21,192,45,0,0 // mulps 0x2dc0(%rip),%xmm2 # 5f80 <_sk_callback_sse2+0xa98> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -31202,25 +31870,48 @@ HIDDEN _sk_load_a8_sse2 FUNCTION(_sk_load_a8_sse2) _sk_load_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,110,4,56 // movd (%rax,%rdi,1),%xmm0 - .byte 102,15,239,201 // pxor %xmm1,%xmm1 - .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 - .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,45 // jne 31ff <_sk_load_a8_sse2+0x37> + .byte 102,65,15,110,4,57 // movd (%r9,%rdi,1),%xmm0 + .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 + .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 + .byte 102,15,219,5,168,45,0,0 // pand 0x2da8(%rip),%xmm0 # 5f90 <_sk_callback_sse2+0xaa8> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 - .byte 15,89,29,205,40,0,0 // mulps 0x28cd(%rip),%xmm3 # 5770 <_sk_callback_sse2+0xa84> + .byte 15,89,29,174,45,0,0 // mulps 0x2dae(%rip),%xmm3 # 5fa0 <_sk_callback_sse2+0xab8> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 - .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,48 // je 3240 <_sk_load_a8_sse2+0x78> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 322b <_sk_load_a8_sse2+0x63> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,196 // jne 31e0 <_sk_load_a8_sse2+0x18> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,15,110,200 // movd %eax,%xmm1 + .byte 15,198,200,0 // shufps $0x0,%xmm0,%xmm1 + .byte 15,198,200,226 // shufps $0xe2,%xmm0,%xmm1 + .byte 15,40,193 // movaps %xmm1,%xmm0 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,15,110,200 // movd %eax,%xmm1 + .byte 243,15,16,193 // movss %xmm1,%xmm0 + .byte 235,145 // jmp 31e0 <_sk_load_a8_sse2+0x18> HIDDEN _sk_gather_a8_sse2 .globl _sk_gather_a8_sse2 FUNCTION(_sk_gather_a8_sse2) _sk_gather_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31233,27 +31924,27 @@ _sk_gather_a8_sse2: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,209 // or %r10d,%ecx - .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d - .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d + .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d + .byte 65,193,226,8 // shl $0x8,%r10d + .byte 69,9,218 // or %r11d,%r10d + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax - .byte 68,9,192 // or %r8d,%eax + .byte 68,9,200 // or %r9d,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%xmm0 - .byte 102,15,196,193,1 // pinsrw $0x1,%ecx,%xmm0 + .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 - .byte 15,89,29,60,40,0,0 // mulps 0x283c(%rip),%xmm3 # 5780 <_sk_callback_sse2+0xa94> + .byte 15,89,29,204,44,0,0 // mulps 0x2ccc(%rip),%xmm3 # 5fb0 <_sk_callback_sse2+0xac8> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 @@ -31265,42 +31956,88 @@ HIDDEN _sk_store_a8_sse2 FUNCTION(_sk_store_a8_sse2) _sk_store_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,48,40,0,0 // movaps 0x2830(%rip),%xmm8 # 5790 <_sk_callback_sse2+0xaa4> + .byte 76,139,8 // mov (%rax),%r9 + .byte 68,15,40,5,192,44,0,0 // movaps 0x2cc0(%rip),%xmm8 # 5fc0 <_sk_callback_sse2+0xad8> .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 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,69,15,107,192 // packssdw %xmm8,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 - .byte 102,68,15,126,4,56 // movd %xmm8,(%rax,%rdi,1) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,13 // jne 3331 <_sk_store_a8_sse2+0x3e> + .byte 102,68,15,126,192 // movd %xmm8,%eax + .byte 65,137,4,57 // mov %eax,(%r9,%rdi,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 + .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,44 // je 3374 <_sk_store_a8_sse2+0x81> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,22 // je 3364 <_sk_store_a8_sse2+0x71> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,217 // jne 332d <_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,57,2 // mov %al,0x2(%r9,%rdi,1) + .byte 102,68,15,127,68,36,216 // movdqa %xmm8,-0x28(%rsp) + .byte 138,68,36,220 // mov -0x24(%rsp),%al + .byte 65,136,68,57,1 // mov %al,0x1(%r9,%rdi,1) + .byte 102,68,15,127,68,36,200 // movdqa %xmm8,-0x38(%rsp) + .byte 138,68,36,200 // mov -0x38(%rsp),%al + .byte 65,136,4,57 // mov %al,(%r9,%rdi,1) + .byte 235,168 // jmp 332d <_sk_store_a8_sse2+0x3a> HIDDEN _sk_load_g8_sse2 .globl _sk_load_g8_sse2 FUNCTION(_sk_load_g8_sse2) _sk_load_g8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 102,15,110,4,56 // movd (%rax,%rdi,1),%xmm0 - .byte 102,15,239,201 // pxor %xmm1,%xmm1 - .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 - .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,49 // jne 33c0 <_sk_load_g8_sse2+0x3b> + .byte 102,65,15,110,4,57 // movd (%r9,%rdi,1),%xmm0 + .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 + .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 + .byte 102,15,219,5,43,44,0,0 // pand 0x2c2b(%rip),%xmm0 # 5fd0 <_sk_callback_sse2+0xae8> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,247,39,0,0 // mulps 0x27f7(%rip),%xmm0 # 57a0 <_sk_callback_sse2+0xab4> + .byte 15,89,5,49,44,0,0 // mulps 0x2c31(%rip),%xmm0 # 5fe0 <_sk_callback_sse2+0xaf8> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,254,39,0,0 // movaps 0x27fe(%rip),%xmm3 # 57b0 <_sk_callback_sse2+0xac4> + .byte 15,40,29,56,44,0,0 // movaps 0x2c38(%rip),%xmm3 # 5ff0 <_sk_callback_sse2+0xb08> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,48 // je 3401 <_sk_load_g8_sse2+0x7c> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 33ec <_sk_load_g8_sse2+0x67> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,192 // jne 339d <_sk_load_g8_sse2+0x18> + .byte 65,15,182,68,57,2 // movzbl 0x2(%r9,%rdi,1),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 + .byte 65,15,182,68,57,1 // movzbl 0x1(%r9,%rdi,1),%eax + .byte 102,15,110,200 // movd %eax,%xmm1 + .byte 15,198,200,0 // shufps $0x0,%xmm0,%xmm1 + .byte 15,198,200,226 // shufps $0xe2,%xmm0,%xmm1 + .byte 15,40,193 // movaps %xmm1,%xmm0 + .byte 65,15,182,4,57 // movzbl (%r9,%rdi,1),%eax + .byte 102,15,110,200 // movd %eax,%xmm1 + .byte 243,15,16,193 // movss %xmm1,%xmm0 + .byte 235,141 // jmp 339d <_sk_load_g8_sse2+0x18> HIDDEN _sk_gather_g8_sse2 .globl _sk_gather_g8_sse2 FUNCTION(_sk_gather_g8_sse2) _sk_gather_g8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31313,29 +32050,29 @@ _sk_gather_g8_sse2: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d - .byte 65,15,182,12,9 // movzbl (%r9,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,209 // or %r10d,%ecx - .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d - .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d + .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d + .byte 65,193,226,8 // shl $0x8,%r10d + .byte 69,9,218 // or %r11d,%r10d + .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d + .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax - .byte 68,9,192 // or %r8d,%eax + .byte 68,9,200 // or %r9d,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%xmm0 - .byte 102,15,196,193,1 // pinsrw $0x1,%ecx,%xmm0 + .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,115,39,0,0 // mulps 0x2773(%rip),%xmm0 # 57c0 <_sk_callback_sse2+0xad4> + .byte 15,89,5,91,43,0,0 // mulps 0x2b5b(%rip),%xmm0 # 6000 <_sk_callback_sse2+0xb18> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,122,39,0,0 // movaps 0x277a(%rip),%xmm3 # 57d0 <_sk_callback_sse2+0xae4> + .byte 15,40,29,98,43,0,0 // movaps 0x2b62(%rip),%xmm3 # 6010 <_sk_callback_sse2+0xb28> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax @@ -31347,11 +32084,13 @@ _sk_gather_i8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,192 // mov %rax,%r8 .byte 77,133,192 // test %r8,%r8 - .byte 116,5 // je 306d <_sk_gather_i8_sse2+0xf> + .byte 116,5 // je 34c5 <_sk_gather_i8_sse2+0xf> .byte 76,137,192 // mov %r8,%rax - .byte 235,2 // jmp 306f <_sk_gather_i8_sse2+0x11> + .byte 235,2 // jmp 34c7 <_sk_gather_i8_sse2+0x11> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,16 // mov (%rax),%r10 + .byte 85 // push %rbp + .byte 83 // push %rbx + .byte 76,139,8 // mov (%rax),%r9 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31364,22 +32103,22 @@ _sk_gather_i8_sse2: .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,72,15,126,192 // movq %xmm0,%rax - .byte 65,137,193 // mov %eax,%r9d + .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,203 // mov %ecx,%r11d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 71,15,182,28,26 // movzbl (%r10,%r11,1),%r11d - .byte 65,15,182,12,10 // movzbl (%r10,%rcx,1),%ecx - .byte 193,225,8 // shl $0x8,%ecx - .byte 68,9,217 // or %r11d,%ecx - .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d - .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax + .byte 102,73,15,126,195 // movq %xmm0,%r11 + .byte 68,137,219 // mov %r11d,%ebx + .byte 73,193,235,32 // shr $0x20,%r11 + .byte 65,15,182,44,25 // movzbl (%r9,%rbx,1),%ebp + .byte 67,15,182,28,25 // movzbl (%r9,%r11,1),%ebx + .byte 193,227,8 // shl $0x8,%ebx + .byte 9,235 // or %ebp,%ebx + .byte 67,15,182,44,17 // movzbl (%r9,%r10,1),%ebp + .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax - .byte 68,9,200 // or %r9d,%eax + .byte 9,232 // or %ebp,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%xmm0 - .byte 102,15,196,193,1 // pinsrw $0x1,%ecx,%xmm0 + .byte 102,15,196,195,1 // pinsrw $0x1,%ebx,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 @@ -31387,22 +32126,22 @@ _sk_gather_i8_sse2: .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 77,139,64,8 // mov 0x8(%r8),%r8 - .byte 68,15,182,209 // movzbl %cl,%r10d - .byte 72,193,233,30 // shr $0x1e,%rcx - .byte 102,65,15,110,4,8 // movd (%r8,%rcx,1),%xmm0 - .byte 102,65,15,110,12,128 // movd (%r8,%rax,4),%xmm1 + .byte 102,72,15,126,195 // movq %xmm0,%rbx + .byte 73,139,104,8 // mov 0x8(%r8),%rbp + .byte 68,15,182,195 // movzbl %bl,%r8d + .byte 72,193,235,30 // shr $0x1e,%rbx + .byte 102,15,110,68,29,0 // movd 0x0(%rbp,%rbx,1),%xmm0 + .byte 102,15,110,76,133,0 // movd 0x0(%rbp,%rax,4),%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 - .byte 102,71,15,110,12,144 // movd (%r8,%r10,4),%xmm9 - .byte 102,67,15,110,12,136 // movd (%r8,%r9,4),%xmm1 + .byte 102,70,15,110,76,133,0 // movd 0x0(%rbp,%r8,4),%xmm9 + .byte 102,66,15,110,76,141,0 // movd 0x0(%rbp,%r9,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,153,38,0,0 // movdqa 0x2699(%rip),%xmm2 # 57e0 <_sk_callback_sse2+0xaf4> + .byte 102,15,111,21,127,42,0,0 // movdqa 0x2a7f(%rip),%xmm2 # 6020 <_sk_callback_sse2+0xb38> .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,149,38,0,0 // movaps 0x2695(%rip),%xmm8 # 57f0 <_sk_callback_sse2+0xb04> + .byte 68,15,40,5,123,42,0,0 // movaps 0x2a7b(%rip),%xmm8 # 6030 <_sk_callback_sse2+0xb48> .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 @@ -31418,6 +32157,8 @@ _sk_gather_i8_sse2: .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax + .byte 91 // pop %rbx + .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse2 @@ -31425,31 +32166,53 @@ HIDDEN _sk_load_565_sse2 FUNCTION(_sk_load_565_sse2) _sk_load_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,126,20,120 // movq (%rax,%rdi,2),%xmm2 - .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,83 // jne 3654 <_sk_load_565_sse2+0x5d> + .byte 243,65,15,126,20,121 // movq (%r9,%rdi,2),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 - .byte 102,15,111,5,75,38,0,0 // movdqa 0x264b(%rip),%xmm0 # 5800 <_sk_callback_sse2+0xb14> + .byte 102,15,111,5,45,42,0,0 // movdqa 0x2a2d(%rip),%xmm0 # 6040 <_sk_callback_sse2+0xb58> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,77,38,0,0 // mulps 0x264d(%rip),%xmm0 # 5810 <_sk_callback_sse2+0xb24> - .byte 102,15,111,13,85,38,0,0 // movdqa 0x2655(%rip),%xmm1 # 5820 <_sk_callback_sse2+0xb34> + .byte 15,89,5,47,42,0,0 // mulps 0x2a2f(%rip),%xmm0 # 6050 <_sk_callback_sse2+0xb68> + .byte 102,15,111,13,55,42,0,0 // movdqa 0x2a37(%rip),%xmm1 # 6060 <_sk_callback_sse2+0xb78> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,87,38,0,0 // mulps 0x2657(%rip),%xmm1 # 5830 <_sk_callback_sse2+0xb44> - .byte 102,15,219,21,95,38,0,0 // pand 0x265f(%rip),%xmm2 # 5840 <_sk_callback_sse2+0xb54> + .byte 15,89,13,57,42,0,0 // mulps 0x2a39(%rip),%xmm1 # 6070 <_sk_callback_sse2+0xb88> + .byte 102,15,219,21,65,42,0,0 // pand 0x2a41(%rip),%xmm2 # 6080 <_sk_callback_sse2+0xb98> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,101,38,0,0 // mulps 0x2665(%rip),%xmm2 # 5850 <_sk_callback_sse2+0xb64> + .byte 15,89,21,71,42,0,0 // mulps 0x2a47(%rip),%xmm2 # 6090 <_sk_callback_sse2+0xba8> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,108,38,0,0 // movaps 0x266c(%rip),%xmm3 # 5860 <_sk_callback_sse2+0xb74> + .byte 15,40,29,78,42,0,0 // movaps 0x2a4e(%rip),%xmm3 # 60a0 <_sk_callback_sse2+0xbb8> .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,210 // pxor %xmm2,%xmm2 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,48 // je 3695 <_sk_load_565_sse2+0x9e> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 3680 <_sk_load_565_sse2+0x89> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,154 // jne 360b <_sk_load_565_sse2+0x14> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 15,198,194,0 // shufps $0x0,%xmm2,%xmm0 + .byte 15,198,194,226 // shufps $0xe2,%xmm2,%xmm0 + .byte 15,40,208 // movaps %xmm0,%xmm2 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 243,15,16,208 // movss %xmm0,%xmm2 + .byte 233,100,255,255,255 // jmpq 360b <_sk_load_565_sse2+0x14> HIDDEN _sk_gather_565_sse2 .globl _sk_gather_565_sse2 FUNCTION(_sk_gather_565_sse2) _sk_gather_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31463,32 +32226,32 @@ _sk_gather_565_sse2: .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,196,20,81,0 // pinsrw $0x0,(%r9,%r10,2),%xmm2 - .byte 102,65,15,196,20,73,1 // pinsrw $0x1,(%r9,%rcx,2),%xmm2 - .byte 67,15,183,12,65 // movzwl (%r9,%r8,2),%ecx - .byte 102,15,196,209,2 // pinsrw $0x2,%ecx,%xmm2 - .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,196,20,88,0 // pinsrw $0x0,(%r8,%r11,2),%xmm2 + .byte 102,67,15,196,20,80,1 // pinsrw $0x1,(%r8,%r10,2),%xmm2 + .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d + .byte 102,65,15,196,209,2 // pinsrw $0x2,%r9d,%xmm2 + .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,208,3 // pinsrw $0x3,%eax,%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 - .byte 102,15,111,5,245,37,0,0 // movdqa 0x25f5(%rip),%xmm0 # 5870 <_sk_callback_sse2+0xb84> + .byte 102,15,111,5,131,41,0,0 // movdqa 0x2983(%rip),%xmm0 # 60b0 <_sk_callback_sse2+0xbc8> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,247,37,0,0 // mulps 0x25f7(%rip),%xmm0 # 5880 <_sk_callback_sse2+0xb94> - .byte 102,15,111,13,255,37,0,0 // movdqa 0x25ff(%rip),%xmm1 # 5890 <_sk_callback_sse2+0xba4> + .byte 15,89,5,133,41,0,0 // mulps 0x2985(%rip),%xmm0 # 60c0 <_sk_callback_sse2+0xbd8> + .byte 102,15,111,13,141,41,0,0 // movdqa 0x298d(%rip),%xmm1 # 60d0 <_sk_callback_sse2+0xbe8> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,1,38,0,0 // mulps 0x2601(%rip),%xmm1 # 58a0 <_sk_callback_sse2+0xbb4> - .byte 102,15,219,21,9,38,0,0 // pand 0x2609(%rip),%xmm2 # 58b0 <_sk_callback_sse2+0xbc4> + .byte 15,89,13,143,41,0,0 // mulps 0x298f(%rip),%xmm1 # 60e0 <_sk_callback_sse2+0xbf8> + .byte 102,15,219,21,151,41,0,0 // pand 0x2997(%rip),%xmm2 # 60f0 <_sk_callback_sse2+0xc08> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,15,38,0,0 // mulps 0x260f(%rip),%xmm2 # 58c0 <_sk_callback_sse2+0xbd4> + .byte 15,89,21,157,41,0,0 // mulps 0x299d(%rip),%xmm2 # 6100 <_sk_callback_sse2+0xc18> .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,22,38,0,0 // movaps 0x2616(%rip),%xmm3 # 58d0 <_sk_callback_sse2+0xbe4> + .byte 15,40,29,164,41,0,0 // movaps 0x29a4(%rip),%xmm3 # 6110 <_sk_callback_sse2+0xc28> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse2 @@ -31496,13 +32259,13 @@ HIDDEN _sk_store_565_sse2 FUNCTION(_sk_store_565_sse2) _sk_store_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,23,38,0,0 // movaps 0x2617(%rip),%xmm8 # 58e0 <_sk_callback_sse2+0xbf4> + .byte 76,139,8 // mov (%rax),%r9 + .byte 68,15,40,5,165,41,0,0 // movaps 0x29a5(%rip),%xmm8 # 6120 <_sk_callback_sse2+0xc38> .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,12,38,0,0 // movaps 0x260c(%rip),%xmm10 # 58f0 <_sk_callback_sse2+0xc04> + .byte 68,15,40,21,154,41,0,0 // movaps 0x299a(%rip),%xmm10 # 6130 <_sk_callback_sse2+0xc48> .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 @@ -31513,43 +32276,83 @@ _sk_store_565_sse2: .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,69,15,107,192 // packssdw %xmm8,%xmm8 - .byte 102,68,15,214,4,120 // movq %xmm8,(%rax,%rdi,2) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 37d8 <_sk_store_565_sse2+0x6a> + .byte 242,69,15,17,4,121 // movsd %xmm8,(%r9,%rdi,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,36 // je 380e <_sk_store_565_sse2+0xa0> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,18 // je 3802 <_sk_store_565_sse2+0x94> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,222 // jne 37d4 <_sk_store_565_sse2+0x66> + .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax + .byte 102,65,137,68,121,4 // mov %ax,0x4(%r9,%rdi,2) + .byte 102,65,15,197,192,2 // pextrw $0x2,%xmm8,%eax + .byte 102,65,137,68,121,2 // mov %ax,0x2(%r9,%rdi,2) + .byte 102,68,15,126,192 // movd %xmm8,%eax + .byte 102,65,137,4,121 // mov %ax,(%r9,%rdi,2) + .byte 235,186 // jmp 37d4 <_sk_store_565_sse2+0x66> HIDDEN _sk_load_4444_sse2 .globl _sk_load_4444_sse2 FUNCTION(_sk_load_4444_sse2) _sk_load_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,126,28,120 // movq (%rax,%rdi,2),%xmm3 - .byte 102,15,239,192 // pxor %xmm0,%xmm0 + .byte 76,139,8 // mov (%rax),%r9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,98 // jne 3886 <_sk_load_4444_sse2+0x6c> + .byte 243,65,15,126,28,121 // movq (%r9,%rdi,2),%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 - .byte 102,15,111,5,197,37,0,0 // movdqa 0x25c5(%rip),%xmm0 # 5900 <_sk_callback_sse2+0xc14> + .byte 102,15,111,5,10,41,0,0 // movdqa 0x290a(%rip),%xmm0 # 6140 <_sk_callback_sse2+0xc58> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,199,37,0,0 // mulps 0x25c7(%rip),%xmm0 # 5910 <_sk_callback_sse2+0xc24> - .byte 102,15,111,13,207,37,0,0 // movdqa 0x25cf(%rip),%xmm1 # 5920 <_sk_callback_sse2+0xc34> + .byte 15,89,5,12,41,0,0 // mulps 0x290c(%rip),%xmm0 # 6150 <_sk_callback_sse2+0xc68> + .byte 102,15,111,13,20,41,0,0 // movdqa 0x2914(%rip),%xmm1 # 6160 <_sk_callback_sse2+0xc78> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,209,37,0,0 // mulps 0x25d1(%rip),%xmm1 # 5930 <_sk_callback_sse2+0xc44> - .byte 102,15,111,21,217,37,0,0 // movdqa 0x25d9(%rip),%xmm2 # 5940 <_sk_callback_sse2+0xc54> + .byte 15,89,13,22,41,0,0 // mulps 0x2916(%rip),%xmm1 # 6170 <_sk_callback_sse2+0xc88> + .byte 102,15,111,21,30,41,0,0 // movdqa 0x291e(%rip),%xmm2 # 6180 <_sk_callback_sse2+0xc98> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,219,37,0,0 // mulps 0x25db(%rip),%xmm2 # 5950 <_sk_callback_sse2+0xc64> - .byte 102,15,219,29,227,37,0,0 // pand 0x25e3(%rip),%xmm3 # 5960 <_sk_callback_sse2+0xc74> + .byte 15,89,21,32,41,0,0 // mulps 0x2920(%rip),%xmm2 # 6190 <_sk_callback_sse2+0xca8> + .byte 102,15,219,29,40,41,0,0 // pand 0x2928(%rip),%xmm3 # 61a0 <_sk_callback_sse2+0xcb8> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 - .byte 15,89,29,233,37,0,0 // mulps 0x25e9(%rip),%xmm3 # 5970 <_sk_callback_sse2+0xc84> + .byte 15,89,29,46,41,0,0 // mulps 0x292e(%rip),%xmm3 # 61b0 <_sk_callback_sse2+0xcc8> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,15,239,219 // pxor %xmm3,%xmm3 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,48 // je 38c7 <_sk_load_4444_sse2+0xad> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,21 // je 38b2 <_sk_load_4444_sse2+0x98> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,139 // jne 382e <_sk_load_4444_sse2+0x14> + .byte 65,15,183,68,121,4 // movzwl 0x4(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 + .byte 65,15,183,68,121,2 // movzwl 0x2(%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 15,198,195,0 // shufps $0x0,%xmm3,%xmm0 + .byte 15,198,195,226 // shufps $0xe2,%xmm3,%xmm0 + .byte 15,40,216 // movaps %xmm0,%xmm3 + .byte 65,15,183,4,121 // movzwl (%r9,%rdi,2),%eax + .byte 102,15,110,192 // movd %eax,%xmm0 + .byte 243,15,16,216 // movss %xmm0,%xmm3 + .byte 233,85,255,255,255 // jmpq 382e <_sk_load_4444_sse2+0x14> HIDDEN _sk_gather_4444_sse2 .globl _sk_gather_4444_sse2 FUNCTION(_sk_gather_4444_sse2) _sk_gather_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31563,34 +32366,34 @@ _sk_gather_4444_sse2: .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,67,15,196,28,81,0 // pinsrw $0x0,(%r9,%r10,2),%xmm3 - .byte 102,65,15,196,28,73,1 // pinsrw $0x1,(%r9,%rcx,2),%xmm3 - .byte 67,15,183,12,65 // movzwl (%r9,%r8,2),%ecx - .byte 102,15,196,217,2 // pinsrw $0x2,%ecx,%xmm3 - .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,196,28,88,0 // pinsrw $0x0,(%r8,%r11,2),%xmm3 + .byte 102,67,15,196,28,80,1 // pinsrw $0x1,(%r8,%r10,2),%xmm3 + .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d + .byte 102,65,15,196,217,2 // pinsrw $0x2,%r9d,%xmm3 + .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,216,3 // pinsrw $0x3,%eax,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 - .byte 102,15,111,5,112,37,0,0 // movdqa 0x2570(%rip),%xmm0 # 5980 <_sk_callback_sse2+0xc94> + .byte 102,15,111,5,97,40,0,0 // movdqa 0x2861(%rip),%xmm0 # 61c0 <_sk_callback_sse2+0xcd8> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 15,89,5,114,37,0,0 // mulps 0x2572(%rip),%xmm0 # 5990 <_sk_callback_sse2+0xca4> - .byte 102,15,111,13,122,37,0,0 // movdqa 0x257a(%rip),%xmm1 # 59a0 <_sk_callback_sse2+0xcb4> + .byte 15,89,5,99,40,0,0 // mulps 0x2863(%rip),%xmm0 # 61d0 <_sk_callback_sse2+0xce8> + .byte 102,15,111,13,107,40,0,0 // movdqa 0x286b(%rip),%xmm1 # 61e0 <_sk_callback_sse2+0xcf8> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 - .byte 15,89,13,124,37,0,0 // mulps 0x257c(%rip),%xmm1 # 59b0 <_sk_callback_sse2+0xcc4> - .byte 102,15,111,21,132,37,0,0 // movdqa 0x2584(%rip),%xmm2 # 59c0 <_sk_callback_sse2+0xcd4> + .byte 15,89,13,109,40,0,0 // mulps 0x286d(%rip),%xmm1 # 61f0 <_sk_callback_sse2+0xd08> + .byte 102,15,111,21,117,40,0,0 // movdqa 0x2875(%rip),%xmm2 # 6200 <_sk_callback_sse2+0xd18> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 - .byte 15,89,21,134,37,0,0 // mulps 0x2586(%rip),%xmm2 # 59d0 <_sk_callback_sse2+0xce4> - .byte 102,15,219,29,142,37,0,0 // pand 0x258e(%rip),%xmm3 # 59e0 <_sk_callback_sse2+0xcf4> + .byte 15,89,21,119,40,0,0 // mulps 0x2877(%rip),%xmm2 # 6210 <_sk_callback_sse2+0xd28> + .byte 102,15,219,29,127,40,0,0 // pand 0x287f(%rip),%xmm3 # 6220 <_sk_callback_sse2+0xd38> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 - .byte 15,89,29,148,37,0,0 // mulps 0x2594(%rip),%xmm3 # 59f0 <_sk_callback_sse2+0xd04> + .byte 15,89,29,133,40,0,0 // mulps 0x2885(%rip),%xmm3 # 6230 <_sk_callback_sse2+0xd48> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax @@ -31599,8 +32402,8 @@ HIDDEN _sk_store_4444_sse2 FUNCTION(_sk_store_4444_sse2) _sk_store_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,147,37,0,0 // movaps 0x2593(%rip),%xmm8 # 5a00 <_sk_callback_sse2+0xd14> + .byte 76,139,8 // mov (%rax),%r9 + .byte 68,15,40,5,132,40,0,0 // movaps 0x2884(%rip),%xmm8 # 6240 <_sk_callback_sse2+0xd58> .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 @@ -31621,9 +32424,27 @@ _sk_store_4444_sse2: .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,69,15,107,192 // packssdw %xmm8,%xmm8 - .byte 102,68,15,214,4,120 // movq %xmm8,(%rax,%rdi,2) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 3a2d <_sk_store_4444_sse2+0x7e> + .byte 242,69,15,17,4,121 // movsd %xmm8,(%r9,%rdi,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,36 // je 3a63 <_sk_store_4444_sse2+0xb4> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,18 // je 3a57 <_sk_store_4444_sse2+0xa8> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,222 // jne 3a29 <_sk_store_4444_sse2+0x7a> + .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax + .byte 102,65,137,68,121,4 // mov %ax,0x4(%r9,%rdi,2) + .byte 102,65,15,197,192,2 // pextrw $0x2,%xmm8,%eax + .byte 102,65,137,68,121,2 // mov %ax,0x2(%r9,%rdi,2) + .byte 102,68,15,126,192 // movd %xmm8,%eax + .byte 102,65,137,4,121 // mov %ax,(%r9,%rdi,2) + .byte 235,186 // jmp 3a29 <_sk_store_4444_sse2+0x7a> HIDDEN _sk_load_8888_sse2 .globl _sk_load_8888_sse2 @@ -31631,19 +32452,21 @@ FUNCTION(_sk_load_8888_sse2) _sk_load_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,16,12,184 // movups (%rax,%rdi,4),%xmm9 - .byte 15,40,21,38,37,0,0 // movaps 0x2526(%rip),%xmm2 # 5a10 <_sk_callback_sse2+0xd24> - .byte 65,15,40,193 // movaps %xmm9,%xmm0 - .byte 15,84,194 // andps %xmm2,%xmm0 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,98 // jne 3adb <_sk_load_8888_sse2+0x6c> + .byte 243,68,15,111,12,184 // movdqu (%rax,%rdi,4),%xmm9 + .byte 102,15,111,21,201,39,0,0 // movdqa 0x27c9(%rip),%xmm2 # 6250 <_sk_callback_sse2+0xd68> + .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,36,37,0,0 // movaps 0x2524(%rip),%xmm8 # 5a20 <_sk_callback_sse2+0xd34> + .byte 68,15,40,5,197,39,0,0 // movaps 0x27c5(%rip),%xmm8 # 6260 <_sk_callback_sse2+0xd78> .byte 65,15,89,192 // mulps %xmm8,%xmm0 - .byte 65,15,40,201 // movaps %xmm9,%xmm1 + .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 - .byte 65,15,40,217 // movaps %xmm9,%xmm3 + .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 @@ -31653,13 +32476,31 @@ _sk_load_8888_sse2: .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,44 // je 3b19 <_sk_load_8888_sse2+0xaa> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,18 // je 3b05 <_sk_load_8888_sse2+0x96> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,134 // jne 3a7f <_sk_load_8888_sse2+0x10> + .byte 102,15,110,68,184,8 // movd 0x8(%rax,%rdi,4),%xmm0 + .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 + .byte 243,15,16,68,184,4 // movss 0x4(%rax,%rdi,4),%xmm0 + .byte 65,15,198,193,0 // shufps $0x0,%xmm9,%xmm0 + .byte 65,15,198,193,226 // shufps $0xe2,%xmm9,%xmm0 + .byte 68,15,40,200 // movaps %xmm0,%xmm9 + .byte 243,15,16,4,184 // movss (%rax,%rdi,4),%xmm0 + .byte 243,68,15,16,200 // movss %xmm0,%xmm9 + .byte 233,87,255,255,255 // jmpq 3a7f <_sk_load_8888_sse2+0x10> HIDDEN _sk_gather_8888_sse2 .globl _sk_gather_8888_sse2 FUNCTION(_sk_gather_8888_sse2) _sk_gather_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31673,23 +32514,23 @@ _sk_gather_8888_sse2: .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 102,65,15,110,4,137 // movd (%r9,%rcx,4),%xmm0 - .byte 102,65,15,110,12,129 // movd (%r9,%rax,4),%xmm1 + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 102,67,15,110,4,144 // movd (%r8,%r10,4),%xmm0 + .byte 102,65,15,110,12,128 // movd (%r8,%rax,4),%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 - .byte 102,71,15,110,12,145 // movd (%r9,%r10,4),%xmm9 - .byte 102,67,15,110,12,129 // movd (%r9,%r8,4),%xmm1 + .byte 102,71,15,110,12,152 // movd (%r8,%r11,4),%xmm9 + .byte 102,67,15,110,12,136 // movd (%r8,%r9,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,117,36,0,0 // movdqa 0x2475(%rip),%xmm2 # 5a30 <_sk_callback_sse2+0xd44> + .byte 102,15,111,21,199,38,0,0 // movdqa 0x26c7(%rip),%xmm2 # 6270 <_sk_callback_sse2+0xd88> .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,113,36,0,0 // movaps 0x2471(%rip),%xmm8 # 5a40 <_sk_callback_sse2+0xd54> + .byte 68,15,40,5,195,38,0,0 // movaps 0x26c3(%rip),%xmm8 # 6280 <_sk_callback_sse2+0xd98> .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 @@ -31713,7 +32554,7 @@ FUNCTION(_sk_store_8888_sse2) _sk_store_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,5,52,36,0,0 // movaps 0x2434(%rip),%xmm8 # 5a50 <_sk_callback_sse2+0xd64> + .byte 68,15,40,5,134,38,0,0 // movaps 0x2686(%rip),%xmm8 # 6290 <_sk_callback_sse2+0xda8> .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 @@ -31731,9 +32572,25 @@ _sk_store_8888_sse2: .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,10 // jne 3c6a <_sk_store_8888_sse2+0x6d> .byte 243,68,15,127,4,184 // movdqu %xmm8,(%rax,%rdi,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 65,137,200 // mov %ecx,%r8d + .byte 65,128,224,3 // and $0x3,%r8b + .byte 65,128,248,1 // cmp $0x1,%r8b + .byte 116,38 // je 3c9d <_sk_store_8888_sse2+0xa0> + .byte 65,128,248,2 // cmp $0x2,%r8b + .byte 116,19 // je 3c90 <_sk_store_8888_sse2+0x93> + .byte 65,128,248,3 // cmp $0x3,%r8b + .byte 117,227 // jne 3c66 <_sk_store_8888_sse2+0x69> + .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 + .byte 102,68,15,126,76,184,8 // movd %xmm9,0x8(%rax,%rdi,4) + .byte 102,69,15,112,200,229 // pshufd $0xe5,%xmm8,%xmm9 + .byte 102,68,15,126,76,184,4 // movd %xmm9,0x4(%rax,%rdi,4) + .byte 102,68,15,126,4,184 // movd %xmm8,(%rax,%rdi,4) + .byte 235,193 // jmp 3c66 <_sk_store_8888_sse2+0x69> HIDDEN _sk_load_f16_sse2 .globl _sk_load_f16_sse2 @@ -31741,9 +32598,11 @@ FUNCTION(_sk_load_f16_sse2) _sk_load_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,111,4,248 // movdqu (%rax,%rdi,8),%xmm0 - .byte 243,15,111,76,248,16 // movdqu 0x10(%rax,%rdi,8),%xmm1 - .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,96,1,0,0 // jne 3e13 <_sk_load_f16_sse2+0x16e> + .byte 102,15,16,4,248 // movupd (%rax,%rdi,8),%xmm0 + .byte 102,15,16,76,248,16 // movupd 0x10(%rax,%rdi,8),%xmm1 + .byte 102,68,15,40,192 // movapd %xmm0,%xmm8 .byte 102,68,15,97,193 // punpcklwd %xmm1,%xmm8 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,69,15,111,240 // movdqa %xmm8,%xmm14 @@ -31752,7 +32611,7 @@ _sk_load_f16_sse2: .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,164,35,0,0 // movdqa 0x23a4(%rip),%xmm9 # 5a60 <_sk_callback_sse2+0xd74> + .byte 102,68,15,111,13,173,37,0,0 // movdqa 0x25ad(%rip),%xmm9 # 62a0 <_sk_callback_sse2+0xdb8> .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 @@ -31760,11 +32619,11 @@ _sk_load_f16_sse2: .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,137,35,0,0 // movdqa 0x2389(%rip),%xmm11 # 5a70 <_sk_callback_sse2+0xd84> + .byte 102,68,15,111,29,146,37,0,0 // movdqa 0x2592(%rip),%xmm11 # 62b0 <_sk_callback_sse2+0xdc8> .byte 102,69,15,254,235 // paddd %xmm11,%xmm13 - .byte 102,68,15,111,37,139,35,0,0 // movdqa 0x238b(%rip),%xmm12 # 5a80 <_sk_callback_sse2+0xd94> + .byte 102,68,15,111,37,148,37,0,0 // movdqa 0x2594(%rip),%xmm12 # 62c0 <_sk_callback_sse2+0xdd8> .byte 102,65,15,239,204 // pxor %xmm12,%xmm1 - .byte 102,15,111,29,142,35,0,0 // movdqa 0x238e(%rip),%xmm3 # 5a90 <_sk_callback_sse2+0xda4> + .byte 102,15,111,29,151,37,0,0 // movdqa 0x2597(%rip),%xmm3 # 62d0 <_sk_callback_sse2+0xde8> .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 @@ -31810,13 +32669,26 @@ _sk_load_f16_sse2: .byte 102,65,15,223,218 // pandn %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 242,15,16,4,248 // movsd (%rax,%rdi,8),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,17 // jne 3e2f <_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 3cbe <_sk_load_f16_sse2+0x19> + .byte 102,15,22,68,248,8 // movhpd 0x8(%rax,%rdi,8),%xmm0 + .byte 102,15,87,201 // xorpd %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,123,254,255,255 // jb 3cbe <_sk_load_f16_sse2+0x19> + .byte 242,15,16,76,248,16 // movsd 0x10(%rax,%rdi,8),%xmm1 + .byte 233,112,254,255,255 // jmpq 3cbe <_sk_load_f16_sse2+0x19> HIDDEN _sk_gather_f16_sse2 .globl _sk_gather_f16_sse2 FUNCTION(_sk_gather_f16_sse2) _sk_gather_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 76,139,8 // mov (%rax),%r9 + .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,16 // movd 0x10(%rax),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 @@ -31830,16 +32702,16 @@ _sk_gather_f16_sse2: .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax - .byte 65,137,192 // mov %eax,%r8d + .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax - .byte 102,72,15,126,193 // movq %xmm0,%rcx - .byte 65,137,202 // mov %ecx,%r10d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,65,15,126,4,201 // movq (%r9,%rcx,8),%xmm0 - .byte 243,67,15,126,12,209 // movq (%r9,%r10,8),%xmm1 + .byte 102,73,15,126,194 // movq %xmm0,%r10 + .byte 69,137,211 // mov %r10d,%r11d + .byte 73,193,234,32 // shr $0x20,%r10 + .byte 243,67,15,126,4,208 // movq (%r8,%r10,8),%xmm0 + .byte 243,67,15,126,12,216 // movq (%r8,%r11,8),%xmm1 .byte 102,15,108,200 // punpcklqdq %xmm0,%xmm1 - .byte 243,65,15,126,4,193 // movq (%r9,%rax,8),%xmm0 - .byte 243,67,15,126,20,193 // movq (%r9,%r8,8),%xmm2 + .byte 243,65,15,126,4,192 // movq (%r8,%rax,8),%xmm0 + .byte 243,67,15,126,20,200 // movq (%r8,%r9,8),%xmm2 .byte 102,15,108,208 // punpcklqdq %xmm0,%xmm2 .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,97,194 // punpcklwd %xmm2,%xmm8 @@ -31850,7 +32722,7 @@ _sk_gather_f16_sse2: .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,28,34,0,0 // movdqa 0x221c(%rip),%xmm9 # 5aa0 <_sk_callback_sse2+0xdb4> + .byte 102,68,15,111,13,234,35,0,0 // movdqa 0x23ea(%rip),%xmm9 # 62e0 <_sk_callback_sse2+0xdf8> .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 @@ -31858,11 +32730,11 @@ _sk_gather_f16_sse2: .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,1,34,0,0 // movdqa 0x2201(%rip),%xmm11 # 5ab0 <_sk_callback_sse2+0xdc4> + .byte 102,68,15,111,29,207,35,0,0 // movdqa 0x23cf(%rip),%xmm11 # 62f0 <_sk_callback_sse2+0xe08> .byte 102,69,15,254,235 // paddd %xmm11,%xmm13 - .byte 102,68,15,111,37,3,34,0,0 // movdqa 0x2203(%rip),%xmm12 # 5ac0 <_sk_callback_sse2+0xdd4> + .byte 102,68,15,111,37,209,35,0,0 // movdqa 0x23d1(%rip),%xmm12 # 6300 <_sk_callback_sse2+0xe18> .byte 102,65,15,239,204 // pxor %xmm12,%xmm1 - .byte 102,15,111,29,6,34,0,0 // movdqa 0x2206(%rip),%xmm3 # 5ad0 <_sk_callback_sse2+0xde4> + .byte 102,15,111,29,212,35,0,0 // movdqa 0x23d4(%rip),%xmm3 # 6310 <_sk_callback_sse2+0xe28> .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 @@ -31915,51 +32787,51 @@ FUNCTION(_sk_store_f16_sse2) _sk_store_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax - .byte 102,68,15,111,21,46,33,0,0 // movdqa 0x212e(%rip),%xmm10 # 5ae0 <_sk_callback_sse2+0xdf4> + .byte 102,68,15,111,21,252,34,0,0 // movdqa 0x22fc(%rip),%xmm10 # 6320 <_sk_callback_sse2+0xe38> .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,219,234 // pand %xmm10,%xmm13 - .byte 102,69,15,239,229 // pxor %xmm13,%xmm12 - .byte 102,68,15,111,13,33,33,0,0 // movdqa 0x2121(%rip),%xmm9 # 5af0 <_sk_callback_sse2+0xe04> - .byte 102,65,15,114,213,16 // psrld $0x10,%xmm13 + .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 + .byte 102,68,15,111,13,239,34,0,0 // movdqa 0x22ef(%rip),%xmm9 # 6330 <_sk_callback_sse2+0xe48> + .byte 102,65,15,114,212,16 // psrld $0x10,%xmm12 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 - .byte 102,69,15,102,196 // pcmpgtd %xmm12,%xmm8 - .byte 102,65,15,114,212,13 // psrld $0xd,%xmm12 - .byte 102,68,15,111,29,18,33,0,0 // movdqa 0x2112(%rip),%xmm11 # 5b00 <_sk_callback_sse2+0xe14> - .byte 102,69,15,235,235 // por %xmm11,%xmm13 - .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 - .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 - .byte 102,65,15,114,229,16 // psrad $0x10,%xmm13 - .byte 102,69,15,223,197 // pandn %xmm13,%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,224,34,0,0 // movdqa 0x22e0(%rip),%xmm11 # 6340 <_sk_callback_sse2+0xe58> + .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 + .byte 102,65,15,114,228,16 // psrad $0x10,%xmm12 + .byte 102,69,15,223,196 // pandn %xmm12,%xmm8 .byte 102,69,15,107,192 // packssdw %xmm8,%xmm8 - .byte 102,68,15,111,233 // movdqa %xmm1,%xmm13 + .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 + .byte 102,69,15,219,226 // pand %xmm10,%xmm12 .byte 102,68,15,111,241 // movdqa %xmm1,%xmm14 + .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 + .byte 102,65,15,114,212,16 // psrld $0x10,%xmm12 + .byte 102,69,15,111,233 // movdqa %xmm9,%xmm13 + .byte 102,69,15,102,238 // pcmpgtd %xmm14,%xmm13 + .byte 102,65,15,114,214,13 // psrld $0xd,%xmm14 + .byte 102,69,15,235,227 // por %xmm11,%xmm12 + .byte 102,69,15,254,230 // paddd %xmm14,%xmm12 + .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 + .byte 102,65,15,114,228,16 // psrad $0x10,%xmm12 + .byte 102,69,15,223,236 // pandn %xmm12,%xmm13 + .byte 102,69,15,107,237 // packssdw %xmm13,%xmm13 + .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 .byte 102,69,15,219,242 // pand %xmm10,%xmm14 - .byte 102,69,15,239,238 // pxor %xmm14,%xmm13 + .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 + .byte 102,69,15,239,254 // pxor %xmm14,%xmm15 .byte 102,65,15,114,214,16 // psrld $0x10,%xmm14 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 - .byte 102,69,15,102,229 // pcmpgtd %xmm13,%xmm12 - .byte 102,65,15,114,213,13 // psrld $0xd,%xmm13 + .byte 102,69,15,102,231 // pcmpgtd %xmm15,%xmm12 + .byte 102,65,15,114,215,13 // psrld $0xd,%xmm15 .byte 102,69,15,235,243 // por %xmm11,%xmm14 - .byte 102,69,15,254,245 // paddd %xmm13,%xmm14 + .byte 102,69,15,254,247 // paddd %xmm15,%xmm14 .byte 102,65,15,114,246,16 // pslld $0x10,%xmm14 .byte 102,65,15,114,230,16 // psrad $0x10,%xmm14 .byte 102,69,15,223,230 // pandn %xmm14,%xmm12 .byte 102,69,15,107,228 // packssdw %xmm12,%xmm12 - .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 - .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 - .byte 102,69,15,219,250 // pand %xmm10,%xmm15 - .byte 102,69,15,239,247 // pxor %xmm15,%xmm14 - .byte 102,65,15,114,215,16 // psrld $0x10,%xmm15 - .byte 102,69,15,111,233 // movdqa %xmm9,%xmm13 - .byte 102,69,15,102,238 // pcmpgtd %xmm14,%xmm13 - .byte 102,65,15,114,214,13 // psrld $0xd,%xmm14 - .byte 102,69,15,235,251 // por %xmm11,%xmm15 - .byte 102,69,15,254,254 // paddd %xmm14,%xmm15 - .byte 102,65,15,114,247,16 // pslld $0x10,%xmm15 - .byte 102,65,15,114,231,16 // psrad $0x10,%xmm15 - .byte 102,69,15,223,239 // pandn %xmm15,%xmm13 - .byte 102,69,15,107,237 // packssdw %xmm13,%xmm13 .byte 102,68,15,219,211 // pand %xmm3,%xmm10 .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,69,15,239,242 // pxor %xmm10,%xmm14 @@ -31972,25 +32844,39 @@ _sk_store_f16_sse2: .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 .byte 102,69,15,223,202 // pandn %xmm10,%xmm9 .byte 102,69,15,107,201 // packssdw %xmm9,%xmm9 - .byte 102,69,15,97,196 // punpcklwd %xmm12,%xmm8 - .byte 102,69,15,97,233 // punpcklwd %xmm9,%xmm13 + .byte 102,69,15,97,197 // punpcklwd %xmm13,%xmm8 + .byte 102,69,15,97,225 // punpcklwd %xmm9,%xmm12 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 - .byte 102,69,15,98,205 // punpckldq %xmm13,%xmm9 - .byte 243,68,15,127,12,248 // movdqu %xmm9,(%rax,%rdi,8) - .byte 102,69,15,106,197 // punpckhdq %xmm13,%xmm8 + .byte 102,69,15,98,204 // punpckldq %xmm12,%xmm9 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,21 // jne 4182 <_sk_store_f16_sse2+0x16c> + .byte 68,15,17,12,248 // movups %xmm9,(%rax,%rdi,8) + .byte 102,69,15,106,196 // punpckhdq %xmm12,%xmm8 .byte 243,68,15,127,68,248,16 // movdqu %xmm8,0x10(%rax,%rdi,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,68,15,214,12,248 // movq %xmm9,(%rax,%rdi,8) + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,240 // je 417e <_sk_store_f16_sse2+0x168> + .byte 102,68,15,23,76,248,8 // movhpd %xmm9,0x8(%rax,%rdi,8) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,227 // jb 417e <_sk_store_f16_sse2+0x168> + .byte 102,69,15,106,196 // punpckhdq %xmm12,%xmm8 + .byte 102,68,15,214,68,248,16 // movq %xmm8,0x10(%rax,%rdi,8) + .byte 235,213 // jmp 417e <_sk_store_f16_sse2+0x168> HIDDEN _sk_load_u16_be_sse2 .globl _sk_load_u16_be_sse2 FUNCTION(_sk_load_u16_be_sse2) _sk_load_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 243,15,111,4,248 // movdqu (%rax,%rdi,8),%xmm0 - .byte 243,15,111,76,248,16 // movdqu 0x10(%rax,%rdi,8),%xmm1 - .byte 102,15,111,208 // movdqa %xmm0,%xmm2 + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%rax + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,190,0,0,0 // jne 427d <_sk_load_u16_be_sse2+0xd4> + .byte 102,65,15,16,4,64 // movupd (%r8,%rax,2),%xmm0 + .byte 102,65,15,16,76,64,16 // movupd 0x10(%r8,%rax,2),%xmm1 + .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 @@ -32004,7 +32890,7 @@ _sk_load_u16_be_sse2: .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,176,31,0,0 // movaps 0x1fb0(%rip),%xmm8 # 5b10 <_sk_callback_sse2+0xe24> + .byte 68,15,40,5,64,33,0,0 // movaps 0x2140(%rip),%xmm8 # 6350 <_sk_callback_sse2+0xe68> .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 @@ -32030,34 +32916,50 @@ _sk_load_u16_be_sse2: .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 242,65,15,16,4,64 // movsd (%r8,%rax,2),%xmm0 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,17 // jne 429a <_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 41cc <_sk_load_u16_be_sse2+0x23> + .byte 102,65,15,22,68,64,8 // movhpd 0x8(%r8,%rax,2),%xmm0 + .byte 102,15,87,201 // xorpd %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 15,130,29,255,255,255 // jb 41cc <_sk_load_u16_be_sse2+0x23> + .byte 242,65,15,16,76,64,16 // movsd 0x10(%r8,%rax,2),%xmm1 + .byte 233,17,255,255,255 // jmpq 41cc <_sk_load_u16_be_sse2+0x23> HIDDEN _sk_load_rgb_u16_be_sse2 .globl _sk_load_rgb_u16_be_sse2 FUNCTION(_sk_load_rgb_u16_be_sse2) _sk_load_rgb_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,141,12,127 // lea (%rdi,%rdi,2),%rcx - .byte 243,15,111,20,72 // movdqu (%rax,%rcx,2),%xmm2 - .byte 243,15,111,68,72,8 // movdqu 0x8(%rax,%rcx,2),%xmm0 - .byte 102,15,115,216,4 // psrldq $0x4,%xmm0 - .byte 102,15,111,202 // movdqa %xmm2,%xmm1 - .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 - .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 - .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 - .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,127 // lea (%rdi,%rdi,2),%rax + .byte 72,133,201 // test %rcx,%rcx + .byte 15,133,175,0,0,0 // jne 437c <_sk_load_rgb_u16_be_sse2+0xc1> + .byte 243,65,15,111,20,64 // movdqu (%r8,%rax,2),%xmm2 + .byte 243,65,15,111,92,64,8 // movdqu 0x8(%r8,%rax,2),%xmm3 + .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 + .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 + .byte 102,15,111,203 // movdqa %xmm3,%xmm1 + .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 + .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 - .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 - .byte 102,15,105,209 // punpckhwd %xmm1,%xmm2 - .byte 102,15,111,200 // movdqa %xmm0,%xmm1 - .byte 102,15,113,241,8 // psllw $0x8,%xmm1 - .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 - .byte 102,15,235,193 // por %xmm1,%xmm0 + .byte 102,15,111,202 // movdqa %xmm2,%xmm1 + .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 + .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 + .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 + .byte 102,15,111,193 // movdqa %xmm1,%xmm0 + .byte 102,15,113,240,8 // psllw $0x8,%xmm0 + .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 + .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 - .byte 102,65,15,97,192 // punpcklwd %xmm8,%xmm0 - .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 - .byte 68,15,40,13,236,30,0,0 // movaps 0x1eec(%rip),%xmm9 # 5b20 <_sk_callback_sse2+0xe34> + .byte 102,65,15,97,200 // punpcklwd %xmm8,%xmm1 + .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 + .byte 68,15,40,13,47,32,0,0 // movaps 0x202f(%rip),%xmm9 # 6360 <_sk_callback_sse2+0xe78> .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 @@ -32074,47 +32976,58 @@ _sk_load_rgb_u16_be_sse2: .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax - .byte 15,40,29,179,30,0,0 // movaps 0x1eb3(%rip),%xmm3 # 5b30 <_sk_callback_sse2+0xe44> + .byte 15,40,29,246,31,0,0 // movaps 0x1ff6(%rip),%xmm3 # 6370 <_sk_callback_sse2+0xe88> .byte 255,224 // jmpq *%rax + .byte 102,65,15,110,20,64 // movd (%r8,%rax,2),%xmm2 + .byte 102,65,15,196,84,64,4,2 // pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,13 // jne 43a1 <_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 42f1 <_sk_load_rgb_u16_be_sse2+0x36> + .byte 102,65,15,110,68,64,6 // movd 0x6(%r8,%rax,2),%xmm0 + .byte 102,65,15,196,68,64,10,2 // pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,24 // jb 43d2 <_sk_load_rgb_u16_be_sse2+0x117> + .byte 102,65,15,110,92,64,12 // movd 0xc(%r8,%rax,2),%xmm3 + .byte 102,65,15,196,92,64,16,2 // pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 + .byte 102,15,239,201 // pxor %xmm1,%xmm1 + .byte 233,31,255,255,255 // jmpq 42f1 <_sk_load_rgb_u16_be_sse2+0x36> + .byte 102,15,239,219 // pxor %xmm3,%xmm3 + .byte 233,22,255,255,255 // jmpq 42f1 <_sk_load_rgb_u16_be_sse2+0x36> HIDDEN _sk_store_u16_be_sse2 .globl _sk_store_u16_be_sse2 FUNCTION(_sk_store_u16_be_sse2) _sk_store_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 68,15,40,13,180,30,0,0 // movaps 0x1eb4(%rip),%xmm9 # 5b40 <_sk_callback_sse2+0xe54> + .byte 76,139,0 // mov (%rax),%r8 + .byte 72,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%rax + .byte 68,15,40,21,144,31,0,0 // movaps 0x1f90(%rip),%xmm10 # 6380 <_sk_callback_sse2+0xe98> .byte 68,15,40,192 // movaps %xmm0,%xmm8 - .byte 69,15,89,193 // mulps %xmm9,%xmm8 + .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,69,15,107,192 // packssdw %xmm8,%xmm8 - .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 - .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 + .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 + .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 - .byte 102,69,15,235,194 // por %xmm10,%xmm8 - .byte 68,15,40,209 // movaps %xmm1,%xmm10 - .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 - .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 - .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 - .byte 102,69,15,107,210 // packssdw %xmm10,%xmm10 - .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 - .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 - .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 - .byte 102,69,15,235,211 // por %xmm11,%xmm10 - .byte 68,15,40,218 // movaps %xmm2,%xmm11 - .byte 69,15,89,217 // mulps %xmm9,%xmm11 - .byte 102,69,15,91,219 // cvtps2dq %xmm11,%xmm11 + .byte 102,69,15,235,193 // por %xmm9,%xmm8 + .byte 68,15,40,201 // movaps %xmm1,%xmm9 + .byte 69,15,89,202 // mulps %xmm10,%xmm9 + .byte 102,69,15,91,217 // cvtps2dq %xmm9,%xmm11 .byte 102,65,15,114,243,16 // pslld $0x10,%xmm11 .byte 102,65,15,114,227,16 // psrad $0x10,%xmm11 .byte 102,69,15,107,219 // packssdw %xmm11,%xmm11 - .byte 102,69,15,111,227 // movdqa %xmm11,%xmm12 - .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 + .byte 102,69,15,111,203 // movdqa %xmm11,%xmm9 + .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 - .byte 102,69,15,235,220 // por %xmm12,%xmm11 - .byte 68,15,89,203 // mulps %xmm3,%xmm9 + .byte 102,69,15,235,217 // por %xmm9,%xmm11 + .byte 68,15,40,202 // movaps %xmm2,%xmm9 + .byte 69,15,89,202 // mulps %xmm10,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,114,225,16 // psrad $0x10,%xmm9 @@ -32123,28 +33036,51 @@ _sk_store_u16_be_sse2: .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,204 // por %xmm12,%xmm9 - .byte 102,69,15,97,194 // punpcklwd %xmm10,%xmm8 - .byte 102,69,15,97,217 // punpcklwd %xmm9,%xmm11 - .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 - .byte 102,69,15,98,203 // punpckldq %xmm11,%xmm9 - .byte 243,68,15,127,12,248 // movdqu %xmm9,(%rax,%rdi,8) - .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 - .byte 243,68,15,127,68,248,16 // movdqu %xmm8,0x10(%rax,%rdi,8) + .byte 68,15,89,211 // mulps %xmm3,%xmm10 + .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 + .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 + .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 + .byte 102,69,15,107,210 // packssdw %xmm10,%xmm10 + .byte 102,69,15,111,226 // movdqa %xmm10,%xmm12 + .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 + .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 + .byte 102,69,15,235,212 // por %xmm12,%xmm10 + .byte 102,69,15,97,195 // punpcklwd %xmm11,%xmm8 + .byte 102,69,15,97,202 // punpcklwd %xmm10,%xmm9 + .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 + .byte 102,69,15,98,209 // punpckldq %xmm9,%xmm10 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,21 // jne 44ea <_sk_store_u16_be_sse2+0x10f> + .byte 69,15,17,20,64 // movups %xmm10,(%r8,%rax,2) + .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 + .byte 243,69,15,127,68,64,16 // movdqu %xmm8,0x10(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 102,69,15,214,20,64 // movq %xmm10,(%r8,%rax,2) + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,240 // je 44e6 <_sk_store_u16_be_sse2+0x10b> + .byte 102,69,15,23,84,64,8 // movhpd %xmm10,0x8(%r8,%rax,2) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,227 // jb 44e6 <_sk_store_u16_be_sse2+0x10b> + .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 + .byte 102,69,15,214,68,64,16 // movq %xmm8,0x10(%r8,%rax,2) + .byte 235,213 // jmp 44e6 <_sk_store_u16_be_sse2+0x10b> HIDDEN _sk_load_f32_sse2 .globl _sk_load_f32_sse2 FUNCTION(_sk_load_f32_sse2) _sk_load_f32_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,137,249 // mov %rdi,%rcx - .byte 72,193,225,4 // shl $0x4,%rcx - .byte 68,15,16,4,8 // movups (%rax,%rcx,1),%xmm8 - .byte 15,16,68,8,16 // movups 0x10(%rax,%rcx,1),%xmm0 - .byte 15,16,92,8,32 // movups 0x20(%rax,%rcx,1),%xmm3 - .byte 68,15,16,76,8,48 // movups 0x30(%rax,%rcx,1),%xmm9 + .byte 76,139,8 // mov (%rax),%r9 + .byte 76,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%r8 + .byte 72,137,248 // mov %rdi,%rax + .byte 72,193,224,4 // shl $0x4,%rax + .byte 69,15,16,4,1 // movups (%r9,%rax,1),%xmm8 + .byte 72,133,201 // test %rcx,%rcx + .byte 117,66 // jne 4571 <_sk_load_f32_sse2+0x60> + .byte 67,15,16,68,129,16 // movups 0x10(%r9,%r8,4),%xmm0 + .byte 67,15,16,92,129,32 // movups 0x20(%r9,%r8,4),%xmm3 + .byte 71,15,16,76,129,48 // movups 0x30(%r9,%r8,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 @@ -32159,35 +33095,58 @@ _sk_load_f32_sse2: .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 69,15,87,201 // xorps %xmm9,%xmm9 + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 117,8 // jne 4583 <_sk_load_f32_sse2+0x72> + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 15,87,192 // xorps %xmm0,%xmm0 + .byte 235,190 // jmp 4541 <_sk_load_f32_sse2+0x30> + .byte 67,15,16,68,129,16 // movups 0x10(%r9,%r8,4),%xmm0 + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,8 // jb 4597 <_sk_load_f32_sse2+0x86> + .byte 67,15,16,92,129,32 // movups 0x20(%r9,%r8,4),%xmm3 + .byte 235,170 // jmp 4541 <_sk_load_f32_sse2+0x30> + .byte 15,87,219 // xorps %xmm3,%xmm3 + .byte 235,165 // jmp 4541 <_sk_load_f32_sse2+0x30> HIDDEN _sk_store_f32_sse2 .globl _sk_store_f32_sse2 FUNCTION(_sk_store_f32_sse2) _sk_store_f32_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,0 // mov (%rax),%rax - .byte 72,137,249 // mov %rdi,%rcx - .byte 72,193,225,4 // shl $0x4,%rcx - .byte 68,15,40,192 // movaps %xmm0,%xmm8 + .byte 76,139,8 // mov (%rax),%r9 + .byte 76,141,4,189,0,0,0,0 // lea 0x0(,%rdi,4),%r8 + .byte 72,137,248 // mov %rdi,%rax + .byte 72,193,224,4 // shl $0x4,%rax .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 - .byte 68,15,40,210 // movaps %xmm2,%xmm10 + .byte 68,15,40,194 // movaps %xmm2,%xmm8 + .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 + .byte 68,15,40,208 // movaps %xmm0,%xmm10 + .byte 68,15,21,209 // unpckhps %xmm1,%xmm10 .byte 68,15,40,218 // movaps %xmm2,%xmm11 - .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 - .byte 68,15,21,193 // unpckhps %xmm1,%xmm8 - .byte 68,15,21,211 // unpckhps %xmm3,%xmm10 + .byte 68,15,21,219 // unpckhps %xmm3,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 - .byte 102,69,15,20,227 // unpcklpd %xmm11,%xmm12 - .byte 69,15,18,217 // movhlps %xmm9,%xmm11 - .byte 69,15,40,200 // movaps %xmm8,%xmm9 - .byte 102,69,15,20,202 // unpcklpd %xmm10,%xmm9 - .byte 69,15,18,208 // movhlps %xmm8,%xmm10 - .byte 102,68,15,17,36,8 // movupd %xmm12,(%rax,%rcx,1) - .byte 68,15,17,92,8,16 // movups %xmm11,0x10(%rax,%rcx,1) - .byte 102,68,15,17,76,8,32 // movupd %xmm9,0x20(%rax,%rcx,1) - .byte 68,15,17,84,8,48 // movups %xmm10,0x30(%rax,%rcx,1) + .byte 102,69,15,20,224 // unpcklpd %xmm8,%xmm12 + .byte 69,15,18,193 // movhlps %xmm9,%xmm8 + .byte 69,15,40,202 // movaps %xmm10,%xmm9 + .byte 102,69,15,20,203 // unpcklpd %xmm11,%xmm9 + .byte 102,69,15,17,36,1 // movupd %xmm12,(%r9,%rax,1) + .byte 72,133,201 // test %rcx,%rcx + .byte 117,29 // jne 460e <_sk_store_f32_sse2+0x72> + .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 + .byte 71,15,17,68,129,16 // movups %xmm8,0x10(%r9,%r8,4) + .byte 102,71,15,17,76,129,32 // movupd %xmm9,0x20(%r9,%r8,4) + .byte 102,71,15,17,84,129,48 // movupd %xmm10,0x30(%r9,%r8,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax + .byte 72,131,249,1 // cmp $0x1,%rcx + .byte 116,246 // je 460a <_sk_store_f32_sse2+0x6e> + .byte 71,15,17,68,129,16 // movups %xmm8,0x10(%r9,%r8,4) + .byte 72,131,249,3 // cmp $0x3,%rcx + .byte 114,234 // jb 460a <_sk_store_f32_sse2+0x6e> + .byte 102,71,15,17,76,129,32 // movupd %xmm9,0x20(%r9,%r8,4) + .byte 235,225 // jmp 460a <_sk_store_f32_sse2+0x6e> HIDDEN _sk_clamp_x_sse2 .globl _sk_clamp_x_sse2 @@ -32229,7 +33188,7 @@ _sk_repeat_x_sse2: .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,180,28,0,0 // andps 0x1cb4(%rip),%xmm9 # 5b50 <_sk_callback_sse2+0xe64> + .byte 68,15,84,13,1,29,0,0 // andps 0x1d01(%rip),%xmm9 # 6390 <_sk_callback_sse2+0xea8> .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,92,194 // subps %xmm10,%xmm0 @@ -32248,7 +33207,7 @@ _sk_repeat_y_sse2: .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,138,28,0,0 // andps 0x1c8a(%rip),%xmm9 # 5b60 <_sk_callback_sse2+0xe74> + .byte 68,15,84,13,215,28,0,0 // andps 0x1cd7(%rip),%xmm9 # 63a0 <_sk_callback_sse2+0xeb8> .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,92,202 // subps %xmm10,%xmm1 @@ -32271,7 +33230,7 @@ _sk_mirror_x_sse2: .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,78,28,0,0 // andps 0x1c4e(%rip),%xmm10 # 5b70 <_sk_callback_sse2+0xe84> + .byte 68,15,84,21,155,28,0,0 // andps 0x1c9b(%rip),%xmm10 # 63b0 <_sk_callback_sse2+0xec8> .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 @@ -32298,7 +33257,7 @@ _sk_mirror_y_sse2: .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,2,28,0,0 // andps 0x1c02(%rip),%xmm10 # 5b80 <_sk_callback_sse2+0xe94> + .byte 68,15,84,21,79,28,0,0 // andps 0x1c4f(%rip),%xmm10 # 63c0 <_sk_callback_sse2+0xed8> .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 @@ -32315,7 +33274,7 @@ FUNCTION(_sk_clamp_x_1_sse2) _sk_clamp_x_1_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 - .byte 68,15,93,5,226,27,0,0 // minps 0x1be2(%rip),%xmm8 # 5b90 <_sk_callback_sse2+0xea4> + .byte 68,15,93,5,47,28,0,0 // minps 0x1c2f(%rip),%xmm8 # 63d0 <_sk_callback_sse2+0xee8> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax @@ -32328,7 +33287,7 @@ _sk_repeat_x_1_sse2: .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,208,27,0,0 // andps 0x1bd0(%rip),%xmm9 # 5ba0 <_sk_callback_sse2+0xeb4> + .byte 68,15,84,13,29,28,0,0 // andps 0x1c1d(%rip),%xmm9 # 63e0 <_sk_callback_sse2+0xef8> .byte 69,15,92,193 // subps %xmm9,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax @@ -32338,14 +33297,14 @@ HIDDEN _sk_mirror_x_1_sse2 .globl _sk_mirror_x_1_sse2 FUNCTION(_sk_mirror_x_1_sse2) _sk_mirror_x_1_sse2: - .byte 68,15,40,5,204,27,0,0 // movaps 0x1bcc(%rip),%xmm8 # 5bb0 <_sk_callback_sse2+0xec4> + .byte 68,15,40,5,25,28,0,0 // movaps 0x1c19(%rip),%xmm8 # 63f0 <_sk_callback_sse2+0xf08> .byte 65,15,88,192 // addps %xmm8,%xmm0 - .byte 68,15,40,13,208,27,0,0 // movaps 0x1bd0(%rip),%xmm9 # 5bc0 <_sk_callback_sse2+0xed4> + .byte 68,15,40,13,29,28,0,0 // movaps 0x1c1d(%rip),%xmm9 # 6400 <_sk_callback_sse2+0xf18> .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,198,27,0,0 // andps 0x1bc6(%rip),%xmm9 # 5bd0 <_sk_callback_sse2+0xee4> + .byte 68,15,84,13,19,28,0,0 // andps 0x1c13(%rip),%xmm9 # 6410 <_sk_callback_sse2+0xf28> .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,88,210 // addps %xmm10,%xmm10 @@ -32361,10 +33320,10 @@ HIDDEN _sk_luminance_to_alpha_sse2 FUNCTION(_sk_luminance_to_alpha_sse2) _sk_luminance_to_alpha_sse2: .byte 15,40,218 // movaps %xmm2,%xmm3 - .byte 15,89,5,172,27,0,0 // mulps 0x1bac(%rip),%xmm0 # 5be0 <_sk_callback_sse2+0xef4> - .byte 15,89,13,181,27,0,0 // mulps 0x1bb5(%rip),%xmm1 # 5bf0 <_sk_callback_sse2+0xf04> + .byte 15,89,5,249,27,0,0 // mulps 0x1bf9(%rip),%xmm0 # 6420 <_sk_callback_sse2+0xf38> + .byte 15,89,13,2,28,0,0 // mulps 0x1c02(%rip),%xmm1 # 6430 <_sk_callback_sse2+0xf48> .byte 15,88,200 // addps %xmm0,%xmm1 - .byte 15,89,29,187,27,0,0 // mulps 0x1bbb(%rip),%xmm3 # 5c00 <_sk_callback_sse2+0xf14> + .byte 15,89,29,8,28,0,0 // mulps 0x1c08(%rip),%xmm3 # 6440 <_sk_callback_sse2+0xf58> .byte 15,88,217 // addps %xmm1,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 @@ -32636,18 +33595,20 @@ HIDDEN _sk_evenly_spaced_gradient_sse2 .globl _sk_evenly_spaced_gradient_sse2 FUNCTION(_sk_evenly_spaced_gradient_sse2) _sk_evenly_spaced_gradient_sse2: + .byte 65,86 // push %r14 + .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax - .byte 72,139,8 // mov (%rax),%rcx - .byte 76,139,88,8 // mov 0x8(%rax),%r11 - .byte 72,255,201 // dec %rcx - .byte 120,7 // js 447e <_sk_evenly_spaced_gradient_sse2+0x15> - .byte 243,72,15,42,201 // cvtsi2ss %rcx,%xmm1 - .byte 235,21 // jmp 4493 <_sk_evenly_spaced_gradient_sse2+0x2a> - .byte 73,137,200 // mov %rcx,%r8 + .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 4c74 <_sk_evenly_spaced_gradient_sse2+0x18> + .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 + .byte 235,21 // jmp 4c89 <_sk_evenly_spaced_gradient_sse2+0x2d> + .byte 73,137,216 // mov %rbx,%r8 .byte 73,209,232 // shr %r8 - .byte 131,225,1 // and $0x1,%ecx - .byte 76,9,193 // or %r8,%rcx - .byte 243,72,15,42,201 // cvtsi2ss %rcx,%xmm1 + .byte 131,227,1 // and $0x1,%ebx + .byte 76,9,195 // or %r8,%rbx + .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 243,15,88,201 // addss %xmm1,%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 @@ -32656,66 +33617,66 @@ _sk_evenly_spaced_gradient_sse2: .byte 102,73,15,126,210 // movq %xmm2,%r10 .byte 69,137,208 // mov %r10d,%r8d .byte 73,193,234,32 // shr $0x20,%r10 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,201 // mov %ecx,%r9d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 243,65,15,16,12,139 // movss (%r11,%rcx,4),%xmm1 - .byte 243,67,15,16,20,147 // movss (%r11,%r10,4),%xmm2 + .byte 102,73,15,126,203 // movq %xmm1,%r11 + .byte 69,137,217 // mov %r11d,%r9d + .byte 73,193,235,32 // shr $0x20,%r11 + .byte 243,67,15,16,12,158 // movss (%r14,%r11,4),%xmm1 + .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 - .byte 243,71,15,16,4,139 // movss (%r11,%r9,4),%xmm8 - .byte 243,67,15,16,20,131 // movss (%r11,%r8,4),%xmm2 + .byte 243,71,15,16,4,142 // movss (%r14,%r9,4),%xmm8 + .byte 243,67,15,16,20,134 // movss (%r14,%r8,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 - .byte 76,139,88,40 // mov 0x28(%rax),%r11 - .byte 243,65,15,16,12,139 // movss (%r11,%rcx,4),%xmm1 - .byte 243,67,15,16,20,147 // movss (%r11,%r10,4),%xmm2 + .byte 72,139,88,40 // mov 0x28(%rax),%rbx + .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 + .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 - .byte 243,71,15,16,12,139 // movss (%r11,%r9,4),%xmm9 - .byte 243,67,15,16,20,131 // movss (%r11,%r8,4),%xmm2 + .byte 243,70,15,16,12,139 // movss (%rbx,%r9,4),%xmm9 + .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 68,15,20,202 // unpcklps %xmm2,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 - .byte 76,139,88,16 // mov 0x10(%rax),%r11 - .byte 243,65,15,16,20,139 // movss (%r11,%rcx,4),%xmm2 - .byte 243,67,15,16,12,147 // movss (%r11,%r10,4),%xmm1 + .byte 72,139,88,16 // mov 0x10(%rax),%rbx + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 + .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 - .byte 243,67,15,16,12,139 // movss (%r11,%r9,4),%xmm1 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 - .byte 76,139,88,48 // mov 0x30(%rax),%r11 - .byte 243,65,15,16,20,139 // movss (%r11,%rcx,4),%xmm2 - .byte 243,67,15,16,28,147 // movss (%r11,%r10,4),%xmm3 + .byte 72,139,88,48 // mov 0x30(%rax),%rbx + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 + .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 - .byte 243,71,15,16,20,139 // movss (%r11,%r9,4),%xmm10 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 243,70,15,16,20,139 // movss (%rbx,%r9,4),%xmm10 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 68,15,20,211 // unpcklps %xmm3,%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 - .byte 76,139,88,24 // mov 0x18(%rax),%r11 - .byte 243,69,15,16,28,139 // movss (%r11,%rcx,4),%xmm11 - .byte 243,67,15,16,20,147 // movss (%r11,%r10,4),%xmm2 + .byte 72,139,88,24 // mov 0x18(%rax),%rbx + .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 + .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 68,15,20,218 // unpcklps %xmm2,%xmm11 - .byte 243,67,15,16,20,139 // movss (%r11,%r9,4),%xmm2 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 65,15,20,211 // unpcklps %xmm11,%xmm2 - .byte 76,139,88,56 // mov 0x38(%rax),%r11 - .byte 243,69,15,16,36,139 // movss (%r11,%rcx,4),%xmm12 - .byte 243,67,15,16,28,147 // movss (%r11,%r10,4),%xmm3 + .byte 72,139,88,56 // mov 0x38(%rax),%rbx + .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 + .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 - .byte 243,71,15,16,28,139 // movss (%r11,%r9,4),%xmm11 - .byte 243,67,15,16,28,131 // movss (%r11,%r8,4),%xmm3 + .byte 243,70,15,16,28,139 // movss (%rbx,%r9,4),%xmm11 + .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 69,15,20,220 // unpcklps %xmm12,%xmm11 - .byte 76,139,88,32 // mov 0x20(%rax),%r11 - .byte 243,69,15,16,36,139 // movss (%r11,%rcx,4),%xmm12 - .byte 243,67,15,16,28,147 // movss (%r11,%r10,4),%xmm3 + .byte 72,139,88,32 // mov 0x20(%rax),%rbx + .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 + .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 - .byte 243,67,15,16,28,139 // movss (%r11,%r9,4),%xmm3 - .byte 243,71,15,16,44,131 // movss (%r11,%r8,4),%xmm13 + .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 + .byte 243,70,15,16,44,131 // movss (%rbx,%r8,4),%xmm13 .byte 65,15,20,221 // unpcklps %xmm13,%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax - .byte 243,68,15,16,36,136 // movss (%rax,%rcx,4),%xmm12 + .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 69,15,20,229 // unpcklps %xmm13,%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 @@ -32732,21 +33693,23 @@ _sk_evenly_spaced_gradient_sse2: .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 + .byte 91 // pop %rbx + .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_gauss_a_to_rgba_sse2 .globl _sk_gauss_a_to_rgba_sse2 FUNCTION(_sk_gauss_a_to_rgba_sse2) _sk_gauss_a_to_rgba_sse2: - .byte 15,40,5,244,21,0,0 // movaps 0x15f4(%rip),%xmm0 # 5c10 <_sk_callback_sse2+0xf24> + .byte 15,40,5,59,22,0,0 // movaps 0x163b(%rip),%xmm0 # 6450 <_sk_callback_sse2+0xf68> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,250,21,0,0 // addps 0x15fa(%rip),%xmm0 # 5c20 <_sk_callback_sse2+0xf34> + .byte 15,88,5,65,22,0,0 // addps 0x1641(%rip),%xmm0 # 6460 <_sk_callback_sse2+0xf78> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,0,22,0,0 // addps 0x1600(%rip),%xmm0 # 5c30 <_sk_callback_sse2+0xf44> + .byte 15,88,5,71,22,0,0 // addps 0x1647(%rip),%xmm0 # 6470 <_sk_callback_sse2+0xf88> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,6,22,0,0 // addps 0x1606(%rip),%xmm0 # 5c40 <_sk_callback_sse2+0xf54> + .byte 15,88,5,77,22,0,0 // addps 0x164d(%rip),%xmm0 # 6480 <_sk_callback_sse2+0xf98> .byte 15,89,195 // mulps %xmm3,%xmm0 - .byte 15,88,5,12,22,0,0 // addps 0x160c(%rip),%xmm0 # 5c50 <_sk_callback_sse2+0xf64> + .byte 15,88,5,83,22,0,0 // addps 0x1653(%rip),%xmm0 # 6490 <_sk_callback_sse2+0xfa8> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 @@ -32761,47 +33724,47 @@ _sk_gradient_sse2: .byte 76,139,0 // mov (%rax),%r8 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,2 // cmp $0x2,%r8 - .byte 114,50 // jb 4692 <_sk_gradient_sse2+0x41> - .byte 72,139,72,72 // mov 0x48(%rax),%rcx + .byte 114,51 // jb 4e8c <_sk_gradient_sse2+0x42> + .byte 76,139,72,72 // mov 0x48(%rax),%r9 .byte 73,255,200 // dec %r8 - .byte 72,131,193,4 // add $0x4,%rcx + .byte 73,131,193,4 // add $0x4,%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 - .byte 15,40,21,234,21,0,0 // movaps 0x15ea(%rip),%xmm2 # 5c60 <_sk_callback_sse2+0xf74> - .byte 243,15,16,25 // movss (%rcx),%xmm3 + .byte 15,40,21,49,22,0,0 // movaps 0x1631(%rip),%xmm2 # 64a0 <_sk_callback_sse2+0xfb8> + .byte 243,65,15,16,25 // movss (%r9),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,194,216,2 // cmpleps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 - .byte 72,131,193,4 // add $0x4,%rcx + .byte 73,131,193,4 // add $0x4,%r9 .byte 73,255,200 // dec %r8 - .byte 117,228 // jne 4676 <_sk_gradient_sse2+0x25> + .byte 117,227 // jne 4e6f <_sk_gradient_sse2+0x25> .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,210 // movq %xmm2,%r10 .byte 69,137,208 // mov %r10d,%r8d .byte 73,193,234,32 // shr $0x20,%r10 - .byte 102,72,15,126,201 // movq %xmm1,%rcx - .byte 65,137,201 // mov %ecx,%r9d - .byte 72,193,233,32 // shr $0x20,%rcx - .byte 76,139,88,8 // mov 0x8(%rax),%r11 + .byte 102,73,15,126,203 // movq %xmm1,%r11 + .byte 69,137,217 // mov %r11d,%r9d + .byte 73,193,235,32 // shr $0x20,%r11 + .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 - .byte 243,65,15,16,12,139 // movss (%r11,%rcx,4),%xmm1 - .byte 243,67,15,16,20,147 // movss (%r11,%r10,4),%xmm2 + .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 + .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 - .byte 243,71,15,16,4,139 // movss (%r11,%r9,4),%xmm8 - .byte 243,67,15,16,20,131 // movss (%r11,%r8,4),%xmm2 + .byte 243,70,15,16,4,139 // movss (%rbx,%r9,4),%xmm8 + .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx - .byte 243,15,16,12,139 // movss (%rbx,%rcx,4),%xmm1 + .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,70,15,16,12,139 // movss (%rbx,%r9,4),%xmm9 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 68,15,20,202 // unpcklps %xmm2,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 - .byte 243,65,15,16,20,142 // movss (%r14,%rcx,4),%xmm2 + .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 @@ -32809,7 +33772,7 @@ _sk_gradient_sse2: .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx - .byte 243,15,16,20,139 // movss (%rbx,%rcx,4),%xmm2 + .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,70,15,16,20,139 // movss (%rbx,%r9,4),%xmm10 @@ -32817,7 +33780,7 @@ _sk_gradient_sse2: .byte 68,15,20,211 // unpcklps %xmm3,%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx - .byte 243,68,15,16,28,139 // movss (%rbx,%rcx,4),%xmm11 + .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 68,15,20,218 // unpcklps %xmm2,%xmm11 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 @@ -32825,7 +33788,7 @@ _sk_gradient_sse2: .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 65,15,20,211 // unpcklps %xmm11,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx - .byte 243,68,15,16,36,139 // movss (%rbx,%rcx,4),%xmm12 + .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,70,15,16,28,139 // movss (%rbx,%r9,4),%xmm11 @@ -32833,7 +33796,7 @@ _sk_gradient_sse2: .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 69,15,20,220 // unpcklps %xmm12,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx - .byte 243,68,15,16,36,139 // movss (%rbx,%rcx,4),%xmm12 + .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 @@ -32841,7 +33804,7 @@ _sk_gradient_sse2: .byte 65,15,20,221 // unpcklps %xmm13,%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax - .byte 243,68,15,16,36,136 // movss (%rax,%rcx,4),%xmm12 + .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 69,15,20,229 // unpcklps %xmm13,%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 @@ -32914,29 +33877,29 @@ _sk_xy_to_unit_angle_sse2: .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,172,19,0,0 // movaps 0x13ac(%rip),%xmm13 # 5c70 <_sk_callback_sse2+0xf84> + .byte 68,15,40,45,240,19,0,0 // movaps 0x13f0(%rip),%xmm13 # 64b0 <_sk_callback_sse2+0xfc8> .byte 69,15,89,236 // mulps %xmm12,%xmm13 - .byte 68,15,88,45,176,19,0,0 // addps 0x13b0(%rip),%xmm13 # 5c80 <_sk_callback_sse2+0xf94> + .byte 68,15,88,45,244,19,0,0 // addps 0x13f4(%rip),%xmm13 # 64c0 <_sk_callback_sse2+0xfd8> .byte 69,15,89,236 // mulps %xmm12,%xmm13 - .byte 68,15,88,45,180,19,0,0 // addps 0x13b4(%rip),%xmm13 # 5c90 <_sk_callback_sse2+0xfa4> + .byte 68,15,88,45,248,19,0,0 // addps 0x13f8(%rip),%xmm13 # 64d0 <_sk_callback_sse2+0xfe8> .byte 69,15,89,236 // mulps %xmm12,%xmm13 - .byte 68,15,88,45,184,19,0,0 // addps 0x13b8(%rip),%xmm13 # 5ca0 <_sk_callback_sse2+0xfb4> + .byte 68,15,88,45,252,19,0,0 // addps 0x13fc(%rip),%xmm13 # 64e0 <_sk_callback_sse2+0xff8> .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 69,15,194,202,1 // cmpltps %xmm10,%xmm9 - .byte 68,15,40,21,183,19,0,0 // movaps 0x13b7(%rip),%xmm10 # 5cb0 <_sk_callback_sse2+0xfc4> + .byte 68,15,40,21,251,19,0,0 // movaps 0x13fb(%rip),%xmm10 # 64f0 <_sk_callback_sse2+0x1008> .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,170,19,0,0 // movaps 0x13aa(%rip),%xmm10 # 5cc0 <_sk_callback_sse2+0xfd4> + .byte 68,15,40,21,238,19,0,0 // movaps 0x13ee(%rip),%xmm10 # 6500 <_sk_callback_sse2+0x1018> .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,153,19,0,0 // movaps 0x1399(%rip),%xmm10 # 5cd0 <_sk_callback_sse2+0xfe4> + .byte 68,15,40,21,221,19,0,0 // movaps 0x13dd(%rip),%xmm10 # 6510 <_sk_callback_sse2+0x1028> .byte 69,15,92,208 // subps %xmm8,%xmm10 .byte 69,15,84,209 // andps %xmm9,%xmm10 .byte 69,15,85,200 // andnps %xmm8,%xmm9 @@ -32963,7 +33926,7 @@ HIDDEN _sk_save_xy_sse2 FUNCTION(_sk_save_xy_sse2) _sk_save_xy_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,107,19,0,0 // movaps 0x136b(%rip),%xmm8 # 5ce0 <_sk_callback_sse2+0xff4> + .byte 68,15,40,5,175,19,0,0 // movaps 0x13af(%rip),%xmm8 # 6520 <_sk_callback_sse2+0x1038> .byte 15,17,0 // movups %xmm0,(%rax) .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 @@ -32971,7 +33934,7 @@ _sk_save_xy_sse2: .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,86,19,0,0 // movaps 0x1356(%rip),%xmm12 # 5cf0 <_sk_callback_sse2+0x1004> + .byte 68,15,40,37,154,19,0,0 // movaps 0x139a(%rip),%xmm12 # 6530 <_sk_callback_sse2+0x1048> .byte 69,15,84,220 // andps %xmm12,%xmm11 .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 69,15,92,202 // subps %xmm10,%xmm9 @@ -33018,8 +33981,8 @@ _sk_bilinear_nx_sse2: .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,207,18,0,0 // addps 0x12cf(%rip),%xmm0 # 5d00 <_sk_callback_sse2+0x1014> - .byte 68,15,40,13,215,18,0,0 // movaps 0x12d7(%rip),%xmm9 # 5d10 <_sk_callback_sse2+0x1024> + .byte 15,88,5,19,19,0,0 // addps 0x1313(%rip),%xmm0 # 6540 <_sk_callback_sse2+0x1058> + .byte 68,15,40,13,27,19,0,0 // movaps 0x131b(%rip),%xmm9 # 6550 <_sk_callback_sse2+0x1068> .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 @@ -33032,7 +33995,7 @@ _sk_bilinear_px_sse2: .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,198,18,0,0 // addps 0x12c6(%rip),%xmm0 # 5d20 <_sk_callback_sse2+0x1034> + .byte 15,88,5,10,19,0,0 // addps 0x130a(%rip),%xmm0 # 6560 <_sk_callback_sse2+0x1078> .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 @@ -33044,8 +34007,8 @@ _sk_bilinear_ny_sse2: .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,184,18,0,0 // addps 0x12b8(%rip),%xmm1 # 5d30 <_sk_callback_sse2+0x1044> - .byte 68,15,40,13,192,18,0,0 // movaps 0x12c0(%rip),%xmm9 # 5d40 <_sk_callback_sse2+0x1054> + .byte 15,88,13,252,18,0,0 // addps 0x12fc(%rip),%xmm1 # 6570 <_sk_callback_sse2+0x1088> + .byte 68,15,40,13,4,19,0,0 // movaps 0x1304(%rip),%xmm9 # 6580 <_sk_callback_sse2+0x1098> .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 @@ -33058,7 +34021,7 @@ _sk_bilinear_py_sse2: .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,174,18,0,0 // addps 0x12ae(%rip),%xmm1 # 5d50 <_sk_callback_sse2+0x1064> + .byte 15,88,13,242,18,0,0 // addps 0x12f2(%rip),%xmm1 # 6590 <_sk_callback_sse2+0x10a8> .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 @@ -33070,13 +34033,13 @@ _sk_bicubic_n3x_sse2: .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,161,18,0,0 // addps 0x12a1(%rip),%xmm0 # 5d60 <_sk_callback_sse2+0x1074> - .byte 68,15,40,13,169,18,0,0 // movaps 0x12a9(%rip),%xmm9 # 5d70 <_sk_callback_sse2+0x1084> + .byte 15,88,5,229,18,0,0 // addps 0x12e5(%rip),%xmm0 # 65a0 <_sk_callback_sse2+0x10b8> + .byte 68,15,40,13,237,18,0,0 // movaps 0x12ed(%rip),%xmm9 # 65b0 <_sk_callback_sse2+0x10c8> .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,165,18,0,0 // mulps 0x12a5(%rip),%xmm9 # 5d80 <_sk_callback_sse2+0x1094> - .byte 68,15,88,13,173,18,0,0 // addps 0x12ad(%rip),%xmm9 # 5d90 <_sk_callback_sse2+0x10a4> + .byte 68,15,89,13,233,18,0,0 // mulps 0x12e9(%rip),%xmm9 # 65c0 <_sk_callback_sse2+0x10d8> + .byte 68,15,88,13,241,18,0,0 // addps 0x12f1(%rip),%xmm9 # 65d0 <_sk_callback_sse2+0x10e8> .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 @@ -33089,16 +34052,16 @@ _sk_bicubic_n1x_sse2: .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,156,18,0,0 // addps 0x129c(%rip),%xmm0 # 5da0 <_sk_callback_sse2+0x10b4> - .byte 68,15,40,13,164,18,0,0 // movaps 0x12a4(%rip),%xmm9 # 5db0 <_sk_callback_sse2+0x10c4> + .byte 15,88,5,224,18,0,0 // addps 0x12e0(%rip),%xmm0 # 65e0 <_sk_callback_sse2+0x10f8> + .byte 68,15,40,13,232,18,0,0 // movaps 0x12e8(%rip),%xmm9 # 65f0 <_sk_callback_sse2+0x1108> .byte 69,15,92,200 // subps %xmm8,%xmm9 - .byte 68,15,40,5,168,18,0,0 // movaps 0x12a8(%rip),%xmm8 # 5dc0 <_sk_callback_sse2+0x10d4> + .byte 68,15,40,5,236,18,0,0 // movaps 0x12ec(%rip),%xmm8 # 6600 <_sk_callback_sse2+0x1118> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,172,18,0,0 // addps 0x12ac(%rip),%xmm8 # 5dd0 <_sk_callback_sse2+0x10e4> + .byte 68,15,88,5,240,18,0,0 // addps 0x12f0(%rip),%xmm8 # 6610 <_sk_callback_sse2+0x1128> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,176,18,0,0 // addps 0x12b0(%rip),%xmm8 # 5de0 <_sk_callback_sse2+0x10f4> + .byte 68,15,88,5,244,18,0,0 // addps 0x12f4(%rip),%xmm8 # 6620 <_sk_callback_sse2+0x1138> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,180,18,0,0 // addps 0x12b4(%rip),%xmm8 # 5df0 <_sk_callback_sse2+0x1104> + .byte 68,15,88,5,248,18,0,0 // addps 0x12f8(%rip),%xmm8 # 6630 <_sk_callback_sse2+0x1148> .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 @@ -33108,17 +34071,17 @@ HIDDEN _sk_bicubic_p1x_sse2 FUNCTION(_sk_bicubic_p1x_sse2) _sk_bicubic_p1x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,174,18,0,0 // movaps 0x12ae(%rip),%xmm8 # 5e00 <_sk_callback_sse2+0x1114> + .byte 68,15,40,5,242,18,0,0 // movaps 0x12f2(%rip),%xmm8 # 6640 <_sk_callback_sse2+0x1158> .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,170,18,0,0 // movaps 0x12aa(%rip),%xmm10 # 5e10 <_sk_callback_sse2+0x1124> + .byte 68,15,40,21,238,18,0,0 // movaps 0x12ee(%rip),%xmm10 # 6650 <_sk_callback_sse2+0x1168> .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 68,15,88,21,174,18,0,0 // addps 0x12ae(%rip),%xmm10 # 5e20 <_sk_callback_sse2+0x1134> + .byte 68,15,88,21,242,18,0,0 // addps 0x12f2(%rip),%xmm10 # 6660 <_sk_callback_sse2+0x1178> .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,170,18,0,0 // addps 0x12aa(%rip),%xmm10 # 5e30 <_sk_callback_sse2+0x1144> + .byte 68,15,88,21,238,18,0,0 // addps 0x12ee(%rip),%xmm10 # 6670 <_sk_callback_sse2+0x1188> .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 @@ -33130,11 +34093,11 @@ _sk_bicubic_p3x_sse2: .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,157,18,0,0 // addps 0x129d(%rip),%xmm0 # 5e40 <_sk_callback_sse2+0x1154> + .byte 15,88,5,225,18,0,0 // addps 0x12e1(%rip),%xmm0 # 6680 <_sk_callback_sse2+0x1198> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 - .byte 68,15,89,5,157,18,0,0 // mulps 0x129d(%rip),%xmm8 # 5e50 <_sk_callback_sse2+0x1164> - .byte 68,15,88,5,165,18,0,0 // addps 0x12a5(%rip),%xmm8 # 5e60 <_sk_callback_sse2+0x1174> + .byte 68,15,89,5,225,18,0,0 // mulps 0x12e1(%rip),%xmm8 # 6690 <_sk_callback_sse2+0x11a8> + .byte 68,15,88,5,233,18,0,0 // addps 0x12e9(%rip),%xmm8 # 66a0 <_sk_callback_sse2+0x11b8> .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 @@ -33147,13 +34110,13 @@ _sk_bicubic_n3y_sse2: .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,147,18,0,0 // addps 0x1293(%rip),%xmm1 # 5e70 <_sk_callback_sse2+0x1184> - .byte 68,15,40,13,155,18,0,0 // movaps 0x129b(%rip),%xmm9 # 5e80 <_sk_callback_sse2+0x1194> + .byte 15,88,13,215,18,0,0 // addps 0x12d7(%rip),%xmm1 # 66b0 <_sk_callback_sse2+0x11c8> + .byte 68,15,40,13,223,18,0,0 // movaps 0x12df(%rip),%xmm9 # 66c0 <_sk_callback_sse2+0x11d8> .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,151,18,0,0 // mulps 0x1297(%rip),%xmm9 # 5e90 <_sk_callback_sse2+0x11a4> - .byte 68,15,88,13,159,18,0,0 // addps 0x129f(%rip),%xmm9 # 5ea0 <_sk_callback_sse2+0x11b4> + .byte 68,15,89,13,219,18,0,0 // mulps 0x12db(%rip),%xmm9 # 66d0 <_sk_callback_sse2+0x11e8> + .byte 68,15,88,13,227,18,0,0 // addps 0x12e3(%rip),%xmm9 # 66e0 <_sk_callback_sse2+0x11f8> .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 @@ -33166,16 +34129,16 @@ _sk_bicubic_n1y_sse2: .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,141,18,0,0 // addps 0x128d(%rip),%xmm1 # 5eb0 <_sk_callback_sse2+0x11c4> - .byte 68,15,40,13,149,18,0,0 // movaps 0x1295(%rip),%xmm9 # 5ec0 <_sk_callback_sse2+0x11d4> + .byte 15,88,13,209,18,0,0 // addps 0x12d1(%rip),%xmm1 # 66f0 <_sk_callback_sse2+0x1208> + .byte 68,15,40,13,217,18,0,0 // movaps 0x12d9(%rip),%xmm9 # 6700 <_sk_callback_sse2+0x1218> .byte 69,15,92,200 // subps %xmm8,%xmm9 - .byte 68,15,40,5,153,18,0,0 // movaps 0x1299(%rip),%xmm8 # 5ed0 <_sk_callback_sse2+0x11e4> + .byte 68,15,40,5,221,18,0,0 // movaps 0x12dd(%rip),%xmm8 # 6710 <_sk_callback_sse2+0x1228> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,157,18,0,0 // addps 0x129d(%rip),%xmm8 # 5ee0 <_sk_callback_sse2+0x11f4> + .byte 68,15,88,5,225,18,0,0 // addps 0x12e1(%rip),%xmm8 # 6720 <_sk_callback_sse2+0x1238> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,161,18,0,0 // addps 0x12a1(%rip),%xmm8 # 5ef0 <_sk_callback_sse2+0x1204> + .byte 68,15,88,5,229,18,0,0 // addps 0x12e5(%rip),%xmm8 # 6730 <_sk_callback_sse2+0x1248> .byte 69,15,89,193 // mulps %xmm9,%xmm8 - .byte 68,15,88,5,165,18,0,0 // addps 0x12a5(%rip),%xmm8 # 5f00 <_sk_callback_sse2+0x1214> + .byte 68,15,88,5,233,18,0,0 // addps 0x12e9(%rip),%xmm8 # 6740 <_sk_callback_sse2+0x1258> .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 @@ -33185,17 +34148,17 @@ HIDDEN _sk_bicubic_p1y_sse2 FUNCTION(_sk_bicubic_p1y_sse2) _sk_bicubic_p1y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax - .byte 68,15,40,5,159,18,0,0 // movaps 0x129f(%rip),%xmm8 # 5f10 <_sk_callback_sse2+0x1224> + .byte 68,15,40,5,227,18,0,0 // movaps 0x12e3(%rip),%xmm8 # 6750 <_sk_callback_sse2+0x1268> .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,154,18,0,0 // movaps 0x129a(%rip),%xmm10 # 5f20 <_sk_callback_sse2+0x1234> + .byte 68,15,40,21,222,18,0,0 // movaps 0x12de(%rip),%xmm10 # 6760 <_sk_callback_sse2+0x1278> .byte 69,15,89,209 // mulps %xmm9,%xmm10 - .byte 68,15,88,21,158,18,0,0 // addps 0x129e(%rip),%xmm10 # 5f30 <_sk_callback_sse2+0x1244> + .byte 68,15,88,21,226,18,0,0 // addps 0x12e2(%rip),%xmm10 # 6770 <_sk_callback_sse2+0x1288> .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,154,18,0,0 // addps 0x129a(%rip),%xmm10 # 5f40 <_sk_callback_sse2+0x1254> + .byte 68,15,88,21,222,18,0,0 // addps 0x12de(%rip),%xmm10 # 6780 <_sk_callback_sse2+0x1298> .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 @@ -33207,11 +34170,11 @@ _sk_bicubic_p3y_sse2: .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,140,18,0,0 // addps 0x128c(%rip),%xmm1 # 5f50 <_sk_callback_sse2+0x1264> + .byte 15,88,13,208,18,0,0 // addps 0x12d0(%rip),%xmm1 # 6790 <_sk_callback_sse2+0x12a8> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 - .byte 68,15,89,5,140,18,0,0 // mulps 0x128c(%rip),%xmm8 # 5f60 <_sk_callback_sse2+0x1274> - .byte 68,15,88,5,148,18,0,0 // addps 0x1294(%rip),%xmm8 # 5f70 <_sk_callback_sse2+0x1284> + .byte 68,15,89,5,208,18,0,0 // mulps 0x12d0(%rip),%xmm8 # 67a0 <_sk_callback_sse2+0x12b8> + .byte 68,15,88,5,216,18,0,0 // addps 0x12d8(%rip),%xmm8 # 67b0 <_sk_callback_sse2+0x12c8> .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 @@ -33223,13 +34186,15 @@ FUNCTION(_sk_callback_sse2) _sk_callback_sse2: .byte 65,87 // push %r15 .byte 65,86 // push %r14 + .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx - .byte 72,131,236,72 // sub $0x48,%rsp + .byte 72,131,236,64 // sub $0x40,%rsp .byte 15,41,124,36,48 // movaps %xmm7,0x30(%rsp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%rsp) .byte 15,41,108,36,16 // movaps %xmm5,0x10(%rsp) .byte 15,41,36,36 // movaps %xmm4,(%rsp) + .byte 73,137,205 // mov %rcx,%r13 .byte 73,137,214 // mov %rdx,%r14 .byte 73,137,255 // mov %rdi,%r15 .byte 72,173 // lods %ds:(%rsi),%rax @@ -33246,12 +34211,14 @@ _sk_callback_sse2: .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 - .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 102,15,17,75,8 // movupd %xmm1,0x8(%rbx) + .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,107,24 // movups %xmm5,0x18(%rbx) .byte 102,15,17,91,40 // movupd %xmm3,0x28(%rbx) .byte 15,17,83,56 // movups %xmm2,0x38(%rbx) + .byte 77,133,237 // test %r13,%r13 .byte 190,4,0,0,0 // mov $0x4,%esi + .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax @@ -33275,13 +34242,15 @@ _sk_callback_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,255 // mov %r15,%rdi .byte 76,137,242 // mov %r14,%rdx + .byte 76,137,233 // mov %r13,%rcx .byte 15,40,36,36 // movaps (%rsp),%xmm4 .byte 15,40,108,36,16 // movaps 0x10(%rsp),%xmm5 .byte 15,40,116,36,32 // movaps 0x20(%rsp),%xmm6 .byte 15,40,124,36,48 // movaps 0x30(%rsp),%xmm7 - .byte 72,131,196,72 // add $0x48,%rsp + .byte 72,131,196,64 // add $0x40,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 + .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax @@ -33430,11 +34399,11 @@ BALIGN16 .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 4fa8 <.literal16+0x1d8> + .byte 224,64 // loopne 57a8 <.literal16+0x1d8> .byte 0,0 // add %al,(%rax) - .byte 224,64 // loopne 4fac <.literal16+0x1dc> + .byte 224,64 // loopne 57ac <.literal16+0x1dc> .byte 0,0 // add %al,(%rax) - .byte 224,64 // loopne 4fb0 <.literal16+0x1e0> + .byte 224,64 // loopne 57b0 <.literal16+0x1e0> .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd @@ -33454,13 +34423,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4fd1 <.literal16+0x201> + .byte 71,225,61 // rex.RXB loope 57d1 <.literal16+0x201> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4fd5 <.literal16+0x205> + .byte 71,225,61 // rex.RXB loope 57d5 <.literal16+0x205> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4fd9 <.literal16+0x209> + .byte 71,225,61 // rex.RXB loope 57d9 <.literal16+0x209> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 4fdd <.literal16+0x20d> + .byte 71,225,61 // rex.RXB loope 57dd <.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) @@ -33485,13 +34454,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5011 <.literal16+0x241> + .byte 71,225,61 // rex.RXB loope 5811 <.literal16+0x241> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5015 <.literal16+0x245> + .byte 71,225,61 // rex.RXB loope 5815 <.literal16+0x245> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5019 <.literal16+0x249> + .byte 71,225,61 // rex.RXB loope 5819 <.literal16+0x249> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 501d <.literal16+0x24d> + .byte 71,225,61 // rex.RXB loope 581d <.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) @@ -33516,13 +34485,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5051 <.literal16+0x281> + .byte 71,225,61 // rex.RXB loope 5851 <.literal16+0x281> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5055 <.literal16+0x285> + .byte 71,225,61 // rex.RXB loope 5855 <.literal16+0x285> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5059 <.literal16+0x289> + .byte 71,225,61 // rex.RXB loope 5859 <.literal16+0x289> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 505d <.literal16+0x28d> + .byte 71,225,61 // rex.RXB loope 585d <.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) @@ -33547,13 +34516,13 @@ BALIGN16 .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5091 <.literal16+0x2c1> + .byte 71,225,61 // rex.RXB loope 5891 <.literal16+0x2c1> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5095 <.literal16+0x2c5> + .byte 71,225,61 // rex.RXB loope 5895 <.literal16+0x2c5> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 5099 <.literal16+0x2c9> + .byte 71,225,61 // rex.RXB loope 5899 <.literal16+0x2c9> .byte 174 // scas %es:(%rdi),%al - .byte 71,225,61 // rex.RXB loope 509d <.literal16+0x2cd> + .byte 71,225,61 // rex.RXB loope 589d <.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) @@ -33574,11 +34543,11 @@ BALIGN16 .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 50db <.literal16+0x30b> + .byte 127,67 // jg 58db <.literal16+0x30b> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 50df <.literal16+0x30f> + .byte 127,67 // jg 58df <.literal16+0x30f> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 50e3 <.literal16+0x313> + .byte 127,67 // jg 58e3 <.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) @@ -33784,13 +34753,26 @@ BALIGN16 .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi + .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,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 248 // clc + .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,248,0,0 // addb $0x0,0xf8003b(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al @@ -33805,13 +34787,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 52a9 <.literal16+0x4d9> + .byte 224,7 // loopne 5ac9 <.literal16+0x4f9> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 52ad <.literal16+0x4dd> + .byte 224,7 // loopne 5acd <.literal16+0x4fd> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 52b1 <.literal16+0x4e1> + .byte 224,7 // loopne 5ad1 <.literal16+0x501> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 52b5 <.literal16+0x4e5> + .byte 224,7 // loopne 5ad5 <.literal16+0x505> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -33876,11 +34858,11 @@ BALIGN16 .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 538b <.literal16+0x5bb> + .byte 127,67 // jg 5bab <.literal16+0x5db> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 538f <.literal16+0x5bf> + .byte 127,67 // jg 5baf <.literal16+0x5df> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 5393 <.literal16+0x5c3> + .byte 127,67 // jg 5bb3 <.literal16+0x5e3> .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) @@ -33895,16 +34877,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 5384 <.literal16+0x5b4> + .byte 127,0 // jg 5ba4 <.literal16+0x5d4> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5388 <.literal16+0x5b8> + .byte 127,0 // jg 5ba8 <.literal16+0x5d8> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 538c <.literal16+0x5bc> + .byte 127,0 // jg 5bac <.literal16+0x5dc> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5390 <.literal16+0x5c0> + .byte 127,0 // jg 5bb0 <.literal16+0x5e0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -33913,7 +34895,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 5415 <.literal16+0x645> + .byte 119,115 // ja 5c35 <.literal16+0x665> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -33924,7 +34906,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 5379 <.literal16+0x5a9> + .byte 117,191 // jne 5b99 <.literal16+0x5c9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -33936,7 +34918,7 @@ BALIGN16 .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 ffffffffe9a393ba <_sk_callback_sse2+0xffffffffe9a346ce> + .byte 233,220,63,163,233 // jmpq ffffffffe9a39bda <_sk_callback_sse2+0xffffffffe9a346f2> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) @@ -33990,16 +34972,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 5454 <.literal16+0x684> + .byte 127,0 // jg 5c74 <.literal16+0x6a4> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5458 <.literal16+0x688> + .byte 127,0 // jg 5c78 <.literal16+0x6a8> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 545c <.literal16+0x68c> + .byte 127,0 // jg 5c7c <.literal16+0x6ac> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5460 <.literal16+0x690> + .byte 127,0 // jg 5c80 <.literal16+0x6b0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -34008,7 +34990,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 54e5 <.literal16+0x715> + .byte 119,115 // ja 5d05 <.literal16+0x735> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -34019,7 +35001,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 5449 <.literal16+0x679> + .byte 117,191 // jne 5c69 <.literal16+0x699> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -34031,7 +35013,7 @@ BALIGN16 .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 ffffffffe9a3948a <_sk_callback_sse2+0xffffffffe9a3479e> + .byte 233,220,63,163,233 // jmpq ffffffffe9a39caa <_sk_callback_sse2+0xffffffffe9a347c2> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) @@ -34085,16 +35067,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 5524 <.literal16+0x754> + .byte 127,0 // jg 5d44 <.literal16+0x774> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5528 <.literal16+0x758> + .byte 127,0 // jg 5d48 <.literal16+0x778> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 552c <.literal16+0x75c> + .byte 127,0 // jg 5d4c <.literal16+0x77c> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5530 <.literal16+0x760> + .byte 127,0 // jg 5d50 <.literal16+0x780> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -34103,7 +35085,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 55b5 <.literal16+0x7e5> + .byte 119,115 // ja 5dd5 <.literal16+0x805> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -34114,7 +35096,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 5519 <.literal16+0x749> + .byte 117,191 // jne 5d39 <.literal16+0x769> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -34126,7 +35108,7 @@ BALIGN16 .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 ffffffffe9a3955a <_sk_callback_sse2+0xffffffffe9a3486e> + .byte 233,220,63,163,233 // jmpq ffffffffe9a39d7a <_sk_callback_sse2+0xffffffffe9a34892> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) @@ -34180,16 +35162,16 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) - .byte 127,0 // jg 55f4 <.literal16+0x824> + .byte 127,0 // jg 5e14 <.literal16+0x844> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 55f8 <.literal16+0x828> + .byte 127,0 // jg 5e18 <.literal16+0x848> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 55fc <.literal16+0x82c> + .byte 127,0 // jg 5e1c <.literal16+0x84c> .byte 255 // (bad) .byte 255 // (bad) - .byte 127,0 // jg 5600 <.literal16+0x830> + .byte 127,0 // jg 5e20 <.literal16+0x850> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -34198,7 +35180,7 @@ BALIGN16 .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) - .byte 119,115 // ja 5685 <.literal16+0x8b5> + .byte 119,115 // ja 5ea5 <.literal16+0x8d5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc @@ -34209,7 +35191,7 @@ BALIGN16 .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) - .byte 117,191 // jne 55e9 <.literal16+0x819> + .byte 117,191 // jne 5e09 <.literal16+0x839> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc @@ -34221,7 +35203,7 @@ BALIGN16 .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 ffffffffe9a3962a <_sk_callback_sse2+0xffffffffe9a3493e> + .byte 233,220,63,163,233 // jmpq ffffffffe9a39e4a <_sk_callback_sse2+0xffffffffe9a34962> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) @@ -34271,13 +35253,13 @@ BALIGN16 .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 5707 <.literal16+0x937> + .byte 127,67 // jg 5f27 <.literal16+0x957> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 570b <.literal16+0x93b> + .byte 127,67 // jg 5f2b <.literal16+0x95b> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 570f <.literal16+0x93f> + .byte 127,67 // jg 5f2f <.literal16+0x95f> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 5713 <.literal16+0x943> + .byte 127,67 // jg 5f33 <.literal16+0x963> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) @@ -34324,20 +35306,28 @@ BALIGN16 .byte 128,3,62 // addb $0x3e,(%rbx) .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 5793 <.literal16+0x9c3> + .byte 118,63 // jbe 5fb3 <.literal16+0x9e3> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 5797 <.literal16+0x9c7> + .byte 118,63 // jbe 5fb7 <.literal16+0x9e7> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 579b <.literal16+0x9cb> + .byte 118,63 // jbe 5fbb <.literal16+0x9eb> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) - .byte 118,63 // jbe 579f <.literal16+0x9cf> + .byte 118,63 // jbe 5fbf <.literal16+0x9ef> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) + .byte 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,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) @@ -34345,11 +35335,19 @@ BALIGN16 .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 57db <.literal16+0xa0b> + .byte 127,67 // jg 600b <.literal16+0xa3b> + .byte 0,0 // add %al,(%rax) + .byte 127,67 // jg 600f <.literal16+0xa3f> + .byte 0,0 // add %al,(%rax) + .byte 127,67 // jg 6013 <.literal16+0xa43> + .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 57df <.literal16+0xa0f> + .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 127,67 // jg 57e3 <.literal16+0xa13> .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) @@ -34389,13 +35387,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 5829 <.literal16+0xa59> + .byte 224,7 // loopne 6069 <.literal16+0xa99> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 582d <.literal16+0xa5d> + .byte 224,7 // loopne 606d <.literal16+0xa9d> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5831 <.literal16+0xa61> + .byte 224,7 // loopne 6071 <.literal16+0xaa1> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 5835 <.literal16+0xa65> + .byte 224,7 // loopne 6075 <.literal16+0xaa5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -34441,13 +35439,13 @@ BALIGN16 .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) - .byte 224,7 // loopne 5899 <.literal16+0xac9> + .byte 224,7 // loopne 60d9 <.literal16+0xb09> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 589d <.literal16+0xacd> + .byte 224,7 // loopne 60dd <.literal16+0xb0d> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 58a1 <.literal16+0xad1> + .byte 224,7 // loopne 60e1 <.literal16+0xb11> .byte 0,0 // add %al,(%rax) - .byte 224,7 // loopne 58a5 <.literal16+0xad5> + .byte 224,7 // loopne 60e5 <.literal16+0xb15> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh @@ -34485,13 +35483,13 @@ BALIGN16 .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) - .byte 124,66 // jl 5936 <.literal16+0xb66> + .byte 124,66 // jl 6176 <.literal16+0xba6> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 593a <.literal16+0xb6a> + .byte 124,66 // jl 617a <.literal16+0xbaa> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 593e <.literal16+0xb6e> + .byte 124,66 // jl 617e <.literal16+0xbae> .byte 0,0 // add %al,(%rax) - .byte 124,66 // jl 5942 <.literal16+0xb72> + .byte 124,66 // jl 6182 <.literal16+0xbb2> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al @@ -34581,13 +35579,13 @@ BALIGN16 .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 5a45 <.literal16+0xc75> + .byte 112,65 // jo 6285 <.literal16+0xcb5> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 5a49 <.literal16+0xc79> + .byte 112,65 // jo 6289 <.literal16+0xcb9> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 5a4d <.literal16+0xc7d> + .byte 112,65 // jo 628d <.literal16+0xcbd> .byte 0,0 // add %al,(%rax) - .byte 112,65 // jo 5a51 <.literal16+0xc81> + .byte 112,65 // jo 6291 <.literal16+0xcc1> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) @@ -34609,11 +35607,11 @@ BALIGN16 .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 5a9b <.literal16+0xccb> + .byte 127,67 // jg 62db <.literal16+0xd0b> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 5a9f <.literal16+0xccf> + .byte 127,67 // jg 62df <.literal16+0xd0f> .byte 0,0 // add %al,(%rax) - .byte 127,67 // jg 5aa3 <.literal16+0xcd3> + .byte 127,67 // jg 62e3 <.literal16+0xd13> .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) @@ -34689,13 +35687,13 @@ BALIGN16 .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 255 // (bad) - .byte 127,71 // jg 5b8b <.literal16+0xdbb> + .byte 127,71 // jg 63cb <.literal16+0xdfb> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 5b8f <.literal16+0xdbf> + .byte 127,71 // jg 63cf <.literal16+0xdff> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 5b93 <.literal16+0xdc3> + .byte 127,71 // jg 63d3 <.literal16+0xe03> .byte 0,255 // add %bh,%bh - .byte 127,71 // jg 5b97 <.literal16+0xdc7> + .byte 127,71 // jg 63d7 <.literal16+0xe07> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) @@ -34772,10 +35770,10 @@ BALIGN16 .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) # 2dc06d2a <_sk_callback_sse2+0x2dc0203e> + .byte 192,45,16,17,192,45,16 // shrb $0x10,0x2dc01110(%rip) # 2dc0756a <_sk_callback_sse2+0x2dc02082> .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax - .byte 120,57 // js 5c5c <.literal16+0xe8c> + .byte 120,57 // js 649c <.literal16+0xecc> .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 @@ -34903,11 +35901,11 @@ BALIGN16 .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 5da2 <.literal16+0xfd2> + .byte 62,114,28 // jb,pt 65e2 <.literal16+0x1012> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5da6 <.literal16+0xfd6> + .byte 62,114,28 // jb,pt 65e6 <.literal16+0x1016> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5daa <.literal16+0xfda> + .byte 62,114,28 // jb,pt 65ea <.literal16+0x101a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -34951,7 +35949,7 @@ BALIGN16 .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 # 3d63ec35 <_sk_callback_sse2+0x3d639f49> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f475 <_sk_callback_sse2+0x3d639f8d> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -34977,7 +35975,7 @@ BALIGN16 .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 # 3d63ec75 <_sk_callback_sse2+0x3d639f89> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f4b5 <_sk_callback_sse2+0x3d639fcd> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al @@ -34986,13 +35984,13 @@ BALIGN16 .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) - .byte 114,28 // jb 5e6e <.literal16+0x109e> + .byte 114,28 // jb 66ae <.literal16+0x10de> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5e72 <.literal16+0x10a2> + .byte 62,114,28 // jb,pt 66b2 <.literal16+0x10e2> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5e76 <.literal16+0x10a6> + .byte 62,114,28 // jb,pt 66b6 <.literal16+0x10e6> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5e7a <.literal16+0x10aa> + .byte 62,114,28 // jb,pt 66ba <.literal16+0x10ea> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -35013,11 +36011,11 @@ BALIGN16 .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 5eb2 <.literal16+0x10e2> + .byte 62,114,28 // jb,pt 66f2 <.literal16+0x1122> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5eb6 <.literal16+0x10e6> + .byte 62,114,28 // jb,pt 66f6 <.literal16+0x1126> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5eba <.literal16+0x10ea> + .byte 62,114,28 // jb,pt 66fa <.literal16+0x112a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) @@ -35061,7 +36059,7 @@ BALIGN16 .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 # 3d63ed45 <_sk_callback_sse2+0x3d63a059> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f585 <_sk_callback_sse2+0x3d63a09d> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) @@ -35087,7 +36085,7 @@ BALIGN16 .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 # 3d63ed85 <_sk_callback_sse2+0x3d63a099> + .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63f5c5 <_sk_callback_sse2+0x3d63a0dd> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al @@ -35096,13 +36094,13 @@ BALIGN16 .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) - .byte 114,28 // jb 5f7e <.literal16+0x11ae> + .byte 114,28 // jb 67be <.literal16+0x11ee> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5f82 <_sk_callback_sse2+0x1296> + .byte 62,114,28 // jb,pt 67c2 <_sk_callback_sse2+0x12da> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5f86 <_sk_callback_sse2+0x129a> + .byte 62,114,28 // jb,pt 67c6 <_sk_callback_sse2+0x12de> .byte 199 // (bad) - .byte 62,114,28 // jb,pt 5f8a <_sk_callback_sse2+0x129e> + .byte 62,114,28 // jb,pt 67ca <_sk_callback_sse2+0x12e2> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) diff --git a/src/jumper/SkJumper_generated_win.S b/src/jumper/SkJumper_generated_win.S index 24548bf470..9ab09a0e17 100644 --- a/src/jumper/SkJumper_generated_win.S +++ b/src/jumper/SkJumper_generated_win.S @@ -11726,18 +11726,19 @@ _sk_start_pipeline_sse41 LABEL PROC DB 68,15,41,68,36,32 ; movaps %xmm8,0x20(%rsp) DB 15,41,124,36,16 ; movaps %xmm7,0x10(%rsp) DB 15,41,52,36 ; movaps %xmm6,(%rsp) - DB 77,137,207 ; mov %r9,%r15 + DB 77,137,205 ; mov %r9,%r13 DB 77,137,198 ; mov %r8,%r14 DB 72,137,203 ; mov %rcx,%rbx DB 72,137,214 ; mov %rdx,%rsi DB 72,173 ; lods %ds:(%rsi),%rax - DB 73,137,196 ; mov %rax,%r12 - DB 73,137,245 ; mov %rsi,%r13 + DB 73,137,199 ; mov %rax,%r15 + DB 73,137,244 ; mov %rsi,%r12 DB 72,141,67,4 ; lea 0x4(%rbx),%rax - DB 76,57,248 ; cmp %r15,%rax + DB 76,57,232 ; cmp %r13,%rax DB 118,5 ; jbe 73 <_sk_start_pipeline_sse41+0x73> - DB 72,137,216 ; mov %rbx,%rax - DB 235,52 ; jmp a7 <_sk_start_pipeline_sse41+0xa7> + DB 72,137,223 ; mov %rbx,%rdi + DB 235,57 ; jmp ac <_sk_start_pipeline_sse41+0xac> + DB 185,0,0,0,0 ; mov $0x0,%ecx DB 15,87,192 ; xorps %xmm0,%xmm0 DB 15,87,201 ; xorps %xmm1,%xmm1 DB 15,87,210 ; xorps %xmm2,%xmm2 @@ -11747,14 +11748,29 @@ _sk_start_pipeline_sse41 LABEL PROC DB 15,87,246 ; xorps %xmm6,%xmm6 DB 15,87,255 ; xorps %xmm7,%xmm7 DB 72,137,223 ; mov %rbx,%rdi - DB 76,137,238 ; mov %r13,%rsi + DB 76,137,230 ; mov %r12,%rsi DB 76,137,242 ; mov %r14,%rdx - DB 65,255,212 ; callq *%r12 - DB 72,141,67,4 ; lea 0x4(%rbx),%rax + DB 65,255,215 ; callq *%r15 + DB 72,141,123,4 ; lea 0x4(%rbx),%rdi DB 72,131,195,8 ; add $0x8,%rbx - DB 76,57,251 ; cmp %r15,%rbx - DB 72,137,195 ; mov %rax,%rbx - DB 118,204 ; jbe 73 <_sk_start_pipeline_sse41+0x73> + DB 76,57,235 ; cmp %r13,%rbx + DB 72,137,251 ; mov %rdi,%rbx + DB 118,199 ; jbe 73 <_sk_start_pipeline_sse41+0x73> + DB 76,137,233 ; mov %r13,%rcx + DB 72,41,249 ; sub %rdi,%rcx + DB 116,33 ; je d5 <_sk_start_pipeline_sse41+0xd5> + DB 15,87,192 ; xorps %xmm0,%xmm0 + DB 15,87,201 ; xorps %xmm1,%xmm1 + DB 15,87,210 ; xorps %xmm2,%xmm2 + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 15,87,228 ; xorps %xmm4,%xmm4 + DB 15,87,237 ; xorps %xmm5,%xmm5 + DB 15,87,246 ; xorps %xmm6,%xmm6 + DB 15,87,255 ; xorps %xmm7,%xmm7 + DB 76,137,230 ; mov %r12,%rsi + DB 76,137,242 ; mov %r14,%rdx + DB 65,255,215 ; callq *%r15 + DB 76,137,232 ; mov %r13,%rax DB 15,40,52,36 ; movaps (%rsp),%xmm6 DB 15,40,124,36,16 ; movaps 0x10(%rsp),%xmm7 DB 68,15,40,68,36,32 ; movaps 0x20(%rsp),%xmm8 @@ -11785,7 +11801,7 @@ _sk_seed_shader_sse41 LABEL PROC DB 102,15,110,199 ; movd %edi,%xmm0 DB 102,15,112,192,0 ; pshufd $0x0,%xmm0,%xmm0 DB 15,91,200 ; cvtdq2ps %xmm0,%xmm1 - DB 15,40,21,177,72,0,0 ; movaps 0x48b1(%rip),%xmm2 # 49c0 <_sk_callback_sse41+0xaf> + DB 15,40,21,224,79,0,0 ; movaps 0x4fe0(%rip),%xmm2 # 5120 <_sk_callback_sse41+0xca> DB 15,88,202 ; addps %xmm2,%xmm1 DB 15,16,2 ; movups (%rdx),%xmm0 DB 15,88,193 ; addps %xmm1,%xmm0 @@ -11794,7 +11810,7 @@ _sk_seed_shader_sse41 LABEL PROC 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,160,72,0,0 ; movaps 0x48a0(%rip),%xmm2 # 49d0 <_sk_callback_sse41+0xbf> + DB 15,40,21,207,79,0,0 ; movaps 0x4fcf(%rip),%xmm2 # 5130 <_sk_callback_sse41+0xda> DB 15,87,219 ; xorps %xmm3,%xmm3 DB 15,87,228 ; xorps %xmm4,%xmm4 DB 15,87,237 ; xorps %xmm5,%xmm5 @@ -11809,18 +11825,18 @@ _sk_dither_sse41 LABEL PROC DB 102,69,15,112,192,0 ; pshufd $0x0,%xmm8,%xmm8 DB 243,68,15,111,74,32 ; movdqu 0x20(%rdx),%xmm9 DB 102,69,15,254,200 ; paddd %xmm8,%xmm9 - DB 72,139,8 ; mov (%rax),%rcx - DB 102,68,15,110,1 ; movd (%rcx),%xmm8 + DB 76,139,0 ; mov (%rax),%r8 + DB 102,69,15,110,0 ; movd (%r8),%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,107,72,0,0 ; movdqa 0x486b(%rip),%xmm10 # 49e0 <_sk_callback_sse41+0xcf> + DB 102,68,15,111,21,154,79,0,0 ; movdqa 0x4f9a(%rip),%xmm10 # 5140 <_sk_callback_sse41+0xea> 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,87,72,0,0 ; movdqa 0x4857(%rip),%xmm12 # 49f0 <_sk_callback_sse41+0xdf> - DB 102,68,15,111,45,94,72,0,0 ; movdqa 0x485e(%rip),%xmm13 # 4a00 <_sk_callback_sse41+0xef> + DB 102,68,15,111,37,134,79,0,0 ; movdqa 0x4f86(%rip),%xmm12 # 5150 <_sk_callback_sse41+0xfa> + DB 102,68,15,111,45,141,79,0,0 ; movdqa 0x4f8d(%rip),%xmm13 # 5160 <_sk_callback_sse41+0x10a> 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 @@ -11836,8 +11852,8 @@ _sk_dither_sse41 LABEL PROC DB 102,69,15,235,198 ; por %xmm14,%xmm8 DB 102,69,15,235,197 ; por %xmm13,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,25,72,0,0 ; mulps 0x4819(%rip),%xmm8 # 4a10 <_sk_callback_sse41+0xff> - DB 68,15,88,5,33,72,0,0 ; addps 0x4821(%rip),%xmm8 # 4a20 <_sk_callback_sse41+0x10f> + DB 68,15,89,5,72,79,0,0 ; mulps 0x4f48(%rip),%xmm8 # 5170 <_sk_callback_sse41+0x11a> + DB 68,15,88,5,80,79,0,0 ; addps 0x4f50(%rip),%xmm8 # 5180 <_sk_callback_sse41+0x12a> DB 243,68,15,16,80,8 ; movss 0x8(%rax),%xmm10 DB 69,15,198,210,0 ; shufps $0x0,%xmm10,%xmm10 DB 69,15,89,208 ; mulps %xmm8,%xmm10 @@ -11904,7 +11920,7 @@ _sk_clear_sse41 LABEL PROC PUBLIC _sk_srcatop_sse41 _sk_srcatop_sse41 LABEL PROC DB 15,89,199 ; mulps %xmm7,%xmm0 - DB 68,15,40,5,122,71,0,0 ; movaps 0x477a(%rip),%xmm8 # 4a30 <_sk_callback_sse41+0x11f> + DB 68,15,40,5,169,78,0,0 ; movaps 0x4ea9(%rip),%xmm8 # 5190 <_sk_callback_sse41+0x13a> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,89,204 ; mulps %xmm4,%xmm9 @@ -11927,7 +11943,7 @@ PUBLIC _sk_dstatop_sse41 _sk_dstatop_sse41 LABEL PROC DB 68,15,40,195 ; movaps %xmm3,%xmm8 DB 68,15,89,196 ; mulps %xmm4,%xmm8 - DB 68,15,40,13,61,71,0,0 ; movaps 0x473d(%rip),%xmm9 # 4a40 <_sk_callback_sse41+0x12f> + DB 68,15,40,13,108,78,0,0 ; movaps 0x4e6c(%rip),%xmm9 # 51a0 <_sk_callback_sse41+0x14a> DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 65,15,89,193 ; mulps %xmm9,%xmm0 DB 65,15,88,192 ; addps %xmm8,%xmm0 @@ -11968,7 +11984,7 @@ _sk_dstin_sse41 LABEL PROC PUBLIC _sk_srcout_sse41 _sk_srcout_sse41 LABEL PROC - DB 68,15,40,5,225,70,0,0 ; movaps 0x46e1(%rip),%xmm8 # 4a50 <_sk_callback_sse41+0x13f> + DB 68,15,40,5,16,78,0,0 ; movaps 0x4e10(%rip),%xmm8 # 51b0 <_sk_callback_sse41+0x15a> DB 68,15,92,199 ; subps %xmm7,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 @@ -11979,7 +11995,7 @@ _sk_srcout_sse41 LABEL PROC PUBLIC _sk_dstout_sse41 _sk_dstout_sse41 LABEL PROC - DB 68,15,40,5,209,70,0,0 ; movaps 0x46d1(%rip),%xmm8 # 4a60 <_sk_callback_sse41+0x14f> + DB 68,15,40,5,0,78,0,0 ; movaps 0x4e00(%rip),%xmm8 # 51c0 <_sk_callback_sse41+0x16a> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 15,89,196 ; mulps %xmm4,%xmm0 @@ -11994,7 +12010,7 @@ _sk_dstout_sse41 LABEL PROC PUBLIC _sk_srcover_sse41 _sk_srcover_sse41 LABEL PROC - DB 68,15,40,5,180,70,0,0 ; movaps 0x46b4(%rip),%xmm8 # 4a70 <_sk_callback_sse41+0x15f> + DB 68,15,40,5,227,77,0,0 ; movaps 0x4de3(%rip),%xmm8 # 51d0 <_sk_callback_sse41+0x17a> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,89,204 ; mulps %xmm4,%xmm9 @@ -12012,7 +12028,7 @@ _sk_srcover_sse41 LABEL PROC PUBLIC _sk_dstover_sse41 _sk_dstover_sse41 LABEL PROC - DB 68,15,40,5,136,70,0,0 ; movaps 0x4688(%rip),%xmm8 # 4a80 <_sk_callback_sse41+0x16f> + DB 68,15,40,5,183,77,0,0 ; movaps 0x4db7(%rip),%xmm8 # 51e0 <_sk_callback_sse41+0x18a> DB 68,15,92,199 ; subps %xmm7,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 @@ -12036,7 +12052,7 @@ _sk_modulate_sse41 LABEL PROC PUBLIC _sk_multiply_sse41 _sk_multiply_sse41 LABEL PROC - DB 68,15,40,5,92,70,0,0 ; movaps 0x465c(%rip),%xmm8 # 4a90 <_sk_callback_sse41+0x17f> + DB 68,15,40,5,139,77,0,0 ; movaps 0x4d8b(%rip),%xmm8 # 51f0 <_sk_callback_sse41+0x19a> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 69,15,40,209 ; movaps %xmm9,%xmm10 @@ -12081,32 +12097,31 @@ _sk_plus__sse41 LABEL PROC PUBLIC _sk_screen_sse41 _sk_screen_sse41 LABEL PROC DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 68,15,88,196 ; addps %xmm4,%xmm8 - DB 15,89,196 ; mulps %xmm4,%xmm0 - DB 68,15,92,192 ; subps %xmm0,%xmm8 - DB 68,15,40,201 ; movaps %xmm1,%xmm9 - DB 68,15,88,205 ; addps %xmm5,%xmm9 + DB 15,88,196 ; addps %xmm4,%xmm0 + DB 68,15,89,196 ; mulps %xmm4,%xmm8 + DB 65,15,92,192 ; subps %xmm8,%xmm0 + DB 68,15,40,193 ; movaps %xmm1,%xmm8 + DB 68,15,88,197 ; addps %xmm5,%xmm8 DB 15,89,205 ; mulps %xmm5,%xmm1 - DB 68,15,92,201 ; subps %xmm1,%xmm9 - DB 68,15,40,210 ; movaps %xmm2,%xmm10 - DB 68,15,88,214 ; addps %xmm6,%xmm10 + DB 68,15,92,193 ; subps %xmm1,%xmm8 + DB 68,15,40,202 ; movaps %xmm2,%xmm9 + DB 68,15,88,206 ; addps %xmm6,%xmm9 DB 15,89,214 ; mulps %xmm6,%xmm2 - DB 68,15,92,210 ; subps %xmm2,%xmm10 - DB 68,15,40,219 ; movaps %xmm3,%xmm11 - DB 68,15,88,223 ; addps %xmm7,%xmm11 + DB 68,15,92,202 ; subps %xmm2,%xmm9 + DB 68,15,40,211 ; movaps %xmm3,%xmm10 + DB 68,15,88,215 ; addps %xmm7,%xmm10 DB 15,89,223 ; mulps %xmm7,%xmm3 - DB 68,15,92,219 ; subps %xmm3,%xmm11 + DB 68,15,92,211 ; subps %xmm3,%xmm10 DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,192 ; movaps %xmm8,%xmm0 - DB 65,15,40,201 ; movaps %xmm9,%xmm1 - DB 65,15,40,210 ; movaps %xmm10,%xmm2 - DB 65,15,40,219 ; movaps %xmm11,%xmm3 + DB 65,15,40,200 ; movaps %xmm8,%xmm1 + DB 65,15,40,209 ; movaps %xmm9,%xmm2 + DB 65,15,40,218 ; movaps %xmm10,%xmm3 DB 255,224 ; jmpq *%rax PUBLIC _sk_xor__sse41 _sk_xor__sse41 LABEL PROC DB 68,15,40,195 ; movaps %xmm3,%xmm8 - DB 15,40,29,141,69,0,0 ; movaps 0x458d(%rip),%xmm3 # 4aa0 <_sk_callback_sse41+0x18f> + DB 15,40,29,192,76,0,0 ; movaps 0x4cc0(%rip),%xmm3 # 5200 <_sk_callback_sse41+0x1aa> DB 68,15,40,203 ; movaps %xmm3,%xmm9 DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 65,15,89,193 ; mulps %xmm9,%xmm0 @@ -12152,7 +12167,7 @@ _sk_darken_sse41 LABEL PROC 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,248,68,0,0 ; movaps 0x44f8(%rip),%xmm2 # 4ab0 <_sk_callback_sse41+0x19f> + DB 15,40,21,43,76,0,0 ; movaps 0x4c2b(%rip),%xmm2 # 5210 <_sk_callback_sse41+0x1ba> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -12184,7 +12199,7 @@ _sk_lighten_sse41 LABEL PROC 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,157,68,0,0 ; movaps 0x449d(%rip),%xmm2 # 4ac0 <_sk_callback_sse41+0x1af> + DB 15,40,21,208,75,0,0 ; movaps 0x4bd0(%rip),%xmm2 # 5220 <_sk_callback_sse41+0x1ca> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -12219,7 +12234,7 @@ _sk_difference_sse41 LABEL PROC 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,55,68,0,0 ; movaps 0x4437(%rip),%xmm2 # 4ad0 <_sk_callback_sse41+0x1bf> + DB 15,40,21,106,75,0,0 ; movaps 0x4b6a(%rip),%xmm2 # 5230 <_sk_callback_sse41+0x1da> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -12229,34 +12244,34 @@ _sk_difference_sse41 LABEL PROC PUBLIC _sk_exclusion_sse41 _sk_exclusion_sse41 LABEL PROC - DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 15,88,196 ; addps %xmm4,%xmm0 - DB 68,15,89,196 ; mulps %xmm4,%xmm8 - DB 69,15,88,192 ; addps %xmm8,%xmm8 - DB 65,15,92,192 ; subps %xmm8,%xmm0 DB 68,15,40,193 ; movaps %xmm1,%xmm8 - DB 68,15,88,197 ; addps %xmm5,%xmm8 - DB 15,89,205 ; mulps %xmm5,%xmm1 + DB 15,40,200 ; movaps %xmm0,%xmm1 + DB 15,88,196 ; addps %xmm4,%xmm0 + DB 15,89,204 ; mulps %xmm4,%xmm1 DB 15,88,201 ; addps %xmm1,%xmm1 - DB 68,15,92,193 ; subps %xmm1,%xmm8 - DB 68,15,40,202 ; movaps %xmm2,%xmm9 - DB 68,15,88,206 ; addps %xmm6,%xmm9 + DB 15,92,193 ; subps %xmm1,%xmm0 + DB 65,15,40,200 ; movaps %xmm8,%xmm1 + DB 15,88,205 ; addps %xmm5,%xmm1 + DB 68,15,89,197 ; mulps %xmm5,%xmm8 + DB 69,15,88,192 ; addps %xmm8,%xmm8 + DB 65,15,92,200 ; subps %xmm8,%xmm1 + DB 68,15,40,194 ; movaps %xmm2,%xmm8 + DB 68,15,88,198 ; addps %xmm6,%xmm8 DB 15,89,214 ; mulps %xmm6,%xmm2 DB 15,88,210 ; addps %xmm2,%xmm2 - DB 68,15,92,202 ; subps %xmm2,%xmm9 - DB 15,40,13,248,67,0,0 ; movaps 0x43f8(%rip),%xmm1 # 4ae0 <_sk_callback_sse41+0x1cf> - DB 15,92,203 ; subps %xmm3,%xmm1 - DB 15,89,207 ; mulps %xmm7,%xmm1 - DB 15,88,217 ; addps %xmm1,%xmm3 + DB 68,15,92,194 ; subps %xmm2,%xmm8 + DB 15,40,21,42,75,0,0 ; movaps 0x4b2a(%rip),%xmm2 # 5240 <_sk_callback_sse41+0x1ea> + DB 15,92,211 ; subps %xmm3,%xmm2 + DB 15,89,215 ; mulps %xmm7,%xmm2 + DB 15,88,218 ; addps %xmm2,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,200 ; movaps %xmm8,%xmm1 - DB 65,15,40,209 ; movaps %xmm9,%xmm2 + DB 65,15,40,208 ; movaps %xmm8,%xmm2 DB 255,224 ; jmpq *%rax PUBLIC _sk_colorburn_sse41 _sk_colorburn_sse41 LABEL PROC DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 68,15,40,21,231,67,0,0 ; movaps 0x43e7(%rip),%xmm10 # 4af0 <_sk_callback_sse41+0x1df> + DB 68,15,40,21,29,75,0,0 ; movaps 0x4b1d(%rip),%xmm10 # 5250 <_sk_callback_sse41+0x1fa> DB 69,15,40,218 ; movaps %xmm10,%xmm11 DB 68,15,92,223 ; subps %xmm7,%xmm11 DB 69,15,40,203 ; movaps %xmm11,%xmm9 @@ -12336,7 +12351,7 @@ _sk_colorburn_sse41 LABEL PROC PUBLIC _sk_colordodge_sse41 _sk_colordodge_sse41 LABEL PROC DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 68,15,40,21,197,66,0,0 ; movaps 0x42c5(%rip),%xmm10 # 4b00 <_sk_callback_sse41+0x1ef> + DB 68,15,40,21,251,73,0,0 ; movaps 0x49fb(%rip),%xmm10 # 5260 <_sk_callback_sse41+0x20a> DB 69,15,40,218 ; movaps %xmm10,%xmm11 DB 68,15,92,223 ; subps %xmm7,%xmm11 DB 69,15,40,227 ; movaps %xmm11,%xmm12 @@ -12417,7 +12432,7 @@ _sk_hardlight_sse41 LABEL PROC 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,155,65,0,0 ; movaps 0x419b(%rip),%xmm10 # 4b10 <_sk_callback_sse41+0x1ff> + DB 68,15,40,21,209,72,0,0 ; movaps 0x48d1(%rip),%xmm10 # 5270 <_sk_callback_sse41+0x21a> DB 65,15,40,234 ; movaps %xmm10,%xmm5 DB 15,92,239 ; subps %xmm7,%xmm5 DB 15,40,197 ; movaps %xmm5,%xmm0 @@ -12499,7 +12514,7 @@ PUBLIC _sk_overlay_sse41 _sk_overlay_sse41 LABEL PROC DB 68,15,40,201 ; movaps %xmm1,%xmm9 DB 68,15,40,240 ; movaps %xmm0,%xmm14 - DB 68,15,40,21,125,64,0,0 ; movaps 0x407d(%rip),%xmm10 # 4b20 <_sk_callback_sse41+0x20f> + DB 68,15,40,21,179,71,0,0 ; movaps 0x47b3(%rip),%xmm10 # 5280 <_sk_callback_sse41+0x22a> DB 69,15,40,218 ; movaps %xmm10,%xmm11 DB 68,15,92,223 ; subps %xmm7,%xmm11 DB 65,15,40,195 ; movaps %xmm11,%xmm0 @@ -12583,7 +12598,7 @@ _sk_softlight_sse41 LABEL PROC 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,80,63,0,0 ; movaps 0x3f50(%rip),%xmm1 # 4b30 <_sk_callback_sse41+0x21f> + DB 15,40,13,134,70,0,0 ; movaps 0x4686(%rip),%xmm1 # 5290 <_sk_callback_sse41+0x23a> DB 68,15,40,209 ; movaps %xmm1,%xmm10 DB 68,15,92,208 ; subps %xmm0,%xmm10 DB 68,15,40,240 ; movaps %xmm0,%xmm14 @@ -12596,10 +12611,10 @@ _sk_softlight_sse41 LABEL PROC 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,46,63,0,0 ; movaps 0x3f2e(%rip),%xmm13 # 4b40 <_sk_callback_sse41+0x22f> + DB 68,15,40,45,100,70,0,0 ; movaps 0x4664(%rip),%xmm13 # 52a0 <_sk_callback_sse41+0x24a> DB 69,15,88,245 ; addps %xmm13,%xmm14 DB 68,15,89,242 ; mulps %xmm2,%xmm14 - DB 68,15,40,37,46,63,0,0 ; movaps 0x3f2e(%rip),%xmm12 # 4b50 <_sk_callback_sse41+0x23f> + DB 68,15,40,37,100,70,0,0 ; movaps 0x4664(%rip),%xmm12 # 52b0 <_sk_callback_sse41+0x25a> DB 69,15,89,252 ; mulps %xmm12,%xmm15 DB 69,15,88,254 ; addps %xmm14,%xmm15 DB 15,40,198 ; movaps %xmm6,%xmm0 @@ -12785,12 +12800,12 @@ _sk_hue_sse41 LABEL PROC 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,148,60,0,0 ; movaps 0x3c94(%rip),%xmm0 # 4b60 <_sk_callback_sse41+0x24f> + DB 15,40,5,202,67,0,0 ; movaps 0x43ca(%rip),%xmm0 # 52c0 <_sk_callback_sse41+0x26a> DB 68,15,89,224 ; mulps %xmm0,%xmm12 - DB 15,40,21,153,60,0,0 ; movaps 0x3c99(%rip),%xmm2 # 4b70 <_sk_callback_sse41+0x25f> + DB 15,40,21,207,67,0,0 ; movaps 0x43cf(%rip),%xmm2 # 52d0 <_sk_callback_sse41+0x27a> DB 15,89,250 ; mulps %xmm2,%xmm7 DB 65,15,88,252 ; addps %xmm12,%xmm7 - DB 68,15,40,53,154,60,0,0 ; movaps 0x3c9a(%rip),%xmm14 # 4b80 <_sk_callback_sse41+0x26f> + DB 68,15,40,53,208,67,0,0 ; movaps 0x43d0(%rip),%xmm14 # 52e0 <_sk_callback_sse41+0x28a> DB 68,15,40,252 ; movaps %xmm4,%xmm15 DB 69,15,89,254 ; mulps %xmm14,%xmm15 DB 68,15,88,255 ; addps %xmm7,%xmm15 @@ -12873,7 +12888,7 @@ _sk_hue_sse41 LABEL PROC 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,95,59,0,0 ; movaps 0x3b5f(%rip),%xmm9 # 4b90 <_sk_callback_sse41+0x27f> + DB 68,15,40,13,149,66,0,0 ; movaps 0x4295(%rip),%xmm9 # 52f0 <_sk_callback_sse41+0x29a> 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 @@ -12967,14 +12982,14 @@ _sk_saturation_sse41 LABEL PROC 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,18,58,0,0 ; movaps 0x3a12(%rip),%xmm2 # 4ba0 <_sk_callback_sse41+0x28f> + DB 15,40,21,72,65,0,0 ; movaps 0x4148(%rip),%xmm2 # 5300 <_sk_callback_sse41+0x2aa> DB 15,40,221 ; movaps %xmm5,%xmm3 DB 15,89,218 ; mulps %xmm2,%xmm3 - DB 15,40,13,21,58,0,0 ; movaps 0x3a15(%rip),%xmm1 # 4bb0 <_sk_callback_sse41+0x29f> + DB 15,40,13,75,65,0,0 ; movaps 0x414b(%rip),%xmm1 # 5310 <_sk_callback_sse41+0x2ba> 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,20,58,0,0 ; movaps 0x3a14(%rip),%xmm13 # 4bc0 <_sk_callback_sse41+0x2af> + DB 68,15,40,45,74,65,0,0 ; movaps 0x414a(%rip),%xmm13 # 5320 <_sk_callback_sse41+0x2ca> DB 69,15,89,245 ; mulps %xmm13,%xmm14 DB 68,15,88,247 ; addps %xmm7,%xmm14 DB 65,15,40,218 ; movaps %xmm10,%xmm3 @@ -13055,7 +13070,7 @@ _sk_saturation_sse41 LABEL PROC 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,218,56,0,0 ; movaps 0x38da(%rip),%xmm9 # 4bd0 <_sk_callback_sse41+0x2bf> + DB 68,15,40,13,16,64,0,0 ; movaps 0x4010(%rip),%xmm9 # 5330 <_sk_callback_sse41+0x2da> DB 69,15,40,193 ; movaps %xmm9,%xmm8 DB 68,15,92,204 ; subps %xmm4,%xmm9 DB 15,40,60,36 ; movaps (%rsp),%xmm7 @@ -13110,14 +13125,14 @@ _sk_color_sse41 LABEL PROC 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,31,56,0,0 ; movaps 0x381f(%rip),%xmm9 # 4be0 <_sk_callback_sse41+0x2cf> + DB 68,15,40,13,85,63,0,0 ; movaps 0x3f55(%rip),%xmm9 # 5340 <_sk_callback_sse41+0x2ea> DB 65,15,40,250 ; movaps %xmm10,%xmm7 DB 65,15,89,249 ; mulps %xmm9,%xmm7 - DB 68,15,40,21,31,56,0,0 ; movaps 0x381f(%rip),%xmm10 # 4bf0 <_sk_callback_sse41+0x2df> + DB 68,15,40,21,85,63,0,0 ; movaps 0x3f55(%rip),%xmm10 # 5350 <_sk_callback_sse41+0x2fa> 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,28,56,0,0 ; movaps 0x381c(%rip),%xmm11 # 4c00 <_sk_callback_sse41+0x2ef> + DB 68,15,40,29,82,63,0,0 ; movaps 0x3f52(%rip),%xmm11 # 5360 <_sk_callback_sse41+0x30a> DB 69,15,40,236 ; movaps %xmm12,%xmm13 DB 69,15,89,235 ; mulps %xmm11,%xmm13 DB 68,15,88,235 ; addps %xmm3,%xmm13 @@ -13202,7 +13217,7 @@ _sk_color_sse41 LABEL PROC 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,216,54,0,0 ; movaps 0x36d8(%rip),%xmm9 # 4c10 <_sk_callback_sse41+0x2ff> + DB 68,15,40,13,14,62,0,0 ; movaps 0x3e0e(%rip),%xmm9 # 5370 <_sk_callback_sse41+0x31a> DB 65,15,40,193 ; movaps %xmm9,%xmm0 DB 15,92,196 ; subps %xmm4,%xmm0 DB 68,15,89,192 ; mulps %xmm0,%xmm8 @@ -13254,13 +13269,13 @@ _sk_luminosity_sse41 LABEL PROC 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,42,54,0,0 ; movaps 0x362a(%rip),%xmm8 # 4c20 <_sk_callback_sse41+0x30f> + DB 68,15,40,5,96,61,0,0 ; movaps 0x3d60(%rip),%xmm8 # 5380 <_sk_callback_sse41+0x32a> DB 65,15,89,192 ; mulps %xmm8,%xmm0 - DB 68,15,40,21,46,54,0,0 ; movaps 0x362e(%rip),%xmm10 # 4c30 <_sk_callback_sse41+0x31f> + DB 68,15,40,21,100,61,0,0 ; movaps 0x3d64(%rip),%xmm10 # 5390 <_sk_callback_sse41+0x33a> 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,44,54,0,0 ; movaps 0x362c(%rip),%xmm12 # 4c40 <_sk_callback_sse41+0x32f> + DB 68,15,40,37,98,61,0,0 ; movaps 0x3d62(%rip),%xmm12 # 53a0 <_sk_callback_sse41+0x34a> DB 68,15,40,242 ; movaps %xmm2,%xmm14 DB 69,15,89,244 ; mulps %xmm12,%xmm14 DB 68,15,88,245 ; addps %xmm5,%xmm14 @@ -13345,7 +13360,7 @@ _sk_luminosity_sse41 LABEL PROC 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,226,52,0,0 ; movaps 0x34e2(%rip),%xmm0 # 4c50 <_sk_callback_sse41+0x33f> + DB 15,40,5,24,60,0,0 ; movaps 0x3c18(%rip),%xmm0 # 53b0 <_sk_callback_sse41+0x35a> DB 15,40,208 ; movaps %xmm0,%xmm2 DB 15,92,215 ; subps %xmm7,%xmm2 DB 15,89,226 ; mulps %xmm2,%xmm4 @@ -13381,55 +13396,85 @@ _sk_luminosity_sse41 LABEL PROC PUBLIC _sk_srcover_rgba_8888_sse41 _sk_srcover_rgba_8888_sse41 LABEL PROC - DB 68,15,40,195 ; movaps %xmm3,%xmm8 - DB 68,15,40,201 ; movaps %xmm1,%xmm9 - DB 15,40,200 ; movaps %xmm0,%xmm1 DB 72,173 ; lods %ds:(%rsi),%rax DB 72,139,0 ; mov (%rax),%rax - DB 15,16,4,184 ; movups (%rax,%rdi,4),%xmm0 - DB 15,40,29,103,52,0,0 ; movaps 0x3467(%rip),%xmm3 # 4c60 <_sk_callback_sse41+0x34f> - DB 15,84,216 ; andps %xmm0,%xmm3 - DB 15,91,227 ; cvtdq2ps %xmm3,%xmm4 - DB 15,40,216 ; movaps %xmm0,%xmm3 - DB 102,15,56,0,29,101,52,0,0 ; pshufb 0x3465(%rip),%xmm3 # 4c70 <_sk_callback_sse41+0x35f> - DB 15,91,235 ; cvtdq2ps %xmm3,%xmm5 - DB 15,40,216 ; movaps %xmm0,%xmm3 - DB 102,15,56,0,29,102,52,0,0 ; pshufb 0x3466(%rip),%xmm3 # 4c80 <_sk_callback_sse41+0x36f> - DB 15,91,243 ; cvtdq2ps %xmm3,%xmm6 - DB 102,15,114,208,24 ; psrld $0x18,%xmm0 - DB 15,91,248 ; cvtdq2ps %xmm0,%xmm7 - DB 15,40,29,100,52,0,0 ; movaps 0x3464(%rip),%xmm3 # 4c90 <_sk_callback_sse41+0x37f> - DB 65,15,92,216 ; subps %xmm8,%xmm3 - DB 68,15,40,21,104,52,0,0 ; movaps 0x3468(%rip),%xmm10 # 4ca0 <_sk_callback_sse41+0x38f> - DB 65,15,89,202 ; mulps %xmm10,%xmm1 - DB 15,40,195 ; movaps %xmm3,%xmm0 - DB 15,89,196 ; mulps %xmm4,%xmm0 - DB 15,88,193 ; addps %xmm1,%xmm0 - DB 69,15,89,202 ; mulps %xmm10,%xmm9 - DB 15,40,203 ; movaps %xmm3,%xmm1 - DB 15,89,205 ; mulps %xmm5,%xmm1 - DB 65,15,88,201 ; addps %xmm9,%xmm1 - DB 65,15,89,210 ; mulps %xmm10,%xmm2 - DB 68,15,40,203 ; movaps %xmm3,%xmm9 - DB 68,15,89,206 ; mulps %xmm6,%xmm9 - DB 68,15,88,202 ; addps %xmm2,%xmm9 - DB 69,15,89,194 ; mulps %xmm10,%xmm8 - DB 15,89,223 ; mulps %xmm7,%xmm3 - DB 65,15,88,216 ; addps %xmm8,%xmm3 - DB 102,68,15,91,192 ; cvtps2dq %xmm0,%xmm8 - DB 102,68,15,91,209 ; cvtps2dq %xmm1,%xmm10 - DB 102,65,15,114,242,8 ; pslld $0x8,%xmm10 - DB 102,69,15,235,208 ; por %xmm8,%xmm10 - DB 102,69,15,91,193 ; cvtps2dq %xmm9,%xmm8 - DB 102,65,15,114,240,16 ; pslld $0x10,%xmm8 - DB 102,15,91,211 ; cvtps2dq %xmm3,%xmm2 - DB 102,15,114,242,24 ; pslld $0x18,%xmm2 - DB 102,65,15,235,208 ; por %xmm8,%xmm2 - DB 102,65,15,235,210 ; por %xmm10,%xmm2 - DB 243,15,127,20,184 ; movdqu %xmm2,(%rax,%rdi,4) + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,217,0,0,0 ; jne 18ef <_sk_srcover_rgba_8888_sse41+0xe7> + DB 243,15,111,60,184 ; movdqu (%rax,%rdi,4),%xmm7 + DB 72,133,201 ; test %rcx,%rcx + DB 102,15,111,37,154,59,0,0 ; movdqa 0x3b9a(%rip),%xmm4 # 53c0 <_sk_callback_sse41+0x36a> + 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,150,59,0,0 ; pshufb 0x3b96(%rip),%xmm5 # 53d0 <_sk_callback_sse41+0x37a> + DB 15,91,237 ; cvtdq2ps %xmm5,%xmm5 + DB 102,15,111,247 ; movdqa %xmm7,%xmm6 + DB 102,15,56,0,53,150,59,0,0 ; pshufb 0x3b96(%rip),%xmm6 # 53e0 <_sk_callback_sse41+0x38a> + 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,147,59,0,0 ; movaps 0x3b93(%rip),%xmm8 # 53f0 <_sk_callback_sse41+0x39a> + DB 68,15,92,195 ; subps %xmm3,%xmm8 + DB 68,15,40,37,151,59,0,0 ; movaps 0x3b97(%rip),%xmm12 # 5400 <_sk_callback_sse41+0x3aa> + DB 65,15,89,196 ; mulps %xmm12,%xmm0 + DB 69,15,40,200 ; movaps %xmm8,%xmm9 + DB 68,15,89,204 ; mulps %xmm4,%xmm9 + DB 68,15,88,200 ; addps %xmm0,%xmm9 + DB 65,15,89,204 ; mulps %xmm12,%xmm1 + DB 69,15,40,208 ; movaps %xmm8,%xmm10 + DB 68,15,89,213 ; mulps %xmm5,%xmm10 + DB 68,15,88,209 ; addps %xmm1,%xmm10 + DB 65,15,89,212 ; mulps %xmm12,%xmm2 + DB 69,15,40,216 ; movaps %xmm8,%xmm11 + DB 68,15,89,222 ; mulps %xmm6,%xmm11 + DB 68,15,88,218 ; addps %xmm2,%xmm11 + DB 65,15,89,220 ; mulps %xmm12,%xmm3 + DB 68,15,89,199 ; mulps %xmm7,%xmm8 + DB 68,15,88,195 ; addps %xmm3,%xmm8 + DB 102,65,15,91,193 ; cvtps2dq %xmm9,%xmm0 + DB 102,65,15,91,202 ; cvtps2dq %xmm10,%xmm1 + DB 102,15,114,241,8 ; pslld $0x8,%xmm1 + DB 102,15,235,200 ; por %xmm0,%xmm1 + DB 102,65,15,91,211 ; cvtps2dq %xmm11,%xmm2 + DB 102,15,114,242,16 ; pslld $0x10,%xmm2 + DB 102,65,15,91,192 ; cvtps2dq %xmm8,%xmm0 + DB 102,15,114,240,24 ; pslld $0x18,%xmm0 + DB 102,15,235,194 ; por %xmm2,%xmm0 + DB 102,15,235,193 ; por %xmm1,%xmm0 + DB 117,89 ; jne 192f <_sk_srcover_rgba_8888_sse41+0x127> + DB 243,15,127,4,184 ; movdqu %xmm0,(%rax,%rdi,4) DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,209 ; movaps %xmm9,%xmm2 + DB 65,15,40,193 ; movaps %xmm9,%xmm0 + DB 65,15,40,202 ; movaps %xmm10,%xmm1 + DB 65,15,40,211 ; movaps %xmm11,%xmm2 + DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,255 ; pxor %xmm7,%xmm7 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,35 ; je 1923 <_sk_srcover_rgba_8888_sse41+0x11b> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 191b <_sk_srcover_rgba_8888_sse41+0x113> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 15,133,11,255,255,255 ; jne 181b <_sk_srcover_rgba_8888_sse41+0x13> + DB 102,15,110,100,184,8 ; movd 0x8(%rax,%rdi,4),%xmm4 + DB 102,15,112,252,69 ; pshufd $0x45,%xmm4,%xmm7 + DB 102,15,58,34,124,184,4,1 ; pinsrd $0x1,0x4(%rax,%rdi,4),%xmm7 + DB 102,15,58,34,60,184,0 ; pinsrd $0x0,(%rax,%rdi,4),%xmm7 + DB 233,236,254,255,255 ; jmpq 181b <_sk_srcover_rgba_8888_sse41+0x13> + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,28 ; je 1958 <_sk_srcover_rgba_8888_sse41+0x150> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,14 ; je 1950 <_sk_srcover_rgba_8888_sse41+0x148> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,147 ; jne 18db <_sk_srcover_rgba_8888_sse41+0xd3> + DB 102,15,58,22,68,184,8,2 ; pextrd $0x2,%xmm0,0x8(%rax,%rdi,4) + DB 102,15,58,22,68,184,4,1 ; pextrd $0x1,%xmm0,0x4(%rax,%rdi,4) + DB 102,15,126,4,184 ; movd %xmm0,(%rax,%rdi,4) + DB 233,121,255,255,255 ; jmpq 18db <_sk_srcover_rgba_8888_sse41+0xd3> PUBLIC _sk_clamp_0_sse41 _sk_clamp_0_sse41 LABEL PROC @@ -13443,7 +13488,7 @@ _sk_clamp_0_sse41 LABEL PROC PUBLIC _sk_clamp_1_sse41 _sk_clamp_1_sse41 LABEL PROC - DB 68,15,40,5,226,51,0,0 ; movaps 0x33e2(%rip),%xmm8 # 4cb0 <_sk_callback_sse41+0x39f> + DB 68,15,40,5,142,58,0,0 ; movaps 0x3a8e(%rip),%xmm8 # 5410 <_sk_callback_sse41+0x3ba> DB 65,15,93,192 ; minps %xmm8,%xmm0 DB 65,15,93,200 ; minps %xmm8,%xmm1 DB 65,15,93,208 ; minps %xmm8,%xmm2 @@ -13453,7 +13498,7 @@ _sk_clamp_1_sse41 LABEL PROC PUBLIC _sk_clamp_a_sse41 _sk_clamp_a_sse41 LABEL PROC - DB 15,93,29,215,51,0,0 ; minps 0x33d7(%rip),%xmm3 # 4cc0 <_sk_callback_sse41+0x3af> + DB 15,93,29,131,58,0,0 ; minps 0x3a83(%rip),%xmm3 # 5420 <_sk_callback_sse41+0x3ca> DB 15,93,195 ; minps %xmm3,%xmm0 DB 15,93,203 ; minps %xmm3,%xmm1 DB 15,93,211 ; minps %xmm3,%xmm2 @@ -13526,7 +13571,7 @@ _sk_premul_sse41 LABEL PROC PUBLIC _sk_unpremul_sse41 _sk_unpremul_sse41 LABEL PROC DB 69,15,87,192 ; xorps %xmm8,%xmm8 - DB 68,15,40,13,66,51,0,0 ; movaps 0x3342(%rip),%xmm9 # 4cd0 <_sk_callback_sse41+0x3bf> + DB 68,15,40,13,238,57,0,0 ; movaps 0x39ee(%rip),%xmm9 # 5430 <_sk_callback_sse41+0x3da> 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 @@ -13538,20 +13583,20 @@ _sk_unpremul_sse41 LABEL PROC PUBLIC _sk_from_srgb_sse41 _sk_from_srgb_sse41 LABEL PROC - DB 68,15,40,29,45,51,0,0 ; movaps 0x332d(%rip),%xmm11 # 4ce0 <_sk_callback_sse41+0x3cf> + DB 68,15,40,29,217,57,0,0 ; movaps 0x39d9(%rip),%xmm11 # 5440 <_sk_callback_sse41+0x3ea> 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,37,51,0,0 ; movaps 0x3325(%rip),%xmm12 # 4cf0 <_sk_callback_sse41+0x3df> + DB 68,15,40,37,209,57,0,0 ; movaps 0x39d1(%rip),%xmm12 # 5450 <_sk_callback_sse41+0x3fa> DB 68,15,40,192 ; movaps %xmm0,%xmm8 DB 69,15,89,196 ; mulps %xmm12,%xmm8 - DB 68,15,40,45,37,51,0,0 ; movaps 0x3325(%rip),%xmm13 # 4d00 <_sk_callback_sse41+0x3ef> + DB 68,15,40,45,209,57,0,0 ; movaps 0x39d1(%rip),%xmm13 # 5460 <_sk_callback_sse41+0x40a> DB 69,15,88,197 ; addps %xmm13,%xmm8 DB 69,15,89,194 ; mulps %xmm10,%xmm8 - DB 68,15,40,53,37,51,0,0 ; movaps 0x3325(%rip),%xmm14 # 4d10 <_sk_callback_sse41+0x3ff> + DB 68,15,40,53,209,57,0,0 ; movaps 0x39d1(%rip),%xmm14 # 5470 <_sk_callback_sse41+0x41a> DB 69,15,88,198 ; addps %xmm14,%xmm8 - DB 68,15,40,61,41,51,0,0 ; movaps 0x3329(%rip),%xmm15 # 4d20 <_sk_callback_sse41+0x40f> + DB 68,15,40,61,213,57,0,0 ; movaps 0x39d5(%rip),%xmm15 # 5480 <_sk_callback_sse41+0x42a> 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 @@ -13593,22 +13638,22 @@ _sk_to_srgb_sse41 LABEL PROC 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,158,50,0,0 ; movaps 0x329e(%rip),%xmm11 # 4d30 <_sk_callback_sse41+0x41f> + DB 68,15,40,29,74,57,0,0 ; movaps 0x394a(%rip),%xmm11 # 5490 <_sk_callback_sse41+0x43a> DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 69,15,89,203 ; mulps %xmm11,%xmm9 - DB 68,15,40,37,158,50,0,0 ; movaps 0x329e(%rip),%xmm12 # 4d40 <_sk_callback_sse41+0x42f> + DB 68,15,40,37,74,57,0,0 ; movaps 0x394a(%rip),%xmm12 # 54a0 <_sk_callback_sse41+0x44a> DB 69,15,40,248 ; movaps %xmm8,%xmm15 DB 69,15,89,252 ; mulps %xmm12,%xmm15 - DB 68,15,40,21,158,50,0,0 ; movaps 0x329e(%rip),%xmm10 # 4d50 <_sk_callback_sse41+0x43f> + DB 68,15,40,21,74,57,0,0 ; movaps 0x394a(%rip),%xmm10 # 54b0 <_sk_callback_sse41+0x45a> DB 69,15,88,250 ; addps %xmm10,%xmm15 DB 69,15,89,248 ; mulps %xmm8,%xmm15 - DB 68,15,40,45,158,50,0,0 ; movaps 0x329e(%rip),%xmm13 # 4d60 <_sk_callback_sse41+0x44f> + DB 68,15,40,45,74,57,0,0 ; movaps 0x394a(%rip),%xmm13 # 54c0 <_sk_callback_sse41+0x46a> DB 69,15,88,253 ; addps %xmm13,%xmm15 - DB 68,15,40,53,162,50,0,0 ; movaps 0x32a2(%rip),%xmm14 # 4d70 <_sk_callback_sse41+0x45f> + DB 68,15,40,53,78,57,0,0 ; movaps 0x394e(%rip),%xmm14 # 54d0 <_sk_callback_sse41+0x47a> 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,158,50,0,0 ; movaps 0x329e(%rip),%xmm15 # 4d80 <_sk_callback_sse41+0x46f> + DB 68,15,40,61,74,57,0,0 ; movaps 0x394a(%rip),%xmm15 # 54e0 <_sk_callback_sse41+0x48a> 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 @@ -13660,7 +13705,7 @@ _sk_rgb_to_hsl_sse41 LABEL PROC 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,232,49,0,0 ; movaps 0x31e8(%rip),%xmm14 # 4d90 <_sk_callback_sse41+0x47f> + DB 68,15,40,53,148,56,0,0 ; movaps 0x3894(%rip),%xmm14 # 54f0 <_sk_callback_sse41+0x49a> 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 @@ -13669,27 +13714,27 @@ _sk_rgb_to_hsl_sse41 LABEL PROC 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,207,49,0,0 ; andps 0x31cf(%rip),%xmm15 # 4da0 <_sk_callback_sse41+0x48f> + DB 68,15,84,61,123,56,0,0 ; andps 0x387b(%rip),%xmm15 # 5500 <_sk_callback_sse41+0x4aa> 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,194,49,0,0 ; movaps 0x31c2(%rip),%xmm13 # 4db0 <_sk_callback_sse41+0x49f> + DB 68,15,40,45,110,56,0,0 ; movaps 0x386e(%rip),%xmm13 # 5510 <_sk_callback_sse41+0x4ba> 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,190,49,0,0 ; addps 0x31be(%rip),%xmm8 # 4dc0 <_sk_callback_sse41+0x4af> + DB 68,15,88,5,106,56,0,0 ; addps 0x386a(%rip),%xmm8 # 5520 <_sk_callback_sse41+0x4ca> 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,182,49,0,0 ; mulps 0x31b6(%rip),%xmm8 # 4dd0 <_sk_callback_sse41+0x4bf> + DB 68,15,89,5,98,56,0,0 ; mulps 0x3862(%rip),%xmm8 # 5530 <_sk_callback_sse41+0x4da> 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,170,49,0,0 ; movaps 0x31aa(%rip),%xmm0 # 4de0 <_sk_callback_sse41+0x4cf> + DB 15,40,5,86,56,0,0 ; movaps 0x3856(%rip),%xmm0 # 5540 <_sk_callback_sse41+0x4ea> DB 65,15,40,211 ; movaps %xmm11,%xmm2 DB 15,89,208 ; mulps %xmm0,%xmm2 DB 15,194,194,1 ; cmpltps %xmm2,%xmm0 @@ -13710,7 +13755,7 @@ _sk_hsl_to_rgb_sse41 LABEL PROC 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,108,49,0,0 ; movaps 0x316c(%rip),%xmm9 # 4df0 <_sk_callback_sse41+0x4df> + DB 68,15,40,13,24,56,0,0 ; movaps 0x3818(%rip),%xmm9 # 5550 <_sk_callback_sse41+0x4fa> DB 65,15,40,193 ; movaps %xmm9,%xmm0 DB 15,194,194,2 ; cmpleps %xmm2,%xmm0 DB 15,40,217 ; movaps %xmm1,%xmm3 @@ -13723,19 +13768,19 @@ _sk_hsl_to_rgb_sse41 LABEL PROC 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,72,49,0,0 ; movaps 0x3148(%rip),%xmm14 # 4e00 <_sk_callback_sse41+0x4ef> + DB 68,15,40,53,244,55,0,0 ; movaps 0x37f4(%rip),%xmm14 # 5560 <_sk_callback_sse41+0x50a> 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,65,49,0,0 ; movaps 0x3141(%rip),%xmm11 # 4e10 <_sk_callback_sse41+0x4ff> + DB 68,15,40,29,237,55,0,0 ; movaps 0x37ed(%rip),%xmm11 # 5570 <_sk_callback_sse41+0x51a> 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,58,49,0,0 ; movaps 0x313a(%rip),%xmm7 # 4e20 <_sk_callback_sse41+0x50f> + DB 15,40,61,230,55,0,0 ; movaps 0x37e6(%rip),%xmm7 # 5580 <_sk_callback_sse41+0x52a> DB 69,15,40,238 ; movaps %xmm14,%xmm13 DB 68,15,89,239 ; mulps %xmm7,%xmm13 - DB 15,40,29,59,49,0,0 ; movaps 0x313b(%rip),%xmm3 # 4e30 <_sk_callback_sse41+0x51f> + DB 15,40,29,231,55,0,0 ; movaps 0x37e7(%rip),%xmm3 # 5590 <_sk_callback_sse41+0x53a> DB 68,15,40,227 ; movaps %xmm3,%xmm12 DB 69,15,92,229 ; subps %xmm13,%xmm12 DB 68,15,89,230 ; mulps %xmm6,%xmm12 @@ -13745,7 +13790,7 @@ _sk_hsl_to_rgb_sse41 LABEL PROC 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,26,49,0,0 ; movaps 0x311a(%rip),%xmm12 # 4e40 <_sk_callback_sse41+0x52f> + DB 68,15,40,37,198,55,0,0 ; movaps 0x37c6(%rip),%xmm12 # 55a0 <_sk_callback_sse41+0x54a> 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 @@ -13779,7 +13824,7 @@ _sk_hsl_to_rgb_sse41 LABEL PROC 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,147,48,0,0 ; addps 0x3093(%rip),%xmm10 # 4e50 <_sk_callback_sse41+0x53f> + DB 68,15,88,21,63,55,0,0 ; addps 0x373f(%rip),%xmm10 # 55b0 <_sk_callback_sse41+0x55a> 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 @@ -13825,16 +13870,37 @@ _sk_scale_1_float_sse41 LABEL PROC PUBLIC _sk_scale_u8_sse41 _sk_scale_u8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,68,15,56,49,4,56 ; pmovzxbd (%rax,%rdi,1),%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,52 ; jne 1f4e <_sk_scale_u8_sse41+0x3e> + DB 102,69,15,56,49,4,57 ; pmovzxbd (%r9,%rdi,1),%xmm8 + DB 102,68,15,219,5,150,54,0,0 ; pand 0x3696(%rip),%xmm8 # 55c0 <_sk_callback_sse41+0x56a> DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,236,47,0,0 ; mulps 0x2fec(%rip),%xmm8 # 4e60 <_sk_callback_sse41+0x54f> + DB 68,15,89,5,154,54,0,0 ; mulps 0x369a(%rip),%xmm8 # 55d0 <_sk_callback_sse41+0x57a> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 65,15,89,208 ; mulps %xmm8,%xmm2 - DB 65,15,89,216 ; mulps %xmm8,%xmm3 + DB 68,15,89,195 ; mulps %xmm3,%xmm8 DB 72,173 ; lods %ds:(%rsi),%rax + DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,42 ; je 1f8a <_sk_scale_u8_sse41+0x7a> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,23 ; je 1f7d <_sk_scale_u8_sse41+0x6d> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,181 ; jne 1f21 <_sk_scale_u8_sse41+0x11> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,192,69 ; pshufd $0x45,%xmm8,%xmm8 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,68,15,58,34,192,1 ; pinsrd $0x1,%eax,%xmm8 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,68,15,58,34,192,0 ; pinsrd $0x0,%eax,%xmm8 + DB 235,137 ; jmp 1f21 <_sk_scale_u8_sse41+0x11> PUBLIC _sk_lerp_1_float_sse41 _sk_lerp_1_float_sse41 LABEL PROC @@ -13859,10 +13925,13 @@ _sk_lerp_1_float_sse41 LABEL PROC PUBLIC _sk_lerp_u8_sse41 _sk_lerp_u8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,68,15,56,49,4,56 ; pmovzxbd (%rax,%rdi,1),%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,72 ; jne 2022 <_sk_lerp_u8_sse41+0x52> + DB 102,69,15,56,49,4,57 ; pmovzxbd (%r9,%rdi,1),%xmm8 + DB 102,68,15,219,5,246,53,0,0 ; pand 0x35f6(%rip),%xmm8 # 55e0 <_sk_callback_sse41+0x58a> DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,152,47,0,0 ; mulps 0x2f98(%rip),%xmm8 # 4e70 <_sk_callback_sse41+0x55f> + DB 68,15,89,5,250,53,0,0 ; mulps 0x35fa(%rip),%xmm8 # 55f0 <_sk_callback_sse41+0x59a> DB 15,92,196 ; subps %xmm4,%xmm0 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 @@ -13877,158 +13946,218 @@ _sk_lerp_u8_sse41 LABEL PROC DB 15,88,223 ; addps %xmm7,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,42 ; je 205e <_sk_lerp_u8_sse41+0x8e> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,23 ; je 2051 <_sk_lerp_u8_sse41+0x81> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,161 ; jne 1fe1 <_sk_lerp_u8_sse41+0x11> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,192,69 ; pshufd $0x45,%xmm8,%xmm8 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,68,15,58,34,192,1 ; pinsrd $0x1,%eax,%xmm8 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,68,15,58,34,192,0 ; pinsrd $0x0,%eax,%xmm8 + DB 233,114,255,255,255 ; jmpq 1fe1 <_sk_lerp_u8_sse41+0x11> PUBLIC _sk_lerp_565_sse41 _sk_lerp_565_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,68,15,56,51,20,120 ; pmovzxwd (%rax,%rdi,2),%xmm10 - DB 102,68,15,111,5,103,47,0,0 ; movdqa 0x2f67(%rip),%xmm8 # 4e80 <_sk_callback_sse41+0x56f> - DB 102,69,15,219,194 ; pand %xmm10,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,152,0,0,0 ; jne 2115 <_sk_lerp_565_sse41+0xa6> + DB 102,69,15,56,51,12,121 ; pmovzxwd (%r9,%rdi,2),%xmm9 + DB 102,68,15,111,5,115,53,0,0 ; movdqa 0x3573(%rip),%xmm8 # 5600 <_sk_callback_sse41+0x5aa> + DB 102,69,15,219,193 ; pand %xmm9,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,102,47,0,0 ; mulps 0x2f66(%rip),%xmm8 # 4e90 <_sk_callback_sse41+0x57f> - DB 102,68,15,111,13,109,47,0,0 ; movdqa 0x2f6d(%rip),%xmm9 # 4ea0 <_sk_callback_sse41+0x58f> - DB 102,69,15,219,202 ; pand %xmm10,%xmm9 - DB 69,15,91,201 ; cvtdq2ps %xmm9,%xmm9 - DB 68,15,89,13,108,47,0,0 ; mulps 0x2f6c(%rip),%xmm9 # 4eb0 <_sk_callback_sse41+0x59f> - DB 102,68,15,219,21,115,47,0,0 ; pand 0x2f73(%rip),%xmm10 # 4ec0 <_sk_callback_sse41+0x5af> + DB 68,15,89,5,114,53,0,0 ; mulps 0x3572(%rip),%xmm8 # 5610 <_sk_callback_sse41+0x5ba> + DB 102,68,15,111,21,121,53,0,0 ; movdqa 0x3579(%rip),%xmm10 # 5620 <_sk_callback_sse41+0x5ca> + DB 102,69,15,219,209 ; pand %xmm9,%xmm10 DB 69,15,91,210 ; cvtdq2ps %xmm10,%xmm10 - DB 68,15,89,21,119,47,0,0 ; mulps 0x2f77(%rip),%xmm10 # 4ed0 <_sk_callback_sse41+0x5bf> + DB 68,15,89,21,120,53,0,0 ; mulps 0x3578(%rip),%xmm10 # 5630 <_sk_callback_sse41+0x5da> + DB 102,68,15,219,13,127,53,0,0 ; pand 0x357f(%rip),%xmm9 # 5640 <_sk_callback_sse41+0x5ea> + DB 69,15,91,201 ; cvtdq2ps %xmm9,%xmm9 + DB 68,15,89,13,131,53,0,0 ; mulps 0x3583(%rip),%xmm9 # 5650 <_sk_callback_sse41+0x5fa> DB 15,92,196 ; subps %xmm4,%xmm0 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 DB 15,92,205 ; subps %xmm5,%xmm1 - DB 65,15,89,201 ; mulps %xmm9,%xmm1 + DB 65,15,89,202 ; mulps %xmm10,%xmm1 DB 15,88,205 ; addps %xmm5,%xmm1 DB 15,92,214 ; subps %xmm6,%xmm2 - DB 65,15,89,210 ; mulps %xmm10,%xmm2 + DB 65,15,89,209 ; mulps %xmm9,%xmm2 DB 15,88,214 ; addps %xmm6,%xmm2 DB 15,92,223 ; subps %xmm7,%xmm3 DB 68,15,89,195 ; mulps %xmm3,%xmm8 DB 68,15,88,199 ; addps %xmm7,%xmm8 - DB 68,15,89,203 ; mulps %xmm3,%xmm9 - DB 68,15,88,207 ; addps %xmm7,%xmm9 - DB 65,15,89,218 ; mulps %xmm10,%xmm3 + DB 68,15,89,211 ; mulps %xmm3,%xmm10 + DB 68,15,88,215 ; addps %xmm7,%xmm10 + DB 65,15,89,217 ; mulps %xmm9,%xmm3 DB 15,88,223 ; addps %xmm7,%xmm3 - DB 68,15,95,203 ; maxps %xmm3,%xmm9 - DB 69,15,95,193 ; maxps %xmm9,%xmm8 + DB 68,15,95,211 ; maxps %xmm3,%xmm10 + DB 69,15,95,194 ; maxps %xmm10,%xmm8 DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,46 ; je 2155 <_sk_lerp_565_sse41+0xe6> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,27 ; je 2148 <_sk_lerp_565_sse41+0xd9> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 15,133,77,255,255,255 ; jne 2084 <_sk_lerp_565_sse41+0x15> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,200,69 ; pshufd $0x45,%xmm8,%xmm9 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,68,15,58,34,200,1 ; pinsrd $0x1,%eax,%xmm9 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,68,15,58,34,200,0 ; pinsrd $0x0,%eax,%xmm9 + DB 233,30,255,255,255 ; jmpq 2084 <_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,0 ; mov (%rax),%r8 - DB 76,139,72,8 ; mov 0x8(%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,20,1,0,0 ; jne 2288 <_sk_load_tables_sse41+0x122> DB 243,69,15,111,4,184 ; movdqu (%r8,%rdi,4),%xmm8 - DB 102,15,111,5,40,47,0,0 ; movdqa 0x2f28(%rip),%xmm0 # 4ee0 <_sk_callback_sse41+0x5cf> + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,15,111,5,219,52,0,0 ; movdqa 0x34db(%rip),%xmm0 # 5660 <_sk_callback_sse41+0x60a> DB 102,65,15,219,192 ; pand %xmm8,%xmm0 DB 102,73,15,58,22,192,1 ; pextrq $0x1,%xmm0,%r8 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 102,73,15,126,193 ; movq %xmm0,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d + DB 73,193,233,30 ; shr $0x1e,%r9 DB 69,15,182,216 ; movzbl %r8b,%r11d DB 73,193,232,30 ; shr $0x1e,%r8 - DB 243,67,15,16,4,145 ; movss (%r9,%r10,4),%xmm0 - DB 102,65,15,58,33,4,9,16 ; insertps $0x10,(%r9,%rcx,1),%xmm0 - DB 102,67,15,58,33,4,153,32 ; insertps $0x20,(%r9,%r11,4),%xmm0 - DB 243,67,15,16,12,1 ; movss (%r9,%r8,1),%xmm1 - DB 102,15,58,33,193,48 ; insertps $0x30,%xmm1,%xmm0 - DB 76,139,64,16 ; mov 0x10(%rax),%r8 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,4,147 ; movss (%rbx,%r10,4),%xmm0 + DB 102,66,15,58,33,4,11,16 ; insertps $0x10,(%rbx,%r9,1),%xmm0 + DB 102,66,15,58,33,4,155,32 ; insertps $0x20,(%rbx,%r11,4),%xmm0 + DB 102,66,15,58,33,4,3,48 ; insertps $0x30,(%rbx,%r8,1),%xmm0 DB 102,65,15,111,200 ; movdqa %xmm8,%xmm1 - DB 102,15,56,0,13,227,46,0,0 ; pshufb 0x2ee3(%rip),%xmm1 # 4ef0 <_sk_callback_sse41+0x5df> - DB 102,73,15,58,22,201,1 ; pextrq $0x1,%xmm1,%r9 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d - DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,67,15,16,12,144 ; movss (%r8,%r10,4),%xmm1 - DB 102,65,15,58,33,12,8,16 ; insertps $0x10,(%r8,%rcx,1),%xmm1 - DB 243,67,15,16,20,152 ; movss (%r8,%r11,4),%xmm2 + DB 102,15,56,0,13,150,52,0,0 ; pshufb 0x3496(%rip),%xmm1 # 5670 <_sk_callback_sse41+0x61a> + DB 102,73,15,58,22,200,1 ; pextrq $0x1,%xmm1,%r8 + DB 102,72,15,126,203 ; movq %xmm1,%rbx + DB 68,15,182,203 ; movzbl %bl,%r9d + DB 72,193,235,30 ; shr $0x1e,%rbx + DB 69,15,182,208 ; movzbl %r8b,%r10d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 + DB 102,65,15,58,33,12,30,16 ; insertps $0x10,(%r14,%rbx,1),%xmm1 + DB 243,67,15,16,20,150 ; movss (%r14,%r10,4),%xmm2 DB 102,15,58,33,202,32 ; insertps $0x20,%xmm2,%xmm1 - DB 243,67,15,16,20,8 ; movss (%r8,%r9,1),%xmm2 + DB 243,67,15,16,20,6 ; movss (%r14,%r8,1),%xmm2 DB 102,15,58,33,202,48 ; insertps $0x30,%xmm2,%xmm1 DB 76,139,64,24 ; mov 0x18(%rax),%r8 DB 102,65,15,111,208 ; movdqa %xmm8,%xmm2 - DB 102,15,56,0,21,159,46,0,0 ; pshufb 0x2e9f(%rip),%xmm2 # 4f00 <_sk_callback_sse41+0x5ef> - DB 102,72,15,58,22,209,1 ; pextrq $0x1,%xmm2,%rcx + DB 102,15,56,0,21,82,52,0,0 ; pshufb 0x3452(%rip),%xmm2 # 5680 <_sk_callback_sse41+0x62a> + DB 102,72,15,58,22,211,1 ; pextrq $0x1,%xmm2,%rbx DB 102,72,15,126,208 ; movq %xmm2,%rax DB 68,15,182,200 ; movzbl %al,%r9d DB 72,193,232,30 ; shr $0x1e,%rax - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 68,15,182,211 ; movzbl %bl,%r10d + DB 72,193,235,30 ; shr $0x1e,%rbx DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 DB 102,65,15,58,33,20,0,16 ; insertps $0x10,(%r8,%rax,1),%xmm2 DB 243,67,15,16,28,144 ; movss (%r8,%r10,4),%xmm3 DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 - DB 243,65,15,16,28,8 ; movss (%r8,%rcx,1),%xmm3 + DB 243,65,15,16,28,24 ; movss (%r8,%rbx,1),%xmm3 DB 102,15,58,33,211,48 ; insertps $0x30,%xmm3,%xmm2 DB 102,65,15,114,208,24 ; psrld $0x18,%xmm8 DB 65,15,91,216 ; cvtdq2ps %xmm8,%xmm3 - DB 15,89,29,92,46,0,0 ; mulps 0x2e5c(%rip),%xmm3 # 4f10 <_sk_callback_sse41+0x5ff> + DB 15,89,29,15,52,0,0 ; mulps 0x340f(%rip),%xmm3 # 5690 <_sk_callback_sse41+0x63a> DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 65,137,201 ; mov %ecx,%r9d + DB 65,128,225,3 ; and $0x3,%r9b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,249,1 ; cmp $0x1,%r9b + DB 116,38 ; je 22c0 <_sk_load_tables_sse41+0x15a> + DB 65,128,249,2 ; cmp $0x2,%r9b + DB 116,23 ; je 22b7 <_sk_load_tables_sse41+0x151> + DB 65,128,249,3 ; cmp $0x3,%r9b + DB 15,133,208,254,255,255 ; jne 217a <_sk_load_tables_sse41+0x14> + DB 102,65,15,110,68,184,8 ; movd 0x8(%r8,%rdi,4),%xmm0 + DB 102,68,15,112,192,69 ; pshufd $0x45,%xmm0,%xmm8 + DB 102,69,15,58,34,68,184,4,1 ; pinsrd $0x1,0x4(%r8,%rdi,4),%xmm8 + DB 102,69,15,58,34,4,184,0 ; pinsrd $0x0,(%r8,%rdi,4),%xmm8 + DB 233,173,254,255,255 ; jmpq 217a <_sk_load_tables_sse41+0x14> PUBLIC _sk_load_tables_u16_be_sse41 _sk_load_tables_u16_be_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,64,8 ; mov 0x8(%rax),%r8 - DB 243,15,111,4,249 ; movdqu (%rcx,%rdi,8),%xmm0 - DB 243,15,111,76,249,16 ; movdqu 0x10(%rcx,%rdi,8),%xmm1 - DB 102,68,15,111,200 ; movdqa %xmm0,%xmm9 + DB 76,139,0 ; mov (%rax),%r8 + DB 76,141,12,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,95,1,0,0 ; jne 2442 <_sk_load_tables_u16_be_sse41+0x175> + DB 102,67,15,16,4,72 ; movupd (%r8,%r9,2),%xmm0 + DB 243,67,15,111,76,72,16 ; movdqu 0x10(%r8,%r9,2),%xmm1 + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,68,15,40,200 ; movapd %xmm0,%xmm9 DB 102,68,15,97,201 ; punpcklwd %xmm1,%xmm9 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,65,15,111,201 ; movdqa %xmm9,%xmm1 DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 DB 102,68,15,105,200 ; punpckhwd %xmm0,%xmm9 - DB 102,68,15,111,5,47,46,0,0 ; movdqa 0x2e2f(%rip),%xmm8 # 4f20 <_sk_callback_sse41+0x60f> + DB 102,68,15,111,5,136,51,0,0 ; movdqa 0x3388(%rip),%xmm8 # 56a0 <_sk_callback_sse41+0x64a> DB 102,15,111,193 ; movdqa %xmm1,%xmm0 DB 102,65,15,219,192 ; pand %xmm8,%xmm0 DB 102,15,56,51,192 ; pmovzxwd %xmm0,%xmm0 - DB 102,73,15,58,22,193,1 ; pextrq $0x1,%xmm0,%r9 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d + DB 102,73,15,58,22,192,1 ; pextrq $0x1,%xmm0,%r8 + DB 102,73,15,126,193 ; movq %xmm0,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,67,15,16,4,144 ; movss (%r8,%r10,4),%xmm0 - DB 102,65,15,58,33,4,8,16 ; insertps $0x10,(%r8,%rcx,1),%xmm0 - DB 243,67,15,16,20,152 ; movss (%r8,%r11,4),%xmm2 + DB 69,15,182,216 ; movzbl %r8b,%r11d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,4,147 ; movss (%rbx,%r10,4),%xmm0 + DB 102,66,15,58,33,4,11,16 ; insertps $0x10,(%rbx,%r9,1),%xmm0 + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 DB 102,15,58,33,194,32 ; insertps $0x20,%xmm2,%xmm0 - DB 243,67,15,16,20,8 ; movss (%r8,%r9,1),%xmm2 + DB 243,66,15,16,20,3 ; movss (%rbx,%r8,1),%xmm2 DB 102,15,58,33,194,48 ; insertps $0x30,%xmm2,%xmm0 - DB 76,139,64,16 ; mov 0x10(%rax),%r8 - DB 102,15,56,0,13,226,45,0,0 ; pshufb 0x2de2(%rip),%xmm1 # 4f30 <_sk_callback_sse41+0x61f> + DB 102,15,56,0,13,55,51,0,0 ; pshufb 0x3337(%rip),%xmm1 # 56b0 <_sk_callback_sse41+0x65a> 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,201 ; movq %xmm1,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d - DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,67,15,16,12,144 ; movss (%r8,%r10,4),%xmm1 - DB 102,65,15,58,33,12,8,16 ; insertps $0x10,(%r8,%rcx,1),%xmm1 - DB 243,67,15,16,20,152 ; movss (%r8,%r11,4),%xmm2 + DB 102,73,15,58,22,200,1 ; pextrq $0x1,%xmm1,%r8 + DB 102,72,15,126,203 ; movq %xmm1,%rbx + DB 68,15,182,203 ; movzbl %bl,%r9d + DB 72,193,235,30 ; shr $0x1e,%rbx + DB 69,15,182,208 ; movzbl %r8b,%r10d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 + DB 102,65,15,58,33,12,30,16 ; insertps $0x10,(%r14,%rbx,1),%xmm1 + DB 243,67,15,16,20,150 ; movss (%r14,%r10,4),%xmm2 DB 102,15,58,33,202,32 ; insertps $0x20,%xmm2,%xmm1 - DB 243,67,15,16,20,8 ; movss (%r8,%r9,1),%xmm2 + DB 243,67,15,16,20,6 ; movss (%r14,%r8,1),%xmm2 DB 102,15,58,33,202,48 ; insertps $0x30,%xmm2,%xmm1 DB 76,139,64,24 ; mov 0x18(%rax),%r8 DB 102,69,15,219,193 ; pand %xmm9,%xmm8 DB 102,65,15,56,51,208 ; pmovzxwd %xmm8,%xmm2 - DB 102,72,15,58,22,209,1 ; pextrq $0x1,%xmm2,%rcx + DB 102,72,15,58,22,211,1 ; pextrq $0x1,%xmm2,%rbx DB 102,72,15,126,208 ; movq %xmm2,%rax DB 68,15,182,200 ; movzbl %al,%r9d DB 72,193,232,30 ; shr $0x1e,%rax - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 68,15,182,211 ; movzbl %bl,%r10d + DB 72,193,235,30 ; shr $0x1e,%rbx DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 DB 102,65,15,58,33,20,0,16 ; insertps $0x10,(%r8,%rax,1),%xmm2 DB 243,67,15,16,28,144 ; movss (%r8,%r10,4),%xmm3 DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 - DB 243,65,15,16,28,8 ; movss (%r8,%rcx,1),%xmm3 + DB 243,65,15,16,28,24 ; movss (%r8,%rbx,1),%xmm3 DB 102,15,58,33,211,48 ; insertps $0x30,%xmm3,%xmm2 DB 102,65,15,112,217,78 ; pshufd $0x4e,%xmm9,%xmm3 DB 102,68,15,111,195 ; movdqa %xmm3,%xmm8 @@ -14037,152 +14166,193 @@ _sk_load_tables_u16_be_sse41 LABEL PROC 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,48,45,0,0 ; mulps 0x2d30(%rip),%xmm3 # 4f40 <_sk_callback_sse41+0x62f> + DB 15,89,29,133,50,0,0 ; mulps 0x3285(%rip),%xmm3 # 56c0 <_sk_callback_sse41+0x66a> DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 242,67,15,16,4,72 ; movsd (%r8,%r9,2),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,13 ; jne 245b <_sk_load_tables_u16_be_sse41+0x18e> + DB 243,15,126,192 ; movq %xmm0,%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 233,149,254,255,255 ; jmpq 22f0 <_sk_load_tables_u16_be_sse41+0x23> + DB 102,67,15,22,68,72,8 ; movhpd 0x8(%r8,%r9,2),%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,128,254,255,255 ; jb 22f0 <_sk_load_tables_u16_be_sse41+0x23> + DB 243,67,15,126,76,72,16 ; movq 0x10(%r8,%r9,2),%xmm1 + DB 233,116,254,255,255 ; jmpq 22f0 <_sk_load_tables_u16_be_sse41+0x23> PUBLIC _sk_load_tables_rgb_u16_be_sse41 _sk_load_tables_rgb_u16_be_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax + DB 76,139,0 ; mov (%rax),%r8 DB 76,141,12,127 ; lea (%rdi,%rdi,2),%r9 - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,64,8 ; mov 0x8(%rax),%r8 - DB 243,66,15,111,20,73 ; movdqu (%rcx,%r9,2),%xmm2 - DB 243,66,15,111,68,73,8 ; movdqu 0x8(%rcx,%r9,2),%xmm0 - DB 102,15,115,216,4 ; psrldq $0x4,%xmm0 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,79,1,0,0 ; jne 25dd <_sk_load_tables_rgb_u16_be_sse41+0x161> + DB 243,67,15,111,20,72 ; movdqu (%r8,%r9,2),%xmm2 + DB 243,67,15,111,76,72,8 ; movdqu 0x8(%r8,%r9,2),%xmm1 + DB 102,15,115,217,4 ; psrldq $0x4,%xmm1 DB 102,68,15,111,202 ; movdqa %xmm2,%xmm9 DB 102,65,15,115,217,6 ; psrldq $0x6,%xmm9 - DB 102,15,97,208 ; punpcklwd %xmm0,%xmm2 + DB 102,15,111,193 ; movdqa %xmm1,%xmm0 DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,15,97,209 ; punpcklwd %xmm1,%xmm2 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,242,44,0,0 ; movdqa 0x2cf2(%rip),%xmm8 # 4f50 <_sk_callback_sse41+0x63f> + DB 102,68,15,111,5,254,49,0,0 ; movdqa 0x31fe(%rip),%xmm8 # 56d0 <_sk_callback_sse41+0x67a> DB 102,15,111,193 ; movdqa %xmm1,%xmm0 DB 102,65,15,219,192 ; pand %xmm8,%xmm0 DB 102,15,56,51,192 ; pmovzxwd %xmm0,%xmm0 - DB 102,73,15,58,22,193,1 ; pextrq $0x1,%xmm0,%r9 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d + DB 102,73,15,58,22,192,1 ; pextrq $0x1,%xmm0,%r8 + DB 102,73,15,126,193 ; movq %xmm0,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,67,15,16,4,144 ; movss (%r8,%r10,4),%xmm0 - DB 102,65,15,58,33,4,8,16 ; insertps $0x10,(%r8,%rcx,1),%xmm0 - DB 243,67,15,16,28,152 ; movss (%r8,%r11,4),%xmm3 + DB 69,15,182,216 ; movzbl %r8b,%r11d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,4,147 ; movss (%rbx,%r10,4),%xmm0 + DB 102,66,15,58,33,4,11,16 ; insertps $0x10,(%rbx,%r9,1),%xmm0 + DB 243,66,15,16,28,155 ; movss (%rbx,%r11,4),%xmm3 DB 102,15,58,33,195,32 ; insertps $0x20,%xmm3,%xmm0 - DB 243,67,15,16,28,8 ; movss (%r8,%r9,1),%xmm3 + DB 243,66,15,16,28,3 ; movss (%rbx,%r8,1),%xmm3 DB 102,15,58,33,195,48 ; insertps $0x30,%xmm3,%xmm0 - DB 76,139,64,16 ; mov 0x10(%rax),%r8 - DB 102,15,56,0,13,165,44,0,0 ; pshufb 0x2ca5(%rip),%xmm1 # 4f60 <_sk_callback_sse41+0x64f> + DB 102,15,56,0,13,173,49,0,0 ; pshufb 0x31ad(%rip),%xmm1 # 56e0 <_sk_callback_sse41+0x68a> 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,201 ; movq %xmm1,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d - DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,67,15,16,12,144 ; movss (%r8,%r10,4),%xmm1 - DB 102,65,15,58,33,12,8,16 ; insertps $0x10,(%r8,%rcx,1),%xmm1 - DB 243,67,15,16,28,152 ; movss (%r8,%r11,4),%xmm3 + DB 102,73,15,58,22,200,1 ; pextrq $0x1,%xmm1,%r8 + DB 102,72,15,126,203 ; movq %xmm1,%rbx + DB 68,15,182,203 ; movzbl %bl,%r9d + DB 72,193,235,30 ; shr $0x1e,%rbx + DB 69,15,182,208 ; movzbl %r8b,%r10d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 + DB 102,65,15,58,33,12,30,16 ; insertps $0x10,(%r14,%rbx,1),%xmm1 + DB 243,67,15,16,28,150 ; movss (%r14,%r10,4),%xmm3 DB 102,15,58,33,203,32 ; insertps $0x20,%xmm3,%xmm1 - DB 243,67,15,16,28,8 ; movss (%r8,%r9,1),%xmm3 + DB 243,67,15,16,28,6 ; movss (%r14,%r8,1),%xmm3 DB 102,15,58,33,203,48 ; insertps $0x30,%xmm3,%xmm1 DB 76,139,64,24 ; mov 0x18(%rax),%r8 DB 102,65,15,105,209 ; punpckhwd %xmm9,%xmm2 DB 102,65,15,219,208 ; pand %xmm8,%xmm2 DB 102,15,56,51,210 ; pmovzxwd %xmm2,%xmm2 - DB 102,72,15,58,22,209,1 ; pextrq $0x1,%xmm2,%rcx + DB 102,72,15,58,22,211,1 ; pextrq $0x1,%xmm2,%rbx DB 102,72,15,126,208 ; movq %xmm2,%rax DB 68,15,182,200 ; movzbl %al,%r9d DB 72,193,232,30 ; shr $0x1e,%rax - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 68,15,182,211 ; movzbl %bl,%r10d + DB 72,193,235,30 ; shr $0x1e,%rbx DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 DB 102,65,15,58,33,20,0,16 ; insertps $0x10,(%r8,%rax,1),%xmm2 DB 243,67,15,16,28,144 ; movss (%r8,%r10,4),%xmm3 DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 - DB 243,65,15,16,28,8 ; movss (%r8,%rcx,1),%xmm3 + DB 243,65,15,16,28,24 ; movss (%r8,%rbx,1),%xmm3 DB 102,15,58,33,211,48 ; insertps $0x30,%xmm3,%xmm2 DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,16,44,0,0 ; movaps 0x2c10(%rip),%xmm3 # 4f70 <_sk_callback_sse41+0x65f> + DB 15,40,29,24,49,0,0 ; movaps 0x3118(%rip),%xmm3 # 56f0 <_sk_callback_sse41+0x69a> + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 102,67,15,110,20,72 ; movd (%r8,%r9,2),%xmm2 + DB 102,67,15,196,84,72,4,2 ; pinsrw $0x2,0x4(%r8,%r9,2),%xmm2 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,14 ; jne 2603 <_sk_load_tables_rgb_u16_be_sse41+0x187> + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 + DB 233,177,254,255,255 ; jmpq 24b4 <_sk_load_tables_rgb_u16_be_sse41+0x38> + DB 102,71,15,110,76,72,6 ; movd 0x6(%r8,%r9,2),%xmm9 + DB 102,71,15,196,76,72,10,2 ; pinsrw $0x2,0xa(%r8,%r9,2),%xmm9 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,24 ; jb 2634 <_sk_load_tables_rgb_u16_be_sse41+0x1b8> + DB 102,67,15,110,76,72,12 ; movd 0xc(%r8,%r9,2),%xmm1 + DB 102,67,15,196,76,72,16,2 ; pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 233,128,254,255,255 ; jmpq 24b4 <_sk_load_tables_rgb_u16_be_sse41+0x38> + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 233,119,254,255,255 ; jmpq 24b4 <_sk_load_tables_rgb_u16_be_sse41+0x38> PUBLIC _sk_byte_tables_sse41 _sk_byte_tables_sse41 LABEL PROC + DB 65,87 ; push %r15 DB 65,86 ; push %r14 DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,17,44,0,0 ; movaps 0x2c11(%rip),%xmm8 # 4f80 <_sk_callback_sse41+0x66f> + DB 68,15,40,5,180,48,0,0 ; movaps 0x30b4(%rip),%xmm8 # 5700 <_sk_callback_sse41+0x6aa> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,91,192 ; cvtps2dq %xmm0,%xmm0 - DB 102,72,15,58,22,193,1 ; pextrq $0x1,%xmm0,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,73,15,126,193 ; movq %xmm0,%r9 - DB 69,137,202 ; mov %r9d,%r10d - DB 73,193,233,32 ; shr $0x20,%r9 - DB 76,139,24 ; mov (%rax),%r11 + DB 102,73,15,58,22,192,1 ; pextrq $0x1,%xmm0,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 76,139,56 ; mov (%rax),%r15 DB 76,139,112,8 ; mov 0x8(%rax),%r14 - DB 102,67,15,58,32,4,19,0 ; pinsrb $0x0,(%r11,%r10,1),%xmm0 - DB 102,67,15,58,32,4,11,1 ; pinsrb $0x1,(%r11,%r9,1),%xmm0 - DB 67,15,182,28,3 ; movzbl (%r11,%r8,1),%ebx + DB 102,67,15,58,32,4,31,0 ; pinsrb $0x0,(%r15,%r11,1),%xmm0 + DB 102,67,15,58,32,4,23,1 ; pinsrb $0x1,(%r15,%r10,1),%xmm0 + DB 67,15,182,28,15 ; movzbl (%r15,%r9,1),%ebx DB 102,15,58,32,195,2 ; pinsrb $0x2,%ebx,%xmm0 - DB 65,15,182,12,11 ; movzbl (%r11,%rcx,1),%ecx - DB 102,15,58,32,193,3 ; pinsrb $0x3,%ecx,%xmm0 + DB 67,15,182,28,7 ; movzbl (%r15,%r8,1),%ebx + 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,194,43,0,0 ; movaps 0x2bc2(%rip),%xmm9 # 4f90 <_sk_callback_sse41+0x67f> + DB 68,15,40,13,101,48,0,0 ; movaps 0x3065(%rip),%xmm9 # 5710 <_sk_callback_sse41+0x6ba> DB 65,15,89,193 ; mulps %xmm9,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 102,15,91,201 ; cvtps2dq %xmm1,%xmm1 - DB 102,72,15,58,22,201,1 ; pextrq $0x1,%xmm1,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,72,15,126,203 ; movq %xmm1,%rbx - DB 65,137,217 ; mov %ebx,%r9d + DB 102,72,15,58,22,203,1 ; pextrq $0x1,%xmm1,%rbx + DB 65,137,216 ; mov %ebx,%r8d DB 72,193,235,32 ; shr $0x20,%rbx - DB 102,67,15,58,32,12,14,0 ; pinsrb $0x0,(%r14,%r9,1),%xmm1 - DB 102,65,15,58,32,12,30,1 ; pinsrb $0x1,(%r14,%rbx,1),%xmm1 - DB 67,15,182,28,6 ; movzbl (%r14,%r8,1),%ebx - DB 102,15,58,32,203,2 ; pinsrb $0x2,%ebx,%xmm1 - DB 65,15,182,12,14 ; movzbl (%r14,%rcx,1),%ecx - DB 102,15,58,32,201,3 ; pinsrb $0x3,%ecx,%xmm1 + DB 102,73,15,126,201 ; movq %xmm1,%r9 + DB 69,137,202 ; mov %r9d,%r10d + DB 73,193,233,32 ; shr $0x20,%r9 + DB 102,67,15,58,32,12,22,0 ; pinsrb $0x0,(%r14,%r10,1),%xmm1 + DB 102,67,15,58,32,12,14,1 ; pinsrb $0x1,(%r14,%r9,1),%xmm1 + DB 71,15,182,4,6 ; movzbl (%r14,%r8,1),%r8d + DB 102,65,15,58,32,200,2 ; pinsrb $0x2,%r8d,%xmm1 + DB 65,15,182,28,30 ; movzbl (%r14,%rbx,1),%ebx + DB 102,15,58,32,203,3 ; pinsrb $0x3,%ebx,%xmm1 DB 102,15,56,49,201 ; pmovzxbd %xmm1,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 DB 65,15,89,201 ; mulps %xmm9,%xmm1 - DB 76,139,72,16 ; mov 0x10(%rax),%r9 + DB 76,139,80,16 ; mov 0x10(%rax),%r10 DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,91,210 ; cvtps2dq %xmm2,%xmm2 - DB 102,72,15,58,22,211,1 ; pextrq $0x1,%xmm2,%rbx - DB 65,137,216 ; mov %ebx,%r8d + DB 102,73,15,58,22,208,1 ; pextrq $0x1,%xmm2,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 + DB 102,72,15,126,211 ; movq %xmm2,%rbx + DB 65,137,219 ; mov %ebx,%r11d DB 72,193,235,32 ; shr $0x20,%rbx - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,58,32,20,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm2 - DB 102,65,15,58,32,20,9,1 ; pinsrb $0x1,(%r9,%rcx,1),%xmm2 - DB 67,15,182,12,1 ; movzbl (%r9,%r8,1),%ecx - DB 102,15,58,32,209,2 ; pinsrb $0x2,%ecx,%xmm2 - DB 65,15,182,12,25 ; movzbl (%r9,%rbx,1),%ecx - DB 102,15,58,32,209,3 ; pinsrb $0x3,%ecx,%xmm2 + DB 102,67,15,58,32,20,26,0 ; pinsrb $0x0,(%r10,%r11,1),%xmm2 + DB 102,65,15,58,32,20,26,1 ; pinsrb $0x1,(%r10,%rbx,1),%xmm2 + DB 67,15,182,28,10 ; movzbl (%r10,%r9,1),%ebx + DB 102,15,58,32,211,2 ; pinsrb $0x2,%ebx,%xmm2 + DB 67,15,182,28,2 ; movzbl (%r10,%r8,1),%ebx + DB 102,15,58,32,211,3 ; pinsrb $0x3,%ebx,%xmm2 DB 102,15,56,49,210 ; pmovzxbd %xmm2,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 DB 65,15,89,209 ; mulps %xmm9,%xmm2 - DB 72,139,64,24 ; mov 0x18(%rax),%rax + DB 76,139,72,24 ; mov 0x18(%rax),%r9 DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 102,15,91,219 ; cvtps2dq %xmm3,%xmm3 - DB 102,72,15,58,22,217,1 ; pextrq $0x1,%xmm3,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,72,15,126,219 ; movq %xmm3,%rbx - DB 65,137,217 ; mov %ebx,%r9d + DB 102,72,15,58,22,219,1 ; pextrq $0x1,%xmm3,%rbx + DB 65,137,216 ; mov %ebx,%r8d DB 72,193,235,32 ; shr $0x20,%rbx - DB 102,66,15,58,32,28,8,0 ; pinsrb $0x0,(%rax,%r9,1),%xmm3 - DB 102,15,58,32,28,24,1 ; pinsrb $0x1,(%rax,%rbx,1),%xmm3 - DB 66,15,182,28,0 ; movzbl (%rax,%r8,1),%ebx - DB 102,15,58,32,219,2 ; pinsrb $0x2,%ebx,%xmm3 - DB 15,182,4,8 ; movzbl (%rax,%rcx,1),%eax + DB 102,72,15,126,216 ; movq %xmm3,%rax + DB 65,137,194 ; mov %eax,%r10d + DB 72,193,232,32 ; shr $0x20,%rax + DB 102,67,15,58,32,28,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm3 + DB 102,65,15,58,32,28,1,1 ; pinsrb $0x1,(%r9,%rax,1),%xmm3 + DB 67,15,182,4,1 ; movzbl (%r9,%r8,1),%eax + DB 102,15,58,32,216,2 ; pinsrb $0x2,%eax,%xmm3 + DB 65,15,182,4,25 ; movzbl (%r9,%rbx,1),%eax DB 102,15,58,32,216,3 ; pinsrb $0x3,%eax,%xmm3 DB 102,15,56,49,219 ; pmovzxbd %xmm3,%xmm3 DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 @@ -14190,70 +14360,73 @@ _sk_byte_tables_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 65,95 ; pop %r15 DB 255,224 ; jmpq *%rax PUBLIC _sk_byte_tables_rgb_sse41 _sk_byte_tables_rgb_sse41 LABEL PROC + DB 65,87 ; push %r15 DB 65,86 ; push %r14 DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 139,72,24 ; mov 0x18(%rax),%ecx - DB 255,201 ; dec %ecx - DB 102,68,15,110,193 ; movd %ecx,%xmm8 + DB 68,139,64,24 ; mov 0x18(%rax),%r8d + DB 65,255,200 ; dec %r8d + DB 102,69,15,110,192 ; movd %r8d,%xmm8 DB 102,69,15,112,192,0 ; pshufd $0x0,%xmm8,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,91,192 ; cvtps2dq %xmm0,%xmm0 - DB 102,72,15,58,22,193,1 ; pextrq $0x1,%xmm0,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,73,15,126,193 ; movq %xmm0,%r9 - DB 69,137,202 ; mov %r9d,%r10d - DB 77,137,203 ; mov %r9,%r11 - DB 73,193,235,32 ; shr $0x20,%r11 - DB 76,139,48 ; mov (%rax),%r14 - DB 76,139,72,8 ; mov 0x8(%rax),%r9 - DB 102,67,15,58,32,4,22,0 ; pinsrb $0x0,(%r14,%r10,1),%xmm0 - DB 102,67,15,58,32,4,30,1 ; pinsrb $0x1,(%r14,%r11,1),%xmm0 - DB 67,15,182,28,6 ; movzbl (%r14,%r8,1),%ebx + DB 102,73,15,58,22,192,1 ; pextrq $0x1,%xmm0,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 77,137,194 ; mov %r8,%r10 + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,73,15,126,192 ; movq %xmm0,%r8 + DB 69,137,195 ; mov %r8d,%r11d + DB 77,137,198 ; mov %r8,%r14 + DB 73,193,238,32 ; shr $0x20,%r14 + DB 76,139,56 ; mov (%rax),%r15 + DB 76,139,64,8 ; mov 0x8(%rax),%r8 + DB 102,67,15,58,32,4,31,0 ; pinsrb $0x0,(%r15,%r11,1),%xmm0 + DB 102,67,15,58,32,4,55,1 ; pinsrb $0x1,(%r15,%r14,1),%xmm0 + DB 67,15,182,28,15 ; movzbl (%r15,%r9,1),%ebx DB 102,15,58,32,195,2 ; pinsrb $0x2,%ebx,%xmm0 - DB 65,15,182,12,14 ; movzbl (%r14,%rcx,1),%ecx - DB 102,15,58,32,193,3 ; pinsrb $0x3,%ecx,%xmm0 + DB 67,15,182,28,23 ; movzbl (%r15,%r10,1),%ebx + 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,74,42,0,0 ; movaps 0x2a4a(%rip),%xmm9 # 4fa0 <_sk_callback_sse41+0x68f> + DB 68,15,40,13,225,46,0,0 ; movaps 0x2ee1(%rip),%xmm9 # 5720 <_sk_callback_sse41+0x6ca> DB 65,15,89,193 ; mulps %xmm9,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 102,15,91,201 ; cvtps2dq %xmm1,%xmm1 - DB 102,72,15,58,22,201,1 ; pextrq $0x1,%xmm1,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,72,15,126,203 ; movq %xmm1,%rbx - DB 65,137,218 ; mov %ebx,%r10d + DB 102,72,15,58,22,203,1 ; pextrq $0x1,%xmm1,%rbx + DB 65,137,217 ; mov %ebx,%r9d DB 72,193,235,32 ; shr $0x20,%rbx - DB 102,67,15,58,32,12,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm1 - DB 102,65,15,58,32,12,25,1 ; pinsrb $0x1,(%r9,%rbx,1),%xmm1 - DB 67,15,182,28,1 ; movzbl (%r9,%r8,1),%ebx - DB 102,15,58,32,203,2 ; pinsrb $0x2,%ebx,%xmm1 - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 102,15,58,32,201,3 ; pinsrb $0x3,%ecx,%xmm1 + DB 102,73,15,126,202 ; movq %xmm1,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,58,32,12,24,0 ; pinsrb $0x0,(%r8,%r11,1),%xmm1 + DB 102,67,15,58,32,12,16,1 ; pinsrb $0x1,(%r8,%r10,1),%xmm1 + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 102,65,15,58,32,201,2 ; pinsrb $0x2,%r9d,%xmm1 + DB 65,15,182,28,24 ; movzbl (%r8,%rbx,1),%ebx + DB 102,15,58,32,203,3 ; pinsrb $0x3,%ebx,%xmm1 DB 102,15,56,49,201 ; pmovzxbd %xmm1,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 DB 65,15,89,201 ; mulps %xmm9,%xmm1 - DB 72,139,64,16 ; mov 0x10(%rax),%rax + DB 76,139,72,16 ; mov 0x10(%rax),%r9 DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,91,210 ; cvtps2dq %xmm2,%xmm2 - DB 102,72,15,58,22,209,1 ; pextrq $0x1,%xmm2,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,72,15,126,211 ; movq %xmm2,%rbx - DB 65,137,217 ; mov %ebx,%r9d + DB 102,72,15,58,22,211,1 ; pextrq $0x1,%xmm2,%rbx + DB 65,137,216 ; mov %ebx,%r8d DB 72,193,235,32 ; shr $0x20,%rbx - DB 102,66,15,58,32,20,8,0 ; pinsrb $0x0,(%rax,%r9,1),%xmm2 - DB 102,15,58,32,20,24,1 ; pinsrb $0x1,(%rax,%rbx,1),%xmm2 - DB 66,15,182,28,0 ; movzbl (%rax,%r8,1),%ebx - DB 102,15,58,32,211,2 ; pinsrb $0x2,%ebx,%xmm2 - DB 15,182,4,8 ; movzbl (%rax,%rcx,1),%eax + DB 102,72,15,126,208 ; movq %xmm2,%rax + DB 65,137,194 ; mov %eax,%r10d + DB 72,193,232,32 ; shr $0x20,%rax + DB 102,67,15,58,32,20,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm2 + DB 102,65,15,58,32,20,1,1 ; pinsrb $0x1,(%r9,%rax,1),%xmm2 + DB 67,15,182,4,1 ; movzbl (%r9,%r8,1),%eax + DB 102,15,58,32,208,2 ; pinsrb $0x2,%eax,%xmm2 + DB 65,15,182,4,25 ; movzbl (%r9,%rbx,1),%eax DB 102,15,58,32,208,3 ; pinsrb $0x3,%eax,%xmm2 DB 102,15,56,49,210 ; pmovzxbd %xmm2,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 @@ -14261,12 +14434,13 @@ _sk_byte_tables_rgb_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 65,95 ; pop %r15 DB 255,224 ; jmpq *%rax PUBLIC _sk_table_r_sse41 _sk_table_r_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -14275,16 +14449,16 @@ _sk_table_r_sse41 LABEL PROC DB 68,15,89,192 ; mulps %xmm0,%xmm8 DB 102,65,15,91,192 ; cvtps2dq %xmm8,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,67,15,16,4,145 ; movss (%r9,%r10,4),%xmm0 - DB 102,65,15,58,33,4,137,16 ; insertps $0x10,(%r9,%rcx,4),%xmm0 - DB 243,71,15,16,4,129 ; movss (%r9,%r8,4),%xmm8 + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,16,4,152 ; movss (%r8,%r11,4),%xmm0 + DB 102,67,15,58,33,4,144,16 ; insertps $0x10,(%r8,%r10,4),%xmm0 + DB 243,71,15,16,4,136 ; movss (%r8,%r9,4),%xmm8 DB 102,65,15,58,33,192,32 ; insertps $0x20,%xmm8,%xmm0 - DB 243,69,15,16,4,129 ; movss (%r9,%rax,4),%xmm8 + DB 243,69,15,16,4,128 ; movss (%r8,%rax,4),%xmm8 DB 102,65,15,58,33,192,48 ; insertps $0x30,%xmm8,%xmm0 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax @@ -14292,7 +14466,7 @@ _sk_table_r_sse41 LABEL PROC PUBLIC _sk_table_g_sse41 _sk_table_g_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -14301,16 +14475,16 @@ _sk_table_g_sse41 LABEL PROC DB 68,15,89,193 ; mulps %xmm1,%xmm8 DB 102,65,15,91,200 ; cvtps2dq %xmm8,%xmm1 DB 102,72,15,58,22,200,1 ; pextrq $0x1,%xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,67,15,16,12,145 ; movss (%r9,%r10,4),%xmm1 - DB 102,65,15,58,33,12,137,16 ; insertps $0x10,(%r9,%rcx,4),%xmm1 - DB 243,71,15,16,4,129 ; movss (%r9,%r8,4),%xmm8 + DB 102,73,15,126,202 ; movq %xmm1,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,16,12,152 ; movss (%r8,%r11,4),%xmm1 + DB 102,67,15,58,33,12,144,16 ; insertps $0x10,(%r8,%r10,4),%xmm1 + DB 243,71,15,16,4,136 ; movss (%r8,%r9,4),%xmm8 DB 102,65,15,58,33,200,32 ; insertps $0x20,%xmm8,%xmm1 - DB 243,69,15,16,4,129 ; movss (%r9,%rax,4),%xmm8 + DB 243,69,15,16,4,128 ; movss (%r8,%rax,4),%xmm8 DB 102,65,15,58,33,200,48 ; insertps $0x30,%xmm8,%xmm1 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax @@ -14318,7 +14492,7 @@ _sk_table_g_sse41 LABEL PROC PUBLIC _sk_table_b_sse41 _sk_table_b_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -14327,16 +14501,16 @@ _sk_table_b_sse41 LABEL PROC DB 68,15,89,194 ; mulps %xmm2,%xmm8 DB 102,65,15,91,208 ; cvtps2dq %xmm8,%xmm2 DB 102,72,15,58,22,208,1 ; pextrq $0x1,%xmm2,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,67,15,16,20,145 ; movss (%r9,%r10,4),%xmm2 - DB 102,65,15,58,33,20,137,16 ; insertps $0x10,(%r9,%rcx,4),%xmm2 - DB 243,71,15,16,4,129 ; movss (%r9,%r8,4),%xmm8 + DB 102,73,15,126,210 ; movq %xmm2,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,16,20,152 ; movss (%r8,%r11,4),%xmm2 + DB 102,67,15,58,33,20,144,16 ; insertps $0x10,(%r8,%r10,4),%xmm2 + DB 243,71,15,16,4,136 ; movss (%r8,%r9,4),%xmm8 DB 102,65,15,58,33,208,32 ; insertps $0x20,%xmm8,%xmm2 - DB 243,69,15,16,4,129 ; movss (%r9,%rax,4),%xmm8 + DB 243,69,15,16,4,128 ; movss (%r8,%rax,4),%xmm8 DB 102,65,15,58,33,208,48 ; insertps $0x30,%xmm8,%xmm2 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax @@ -14344,7 +14518,7 @@ _sk_table_b_sse41 LABEL PROC PUBLIC _sk_table_a_sse41 _sk_table_a_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -14353,16 +14527,16 @@ _sk_table_a_sse41 LABEL PROC DB 68,15,89,195 ; mulps %xmm3,%xmm8 DB 102,65,15,91,216 ; cvtps2dq %xmm8,%xmm3 DB 102,72,15,58,22,216,1 ; pextrq $0x1,%xmm3,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,217 ; movq %xmm3,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,67,15,16,28,145 ; movss (%r9,%r10,4),%xmm3 - DB 102,65,15,58,33,28,137,16 ; insertps $0x10,(%r9,%rcx,4),%xmm3 - DB 243,71,15,16,4,129 ; movss (%r9,%r8,4),%xmm8 + DB 102,73,15,126,218 ; movq %xmm3,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,16,28,152 ; movss (%r8,%r11,4),%xmm3 + DB 102,67,15,58,33,28,144,16 ; insertps $0x10,(%r8,%r10,4),%xmm3 + DB 243,71,15,16,4,136 ; movss (%r8,%r9,4),%xmm8 DB 102,65,15,58,33,216,32 ; insertps $0x20,%xmm8,%xmm3 - DB 243,69,15,16,4,129 ; movss (%r9,%rax,4),%xmm8 + DB 243,69,15,16,4,128 ; movss (%r8,%rax,4),%xmm8 DB 102,65,15,58,33,216,48 ; insertps $0x30,%xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax @@ -14388,31 +14562,31 @@ _sk_parametric_r_sse41 LABEL PROC 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,161,39,0,0 ; mulps 0x27a1(%rip),%xmm8 # 4fb0 <_sk_callback_sse41+0x69f> - DB 68,15,84,21,169,39,0,0 ; andps 0x27a9(%rip),%xmm10 # 4fc0 <_sk_callback_sse41+0x6af> - DB 68,15,86,21,177,39,0,0 ; orps 0x27b1(%rip),%xmm10 # 4fd0 <_sk_callback_sse41+0x6bf> - DB 68,15,88,5,185,39,0,0 ; addps 0x27b9(%rip),%xmm8 # 4fe0 <_sk_callback_sse41+0x6cf> - DB 68,15,40,37,193,39,0,0 ; movaps 0x27c1(%rip),%xmm12 # 4ff0 <_sk_callback_sse41+0x6df> + DB 68,15,89,5,51,44,0,0 ; mulps 0x2c33(%rip),%xmm8 # 5730 <_sk_callback_sse41+0x6da> + DB 68,15,84,21,59,44,0,0 ; andps 0x2c3b(%rip),%xmm10 # 5740 <_sk_callback_sse41+0x6ea> + DB 68,15,86,21,67,44,0,0 ; orps 0x2c43(%rip),%xmm10 # 5750 <_sk_callback_sse41+0x6fa> + DB 68,15,88,5,75,44,0,0 ; addps 0x2c4b(%rip),%xmm8 # 5760 <_sk_callback_sse41+0x70a> + DB 68,15,40,37,83,44,0,0 ; movaps 0x2c53(%rip),%xmm12 # 5770 <_sk_callback_sse41+0x71a> DB 69,15,89,226 ; mulps %xmm10,%xmm12 DB 69,15,92,196 ; subps %xmm12,%xmm8 - DB 68,15,88,21,193,39,0,0 ; addps 0x27c1(%rip),%xmm10 # 5000 <_sk_callback_sse41+0x6ef> - DB 68,15,40,37,201,39,0,0 ; movaps 0x27c9(%rip),%xmm12 # 5010 <_sk_callback_sse41+0x6ff> + DB 68,15,88,21,83,44,0,0 ; addps 0x2c53(%rip),%xmm10 # 5780 <_sk_callback_sse41+0x72a> + DB 68,15,40,37,91,44,0,0 ; movaps 0x2c5b(%rip),%xmm12 # 5790 <_sk_callback_sse41+0x73a> 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,182,39,0,0 ; addps 0x27b6(%rip),%xmm8 # 5020 <_sk_callback_sse41+0x70f> - DB 68,15,40,21,190,39,0,0 ; movaps 0x27be(%rip),%xmm10 # 5030 <_sk_callback_sse41+0x71f> + DB 68,15,88,5,72,44,0,0 ; addps 0x2c48(%rip),%xmm8 # 57a0 <_sk_callback_sse41+0x74a> + DB 68,15,40,21,80,44,0,0 ; movaps 0x2c50(%rip),%xmm10 # 57b0 <_sk_callback_sse41+0x75a> DB 69,15,89,211 ; mulps %xmm11,%xmm10 DB 69,15,92,194 ; subps %xmm10,%xmm8 - DB 68,15,40,21,190,39,0,0 ; movaps 0x27be(%rip),%xmm10 # 5040 <_sk_callback_sse41+0x72f> + DB 68,15,40,21,80,44,0,0 ; movaps 0x2c50(%rip),%xmm10 # 57c0 <_sk_callback_sse41+0x76a> DB 69,15,92,211 ; subps %xmm11,%xmm10 - DB 68,15,40,29,194,39,0,0 ; movaps 0x27c2(%rip),%xmm11 # 5050 <_sk_callback_sse41+0x73f> + DB 68,15,40,29,84,44,0,0 ; movaps 0x2c54(%rip),%xmm11 # 57d0 <_sk_callback_sse41+0x77a> DB 69,15,94,218 ; divps %xmm10,%xmm11 DB 69,15,88,216 ; addps %xmm8,%xmm11 - DB 68,15,89,29,194,39,0,0 ; mulps 0x27c2(%rip),%xmm11 # 5060 <_sk_callback_sse41+0x74f> + DB 68,15,89,29,84,44,0,0 ; mulps 0x2c54(%rip),%xmm11 # 57e0 <_sk_callback_sse41+0x78a> 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 @@ -14420,7 +14594,7 @@ _sk_parametric_r_sse41 LABEL PROC 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,169,39,0,0 ; minps 0x27a9(%rip),%xmm8 # 5070 <_sk_callback_sse41+0x75f> + DB 68,15,93,5,59,44,0,0 ; minps 0x2c3b(%rip),%xmm8 # 57f0 <_sk_callback_sse41+0x79a> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -14448,31 +14622,31 @@ _sk_parametric_g_sse41 LABEL PROC 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,74,39,0,0 ; mulps 0x274a(%rip),%xmm12 # 5080 <_sk_callback_sse41+0x76f> - DB 68,15,84,29,82,39,0,0 ; andps 0x2752(%rip),%xmm11 # 5090 <_sk_callback_sse41+0x77f> - DB 68,15,86,29,90,39,0,0 ; orps 0x275a(%rip),%xmm11 # 50a0 <_sk_callback_sse41+0x78f> - DB 68,15,88,37,98,39,0,0 ; addps 0x2762(%rip),%xmm12 # 50b0 <_sk_callback_sse41+0x79f> - DB 15,40,13,107,39,0,0 ; movaps 0x276b(%rip),%xmm1 # 50c0 <_sk_callback_sse41+0x7af> + DB 68,15,89,37,220,43,0,0 ; mulps 0x2bdc(%rip),%xmm12 # 5800 <_sk_callback_sse41+0x7aa> + DB 68,15,84,29,228,43,0,0 ; andps 0x2be4(%rip),%xmm11 # 5810 <_sk_callback_sse41+0x7ba> + DB 68,15,86,29,236,43,0,0 ; orps 0x2bec(%rip),%xmm11 # 5820 <_sk_callback_sse41+0x7ca> + DB 68,15,88,37,244,43,0,0 ; addps 0x2bf4(%rip),%xmm12 # 5830 <_sk_callback_sse41+0x7da> + DB 15,40,13,253,43,0,0 ; movaps 0x2bfd(%rip),%xmm1 # 5840 <_sk_callback_sse41+0x7ea> DB 65,15,89,203 ; mulps %xmm11,%xmm1 DB 68,15,92,225 ; subps %xmm1,%xmm12 - DB 68,15,88,29,107,39,0,0 ; addps 0x276b(%rip),%xmm11 # 50d0 <_sk_callback_sse41+0x7bf> - DB 15,40,13,116,39,0,0 ; movaps 0x2774(%rip),%xmm1 # 50e0 <_sk_callback_sse41+0x7cf> + DB 68,15,88,29,253,43,0,0 ; addps 0x2bfd(%rip),%xmm11 # 5850 <_sk_callback_sse41+0x7fa> + DB 15,40,13,6,44,0,0 ; movaps 0x2c06(%rip),%xmm1 # 5860 <_sk_callback_sse41+0x80a> 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,97,39,0,0 ; addps 0x2761(%rip),%xmm12 # 50f0 <_sk_callback_sse41+0x7df> - DB 15,40,13,106,39,0,0 ; movaps 0x276a(%rip),%xmm1 # 5100 <_sk_callback_sse41+0x7ef> + DB 68,15,88,37,243,43,0,0 ; addps 0x2bf3(%rip),%xmm12 # 5870 <_sk_callback_sse41+0x81a> + DB 15,40,13,252,43,0,0 ; movaps 0x2bfc(%rip),%xmm1 # 5880 <_sk_callback_sse41+0x82a> DB 65,15,89,203 ; mulps %xmm11,%xmm1 DB 68,15,92,225 ; subps %xmm1,%xmm12 - DB 68,15,40,21,106,39,0,0 ; movaps 0x276a(%rip),%xmm10 # 5110 <_sk_callback_sse41+0x7ff> + DB 68,15,40,21,252,43,0,0 ; movaps 0x2bfc(%rip),%xmm10 # 5890 <_sk_callback_sse41+0x83a> DB 69,15,92,211 ; subps %xmm11,%xmm10 - DB 15,40,13,111,39,0,0 ; movaps 0x276f(%rip),%xmm1 # 5120 <_sk_callback_sse41+0x80f> + DB 15,40,13,1,44,0,0 ; movaps 0x2c01(%rip),%xmm1 # 58a0 <_sk_callback_sse41+0x84a> DB 65,15,94,202 ; divps %xmm10,%xmm1 DB 65,15,88,204 ; addps %xmm12,%xmm1 - DB 15,89,13,112,39,0,0 ; mulps 0x2770(%rip),%xmm1 # 5130 <_sk_callback_sse41+0x81f> + DB 15,89,13,2,44,0,0 ; mulps 0x2c02(%rip),%xmm1 # 58b0 <_sk_callback_sse41+0x85a> 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 @@ -14480,7 +14654,7 @@ _sk_parametric_g_sse41 LABEL PROC 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,91,39,0,0 ; minps 0x275b(%rip),%xmm1 # 5140 <_sk_callback_sse41+0x82f> + DB 15,93,13,237,43,0,0 ; minps 0x2bed(%rip),%xmm1 # 58c0 <_sk_callback_sse41+0x86a> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -14508,31 +14682,31 @@ _sk_parametric_b_sse41 LABEL PROC 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,252,38,0,0 ; mulps 0x26fc(%rip),%xmm12 # 5150 <_sk_callback_sse41+0x83f> - DB 68,15,84,29,4,39,0,0 ; andps 0x2704(%rip),%xmm11 # 5160 <_sk_callback_sse41+0x84f> - DB 68,15,86,29,12,39,0,0 ; orps 0x270c(%rip),%xmm11 # 5170 <_sk_callback_sse41+0x85f> - DB 68,15,88,37,20,39,0,0 ; addps 0x2714(%rip),%xmm12 # 5180 <_sk_callback_sse41+0x86f> - DB 15,40,21,29,39,0,0 ; movaps 0x271d(%rip),%xmm2 # 5190 <_sk_callback_sse41+0x87f> + DB 68,15,89,37,142,43,0,0 ; mulps 0x2b8e(%rip),%xmm12 # 58d0 <_sk_callback_sse41+0x87a> + DB 68,15,84,29,150,43,0,0 ; andps 0x2b96(%rip),%xmm11 # 58e0 <_sk_callback_sse41+0x88a> + DB 68,15,86,29,158,43,0,0 ; orps 0x2b9e(%rip),%xmm11 # 58f0 <_sk_callback_sse41+0x89a> + DB 68,15,88,37,166,43,0,0 ; addps 0x2ba6(%rip),%xmm12 # 5900 <_sk_callback_sse41+0x8aa> + DB 15,40,21,175,43,0,0 ; movaps 0x2baf(%rip),%xmm2 # 5910 <_sk_callback_sse41+0x8ba> DB 65,15,89,211 ; mulps %xmm11,%xmm2 DB 68,15,92,226 ; subps %xmm2,%xmm12 - DB 68,15,88,29,29,39,0,0 ; addps 0x271d(%rip),%xmm11 # 51a0 <_sk_callback_sse41+0x88f> - DB 15,40,21,38,39,0,0 ; movaps 0x2726(%rip),%xmm2 # 51b0 <_sk_callback_sse41+0x89f> + DB 68,15,88,29,175,43,0,0 ; addps 0x2baf(%rip),%xmm11 # 5920 <_sk_callback_sse41+0x8ca> + DB 15,40,21,184,43,0,0 ; movaps 0x2bb8(%rip),%xmm2 # 5930 <_sk_callback_sse41+0x8da> 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,19,39,0,0 ; addps 0x2713(%rip),%xmm12 # 51c0 <_sk_callback_sse41+0x8af> - DB 15,40,21,28,39,0,0 ; movaps 0x271c(%rip),%xmm2 # 51d0 <_sk_callback_sse41+0x8bf> + DB 68,15,88,37,165,43,0,0 ; addps 0x2ba5(%rip),%xmm12 # 5940 <_sk_callback_sse41+0x8ea> + DB 15,40,21,174,43,0,0 ; movaps 0x2bae(%rip),%xmm2 # 5950 <_sk_callback_sse41+0x8fa> DB 65,15,89,211 ; mulps %xmm11,%xmm2 DB 68,15,92,226 ; subps %xmm2,%xmm12 - DB 68,15,40,21,28,39,0,0 ; movaps 0x271c(%rip),%xmm10 # 51e0 <_sk_callback_sse41+0x8cf> + DB 68,15,40,21,174,43,0,0 ; movaps 0x2bae(%rip),%xmm10 # 5960 <_sk_callback_sse41+0x90a> DB 69,15,92,211 ; subps %xmm11,%xmm10 - DB 15,40,21,33,39,0,0 ; movaps 0x2721(%rip),%xmm2 # 51f0 <_sk_callback_sse41+0x8df> + DB 15,40,21,179,43,0,0 ; movaps 0x2bb3(%rip),%xmm2 # 5970 <_sk_callback_sse41+0x91a> DB 65,15,94,210 ; divps %xmm10,%xmm2 DB 65,15,88,212 ; addps %xmm12,%xmm2 - DB 15,89,21,34,39,0,0 ; mulps 0x2722(%rip),%xmm2 # 5200 <_sk_callback_sse41+0x8ef> + DB 15,89,21,180,43,0,0 ; mulps 0x2bb4(%rip),%xmm2 # 5980 <_sk_callback_sse41+0x92a> 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 @@ -14540,7 +14714,7 @@ _sk_parametric_b_sse41 LABEL PROC 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,13,39,0,0 ; minps 0x270d(%rip),%xmm2 # 5210 <_sk_callback_sse41+0x8ff> + DB 15,93,21,159,43,0,0 ; minps 0x2b9f(%rip),%xmm2 # 5990 <_sk_callback_sse41+0x93a> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -14568,31 +14742,31 @@ _sk_parametric_a_sse41 LABEL PROC 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,174,38,0,0 ; mulps 0x26ae(%rip),%xmm12 # 5220 <_sk_callback_sse41+0x90f> - DB 68,15,84,29,182,38,0,0 ; andps 0x26b6(%rip),%xmm11 # 5230 <_sk_callback_sse41+0x91f> - DB 68,15,86,29,190,38,0,0 ; orps 0x26be(%rip),%xmm11 # 5240 <_sk_callback_sse41+0x92f> - DB 68,15,88,37,198,38,0,0 ; addps 0x26c6(%rip),%xmm12 # 5250 <_sk_callback_sse41+0x93f> - DB 15,40,29,207,38,0,0 ; movaps 0x26cf(%rip),%xmm3 # 5260 <_sk_callback_sse41+0x94f> + DB 68,15,89,37,64,43,0,0 ; mulps 0x2b40(%rip),%xmm12 # 59a0 <_sk_callback_sse41+0x94a> + DB 68,15,84,29,72,43,0,0 ; andps 0x2b48(%rip),%xmm11 # 59b0 <_sk_callback_sse41+0x95a> + DB 68,15,86,29,80,43,0,0 ; orps 0x2b50(%rip),%xmm11 # 59c0 <_sk_callback_sse41+0x96a> + DB 68,15,88,37,88,43,0,0 ; addps 0x2b58(%rip),%xmm12 # 59d0 <_sk_callback_sse41+0x97a> + DB 15,40,29,97,43,0,0 ; movaps 0x2b61(%rip),%xmm3 # 59e0 <_sk_callback_sse41+0x98a> DB 65,15,89,219 ; mulps %xmm11,%xmm3 DB 68,15,92,227 ; subps %xmm3,%xmm12 - DB 68,15,88,29,207,38,0,0 ; addps 0x26cf(%rip),%xmm11 # 5270 <_sk_callback_sse41+0x95f> - DB 15,40,29,216,38,0,0 ; movaps 0x26d8(%rip),%xmm3 # 5280 <_sk_callback_sse41+0x96f> + DB 68,15,88,29,97,43,0,0 ; addps 0x2b61(%rip),%xmm11 # 59f0 <_sk_callback_sse41+0x99a> + DB 15,40,29,106,43,0,0 ; movaps 0x2b6a(%rip),%xmm3 # 5a00 <_sk_callback_sse41+0x9aa> 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,197,38,0,0 ; addps 0x26c5(%rip),%xmm12 # 5290 <_sk_callback_sse41+0x97f> - DB 15,40,29,206,38,0,0 ; movaps 0x26ce(%rip),%xmm3 # 52a0 <_sk_callback_sse41+0x98f> + DB 68,15,88,37,87,43,0,0 ; addps 0x2b57(%rip),%xmm12 # 5a10 <_sk_callback_sse41+0x9ba> + DB 15,40,29,96,43,0,0 ; movaps 0x2b60(%rip),%xmm3 # 5a20 <_sk_callback_sse41+0x9ca> DB 65,15,89,219 ; mulps %xmm11,%xmm3 DB 68,15,92,227 ; subps %xmm3,%xmm12 - DB 68,15,40,21,206,38,0,0 ; movaps 0x26ce(%rip),%xmm10 # 52b0 <_sk_callback_sse41+0x99f> + DB 68,15,40,21,96,43,0,0 ; movaps 0x2b60(%rip),%xmm10 # 5a30 <_sk_callback_sse41+0x9da> DB 69,15,92,211 ; subps %xmm11,%xmm10 - DB 15,40,29,211,38,0,0 ; movaps 0x26d3(%rip),%xmm3 # 52c0 <_sk_callback_sse41+0x9af> + DB 15,40,29,101,43,0,0 ; movaps 0x2b65(%rip),%xmm3 # 5a40 <_sk_callback_sse41+0x9ea> DB 65,15,94,218 ; divps %xmm10,%xmm3 DB 65,15,88,220 ; addps %xmm12,%xmm3 - DB 15,89,29,212,38,0,0 ; mulps 0x26d4(%rip),%xmm3 # 52d0 <_sk_callback_sse41+0x9bf> + DB 15,89,29,102,43,0,0 ; mulps 0x2b66(%rip),%xmm3 # 5a50 <_sk_callback_sse41+0x9fa> 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 @@ -14600,7 +14774,7 @@ _sk_parametric_a_sse41 LABEL PROC 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,191,38,0,0 ; minps 0x26bf(%rip),%xmm3 # 52e0 <_sk_callback_sse41+0x9cf> + DB 15,93,29,81,43,0,0 ; minps 0x2b51(%rip),%xmm3 # 5a60 <_sk_callback_sse41+0xa0a> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -14608,29 +14782,29 @@ _sk_parametric_a_sse41 LABEL PROC 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,187,38,0,0 ; mulps 0x26bb(%rip),%xmm8 # 52f0 <_sk_callback_sse41+0x9df> - DB 68,15,40,13,195,38,0,0 ; movaps 0x26c3(%rip),%xmm9 # 5300 <_sk_callback_sse41+0x9ef> + DB 68,15,89,5,77,43,0,0 ; mulps 0x2b4d(%rip),%xmm8 # 5a70 <_sk_callback_sse41+0xa1a> + DB 68,15,40,13,85,43,0,0 ; movaps 0x2b55(%rip),%xmm9 # 5a80 <_sk_callback_sse41+0xa2a> DB 65,15,89,201 ; mulps %xmm9,%xmm1 - DB 15,40,5,200,38,0,0 ; movaps 0x26c8(%rip),%xmm0 # 5310 <_sk_callback_sse41+0x9ff> + DB 15,40,5,90,43,0,0 ; movaps 0x2b5a(%rip),%xmm0 # 5a90 <_sk_callback_sse41+0xa3a> 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,198,38,0,0 ; addps 0x26c6(%rip),%xmm8 # 5320 <_sk_callback_sse41+0xa0f> - DB 68,15,89,5,206,38,0,0 ; mulps 0x26ce(%rip),%xmm8 # 5330 <_sk_callback_sse41+0xa1f> - DB 15,89,13,215,38,0,0 ; mulps 0x26d7(%rip),%xmm1 # 5340 <_sk_callback_sse41+0xa2f> + DB 68,15,88,5,88,43,0,0 ; addps 0x2b58(%rip),%xmm8 # 5aa0 <_sk_callback_sse41+0xa4a> + DB 68,15,89,5,96,43,0,0 ; mulps 0x2b60(%rip),%xmm8 # 5ab0 <_sk_callback_sse41+0xa5a> + DB 15,89,13,105,43,0,0 ; mulps 0x2b69(%rip),%xmm1 # 5ac0 <_sk_callback_sse41+0xa6a> DB 65,15,88,200 ; addps %xmm8,%xmm1 - DB 15,89,21,220,38,0,0 ; mulps 0x26dc(%rip),%xmm2 # 5350 <_sk_callback_sse41+0xa3f> + DB 15,89,21,110,43,0,0 ; mulps 0x2b6e(%rip),%xmm2 # 5ad0 <_sk_callback_sse41+0xa7a> 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,208,38,0,0 ; movaps 0x26d0(%rip),%xmm9 # 5360 <_sk_callback_sse41+0xa4f> + DB 68,15,40,13,98,43,0,0 ; movaps 0x2b62(%rip),%xmm9 # 5ae0 <_sk_callback_sse41+0xa8a> DB 65,15,40,193 ; movaps %xmm9,%xmm0 DB 65,15,194,195,1 ; cmpltps %xmm11,%xmm0 - DB 15,40,21,208,38,0,0 ; movaps 0x26d0(%rip),%xmm2 # 5370 <_sk_callback_sse41+0xa5f> + DB 15,40,21,98,43,0,0 ; movaps 0x2b62(%rip),%xmm2 # 5af0 <_sk_callback_sse41+0xa9a> DB 15,88,202 ; addps %xmm2,%xmm1 - DB 68,15,40,37,213,38,0,0 ; movaps 0x26d5(%rip),%xmm12 # 5380 <_sk_callback_sse41+0xa6f> + DB 68,15,40,37,103,43,0,0 ; movaps 0x2b67(%rip),%xmm12 # 5b00 <_sk_callback_sse41+0xaaa> 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 @@ -14649,8 +14823,8 @@ _sk_lab_to_xyz_sse41 LABEL PROC 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,142,38,0,0 ; mulps 0x268e(%rip),%xmm1 # 5390 <_sk_callback_sse41+0xa7f> - DB 15,89,21,151,38,0,0 ; mulps 0x2697(%rip),%xmm2 # 53a0 <_sk_callback_sse41+0xa8f> + DB 15,89,13,32,43,0,0 ; mulps 0x2b20(%rip),%xmm1 # 5b10 <_sk_callback_sse41+0xaba> + DB 15,89,21,41,43,0,0 ; mulps 0x2b29(%rip),%xmm2 # 5b20 <_sk_callback_sse41+0xaca> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,40,193 ; movaps %xmm1,%xmm0 DB 65,15,40,200 ; movaps %xmm8,%xmm1 @@ -14659,20 +14833,40 @@ _sk_lab_to_xyz_sse41 LABEL PROC PUBLIC _sk_load_a8_sse41 _sk_load_a8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,56,49,4,56 ; pmovzxbd (%rax,%rdi,1),%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,38 ; jne 3032 <_sk_load_a8_sse41+0x30> + DB 102,65,15,56,49,4,57 ; pmovzxbd (%r9,%rdi,1),%xmm0 + DB 102,15,219,5,21,43,0,0 ; pand 0x2b15(%rip),%xmm0 # 5b30 <_sk_callback_sse41+0xada> DB 15,91,216 ; cvtdq2ps %xmm0,%xmm3 - DB 15,89,29,135,38,0,0 ; mulps 0x2687(%rip),%xmm3 # 53b0 <_sk_callback_sse41+0xa9f> + DB 15,89,29,27,43,0,0 ; mulps 0x2b1b(%rip),%xmm3 # 5b40 <_sk_callback_sse41+0xaea> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 DB 15,87,201 ; xorps %xmm1,%xmm1 DB 15,87,210 ; xorps %xmm2,%xmm2 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,39 ; je 306a <_sk_load_a8_sse41+0x68> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 305e <_sk_load_a8_sse41+0x5c> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,196 ; jne 3013 <_sk_load_a8_sse41+0x11> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,192,69 ; pshufd $0x45,%xmm0,%xmm0 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,15,58,34,192,1 ; pinsrd $0x1,%eax,%xmm0 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,15,58,34,192,0 ; pinsrd $0x0,%eax,%xmm0 + DB 235,156 ; jmp 3013 <_sk_load_a8_sse41+0x11> PUBLIC _sk_gather_a8_sse41 _sk_gather_a8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -14680,20 +14874,20 @@ _sk_gather_a8_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,58,32,4,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm0 - DB 102,65,15,58,32,4,9,1 ; pinsrb $0x1,(%r9,%rcx,1),%xmm0 - DB 67,15,182,12,1 ; movzbl (%r9,%r8,1),%ecx - DB 102,15,58,32,193,2 ; pinsrb $0x2,%ecx,%xmm0 - DB 65,15,182,4,1 ; movzbl (%r9,%rax,1),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,58,32,4,24,0 ; pinsrb $0x0,(%r8,%r11,1),%xmm0 + DB 102,67,15,58,32,4,16,1 ; pinsrb $0x1,(%r8,%r10,1),%xmm0 + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 102,65,15,58,32,193,2 ; pinsrb $0x2,%r9d,%xmm0 + DB 65,15,182,4,0 ; movzbl (%r8,%rax,1),%eax DB 102,15,58,32,192,3 ; pinsrb $0x3,%eax,%xmm0 DB 102,15,56,49,192 ; pmovzxbd %xmm0,%xmm0 DB 15,91,216 ; cvtdq2ps %xmm0,%xmm3 - DB 15,89,29,27,38,0,0 ; mulps 0x261b(%rip),%xmm3 # 53c0 <_sk_callback_sse41+0xaaf> + DB 15,89,29,105,42,0,0 ; mulps 0x2a69(%rip),%xmm3 # 5b50 <_sk_callback_sse41+0xafa> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 DB 102,15,239,201 ; pxor %xmm1,%xmm1 @@ -14702,34 +14896,72 @@ _sk_gather_a8_sse41 LABEL PROC PUBLIC _sk_store_a8_sse41 _sk_store_a8_sse41 LABEL PROC + DB 72,131,236,4 ; sub $0x4,%rsp DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 68,15,40,5,15,38,0,0 ; movaps 0x260f(%rip),%xmm8 # 53d0 <_sk_callback_sse41+0xabf> + DB 76,139,8 ; mov (%rax),%r9 + DB 68,15,40,5,89,42,0,0 ; movaps 0x2a59(%rip),%xmm8 # 5b60 <_sk_callback_sse41+0xb0a> 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 102,68,15,126,4,56 ; movd %xmm8,(%rax,%rdi,1) + DB 72,133,201 ; test %rcx,%rcx + DB 117,17 ; jne 3131 <_sk_store_a8_sse41+0x3b> + DB 102,68,15,126,192 ; movd %xmm8,%eax + DB 65,137,4,57 ; mov %eax,(%r9,%rdi,1) DB 72,173 ; lods %ds:(%rsi),%rax + DB 72,131,196,4 ; add $0x4,%rsp DB 255,224 ; jmpq *%rax + DB 102,69,15,56,49,192 ; pmovzxbd %xmm8,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,30 ; je 3162 <_sk_store_a8_sse41+0x6c> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,15 ; je 3159 <_sk_store_a8_sse41+0x63> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,217 ; jne 3129 <_sk_store_a8_sse41+0x33> + DB 102,69,15,58,20,68,57,2,8 ; pextrb $0x8,%xmm8,0x2(%r9,%rdi,1) + DB 102,69,15,58,20,68,57,1,4 ; pextrb $0x4,%xmm8,0x1(%r9,%rdi,1) + DB 102,69,15,58,20,4,57,0 ; pextrb $0x0,%xmm8,(%r9,%rdi,1) + DB 235,189 ; jmp 3129 <_sk_store_a8_sse41+0x33> PUBLIC _sk_load_g8_sse41 _sk_load_g8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,56,49,4,56 ; pmovzxbd (%rax,%rdi,1),%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,42 ; jne 31a0 <_sk_load_g8_sse41+0x34> + DB 102,65,15,56,49,4,57 ; pmovzxbd (%r9,%rdi,1),%xmm0 + DB 102,15,219,5,235,41,0,0 ; pand 0x29eb(%rip),%xmm0 # 5b70 <_sk_callback_sse41+0xb1a> DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,236,37,0,0 ; mulps 0x25ec(%rip),%xmm0 # 53e0 <_sk_callback_sse41+0xacf> + DB 15,89,5,241,41,0,0 ; mulps 0x29f1(%rip),%xmm0 # 5b80 <_sk_callback_sse41+0xb2a> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,243,37,0,0 ; movaps 0x25f3(%rip),%xmm3 # 53f0 <_sk_callback_sse41+0xadf> + DB 15,40,29,248,41,0,0 ; movaps 0x29f8(%rip),%xmm3 # 5b90 <_sk_callback_sse41+0xb3a> DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,39 ; je 31d8 <_sk_load_g8_sse41+0x6c> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 31cc <_sk_load_g8_sse41+0x60> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,192 ; jne 317d <_sk_load_g8_sse41+0x11> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,192,69 ; pshufd $0x45,%xmm0,%xmm0 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,15,58,34,192,1 ; pinsrd $0x1,%eax,%xmm0 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,15,58,34,192,0 ; pinsrd $0x0,%eax,%xmm0 + DB 235,152 ; jmp 317d <_sk_load_g8_sse41+0x11> PUBLIC _sk_gather_g8_sse41 _sk_gather_g8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -14737,22 +14969,22 @@ _sk_gather_g8_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,58,32,4,17,0 ; pinsrb $0x0,(%r9,%r10,1),%xmm0 - DB 102,65,15,58,32,4,9,1 ; pinsrb $0x1,(%r9,%rcx,1),%xmm0 - DB 67,15,182,12,1 ; movzbl (%r9,%r8,1),%ecx - DB 102,15,58,32,193,2 ; pinsrb $0x2,%ecx,%xmm0 - DB 65,15,182,4,1 ; movzbl (%r9,%rax,1),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,58,32,4,24,0 ; pinsrb $0x0,(%r8,%r11,1),%xmm0 + DB 102,67,15,58,32,4,16,1 ; pinsrb $0x1,(%r8,%r10,1),%xmm0 + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 102,65,15,58,32,193,2 ; pinsrb $0x2,%r9d,%xmm0 + DB 65,15,182,4,0 ; movzbl (%r8,%rax,1),%eax DB 102,15,58,32,192,3 ; pinsrb $0x3,%eax,%xmm0 DB 102,15,56,49,192 ; pmovzxbd %xmm0,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,140,37,0,0 ; mulps 0x258c(%rip),%xmm0 # 5400 <_sk_callback_sse41+0xaef> + DB 15,89,5,75,41,0,0 ; mulps 0x294b(%rip),%xmm0 # 5ba0 <_sk_callback_sse41+0xb4a> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,147,37,0,0 ; movaps 0x2593(%rip),%xmm3 # 5410 <_sk_callback_sse41+0xaff> + DB 15,40,29,82,41,0,0 ; movaps 0x2952(%rip),%xmm3 # 5bb0 <_sk_callback_sse41+0xb5a> DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 DB 255,224 ; jmpq *%rax @@ -14762,11 +14994,12 @@ _sk_gather_i8_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 73,137,192 ; mov %rax,%r8 DB 77,133,192 ; test %r8,%r8 - DB 116,5 ; je 2e94 <_sk_gather_i8_sse41+0xf> + DB 116,5 ; je 3275 <_sk_gather_i8_sse41+0xf> DB 76,137,192 ; mov %r8,%rax - DB 235,2 ; jmp 2e96 <_sk_gather_i8_sse41+0x11> + DB 235,2 ; jmp 3277 <_sk_gather_i8_sse41+0x11> DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,16 ; mov (%rax),%r10 + DB 83 ; push %rbx + DB 76,139,8 ; mov (%rax),%r9 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -14774,70 +15007,90 @@ _sk_gather_i8_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,193 ; mov %eax,%r9d + DB 65,137,194 ; mov %eax,%r10d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,203 ; mov %ecx,%r11d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,58,32,4,26,0 ; pinsrb $0x0,(%r10,%r11,1),%xmm0 - DB 102,65,15,58,32,4,10,1 ; pinsrb $0x1,(%r10,%rcx,1),%xmm0 - DB 102,67,15,58,32,4,10,2 ; pinsrb $0x2,(%r10,%r9,1),%xmm0 - DB 102,65,15,58,32,4,2,3 ; pinsrb $0x3,(%r10,%rax,1),%xmm0 + DB 102,73,15,126,195 ; movq %xmm0,%r11 + DB 68,137,219 ; mov %r11d,%ebx + DB 73,193,235,32 ; shr $0x20,%r11 + DB 102,65,15,58,32,4,25,0 ; pinsrb $0x0,(%r9,%rbx,1),%xmm0 + DB 102,67,15,58,32,4,25,1 ; pinsrb $0x1,(%r9,%r11,1),%xmm0 + DB 102,67,15,58,32,4,17,2 ; pinsrb $0x2,(%r9,%r10,1),%xmm0 + DB 102,65,15,58,32,4,1,3 ; pinsrb $0x3,(%r9,%rax,1),%xmm0 DB 102,15,56,49,192 ; pmovzxbd %xmm0,%xmm0 DB 102,73,15,58,22,193,1 ; pextrq $0x1,%xmm0,%r9 - DB 102,72,15,126,193 ; movq %xmm0,%rcx + DB 102,72,15,126,195 ; movq %xmm0,%rbx DB 73,139,64,8 ; mov 0x8(%r8),%rax - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 65,137,216 ; mov %ebx,%r8d + DB 72,193,235,30 ; shr $0x1e,%rbx DB 69,137,202 ; mov %r9d,%r10d DB 73,193,233,30 ; shr $0x1e,%r9 DB 102,66,15,110,28,128 ; movd (%rax,%r8,4),%xmm3 - DB 102,15,58,34,28,8,1 ; pinsrd $0x1,(%rax,%rcx,1),%xmm3 + DB 102,15,58,34,28,24,1 ; pinsrd $0x1,(%rax,%rbx,1),%xmm3 DB 102,66,15,58,34,28,144,2 ; pinsrd $0x2,(%rax,%r10,4),%xmm3 DB 102,66,15,58,34,28,8,3 ; pinsrd $0x3,(%rax,%r9,1),%xmm3 - DB 102,15,111,5,234,36,0,0 ; movdqa 0x24ea(%rip),%xmm0 # 5420 <_sk_callback_sse41+0xb0f> + DB 102,15,111,5,168,40,0,0 ; movdqa 0x28a8(%rip),%xmm0 # 5bc0 <_sk_callback_sse41+0xb6a> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 68,15,40,5,235,36,0,0 ; movaps 0x24eb(%rip),%xmm8 # 5430 <_sk_callback_sse41+0xb1f> + DB 68,15,40,5,169,40,0,0 ; movaps 0x28a9(%rip),%xmm8 # 5bd0 <_sk_callback_sse41+0xb7a> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,111,203 ; movdqa %xmm3,%xmm1 - DB 102,15,56,0,13,234,36,0,0 ; pshufb 0x24ea(%rip),%xmm1 # 5440 <_sk_callback_sse41+0xb2f> + DB 102,15,56,0,13,168,40,0,0 ; pshufb 0x28a8(%rip),%xmm1 # 5be0 <_sk_callback_sse41+0xb8a> 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,230,36,0,0 ; pshufb 0x24e6(%rip),%xmm2 # 5450 <_sk_callback_sse41+0xb3f> + DB 102,15,56,0,21,164,40,0,0 ; pshufb 0x28a4(%rip),%xmm2 # 5bf0 <_sk_callback_sse41+0xb9a> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,114,211,24 ; psrld $0x18,%xmm3 DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx DB 255,224 ; jmpq *%rax PUBLIC _sk_load_565_sse41 _sk_load_565_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,56,51,20,120 ; pmovzxwd (%rax,%rdi,2),%xmm2 - DB 102,15,111,5,204,36,0,0 ; movdqa 0x24cc(%rip),%xmm0 # 5460 <_sk_callback_sse41+0xb4f> + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,80 ; jne 33be <_sk_load_565_sse41+0x5a> + DB 102,65,15,56,51,20,121 ; pmovzxwd (%r9,%rdi,2),%xmm2 + DB 102,15,111,5,131,40,0,0 ; movdqa 0x2883(%rip),%xmm0 # 5c00 <_sk_callback_sse41+0xbaa> DB 102,15,219,194 ; pand %xmm2,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,206,36,0,0 ; mulps 0x24ce(%rip),%xmm0 # 5470 <_sk_callback_sse41+0xb5f> - DB 102,15,111,13,214,36,0,0 ; movdqa 0x24d6(%rip),%xmm1 # 5480 <_sk_callback_sse41+0xb6f> + DB 15,89,5,133,40,0,0 ; mulps 0x2885(%rip),%xmm0 # 5c10 <_sk_callback_sse41+0xbba> + DB 102,15,111,13,141,40,0,0 ; movdqa 0x288d(%rip),%xmm1 # 5c20 <_sk_callback_sse41+0xbca> DB 102,15,219,202 ; pand %xmm2,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,216,36,0,0 ; mulps 0x24d8(%rip),%xmm1 # 5490 <_sk_callback_sse41+0xb7f> - DB 102,15,219,21,224,36,0,0 ; pand 0x24e0(%rip),%xmm2 # 54a0 <_sk_callback_sse41+0xb8f> + DB 15,89,13,143,40,0,0 ; mulps 0x288f(%rip),%xmm1 # 5c30 <_sk_callback_sse41+0xbda> + DB 102,15,219,21,151,40,0,0 ; pand 0x2897(%rip),%xmm2 # 5c40 <_sk_callback_sse41+0xbea> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,230,36,0,0 ; mulps 0x24e6(%rip),%xmm2 # 54b0 <_sk_callback_sse41+0xb9f> + DB 15,89,21,157,40,0,0 ; mulps 0x289d(%rip),%xmm2 # 5c50 <_sk_callback_sse41+0xbfa> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,237,36,0,0 ; movaps 0x24ed(%rip),%xmm3 # 54c0 <_sk_callback_sse41+0xbaf> + DB 15,40,29,164,40,0,0 ; movaps 0x28a4(%rip),%xmm3 # 5c60 <_sk_callback_sse41+0xc0a> DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,210 ; pxor %xmm2,%xmm2 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,39 ; je 33f6 <_sk_load_565_sse41+0x92> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 33ea <_sk_load_565_sse41+0x86> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,154 ; jne 3375 <_sk_load_565_sse41+0x11> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,208,69 ; pshufd $0x45,%xmm0,%xmm2 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,15,58,34,208,1 ; pinsrd $0x1,%eax,%xmm2 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,15,58,34,208,0 ; pinsrd $0x0,%eax,%xmm2 + DB 233,111,255,255,255 ; jmpq 3375 <_sk_load_565_sse41+0x11> PUBLIC _sk_gather_565_sse41 _sk_gather_565_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -14845,43 +15098,43 @@ _sk_gather_565_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,196,4,81,0 ; pinsrw $0x0,(%r9,%r10,2),%xmm0 - DB 102,65,15,196,4,73,1 ; pinsrw $0x1,(%r9,%rcx,2),%xmm0 - DB 67,15,183,12,65 ; movzwl (%r9,%r8,2),%ecx - DB 102,15,196,193,2 ; pinsrw $0x2,%ecx,%xmm0 - DB 65,15,183,4,65 ; movzwl (%r9,%rax,2),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,196,4,88,0 ; pinsrw $0x0,(%r8,%r11,2),%xmm0 + DB 102,67,15,196,4,80,1 ; pinsrw $0x1,(%r8,%r10,2),%xmm0 + DB 71,15,183,12,72 ; movzwl (%r8,%r9,2),%r9d + DB 102,65,15,196,193,2 ; pinsrw $0x2,%r9d,%xmm0 + DB 65,15,183,4,64 ; movzwl (%r8,%rax,2),%eax DB 102,15,196,192,3 ; pinsrw $0x3,%eax,%xmm0 DB 102,15,56,51,208 ; pmovzxwd %xmm0,%xmm2 - DB 102,15,111,5,146,36,0,0 ; movdqa 0x2492(%rip),%xmm0 # 54d0 <_sk_callback_sse41+0xbbf> + DB 102,15,111,5,0,40,0,0 ; movdqa 0x2800(%rip),%xmm0 # 5c70 <_sk_callback_sse41+0xc1a> DB 102,15,219,194 ; pand %xmm2,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,148,36,0,0 ; mulps 0x2494(%rip),%xmm0 # 54e0 <_sk_callback_sse41+0xbcf> - DB 102,15,111,13,156,36,0,0 ; movdqa 0x249c(%rip),%xmm1 # 54f0 <_sk_callback_sse41+0xbdf> + DB 15,89,5,2,40,0,0 ; mulps 0x2802(%rip),%xmm0 # 5c80 <_sk_callback_sse41+0xc2a> + DB 102,15,111,13,10,40,0,0 ; movdqa 0x280a(%rip),%xmm1 # 5c90 <_sk_callback_sse41+0xc3a> DB 102,15,219,202 ; pand %xmm2,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,158,36,0,0 ; mulps 0x249e(%rip),%xmm1 # 5500 <_sk_callback_sse41+0xbef> - DB 102,15,219,21,166,36,0,0 ; pand 0x24a6(%rip),%xmm2 # 5510 <_sk_callback_sse41+0xbff> + DB 15,89,13,12,40,0,0 ; mulps 0x280c(%rip),%xmm1 # 5ca0 <_sk_callback_sse41+0xc4a> + DB 102,15,219,21,20,40,0,0 ; pand 0x2814(%rip),%xmm2 # 5cb0 <_sk_callback_sse41+0xc5a> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,172,36,0,0 ; mulps 0x24ac(%rip),%xmm2 # 5520 <_sk_callback_sse41+0xc0f> + DB 15,89,21,26,40,0,0 ; mulps 0x281a(%rip),%xmm2 # 5cc0 <_sk_callback_sse41+0xc6a> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,179,36,0,0 ; movaps 0x24b3(%rip),%xmm3 # 5530 <_sk_callback_sse41+0xc1f> + DB 15,40,29,33,40,0,0 ; movaps 0x2821(%rip),%xmm3 # 5cd0 <_sk_callback_sse41+0xc7a> DB 255,224 ; jmpq *%rax PUBLIC _sk_store_565_sse41 _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,180,36,0,0 ; movaps 0x24b4(%rip),%xmm8 # 5540 <_sk_callback_sse41+0xc2f> + DB 68,15,40,5,34,40,0,0 ; movaps 0x2822(%rip),%xmm8 # 5ce0 <_sk_callback_sse41+0xc8a> 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,169,36,0,0 ; movaps 0x24a9(%rip),%xmm10 # 5550 <_sk_callback_sse41+0xc3f> + DB 68,15,40,21,23,40,0,0 ; movaps 0x2817(%rip),%xmm10 # 5cf0 <_sk_callback_sse41+0xc9a> 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 @@ -14890,37 +15143,71 @@ _sk_store_565_sse41 LABEL PROC DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,69,15,86,194 ; orpd %xmm10,%xmm8 DB 102,69,15,56,43,192 ; packusdw %xmm8,%xmm8 - DB 102,68,15,214,4,120 ; movq %xmm8,(%rax,%rdi,2) + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 3510 <_sk_store_565_sse41+0x5f> + DB 242,68,15,17,4,120 ; movsd %xmm8,(%rax,%rdi,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,69,15,56,51,192 ; pmovzxwd %xmm8,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,30 ; je 3541 <_sk_store_565_sse41+0x90> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,15 ; je 3538 <_sk_store_565_sse41+0x87> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,221 ; jne 350c <_sk_store_565_sse41+0x5b> + DB 102,68,15,58,21,68,120,4,4 ; pextrw $0x4,%xmm8,0x4(%rax,%rdi,2) + DB 102,68,15,58,21,68,120,2,2 ; pextrw $0x2,%xmm8,0x2(%rax,%rdi,2) + DB 102,68,15,58,21,4,120,0 ; pextrw $0x0,%xmm8,(%rax,%rdi,2) + DB 235,193 ; jmp 350c <_sk_store_565_sse41+0x5b> PUBLIC _sk_load_4444_sse41 _sk_load_4444_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,56,51,28,120 ; pmovzxwd (%rax,%rdi,2),%xmm3 - DB 102,15,111,5,116,36,0,0 ; movdqa 0x2474(%rip),%xmm0 # 5560 <_sk_callback_sse41+0xc4f> + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,95 ; jne 35b4 <_sk_load_4444_sse41+0x69> + DB 102,65,15,56,51,28,121 ; pmovzxwd (%r9,%rdi,2),%xmm3 + DB 102,15,111,5,156,39,0,0 ; movdqa 0x279c(%rip),%xmm0 # 5d00 <_sk_callback_sse41+0xcaa> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,118,36,0,0 ; mulps 0x2476(%rip),%xmm0 # 5570 <_sk_callback_sse41+0xc5f> - DB 102,15,111,13,126,36,0,0 ; movdqa 0x247e(%rip),%xmm1 # 5580 <_sk_callback_sse41+0xc6f> + DB 15,89,5,158,39,0,0 ; mulps 0x279e(%rip),%xmm0 # 5d10 <_sk_callback_sse41+0xcba> + DB 102,15,111,13,166,39,0,0 ; movdqa 0x27a6(%rip),%xmm1 # 5d20 <_sk_callback_sse41+0xcca> DB 102,15,219,203 ; pand %xmm3,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,128,36,0,0 ; mulps 0x2480(%rip),%xmm1 # 5590 <_sk_callback_sse41+0xc7f> - DB 102,15,111,21,136,36,0,0 ; movdqa 0x2488(%rip),%xmm2 # 55a0 <_sk_callback_sse41+0xc8f> + DB 15,89,13,168,39,0,0 ; mulps 0x27a8(%rip),%xmm1 # 5d30 <_sk_callback_sse41+0xcda> + DB 102,15,111,21,176,39,0,0 ; movdqa 0x27b0(%rip),%xmm2 # 5d40 <_sk_callback_sse41+0xcea> DB 102,15,219,211 ; pand %xmm3,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,138,36,0,0 ; mulps 0x248a(%rip),%xmm2 # 55b0 <_sk_callback_sse41+0xc9f> - DB 102,15,219,29,146,36,0,0 ; pand 0x2492(%rip),%xmm3 # 55c0 <_sk_callback_sse41+0xcaf> + DB 15,89,21,178,39,0,0 ; mulps 0x27b2(%rip),%xmm2 # 5d50 <_sk_callback_sse41+0xcfa> + DB 102,15,219,29,186,39,0,0 ; pand 0x27ba(%rip),%xmm3 # 5d60 <_sk_callback_sse41+0xd0a> DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 - DB 15,89,29,152,36,0,0 ; mulps 0x2498(%rip),%xmm3 # 55d0 <_sk_callback_sse41+0xcbf> + DB 15,89,29,192,39,0,0 ; mulps 0x27c0(%rip),%xmm3 # 5d70 <_sk_callback_sse41+0xd1a> DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,219 ; pxor %xmm3,%xmm3 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,39 ; je 35ec <_sk_load_4444_sse41+0xa1> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 35e0 <_sk_load_4444_sse41+0x95> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,139 ; jne 355c <_sk_load_4444_sse41+0x11> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,216,69 ; pshufd $0x45,%xmm0,%xmm3 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,15,58,34,216,1 ; pinsrd $0x1,%eax,%xmm3 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,15,58,34,216,0 ; pinsrd $0x0,%eax,%xmm3 + DB 233,96,255,255,255 ; jmpq 355c <_sk_load_4444_sse41+0x11> PUBLIC _sk_gather_4444_sse41 _sk_gather_4444_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -14928,33 +15215,33 @@ _sk_gather_4444_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,58,22,192,1 ; pextrq $0x1,%xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,196,4,81,0 ; pinsrw $0x0,(%r9,%r10,2),%xmm0 - DB 102,65,15,196,4,73,1 ; pinsrw $0x1,(%r9,%rcx,2),%xmm0 - DB 67,15,183,12,65 ; movzwl (%r9,%r8,2),%ecx - DB 102,15,196,193,2 ; pinsrw $0x2,%ecx,%xmm0 - DB 65,15,183,4,65 ; movzwl (%r9,%rax,2),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,196,4,88,0 ; pinsrw $0x0,(%r8,%r11,2),%xmm0 + DB 102,67,15,196,4,80,1 ; pinsrw $0x1,(%r8,%r10,2),%xmm0 + DB 71,15,183,12,72 ; movzwl (%r8,%r9,2),%r9d + DB 102,65,15,196,193,2 ; pinsrw $0x2,%r9d,%xmm0 + DB 65,15,183,4,64 ; movzwl (%r8,%rax,2),%eax DB 102,15,196,192,3 ; pinsrw $0x3,%eax,%xmm0 DB 102,15,56,51,216 ; pmovzxwd %xmm0,%xmm3 - DB 102,15,111,5,59,36,0,0 ; movdqa 0x243b(%rip),%xmm0 # 55e0 <_sk_callback_sse41+0xccf> + DB 102,15,111,5,26,39,0,0 ; movdqa 0x271a(%rip),%xmm0 # 5d80 <_sk_callback_sse41+0xd2a> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,61,36,0,0 ; mulps 0x243d(%rip),%xmm0 # 55f0 <_sk_callback_sse41+0xcdf> - DB 102,15,111,13,69,36,0,0 ; movdqa 0x2445(%rip),%xmm1 # 5600 <_sk_callback_sse41+0xcef> + DB 15,89,5,28,39,0,0 ; mulps 0x271c(%rip),%xmm0 # 5d90 <_sk_callback_sse41+0xd3a> + DB 102,15,111,13,36,39,0,0 ; movdqa 0x2724(%rip),%xmm1 # 5da0 <_sk_callback_sse41+0xd4a> DB 102,15,219,203 ; pand %xmm3,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,71,36,0,0 ; mulps 0x2447(%rip),%xmm1 # 5610 <_sk_callback_sse41+0xcff> - DB 102,15,111,21,79,36,0,0 ; movdqa 0x244f(%rip),%xmm2 # 5620 <_sk_callback_sse41+0xd0f> + DB 15,89,13,38,39,0,0 ; mulps 0x2726(%rip),%xmm1 # 5db0 <_sk_callback_sse41+0xd5a> + DB 102,15,111,21,46,39,0,0 ; movdqa 0x272e(%rip),%xmm2 # 5dc0 <_sk_callback_sse41+0xd6a> DB 102,15,219,211 ; pand %xmm3,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,81,36,0,0 ; mulps 0x2451(%rip),%xmm2 # 5630 <_sk_callback_sse41+0xd1f> - DB 102,15,219,29,89,36,0,0 ; pand 0x2459(%rip),%xmm3 # 5640 <_sk_callback_sse41+0xd2f> + DB 15,89,21,48,39,0,0 ; mulps 0x2730(%rip),%xmm2 # 5dd0 <_sk_callback_sse41+0xd7a> + DB 102,15,219,29,56,39,0,0 ; pand 0x2738(%rip),%xmm3 # 5de0 <_sk_callback_sse41+0xd8a> DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 - DB 15,89,29,95,36,0,0 ; mulps 0x245f(%rip),%xmm3 # 5650 <_sk_callback_sse41+0xd3f> + DB 15,89,29,62,39,0,0 ; mulps 0x273e(%rip),%xmm3 # 5df0 <_sk_callback_sse41+0xd9a> DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax @@ -14962,7 +15249,7 @@ PUBLIC _sk_store_4444_sse41 _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,94,36,0,0 ; movaps 0x245e(%rip),%xmm8 # 5660 <_sk_callback_sse41+0xd4f> + DB 68,15,40,5,61,39,0,0 ; movaps 0x273d(%rip),%xmm8 # 5e00 <_sk_callback_sse41+0xdaa> 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 @@ -14981,26 +15268,43 @@ _sk_store_4444_sse41 LABEL PROC DB 102,69,15,86,193 ; orpd %xmm9,%xmm8 DB 102,69,15,86,194 ; orpd %xmm10,%xmm8 DB 102,69,15,56,43,192 ; packusdw %xmm8,%xmm8 - DB 102,68,15,214,4,120 ; movq %xmm8,(%rax,%rdi,2) + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 3729 <_sk_store_4444_sse41+0x73> + DB 242,68,15,17,4,120 ; movsd %xmm8,(%rax,%rdi,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,69,15,56,51,192 ; pmovzxwd %xmm8,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,30 ; je 375a <_sk_store_4444_sse41+0xa4> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,15 ; je 3751 <_sk_store_4444_sse41+0x9b> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,221 ; jne 3725 <_sk_store_4444_sse41+0x6f> + DB 102,68,15,58,21,68,120,4,4 ; pextrw $0x4,%xmm8,0x4(%rax,%rdi,2) + DB 102,68,15,58,21,68,120,2,2 ; pextrw $0x2,%xmm8,0x2(%rax,%rdi,2) + DB 102,68,15,58,21,4,120,0 ; pextrw $0x0,%xmm8,(%rax,%rdi,2) + DB 235,193 ; jmp 3725 <_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 15,16,28,184 ; movups (%rax,%rdi,4),%xmm3 - DB 15,40,5,253,35,0,0 ; movaps 0x23fd(%rip),%xmm0 # 5670 <_sk_callback_sse41+0xd5f> - DB 15,84,195 ; andps %xmm3,%xmm0 + DB 72,133,201 ; test %rcx,%rcx + DB 117,88 ; jne 37c6 <_sk_load_8888_sse41+0x62> + DB 243,15,111,28,184 ; movdqu (%rax,%rdi,4),%xmm3 + DB 102,15,111,5,149,38,0,0 ; movdqa 0x2695(%rip),%xmm0 # 5e10 <_sk_callback_sse41+0xdba> + DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 68,15,40,5,255,35,0,0 ; movaps 0x23ff(%rip),%xmm8 # 5680 <_sk_callback_sse41+0xd6f> + DB 68,15,40,5,150,38,0,0 ; movaps 0x2696(%rip),%xmm8 # 5e20 <_sk_callback_sse41+0xdca> DB 65,15,89,192 ; mulps %xmm8,%xmm0 - DB 15,40,203 ; movaps %xmm3,%xmm1 - DB 102,15,56,0,13,255,35,0,0 ; pshufb 0x23ff(%rip),%xmm1 # 5690 <_sk_callback_sse41+0xd7f> + DB 102,15,111,203 ; movdqa %xmm3,%xmm1 + DB 102,15,56,0,13,149,38,0,0 ; pshufb 0x2695(%rip),%xmm1 # 5e30 <_sk_callback_sse41+0xdda> DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 DB 65,15,89,200 ; mulps %xmm8,%xmm1 - DB 15,40,211 ; movaps %xmm3,%xmm2 - DB 102,15,56,0,21,252,35,0,0 ; pshufb 0x23fc(%rip),%xmm2 # 56a0 <_sk_callback_sse41+0xd8f> + DB 102,15,111,211 ; movdqa %xmm3,%xmm2 + DB 102,15,56,0,21,145,38,0,0 ; pshufb 0x2691(%rip),%xmm2 # 5e40 <_sk_callback_sse41+0xdea> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,114,211,24 ; psrld $0x18,%xmm3 @@ -15008,11 +15312,25 @@ _sk_load_8888_sse41 LABEL PROC DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,219 ; pxor %xmm3,%xmm3 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,31 ; je 37f6 <_sk_load_8888_sse41+0x92> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,17 ; je 37ee <_sk_load_8888_sse41+0x8a> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,144 ; jne 3773 <_sk_load_8888_sse41+0xf> + DB 102,15,110,68,184,8 ; movd 0x8(%rax,%rdi,4),%xmm0 + DB 102,15,112,216,69 ; pshufd $0x45,%xmm0,%xmm3 + DB 102,15,58,34,92,184,4,1 ; pinsrd $0x1,0x4(%rax,%rdi,4),%xmm3 + DB 102,15,58,34,28,184,0 ; pinsrd $0x0,(%rax,%rdi,4),%xmm3 + DB 233,113,255,255,255 ; jmpq 3773 <_sk_load_8888_sse41+0xf> PUBLIC _sk_gather_8888_sse41 _sk_gather_8888_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -15020,26 +15338,26 @@ _sk_gather_8888_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,58,22,193,1 ; pextrq $0x1,%xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,110,28,129 ; movd (%r9,%r8,4),%xmm3 - DB 102,65,15,58,34,28,129,1 ; pinsrd $0x1,(%r9,%rax,4),%xmm3 - DB 102,67,15,58,34,28,145,2 ; pinsrd $0x2,(%r9,%r10,4),%xmm3 - DB 102,65,15,58,34,28,137,3 ; pinsrd $0x3,(%r9,%rcx,4),%xmm3 - DB 102,15,111,5,149,35,0,0 ; movdqa 0x2395(%rip),%xmm0 # 56b0 <_sk_callback_sse41+0xd9f> + DB 102,73,15,58,22,194,1 ; pextrq $0x1,%xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,110,28,136 ; movd (%r8,%r9,4),%xmm3 + DB 102,65,15,58,34,28,128,1 ; pinsrd $0x1,(%r8,%rax,4),%xmm3 + DB 102,67,15,58,34,28,152,2 ; pinsrd $0x2,(%r8,%r11,4),%xmm3 + DB 102,67,15,58,34,28,144,3 ; pinsrd $0x3,(%r8,%r10,4),%xmm3 + DB 102,15,111,5,238,37,0,0 ; movdqa 0x25ee(%rip),%xmm0 # 5e50 <_sk_callback_sse41+0xdfa> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 68,15,40,5,150,35,0,0 ; movaps 0x2396(%rip),%xmm8 # 56c0 <_sk_callback_sse41+0xdaf> + DB 68,15,40,5,239,37,0,0 ; movaps 0x25ef(%rip),%xmm8 # 5e60 <_sk_callback_sse41+0xe0a> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,111,203 ; movdqa %xmm3,%xmm1 - DB 102,15,56,0,13,149,35,0,0 ; pshufb 0x2395(%rip),%xmm1 # 56d0 <_sk_callback_sse41+0xdbf> + DB 102,15,56,0,13,238,37,0,0 ; pshufb 0x25ee(%rip),%xmm1 # 5e70 <_sk_callback_sse41+0xe1a> 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,145,35,0,0 ; pshufb 0x2391(%rip),%xmm2 # 56e0 <_sk_callback_sse41+0xdcf> + DB 102,15,56,0,21,234,37,0,0 ; pshufb 0x25ea(%rip),%xmm2 # 5e80 <_sk_callback_sse41+0xe2a> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,114,211,24 ; psrld $0x18,%xmm3 @@ -15052,7 +15370,7 @@ PUBLIC _sk_store_8888_sse41 _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,125,35,0,0 ; movaps 0x237d(%rip),%xmm8 # 56f0 <_sk_callback_sse41+0xddf> + DB 68,15,40,5,214,37,0,0 ; movaps 0x25d6(%rip),%xmm8 # 5e90 <_sk_callback_sse41+0xe3a> 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 @@ -15070,35 +15388,51 @@ _sk_store_8888_sse41 LABEL PROC DB 102,65,15,114,240,24 ; pslld $0x18,%xmm8 DB 102,69,15,235,193 ; por %xmm9,%xmm8 DB 102,69,15,235,194 ; por %xmm10,%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 391a <_sk_store_8888_sse41+0x6d> DB 243,68,15,127,4,184 ; movdqu %xmm8,(%rax,%rdi,4) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,30 ; je 3945 <_sk_store_8888_sse41+0x98> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,15 ; je 393c <_sk_store_8888_sse41+0x8f> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,227 ; jne 3916 <_sk_store_8888_sse41+0x69> + DB 102,68,15,58,22,68,184,8,2 ; pextrd $0x2,%xmm8,0x8(%rax,%rdi,4) + DB 102,68,15,58,22,68,184,4,1 ; pextrd $0x1,%xmm8,0x4(%rax,%rdi,4) + DB 102,68,15,126,4,184 ; movd %xmm8,(%rax,%rdi,4) + DB 235,201 ; jmp 3916 <_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 243,15,111,4,248 ; movdqu (%rax,%rdi,8),%xmm0 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,60,1,0,0 ; jne 3a97 <_sk_load_f16_sse41+0x14a> + DB 102,15,16,4,248 ; movupd (%rax,%rdi,8),%xmm0 DB 243,15,111,76,248,16 ; movdqu 0x10(%rax,%rdi,8),%xmm1 - DB 102,68,15,111,200 ; movdqa %xmm0,%xmm9 + DB 102,68,15,40,200 ; movapd %xmm0,%xmm9 DB 102,68,15,97,201 ; punpcklwd %xmm1,%xmm9 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,69,15,111,217 ; movdqa %xmm9,%xmm11 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,246,34,0,0 ; movdqa 0x22f6(%rip),%xmm8 # 5700 <_sk_callback_sse41+0xdef> + DB 102,68,15,111,5,14,37,0,0 ; movdqa 0x250e(%rip),%xmm8 # 5ea0 <_sk_callback_sse41+0xe4a> 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,241,34,0,0 ; movdqa 0x22f1(%rip),%xmm3 # 5710 <_sk_callback_sse41+0xdff> + DB 102,15,111,29,9,37,0,0 ; movdqa 0x2509(%rip),%xmm3 # 5eb0 <_sk_callback_sse41+0xe5a> 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,221,34,0,0 ; movdqa 0x22dd(%rip),%xmm10 # 5720 <_sk_callback_sse41+0xe0f> + DB 102,68,15,111,21,245,36,0,0 ; movdqa 0x24f5(%rip),%xmm10 # 5ec0 <_sk_callback_sse41+0xe6a> 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 @@ -15139,11 +15473,23 @@ _sk_load_f16_sse41 LABEL PROC DB 102,65,15,219,217 ; pand %xmm9,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 242,15,16,4,248 ; movsd (%rax,%rdi,8),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,13 ; jne 3aaf <_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 3966 <_sk_load_f16_sse41+0x19> + DB 102,15,22,68,248,8 ; movhpd 0x8(%rax,%rdi,8),%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,163,254,255,255 ; jb 3966 <_sk_load_f16_sse41+0x19> + DB 243,15,126,76,248,16 ; movq 0x10(%rax,%rdi,8),%xmm1 + DB 233,152,254,255,255 ; jmpq 3966 <_sk_load_f16_sse41+0x19> PUBLIC _sk_gather_f16_sse41 _sk_gather_f16_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -15151,16 +15497,16 @@ _sk_gather_f16_sse41 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,194 ; paddd %xmm2,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,58,22,193,1 ; pextrq $0x1,%xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,65,15,126,4,201 ; movq (%r9,%rcx,8),%xmm0 - DB 243,67,15,126,12,209 ; movq (%r9,%r10,8),%xmm1 + DB 102,73,15,58,22,194,1 ; pextrq $0x1,%xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,126,4,208 ; movq (%r8,%r10,8),%xmm0 + DB 243,67,15,126,12,216 ; movq (%r8,%r11,8),%xmm1 DB 102,15,108,200 ; punpcklqdq %xmm0,%xmm1 - DB 243,65,15,126,4,193 ; movq (%r9,%rax,8),%xmm0 - DB 243,67,15,126,20,193 ; movq (%r9,%r8,8),%xmm2 + DB 243,65,15,126,4,192 ; movq (%r8,%rax,8),%xmm0 + DB 243,67,15,126,20,200 ; movq (%r8,%r9,8),%xmm2 DB 102,15,108,208 ; punpcklqdq %xmm0,%xmm2 DB 102,68,15,111,202 ; movdqa %xmm2,%xmm9 DB 102,68,15,97,201 ; punpcklwd %xmm1,%xmm9 @@ -15169,18 +15515,18 @@ _sk_gather_f16_sse41 LABEL PROC 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,155,33,0,0 ; movdqa 0x219b(%rip),%xmm8 # 5730 <_sk_callback_sse41+0xe1f> + DB 102,68,15,111,5,124,35,0,0 ; movdqa 0x237c(%rip),%xmm8 # 5ed0 <_sk_callback_sse41+0xe7a> 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,150,33,0,0 ; movdqa 0x2196(%rip),%xmm3 # 5740 <_sk_callback_sse41+0xe2f> + DB 102,15,111,29,119,35,0,0 ; movdqa 0x2377(%rip),%xmm3 # 5ee0 <_sk_callback_sse41+0xe8a> 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,130,33,0,0 ; movdqa 0x2182(%rip),%xmm10 # 5750 <_sk_callback_sse41+0xe3f> + DB 102,68,15,111,21,99,35,0,0 ; movdqa 0x2363(%rip),%xmm10 # 5ef0 <_sk_callback_sse41+0xe9a> 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 @@ -15226,72 +15572,86 @@ PUBLIC _sk_store_f16_sse41 _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,184,32,0,0 ; movdqa 0x20b8(%rip),%xmm10 # 5760 <_sk_callback_sse41+0xe4f> - DB 102,68,15,111,224 ; movdqa %xmm0,%xmm12 + DB 102,68,15,111,21,153,34,0,0 ; movdqa 0x2299(%rip),%xmm10 # 5f00 <_sk_callback_sse41+0xeaa> + 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,219,234 ; pand %xmm10,%xmm13 - DB 102,69,15,239,229 ; pxor %xmm13,%xmm12 - DB 102,68,15,111,13,171,32,0,0 ; movdqa 0x20ab(%rip),%xmm9 # 5770 <_sk_callback_sse41+0xe5f> - DB 102,65,15,114,213,16 ; psrld $0x10,%xmm13 + DB 102,69,15,239,235 ; pxor %xmm11,%xmm13 + DB 102,68,15,111,13,140,34,0,0 ; movdqa 0x228c(%rip),%xmm9 # 5f10 <_sk_callback_sse41+0xeba> + DB 102,65,15,114,211,16 ; psrld $0x10,%xmm11 DB 102,69,15,111,193 ; movdqa %xmm9,%xmm8 - DB 102,69,15,102,196 ; pcmpgtd %xmm12,%xmm8 - DB 102,65,15,114,212,13 ; psrld $0xd,%xmm12 - DB 102,68,15,111,29,156,32,0,0 ; movdqa 0x209c(%rip),%xmm11 # 5780 <_sk_callback_sse41+0xe6f> - DB 102,69,15,235,235 ; por %xmm11,%xmm13 - DB 102,69,15,254,236 ; paddd %xmm12,%xmm13 - DB 102,69,15,223,197 ; pandn %xmm13,%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,125,34,0,0 ; movdqa 0x227d(%rip),%xmm12 # 5f20 <_sk_callback_sse41+0xeca> + 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 DB 102,69,15,56,43,192 ; packusdw %xmm8,%xmm8 - DB 102,68,15,111,233 ; movdqa %xmm1,%xmm13 + DB 102,68,15,111,217 ; movdqa %xmm1,%xmm11 + DB 102,69,15,219,218 ; pand %xmm10,%xmm11 DB 102,68,15,111,241 ; movdqa %xmm1,%xmm14 - DB 102,69,15,219,242 ; pand %xmm10,%xmm14 - DB 102,69,15,239,238 ; pxor %xmm14,%xmm13 - DB 102,65,15,114,214,16 ; psrld $0x10,%xmm14 - DB 102,69,15,111,225 ; movdqa %xmm9,%xmm12 - DB 102,69,15,102,229 ; pcmpgtd %xmm13,%xmm12 - DB 102,65,15,114,213,13 ; psrld $0xd,%xmm13 - DB 102,69,15,235,243 ; por %xmm11,%xmm14 - DB 102,69,15,254,245 ; paddd %xmm13,%xmm14 - DB 102,69,15,223,230 ; pandn %xmm14,%xmm12 - DB 102,69,15,56,43,228 ; packusdw %xmm12,%xmm12 - DB 102,68,15,111,242 ; movdqa %xmm2,%xmm14 - DB 102,68,15,111,250 ; movdqa %xmm2,%xmm15 - DB 102,69,15,219,250 ; pand %xmm10,%xmm15 - DB 102,69,15,239,247 ; pxor %xmm15,%xmm14 - DB 102,65,15,114,215,16 ; psrld $0x10,%xmm15 + DB 102,69,15,239,243 ; pxor %xmm11,%xmm14 + DB 102,65,15,114,211,16 ; psrld $0x10,%xmm11 DB 102,69,15,111,233 ; movdqa %xmm9,%xmm13 DB 102,69,15,102,238 ; pcmpgtd %xmm14,%xmm13 DB 102,65,15,114,214,13 ; psrld $0xd,%xmm14 - DB 102,69,15,235,251 ; por %xmm11,%xmm15 - DB 102,69,15,254,254 ; paddd %xmm14,%xmm15 - DB 102,69,15,223,239 ; pandn %xmm15,%xmm13 + DB 102,69,15,235,220 ; por %xmm12,%xmm11 + DB 102,69,15,254,222 ; paddd %xmm14,%xmm11 + DB 102,69,15,223,235 ; pandn %xmm11,%xmm13 DB 102,69,15,56,43,237 ; packusdw %xmm13,%xmm13 + DB 102,68,15,111,242 ; movdqa %xmm2,%xmm14 + DB 102,69,15,219,242 ; pand %xmm10,%xmm14 + DB 102,68,15,111,250 ; movdqa %xmm2,%xmm15 + DB 102,69,15,239,254 ; pxor %xmm14,%xmm15 + DB 102,65,15,114,214,16 ; psrld $0x10,%xmm14 + DB 102,69,15,111,217 ; movdqa %xmm9,%xmm11 + DB 102,69,15,102,223 ; pcmpgtd %xmm15,%xmm11 + DB 102,65,15,114,215,13 ; psrld $0xd,%xmm15 + DB 102,69,15,235,244 ; por %xmm12,%xmm14 + DB 102,69,15,254,247 ; paddd %xmm15,%xmm14 + DB 102,69,15,223,222 ; pandn %xmm14,%xmm11 + DB 102,69,15,56,43,219 ; packusdw %xmm11,%xmm11 DB 102,68,15,219,211 ; pand %xmm3,%xmm10 DB 102,68,15,111,243 ; movdqa %xmm3,%xmm14 DB 102,69,15,239,242 ; pxor %xmm10,%xmm14 DB 102,65,15,114,210,16 ; psrld $0x10,%xmm10 DB 102,69,15,102,206 ; pcmpgtd %xmm14,%xmm9 DB 102,65,15,114,214,13 ; psrld $0xd,%xmm14 - DB 102,69,15,235,211 ; por %xmm11,%xmm10 + DB 102,69,15,235,212 ; por %xmm12,%xmm10 DB 102,69,15,254,214 ; paddd %xmm14,%xmm10 DB 102,69,15,223,202 ; pandn %xmm10,%xmm9 DB 102,69,15,56,43,201 ; packusdw %xmm9,%xmm9 - DB 102,69,15,97,196 ; punpcklwd %xmm12,%xmm8 - DB 102,69,15,97,233 ; punpcklwd %xmm9,%xmm13 + DB 102,69,15,97,197 ; punpcklwd %xmm13,%xmm8 + DB 102,69,15,97,217 ; punpcklwd %xmm9,%xmm11 DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 - DB 102,69,15,98,205 ; punpckldq %xmm13,%xmm9 - DB 243,68,15,127,12,248 ; movdqu %xmm9,(%rax,%rdi,8) - DB 102,69,15,106,197 ; punpckhdq %xmm13,%xmm8 + DB 102,69,15,98,203 ; punpckldq %xmm11,%xmm9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,21 ; jne 3d99 <_sk_store_f16_sse41+0x140> + DB 68,15,17,12,248 ; movups %xmm9,(%rax,%rdi,8) + DB 102,69,15,106,195 ; punpckhdq %xmm11,%xmm8 DB 243,68,15,127,68,248,16 ; movdqu %xmm8,0x10(%rax,%rdi,8) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,68,15,214,12,248 ; movq %xmm9,(%rax,%rdi,8) + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,240 ; je 3d95 <_sk_store_f16_sse41+0x13c> + DB 102,68,15,23,76,248,8 ; movhpd %xmm9,0x8(%rax,%rdi,8) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,227 ; jb 3d95 <_sk_store_f16_sse41+0x13c> + DB 102,69,15,106,195 ; punpckhdq %xmm11,%xmm8 + DB 102,68,15,214,68,248,16 ; movq %xmm8,0x10(%rax,%rdi,8) + DB 235,213 ; jmp 3d95 <_sk_store_f16_sse41+0x13c> PUBLIC _sk_load_u16_be_sse41 _sk_load_u16_be_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 243,15,111,4,248 ; movdqu (%rax,%rdi,8),%xmm0 - DB 243,15,111,76,248,16 ; movdqu 0x10(%rax,%rdi,8),%xmm1 - DB 102,15,111,208 ; movdqa %xmm0,%xmm2 + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%rax + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,185,0,0,0 ; jne 3e8f <_sk_load_u16_be_sse41+0xcf> + DB 102,65,15,16,4,64 ; movupd (%r8,%rax,2),%xmm0 + DB 243,65,15,111,76,64,16 ; movdqu 0x10(%r8,%rax,2),%xmm1 + DB 102,15,40,208 ; movapd %xmm0,%xmm2 DB 102,15,97,209 ; punpcklwd %xmm1,%xmm2 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,15,111,202 ; movdqa %xmm2,%xmm1 @@ -15304,7 +15664,7 @@ _sk_load_u16_be_sse41 LABEL PROC 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,107,31,0,0 ; movaps 0x1f6b(%rip),%xmm8 # 5790 <_sk_callback_sse41+0xe7f> + DB 68,15,40,5,14,33,0,0 ; movaps 0x210e(%rip),%xmm8 # 5f30 <_sk_callback_sse41+0xeda> 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 @@ -15330,31 +15690,46 @@ _sk_load_u16_be_sse41 LABEL PROC DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 242,65,15,16,4,64 ; movsd (%r8,%rax,2),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,13 ; jne 3ea8 <_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 3de3 <_sk_load_u16_be_sse41+0x23> + DB 102,65,15,22,68,64,8 ; movhpd 0x8(%r8,%rax,2),%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,38,255,255,255 ; jb 3de3 <_sk_load_u16_be_sse41+0x23> + DB 243,65,15,126,76,64,16 ; movq 0x10(%r8,%rax,2),%xmm1 + DB 233,26,255,255,255 ; jmpq 3de3 <_sk_load_u16_be_sse41+0x23> PUBLIC _sk_load_rgb_u16_be_sse41 _sk_load_rgb_u16_be_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,141,12,127 ; lea (%rdi,%rdi,2),%rcx - DB 243,15,111,20,72 ; movdqu (%rax,%rcx,2),%xmm2 - DB 243,15,111,68,72,8 ; movdqu 0x8(%rax,%rcx,2),%xmm0 - DB 102,15,115,216,4 ; psrldq $0x4,%xmm0 - DB 102,15,111,202 ; movdqa %xmm2,%xmm1 - DB 102,15,115,217,6 ; psrldq $0x6,%xmm1 - DB 102,15,97,208 ; punpcklwd %xmm0,%xmm2 - DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 - DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,127 ; lea (%rdi,%rdi,2),%rax + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,170,0,0,0 ; jne 3f85 <_sk_load_rgb_u16_be_sse41+0xbc> + DB 243,65,15,111,20,64 ; movdqu (%r8,%rax,2),%xmm2 + DB 243,65,15,111,92,64,8 ; movdqu 0x8(%r8,%rax,2),%xmm3 + DB 102,15,115,219,4 ; psrldq $0x4,%xmm3 DB 102,15,111,194 ; movdqa %xmm2,%xmm0 + DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 + DB 102,15,111,203 ; movdqa %xmm3,%xmm1 + DB 102,15,115,217,6 ; psrldq $0x6,%xmm1 + DB 102,15,97,211 ; punpcklwd %xmm3,%xmm2 DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 - DB 102,15,112,216,78 ; pshufd $0x4e,%xmm0,%xmm3 - DB 102,15,105,209 ; punpckhwd %xmm1,%xmm2 - DB 102,15,111,200 ; movdqa %xmm0,%xmm1 - DB 102,15,113,241,8 ; psllw $0x8,%xmm1 - DB 102,15,113,208,8 ; psrlw $0x8,%xmm0 - DB 102,15,235,193 ; por %xmm1,%xmm0 - DB 102,15,56,51,192 ; pmovzxwd %xmm0,%xmm0 + DB 102,15,111,202 ; movdqa %xmm2,%xmm1 + DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 + DB 102,15,112,217,78 ; pshufd $0x4e,%xmm1,%xmm3 + DB 102,15,105,208 ; punpckhwd %xmm0,%xmm2 + DB 102,15,111,193 ; movdqa %xmm1,%xmm0 + DB 102,15,113,240,8 ; psllw $0x8,%xmm0 + DB 102,15,113,209,8 ; psrlw $0x8,%xmm1 + DB 102,15,235,200 ; por %xmm0,%xmm1 + DB 102,15,56,51,193 ; pmovzxwd %xmm1,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 68,15,40,5,172,30,0,0 ; movaps 0x1eac(%rip),%xmm8 # 57a0 <_sk_callback_sse41+0xe8f> + DB 68,15,40,5,6,32,0,0 ; movaps 0x2006(%rip),%xmm8 # 5f40 <_sk_callback_sse41+0xeea> 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 @@ -15371,65 +15746,99 @@ _sk_load_rgb_u16_be_sse41 LABEL PROC 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,115,30,0,0 ; movaps 0x1e73(%rip),%xmm3 # 57b0 <_sk_callback_sse41+0xe9f> + DB 15,40,29,205,31,0,0 ; movaps 0x1fcd(%rip),%xmm3 # 5f50 <_sk_callback_sse41+0xefa> DB 255,224 ; jmpq *%rax + DB 102,65,15,110,20,64 ; movd (%r8,%rax,2),%xmm2 + DB 102,65,15,196,84,64,4,2 ; pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,13 ; jne 3faa <_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 3eff <_sk_load_rgb_u16_be_sse41+0x36> + DB 102,65,15,110,68,64,6 ; movd 0x6(%r8,%rax,2),%xmm0 + DB 102,65,15,196,68,64,10,2 ; pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,24 ; jb 3fdb <_sk_load_rgb_u16_be_sse41+0x112> + DB 102,65,15,110,92,64,12 ; movd 0xc(%r8,%rax,2),%xmm3 + DB 102,65,15,196,92,64,16,2 ; pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 233,36,255,255,255 ; jmpq 3eff <_sk_load_rgb_u16_be_sse41+0x36> + DB 102,15,239,219 ; pxor %xmm3,%xmm3 + DB 233,27,255,255,255 ; jmpq 3eff <_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 72,139,0 ; mov (%rax),%rax - DB 68,15,40,13,116,30,0,0 ; movaps 0x1e74(%rip),%xmm9 # 57c0 <_sk_callback_sse41+0xeaf> + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%rax + DB 68,15,40,21,103,31,0,0 ; movaps 0x1f67(%rip),%xmm10 # 5f60 <_sk_callback_sse41+0xf0a> DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 69,15,89,193 ; mulps %xmm9,%xmm8 + DB 69,15,89,194 ; mulps %xmm10,%xmm8 DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,69,15,56,43,192 ; packusdw %xmm8,%xmm8 - DB 102,69,15,111,208 ; movdqa %xmm8,%xmm10 - DB 102,65,15,113,242,8 ; psllw $0x8,%xmm10 + DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 + DB 102,65,15,113,241,8 ; psllw $0x8,%xmm9 DB 102,65,15,113,208,8 ; psrlw $0x8,%xmm8 - DB 102,69,15,235,194 ; por %xmm10,%xmm8 - DB 68,15,40,209 ; movaps %xmm1,%xmm10 - DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 102,69,15,91,210 ; cvtps2dq %xmm10,%xmm10 - DB 102,69,15,56,43,210 ; packusdw %xmm10,%xmm10 - DB 102,69,15,111,218 ; movdqa %xmm10,%xmm11 - DB 102,65,15,113,243,8 ; psllw $0x8,%xmm11 - DB 102,65,15,113,210,8 ; psrlw $0x8,%xmm10 - DB 102,69,15,235,211 ; por %xmm11,%xmm10 - DB 68,15,40,218 ; movaps %xmm2,%xmm11 - DB 69,15,89,217 ; mulps %xmm9,%xmm11 - DB 102,69,15,91,219 ; cvtps2dq %xmm11,%xmm11 + DB 102,69,15,235,193 ; por %xmm9,%xmm8 + DB 68,15,40,201 ; movaps %xmm1,%xmm9 + DB 69,15,89,202 ; mulps %xmm10,%xmm9 + DB 102,69,15,91,217 ; cvtps2dq %xmm9,%xmm11 DB 102,69,15,56,43,219 ; packusdw %xmm11,%xmm11 - DB 102,69,15,111,227 ; movdqa %xmm11,%xmm12 - DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 + DB 102,69,15,111,203 ; movdqa %xmm11,%xmm9 + DB 102,65,15,113,241,8 ; psllw $0x8,%xmm9 DB 102,65,15,113,211,8 ; psrlw $0x8,%xmm11 - DB 102,69,15,235,220 ; por %xmm12,%xmm11 - DB 68,15,89,203 ; mulps %xmm3,%xmm9 + DB 102,69,15,235,217 ; por %xmm9,%xmm11 + DB 68,15,40,202 ; movaps %xmm2,%xmm9 + DB 69,15,89,202 ; mulps %xmm10,%xmm9 DB 102,69,15,91,201 ; cvtps2dq %xmm9,%xmm9 DB 102,69,15,56,43,201 ; packusdw %xmm9,%xmm9 DB 102,69,15,111,225 ; movdqa %xmm9,%xmm12 DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 DB 102,65,15,113,209,8 ; psrlw $0x8,%xmm9 DB 102,69,15,235,204 ; por %xmm12,%xmm9 - DB 102,69,15,97,194 ; punpcklwd %xmm10,%xmm8 - DB 102,69,15,97,217 ; punpcklwd %xmm9,%xmm11 - DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 - DB 102,69,15,98,203 ; punpckldq %xmm11,%xmm9 - DB 243,68,15,127,12,248 ; movdqu %xmm9,(%rax,%rdi,8) - DB 102,69,15,106,195 ; punpckhdq %xmm11,%xmm8 - DB 243,68,15,127,68,248,16 ; movdqu %xmm8,0x10(%rax,%rdi,8) + DB 68,15,89,211 ; mulps %xmm3,%xmm10 + DB 102,69,15,91,210 ; cvtps2dq %xmm10,%xmm10 + DB 102,69,15,56,43,210 ; packusdw %xmm10,%xmm10 + DB 102,69,15,111,226 ; movdqa %xmm10,%xmm12 + DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 + DB 102,65,15,113,210,8 ; psrlw $0x8,%xmm10 + DB 102,69,15,235,212 ; por %xmm12,%xmm10 + DB 102,69,15,97,195 ; punpcklwd %xmm11,%xmm8 + DB 102,69,15,97,202 ; punpcklwd %xmm10,%xmm9 + DB 102,69,15,111,208 ; movdqa %xmm8,%xmm10 + DB 102,69,15,98,209 ; punpckldq %xmm9,%xmm10 + DB 72,133,201 ; test %rcx,%rcx + DB 117,21 ; jne 40c7 <_sk_store_u16_be_sse41+0xe3> + DB 69,15,17,20,64 ; movups %xmm10,(%r8,%rax,2) + DB 102,69,15,106,193 ; punpckhdq %xmm9,%xmm8 + DB 243,69,15,127,68,64,16 ; movdqu %xmm8,0x10(%r8,%rax,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,69,15,214,20,64 ; movq %xmm10,(%r8,%rax,2) + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,240 ; je 40c3 <_sk_store_u16_be_sse41+0xdf> + DB 102,69,15,23,84,64,8 ; movhpd %xmm10,0x8(%r8,%rax,2) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,227 ; jb 40c3 <_sk_store_u16_be_sse41+0xdf> + DB 102,69,15,106,193 ; punpckhdq %xmm9,%xmm8 + DB 102,69,15,214,68,64,16 ; movq %xmm8,0x10(%r8,%rax,2) + DB 235,213 ; jmp 40c3 <_sk_store_u16_be_sse41+0xdf> PUBLIC _sk_load_f32_sse41 _sk_load_f32_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,137,249 ; mov %rdi,%rcx - DB 72,193,225,4 ; shl $0x4,%rcx - DB 68,15,16,4,8 ; movups (%rax,%rcx,1),%xmm8 - DB 15,16,68,8,16 ; movups 0x10(%rax,%rcx,1),%xmm0 - DB 15,16,92,8,32 ; movups 0x20(%rax,%rcx,1),%xmm3 - DB 68,15,16,76,8,48 ; movups 0x30(%rax,%rcx,1),%xmm9 + DB 76,139,8 ; mov (%rax),%r9 + DB 76,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r8 + DB 72,137,248 ; mov %rdi,%rax + DB 72,193,224,4 ; shl $0x4,%rax + DB 69,15,16,4,1 ; movups (%r9,%rax,1),%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 117,66 ; jne 414e <_sk_load_f32_sse41+0x60> + DB 67,15,16,68,129,16 ; movups 0x10(%r9,%r8,4),%xmm0 + DB 67,15,16,92,129,32 ; movups 0x20(%r9,%r8,4),%xmm3 + DB 71,15,16,76,129,48 ; movups 0x30(%r9,%r8,4),%xmm9 DB 65,15,40,208 ; movaps %xmm8,%xmm2 DB 15,20,208 ; unpcklps %xmm0,%xmm2 DB 15,40,203 ; movaps %xmm3,%xmm1 @@ -15444,33 +15853,56 @@ _sk_load_f32_sse41 LABEL PROC DB 65,15,18,216 ; movhlps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 69,15,87,201 ; xorps %xmm9,%xmm9 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,8 ; jne 4160 <_sk_load_f32_sse41+0x72> + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 15,87,192 ; xorps %xmm0,%xmm0 + DB 235,190 ; jmp 411e <_sk_load_f32_sse41+0x30> + DB 67,15,16,68,129,16 ; movups 0x10(%r9,%r8,4),%xmm0 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,8 ; jb 4174 <_sk_load_f32_sse41+0x86> + DB 67,15,16,92,129,32 ; movups 0x20(%r9,%r8,4),%xmm3 + DB 235,170 ; jmp 411e <_sk_load_f32_sse41+0x30> + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 235,165 ; jmp 411e <_sk_load_f32_sse41+0x30> PUBLIC _sk_store_f32_sse41 _sk_store_f32_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,137,249 ; mov %rdi,%rcx - DB 72,193,225,4 ; shl $0x4,%rcx - DB 68,15,40,192 ; movaps %xmm0,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 76,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r8 + DB 72,137,248 ; mov %rdi,%rax + DB 72,193,224,4 ; shl $0x4,%rax DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 68,15,20,201 ; unpcklps %xmm1,%xmm9 - DB 68,15,40,210 ; movaps %xmm2,%xmm10 + DB 68,15,40,194 ; movaps %xmm2,%xmm8 + DB 68,15,20,195 ; unpcklps %xmm3,%xmm8 + DB 68,15,40,208 ; movaps %xmm0,%xmm10 + DB 68,15,21,209 ; unpckhps %xmm1,%xmm10 DB 68,15,40,218 ; movaps %xmm2,%xmm11 - DB 68,15,20,219 ; unpcklps %xmm3,%xmm11 - DB 68,15,21,193 ; unpckhps %xmm1,%xmm8 - DB 68,15,21,211 ; unpckhps %xmm3,%xmm10 + DB 68,15,21,219 ; unpckhps %xmm3,%xmm11 DB 69,15,40,225 ; movaps %xmm9,%xmm12 - DB 102,69,15,20,227 ; unpcklpd %xmm11,%xmm12 - DB 69,15,18,217 ; movhlps %xmm9,%xmm11 - DB 69,15,40,200 ; movaps %xmm8,%xmm9 - DB 102,69,15,20,202 ; unpcklpd %xmm10,%xmm9 - DB 69,15,18,208 ; movhlps %xmm8,%xmm10 - DB 102,68,15,17,36,8 ; movupd %xmm12,(%rax,%rcx,1) - DB 68,15,17,92,8,16 ; movups %xmm11,0x10(%rax,%rcx,1) - DB 102,68,15,17,76,8,32 ; movupd %xmm9,0x20(%rax,%rcx,1) - DB 68,15,17,84,8,48 ; movups %xmm10,0x30(%rax,%rcx,1) + DB 102,69,15,20,224 ; unpcklpd %xmm8,%xmm12 + DB 69,15,18,193 ; movhlps %xmm9,%xmm8 + DB 69,15,40,202 ; movaps %xmm10,%xmm9 + DB 102,69,15,20,203 ; unpcklpd %xmm11,%xmm9 + DB 102,69,15,17,36,1 ; movupd %xmm12,(%r9,%rax,1) + DB 72,133,201 ; test %rcx,%rcx + DB 117,29 ; jne 41eb <_sk_store_f32_sse41+0x72> + DB 102,69,15,21,211 ; unpckhpd %xmm11,%xmm10 + DB 71,15,17,68,129,16 ; movups %xmm8,0x10(%r9,%r8,4) + DB 102,71,15,17,76,129,32 ; movupd %xmm9,0x20(%r9,%r8,4) + DB 102,71,15,17,84,129,48 ; movupd %xmm10,0x30(%r9,%r8,4) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,246 ; je 41e7 <_sk_store_f32_sse41+0x6e> + DB 71,15,17,68,129,16 ; movups %xmm8,0x10(%r9,%r8,4) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,234 ; jb 41e7 <_sk_store_f32_sse41+0x6e> + DB 102,71,15,17,76,129,32 ; movupd %xmm9,0x20(%r9,%r8,4) + DB 235,225 ; jmp 41e7 <_sk_store_f32_sse41+0x6e> PUBLIC _sk_clamp_x_sse41 _sk_clamp_x_sse41 LABEL PROC @@ -15568,7 +16000,7 @@ PUBLIC _sk_clamp_x_1_sse41 _sk_clamp_x_1_sse41 LABEL PROC DB 69,15,87,192 ; xorps %xmm8,%xmm8 DB 68,15,95,192 ; maxps %xmm0,%xmm8 - DB 68,15,93,5,218,27,0,0 ; minps 0x1bda(%rip),%xmm8 # 57d0 <_sk_callback_sse41+0xebf> + DB 68,15,93,5,62,28,0,0 ; minps 0x1c3e(%rip),%xmm8 # 5f70 <_sk_callback_sse41+0xf1a> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -15582,9 +16014,9 @@ _sk_repeat_x_1_sse41 LABEL PROC PUBLIC _sk_mirror_x_1_sse41 _sk_mirror_x_1_sse41 LABEL PROC - DB 68,15,40,5,203,27,0,0 ; movaps 0x1bcb(%rip),%xmm8 # 57e0 <_sk_callback_sse41+0xecf> + DB 68,15,40,5,47,28,0,0 ; movaps 0x1c2f(%rip),%xmm8 # 5f80 <_sk_callback_sse41+0xf2a> DB 65,15,88,192 ; addps %xmm8,%xmm0 - DB 68,15,40,13,207,27,0,0 ; movaps 0x1bcf(%rip),%xmm9 # 57f0 <_sk_callback_sse41+0xedf> + DB 68,15,40,13,51,28,0,0 ; movaps 0x1c33(%rip),%xmm9 # 5f90 <_sk_callback_sse41+0xf3a> 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 @@ -15599,10 +16031,10 @@ _sk_mirror_x_1_sse41 LABEL PROC PUBLIC _sk_luminance_to_alpha_sse41 _sk_luminance_to_alpha_sse41 LABEL PROC DB 15,40,218 ; movaps %xmm2,%xmm3 - DB 15,89,5,174,27,0,0 ; mulps 0x1bae(%rip),%xmm0 # 5800 <_sk_callback_sse41+0xeef> - DB 15,89,13,183,27,0,0 ; mulps 0x1bb7(%rip),%xmm1 # 5810 <_sk_callback_sse41+0xeff> + DB 15,89,5,18,28,0,0 ; mulps 0x1c12(%rip),%xmm0 # 5fa0 <_sk_callback_sse41+0xf4a> + DB 15,89,13,27,28,0,0 ; mulps 0x1c1b(%rip),%xmm1 # 5fb0 <_sk_callback_sse41+0xf5a> DB 15,88,200 ; addps %xmm0,%xmm1 - DB 15,89,29,189,27,0,0 ; mulps 0x1bbd(%rip),%xmm3 # 5820 <_sk_callback_sse41+0xf0f> + DB 15,89,29,33,28,0,0 ; mulps 0x1c21(%rip),%xmm3 # 5fc0 <_sk_callback_sse41+0xf6a> DB 15,88,217 ; addps %xmm1,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 @@ -15862,82 +16294,84 @@ _sk_matrix_perspective_sse41 LABEL PROC PUBLIC _sk_evenly_spaced_gradient_sse41 _sk_evenly_spaced_gradient_sse41 LABEL PROC + DB 65,86 ; push %r14 + DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,88,8 ; mov 0x8(%rax),%r11 - DB 72,255,201 ; dec %rcx - DB 120,7 ; js 409c <_sk_evenly_spaced_gradient_sse41+0x15> - DB 243,72,15,42,201 ; cvtsi2ss %rcx,%xmm1 - DB 235,21 ; jmp 40b1 <_sk_evenly_spaced_gradient_sse41+0x2a> - DB 73,137,200 ; mov %rcx,%r8 + 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 47db <_sk_evenly_spaced_gradient_sse41+0x18> + DB 243,72,15,42,203 ; cvtsi2ss %rbx,%xmm1 + DB 235,21 ; jmp 47f0 <_sk_evenly_spaced_gradient_sse41+0x2d> + DB 73,137,216 ; mov %rbx,%r8 DB 73,209,232 ; shr %r8 - DB 131,225,1 ; and $0x1,%ecx - DB 76,9,193 ; or %r8,%rcx - DB 243,72,15,42,201 ; cvtsi2ss %rcx,%xmm1 + DB 131,227,1 ; and $0x1,%ebx + DB 76,9,195 ; or %r8,%rbx + DB 243,72,15,42,203 ; cvtsi2ss %rbx,%xmm1 DB 243,15,88,201 ; addss %xmm1,%xmm1 DB 15,198,201,0 ; shufps $0x0,%xmm1,%xmm1 DB 15,89,200 ; mulps %xmm0,%xmm1 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 - DB 102,73,15,58,22,201,1 ; pextrq $0x1,%xmm1,%r9 - DB 69,137,200 ; mov %r9d,%r8d - DB 73,193,233,32 ; shr $0x20,%r9 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,71,15,16,4,147 ; movss (%r11,%r10,4),%xmm8 - DB 102,69,15,58,33,4,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm8 - DB 243,67,15,16,12,131 ; movss (%r11,%r8,4),%xmm1 + DB 102,73,15,58,22,200,1 ; pextrq $0x1,%xmm1,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 + DB 102,73,15,126,202 ; movq %xmm1,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,71,15,16,4,158 ; movss (%r14,%r11,4),%xmm8 + DB 102,71,15,58,33,4,150,16 ; insertps $0x10,(%r14,%r10,4),%xmm8 + DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 DB 102,68,15,58,33,193,32 ; insertps $0x20,%xmm1,%xmm8 - DB 243,67,15,16,12,139 ; movss (%r11,%r9,4),%xmm1 + DB 243,67,15,16,12,134 ; movss (%r14,%r8,4),%xmm1 DB 102,68,15,58,33,193,48 ; insertps $0x30,%xmm1,%xmm8 - DB 76,139,88,40 ; mov 0x28(%rax),%r11 - DB 243,71,15,16,12,147 ; movss (%r11,%r10,4),%xmm9 - DB 102,69,15,58,33,12,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm9 - DB 243,67,15,16,12,131 ; movss (%r11,%r8,4),%xmm1 + DB 72,139,88,40 ; mov 0x28(%rax),%rbx + DB 243,70,15,16,12,155 ; movss (%rbx,%r11,4),%xmm9 + DB 102,70,15,58,33,12,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm9 + DB 243,66,15,16,12,139 ; movss (%rbx,%r9,4),%xmm1 DB 102,68,15,58,33,201,32 ; insertps $0x20,%xmm1,%xmm9 - DB 243,67,15,16,12,139 ; movss (%r11,%r9,4),%xmm1 + DB 243,66,15,16,12,131 ; movss (%rbx,%r8,4),%xmm1 DB 102,68,15,58,33,201,48 ; insertps $0x30,%xmm1,%xmm9 - DB 76,139,88,16 ; mov 0x10(%rax),%r11 - DB 243,67,15,16,12,147 ; movss (%r11,%r10,4),%xmm1 - DB 102,65,15,58,33,12,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm1 - DB 243,67,15,16,20,131 ; movss (%r11,%r8,4),%xmm2 + DB 72,139,88,16 ; mov 0x10(%rax),%rbx + DB 243,66,15,16,12,155 ; movss (%rbx,%r11,4),%xmm1 + DB 102,66,15,58,33,12,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm1 + DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 DB 102,15,58,33,202,32 ; insertps $0x20,%xmm2,%xmm1 - DB 243,67,15,16,20,139 ; movss (%r11,%r9,4),%xmm2 + DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 102,15,58,33,202,48 ; insertps $0x30,%xmm2,%xmm1 - DB 76,139,88,48 ; mov 0x30(%rax),%r11 - DB 243,71,15,16,20,147 ; movss (%r11,%r10,4),%xmm10 - DB 102,69,15,58,33,20,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm10 - DB 243,67,15,16,20,131 ; movss (%r11,%r8,4),%xmm2 + DB 72,139,88,48 ; mov 0x30(%rax),%rbx + DB 243,70,15,16,20,155 ; movss (%rbx,%r11,4),%xmm10 + DB 102,70,15,58,33,20,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm10 + DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 DB 102,68,15,58,33,210,32 ; insertps $0x20,%xmm2,%xmm10 - DB 243,67,15,16,20,139 ; movss (%r11,%r9,4),%xmm2 + DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 102,68,15,58,33,210,48 ; insertps $0x30,%xmm2,%xmm10 - DB 76,139,88,24 ; mov 0x18(%rax),%r11 - DB 243,67,15,16,20,147 ; movss (%r11,%r10,4),%xmm2 - DB 102,65,15,58,33,20,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm2 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 72,139,88,24 ; mov 0x18(%rax),%rbx + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 + DB 102,66,15,58,33,20,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm2 + DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 - DB 243,67,15,16,28,139 ; movss (%r11,%r9,4),%xmm3 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 102,15,58,33,211,48 ; insertps $0x30,%xmm3,%xmm2 - DB 76,139,88,56 ; mov 0x38(%rax),%r11 - DB 243,71,15,16,28,147 ; movss (%r11,%r10,4),%xmm11 - DB 102,69,15,58,33,28,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm11 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 72,139,88,56 ; mov 0x38(%rax),%rbx + DB 243,70,15,16,28,155 ; movss (%rbx,%r11,4),%xmm11 + DB 102,70,15,58,33,28,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm11 + DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 DB 102,68,15,58,33,219,32 ; insertps $0x20,%xmm3,%xmm11 - DB 243,67,15,16,28,139 ; movss (%r11,%r9,4),%xmm3 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 102,68,15,58,33,219,48 ; insertps $0x30,%xmm3,%xmm11 - DB 76,139,88,32 ; mov 0x20(%rax),%r11 - DB 243,67,15,16,28,147 ; movss (%r11,%r10,4),%xmm3 - DB 102,65,15,58,33,28,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm3 - DB 243,71,15,16,36,131 ; movss (%r11,%r8,4),%xmm12 + DB 72,139,88,32 ; mov 0x20(%rax),%rbx + DB 243,66,15,16,28,155 ; movss (%rbx,%r11,4),%xmm3 + DB 102,66,15,58,33,28,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm3 + DB 243,70,15,16,36,139 ; movss (%rbx,%r9,4),%xmm12 DB 102,65,15,58,33,220,32 ; insertps $0x20,%xmm12,%xmm3 - DB 243,71,15,16,36,139 ; movss (%r11,%r9,4),%xmm12 + DB 243,70,15,16,36,131 ; movss (%rbx,%r8,4),%xmm12 DB 102,65,15,58,33,220,48 ; insertps $0x30,%xmm12,%xmm3 DB 72,139,64,64 ; mov 0x40(%rax),%rax - DB 243,70,15,16,36,144 ; movss (%rax,%r10,4),%xmm12 - DB 102,68,15,58,33,36,136,16 ; insertps $0x10,(%rax,%rcx,4),%xmm12 - DB 243,70,15,16,44,128 ; movss (%rax,%r8,4),%xmm13 - DB 102,69,15,58,33,229,32 ; insertps $0x20,%xmm13,%xmm12 + DB 243,70,15,16,36,152 ; movss (%rax,%r11,4),%xmm12 + DB 102,70,15,58,33,36,144,16 ; insertps $0x10,(%rax,%r10,4),%xmm12 DB 243,70,15,16,44,136 ; movss (%rax,%r9,4),%xmm13 + DB 102,69,15,58,33,229,32 ; insertps $0x20,%xmm13,%xmm12 + DB 243,70,15,16,44,128 ; movss (%rax,%r8,4),%xmm13 DB 102,69,15,58,33,229,48 ; insertps $0x30,%xmm13,%xmm12 DB 68,15,89,192 ; mulps %xmm0,%xmm8 DB 69,15,88,193 ; addps %xmm9,%xmm8 @@ -15949,19 +16383,21 @@ _sk_evenly_spaced_gradient_sse41 LABEL PROC DB 65,15,88,220 ; addps %xmm12,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax PUBLIC _sk_gauss_a_to_rgba_sse41 _sk_gauss_a_to_rgba_sse41 LABEL PROC - DB 15,40,5,214,21,0,0 ; movaps 0x15d6(%rip),%xmm0 # 5830 <_sk_callback_sse41+0xf1f> + DB 15,40,5,52,22,0,0 ; movaps 0x1634(%rip),%xmm0 # 5fd0 <_sk_callback_sse41+0xf7a> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,220,21,0,0 ; addps 0x15dc(%rip),%xmm0 # 5840 <_sk_callback_sse41+0xf2f> + DB 15,88,5,58,22,0,0 ; addps 0x163a(%rip),%xmm0 # 5fe0 <_sk_callback_sse41+0xf8a> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,226,21,0,0 ; addps 0x15e2(%rip),%xmm0 # 5850 <_sk_callback_sse41+0xf3f> + DB 15,88,5,64,22,0,0 ; addps 0x1640(%rip),%xmm0 # 5ff0 <_sk_callback_sse41+0xf9a> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,232,21,0,0 ; addps 0x15e8(%rip),%xmm0 # 5860 <_sk_callback_sse41+0xf4f> + DB 15,88,5,70,22,0,0 ; addps 0x1646(%rip),%xmm0 # 6000 <_sk_callback_sse41+0xfaa> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,238,21,0,0 ; addps 0x15ee(%rip),%xmm0 # 5870 <_sk_callback_sse41+0xf5f> + DB 15,88,5,76,22,0,0 ; addps 0x164c(%rip),%xmm0 # 6010 <_sk_callback_sse41+0xfba> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 @@ -15974,83 +16410,83 @@ _sk_gradient_sse41 LABEL PROC DB 76,139,0 ; mov (%rax),%r8 DB 102,15,239,201 ; pxor %xmm1,%xmm1 DB 73,131,248,2 ; cmp $0x2,%r8 - DB 114,50 ; jb 42d0 <_sk_gradient_sse41+0x41> - DB 72,139,72,72 ; mov 0x48(%rax),%rcx + DB 114,51 ; jb 4a13 <_sk_gradient_sse41+0x42> + DB 76,139,72,72 ; mov 0x48(%rax),%r9 DB 73,255,200 ; dec %r8 - DB 72,131,193,4 ; add $0x4,%rcx + DB 73,131,193,4 ; add $0x4,%r9 DB 102,15,239,201 ; pxor %xmm1,%xmm1 - DB 15,40,21,204,21,0,0 ; movaps 0x15cc(%rip),%xmm2 # 5880 <_sk_callback_sse41+0xf6f> - DB 243,15,16,25 ; movss (%rcx),%xmm3 + DB 15,40,21,42,22,0,0 ; movaps 0x162a(%rip),%xmm2 # 6020 <_sk_callback_sse41+0xfca> + DB 243,65,15,16,25 ; movss (%r9),%xmm3 DB 15,198,219,0 ; shufps $0x0,%xmm3,%xmm3 DB 15,194,216,2 ; cmpleps %xmm0,%xmm3 DB 15,84,218 ; andps %xmm2,%xmm3 DB 102,15,254,203 ; paddd %xmm3,%xmm1 - DB 72,131,193,4 ; add $0x4,%rcx + DB 73,131,193,4 ; add $0x4,%r9 DB 73,255,200 ; dec %r8 - DB 117,228 ; jne 42b4 <_sk_gradient_sse41+0x25> + DB 117,227 ; jne 49f6 <_sk_gradient_sse41+0x25> DB 65,86 ; push %r14 DB 83 ; push %rbx - DB 102,73,15,58,22,201,1 ; pextrq $0x1,%xmm1,%r9 - DB 69,137,200 ; mov %r9d,%r8d - DB 73,193,233,32 ; shr $0x20,%r9 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 76,139,88,8 ; mov 0x8(%rax),%r11 + DB 102,73,15,58,22,200,1 ; pextrq $0x1,%xmm1,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 + DB 102,73,15,126,202 ; movq %xmm1,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx DB 76,139,112,16 ; mov 0x10(%rax),%r14 - DB 243,71,15,16,4,147 ; movss (%r11,%r10,4),%xmm8 - DB 102,69,15,58,33,4,139,16 ; insertps $0x10,(%r11,%rcx,4),%xmm8 - DB 243,67,15,16,12,131 ; movss (%r11,%r8,4),%xmm1 + DB 243,70,15,16,4,155 ; movss (%rbx,%r11,4),%xmm8 + DB 102,70,15,58,33,4,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm8 + DB 243,66,15,16,12,139 ; movss (%rbx,%r9,4),%xmm1 DB 102,68,15,58,33,193,32 ; insertps $0x20,%xmm1,%xmm8 - DB 243,67,15,16,12,139 ; movss (%r11,%r9,4),%xmm1 + DB 243,66,15,16,12,131 ; movss (%rbx,%r8,4),%xmm1 DB 102,68,15,58,33,193,48 ; insertps $0x30,%xmm1,%xmm8 DB 72,139,88,40 ; mov 0x28(%rax),%rbx - DB 243,70,15,16,12,147 ; movss (%rbx,%r10,4),%xmm9 - DB 102,68,15,58,33,12,139,16 ; insertps $0x10,(%rbx,%rcx,4),%xmm9 - DB 243,66,15,16,12,131 ; movss (%rbx,%r8,4),%xmm1 - DB 102,68,15,58,33,201,32 ; insertps $0x20,%xmm1,%xmm9 + DB 243,70,15,16,12,155 ; movss (%rbx,%r11,4),%xmm9 + DB 102,70,15,58,33,12,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm9 DB 243,66,15,16,12,139 ; movss (%rbx,%r9,4),%xmm1 + DB 102,68,15,58,33,201,32 ; insertps $0x20,%xmm1,%xmm9 + DB 243,66,15,16,12,131 ; movss (%rbx,%r8,4),%xmm1 DB 102,68,15,58,33,201,48 ; insertps $0x30,%xmm1,%xmm9 - DB 243,67,15,16,12,150 ; movss (%r14,%r10,4),%xmm1 - DB 102,65,15,58,33,12,142,16 ; insertps $0x10,(%r14,%rcx,4),%xmm1 - DB 243,67,15,16,20,134 ; movss (%r14,%r8,4),%xmm2 - DB 102,15,58,33,202,32 ; insertps $0x20,%xmm2,%xmm1 + DB 243,67,15,16,12,158 ; movss (%r14,%r11,4),%xmm1 + DB 102,67,15,58,33,12,150,16 ; insertps $0x10,(%r14,%r10,4),%xmm1 DB 243,67,15,16,20,142 ; movss (%r14,%r9,4),%xmm2 + DB 102,15,58,33,202,32 ; insertps $0x20,%xmm2,%xmm1 + DB 243,67,15,16,20,134 ; movss (%r14,%r8,4),%xmm2 DB 102,15,58,33,202,48 ; insertps $0x30,%xmm2,%xmm1 DB 72,139,88,48 ; mov 0x30(%rax),%rbx - DB 243,70,15,16,20,147 ; movss (%rbx,%r10,4),%xmm10 - DB 102,68,15,58,33,20,139,16 ; insertps $0x10,(%rbx,%rcx,4),%xmm10 - DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 - DB 102,68,15,58,33,210,32 ; insertps $0x20,%xmm2,%xmm10 + DB 243,70,15,16,20,155 ; movss (%rbx,%r11,4),%xmm10 + DB 102,70,15,58,33,20,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm10 DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 + DB 102,68,15,58,33,210,32 ; insertps $0x20,%xmm2,%xmm10 + DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 102,68,15,58,33,210,48 ; insertps $0x30,%xmm2,%xmm10 DB 72,139,88,24 ; mov 0x18(%rax),%rbx - DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 - DB 102,15,58,33,20,139,16 ; insertps $0x10,(%rbx,%rcx,4),%xmm2 - DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 - DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 + DB 102,66,15,58,33,20,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm2 DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 + DB 102,15,58,33,211,32 ; insertps $0x20,%xmm3,%xmm2 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 102,15,58,33,211,48 ; insertps $0x30,%xmm3,%xmm2 DB 72,139,88,56 ; mov 0x38(%rax),%rbx - DB 243,70,15,16,28,147 ; movss (%rbx,%r10,4),%xmm11 - DB 102,68,15,58,33,28,139,16 ; insertps $0x10,(%rbx,%rcx,4),%xmm11 - DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 - DB 102,68,15,58,33,219,32 ; insertps $0x20,%xmm3,%xmm11 + DB 243,70,15,16,28,155 ; movss (%rbx,%r11,4),%xmm11 + DB 102,70,15,58,33,28,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm11 DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 + DB 102,68,15,58,33,219,32 ; insertps $0x20,%xmm3,%xmm11 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 102,68,15,58,33,219,48 ; insertps $0x30,%xmm3,%xmm11 DB 72,139,88,32 ; mov 0x20(%rax),%rbx - DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 - DB 102,15,58,33,28,139,16 ; insertps $0x10,(%rbx,%rcx,4),%xmm3 - DB 243,70,15,16,36,131 ; movss (%rbx,%r8,4),%xmm12 - DB 102,65,15,58,33,220,32 ; insertps $0x20,%xmm12,%xmm3 + DB 243,66,15,16,28,155 ; movss (%rbx,%r11,4),%xmm3 + DB 102,66,15,58,33,28,147,16 ; insertps $0x10,(%rbx,%r10,4),%xmm3 DB 243,70,15,16,36,139 ; movss (%rbx,%r9,4),%xmm12 + DB 102,65,15,58,33,220,32 ; insertps $0x20,%xmm12,%xmm3 + DB 243,70,15,16,36,131 ; movss (%rbx,%r8,4),%xmm12 DB 102,65,15,58,33,220,48 ; insertps $0x30,%xmm12,%xmm3 DB 72,139,64,64 ; mov 0x40(%rax),%rax - DB 243,70,15,16,36,144 ; movss (%rax,%r10,4),%xmm12 - DB 102,68,15,58,33,36,136,16 ; insertps $0x10,(%rax,%rcx,4),%xmm12 - DB 243,70,15,16,44,128 ; movss (%rax,%r8,4),%xmm13 - DB 102,69,15,58,33,229,32 ; insertps $0x20,%xmm13,%xmm12 + DB 243,70,15,16,36,152 ; movss (%rax,%r11,4),%xmm12 + DB 102,70,15,58,33,36,144,16 ; insertps $0x10,(%rax,%r10,4),%xmm12 DB 243,70,15,16,44,136 ; movss (%rax,%r9,4),%xmm13 + DB 102,69,15,58,33,229,32 ; insertps $0x20,%xmm13,%xmm12 + DB 243,70,15,16,44,128 ; movss (%rax,%r8,4),%xmm13 DB 102,69,15,58,33,229,48 ; insertps $0x30,%xmm13,%xmm12 DB 68,15,89,192 ; mulps %xmm0,%xmm8 DB 69,15,88,193 ; addps %xmm9,%xmm8 @@ -16114,26 +16550,26 @@ _sk_xy_to_unit_angle_sse41 LABEL PROC 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,110,19,0,0 ; movaps 0x136e(%rip),%xmm10 # 5890 <_sk_callback_sse41+0xf7f> + DB 68,15,40,21,201,19,0,0 ; movaps 0x13c9(%rip),%xmm10 # 6030 <_sk_callback_sse41+0xfda> DB 69,15,89,213 ; mulps %xmm13,%xmm10 - DB 68,15,88,21,114,19,0,0 ; addps 0x1372(%rip),%xmm10 # 58a0 <_sk_callback_sse41+0xf8f> + DB 68,15,88,21,205,19,0,0 ; addps 0x13cd(%rip),%xmm10 # 6040 <_sk_callback_sse41+0xfea> DB 69,15,89,213 ; mulps %xmm13,%xmm10 - DB 68,15,88,21,118,19,0,0 ; addps 0x1376(%rip),%xmm10 # 58b0 <_sk_callback_sse41+0xf9f> + DB 68,15,88,21,209,19,0,0 ; addps 0x13d1(%rip),%xmm10 # 6050 <_sk_callback_sse41+0xffa> DB 69,15,89,213 ; mulps %xmm13,%xmm10 - DB 68,15,88,21,122,19,0,0 ; addps 0x137a(%rip),%xmm10 # 58c0 <_sk_callback_sse41+0xfaf> + DB 68,15,88,21,213,19,0,0 ; addps 0x13d5(%rip),%xmm10 # 6060 <_sk_callback_sse41+0x100a> DB 69,15,89,212 ; mulps %xmm12,%xmm10 DB 65,15,194,195,1 ; cmpltps %xmm11,%xmm0 - DB 68,15,40,29,121,19,0,0 ; movaps 0x1379(%rip),%xmm11 # 58d0 <_sk_callback_sse41+0xfbf> + DB 68,15,40,29,212,19,0,0 ; movaps 0x13d4(%rip),%xmm11 # 6070 <_sk_callback_sse41+0x101a> 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,114,19,0,0 ; movaps 0x1372(%rip),%xmm11 # 58e0 <_sk_callback_sse41+0xfcf> + DB 68,15,40,29,205,19,0,0 ; movaps 0x13cd(%rip),%xmm11 # 6080 <_sk_callback_sse41+0x102a> 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,100,19,0,0 ; movaps 0x1364(%rip),%xmm9 # 58f0 <_sk_callback_sse41+0xfdf> + DB 68,15,40,13,191,19,0,0 ; movaps 0x13bf(%rip),%xmm9 # 6090 <_sk_callback_sse41+0x103a> 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 @@ -16155,7 +16591,7 @@ _sk_xy_to_radius_sse41 LABEL PROC PUBLIC _sk_save_xy_sse41 _sk_save_xy_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,56,19,0,0 ; movaps 0x1338(%rip),%xmm8 # 5900 <_sk_callback_sse41+0xfef> + DB 68,15,40,5,147,19,0,0 ; movaps 0x1393(%rip),%xmm8 # 60a0 <_sk_callback_sse41+0x104a> DB 15,17,0 ; movups %xmm0,(%rax) DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 69,15,88,200 ; addps %xmm8,%xmm9 @@ -16195,8 +16631,8 @@ _sk_bilinear_nx_sse41 LABEL PROC 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,186,18,0,0 ; addps 0x12ba(%rip),%xmm0 # 5910 <_sk_callback_sse41+0xfff> - DB 68,15,40,13,194,18,0,0 ; movaps 0x12c2(%rip),%xmm9 # 5920 <_sk_callback_sse41+0x100f> + DB 15,88,5,21,19,0,0 ; addps 0x1315(%rip),%xmm0 # 60b0 <_sk_callback_sse41+0x105a> + DB 68,15,40,13,29,19,0,0 ; movaps 0x131d(%rip),%xmm9 # 60c0 <_sk_callback_sse41+0x106a> 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 @@ -16207,7 +16643,7 @@ _sk_bilinear_px_sse41 LABEL PROC 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,177,18,0,0 ; addps 0x12b1(%rip),%xmm0 # 5930 <_sk_callback_sse41+0x101f> + DB 15,88,5,12,19,0,0 ; addps 0x130c(%rip),%xmm0 # 60d0 <_sk_callback_sse41+0x107a> 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 @@ -16217,8 +16653,8 @@ _sk_bilinear_ny_sse41 LABEL PROC 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,163,18,0,0 ; addps 0x12a3(%rip),%xmm1 # 5940 <_sk_callback_sse41+0x102f> - DB 68,15,40,13,171,18,0,0 ; movaps 0x12ab(%rip),%xmm9 # 5950 <_sk_callback_sse41+0x103f> + DB 15,88,13,254,18,0,0 ; addps 0x12fe(%rip),%xmm1 # 60e0 <_sk_callback_sse41+0x108a> + DB 68,15,40,13,6,19,0,0 ; movaps 0x1306(%rip),%xmm9 # 60f0 <_sk_callback_sse41+0x109a> 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 @@ -16229,7 +16665,7 @@ _sk_bilinear_py_sse41 LABEL PROC 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,153,18,0,0 ; addps 0x1299(%rip),%xmm1 # 5960 <_sk_callback_sse41+0x104f> + DB 15,88,13,244,18,0,0 ; addps 0x12f4(%rip),%xmm1 # 6100 <_sk_callback_sse41+0x10aa> 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 @@ -16239,13 +16675,13 @@ _sk_bicubic_n3x_sse41 LABEL PROC 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,140,18,0,0 ; addps 0x128c(%rip),%xmm0 # 5970 <_sk_callback_sse41+0x105f> - DB 68,15,40,13,148,18,0,0 ; movaps 0x1294(%rip),%xmm9 # 5980 <_sk_callback_sse41+0x106f> + DB 15,88,5,231,18,0,0 ; addps 0x12e7(%rip),%xmm0 # 6110 <_sk_callback_sse41+0x10ba> + DB 68,15,40,13,239,18,0,0 ; movaps 0x12ef(%rip),%xmm9 # 6120 <_sk_callback_sse41+0x10ca> 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,144,18,0,0 ; mulps 0x1290(%rip),%xmm9 # 5990 <_sk_callback_sse41+0x107f> - DB 68,15,88,13,152,18,0,0 ; addps 0x1298(%rip),%xmm9 # 59a0 <_sk_callback_sse41+0x108f> + DB 68,15,89,13,235,18,0,0 ; mulps 0x12eb(%rip),%xmm9 # 6130 <_sk_callback_sse41+0x10da> + DB 68,15,88,13,243,18,0,0 ; addps 0x12f3(%rip),%xmm9 # 6140 <_sk_callback_sse41+0x10ea> 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 @@ -16256,16 +16692,16 @@ _sk_bicubic_n1x_sse41 LABEL PROC 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,135,18,0,0 ; addps 0x1287(%rip),%xmm0 # 59b0 <_sk_callback_sse41+0x109f> - DB 68,15,40,13,143,18,0,0 ; movaps 0x128f(%rip),%xmm9 # 59c0 <_sk_callback_sse41+0x10af> + DB 15,88,5,226,18,0,0 ; addps 0x12e2(%rip),%xmm0 # 6150 <_sk_callback_sse41+0x10fa> + DB 68,15,40,13,234,18,0,0 ; movaps 0x12ea(%rip),%xmm9 # 6160 <_sk_callback_sse41+0x110a> DB 69,15,92,200 ; subps %xmm8,%xmm9 - DB 68,15,40,5,147,18,0,0 ; movaps 0x1293(%rip),%xmm8 # 59d0 <_sk_callback_sse41+0x10bf> + DB 68,15,40,5,238,18,0,0 ; movaps 0x12ee(%rip),%xmm8 # 6170 <_sk_callback_sse41+0x111a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,151,18,0,0 ; addps 0x1297(%rip),%xmm8 # 59e0 <_sk_callback_sse41+0x10cf> + DB 68,15,88,5,242,18,0,0 ; addps 0x12f2(%rip),%xmm8 # 6180 <_sk_callback_sse41+0x112a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,155,18,0,0 ; addps 0x129b(%rip),%xmm8 # 59f0 <_sk_callback_sse41+0x10df> + DB 68,15,88,5,246,18,0,0 ; addps 0x12f6(%rip),%xmm8 # 6190 <_sk_callback_sse41+0x113a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,159,18,0,0 ; addps 0x129f(%rip),%xmm8 # 5a00 <_sk_callback_sse41+0x10ef> + DB 68,15,88,5,250,18,0,0 ; addps 0x12fa(%rip),%xmm8 # 61a0 <_sk_callback_sse41+0x114a> 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 @@ -16273,17 +16709,17 @@ _sk_bicubic_n1x_sse41 LABEL PROC PUBLIC _sk_bicubic_p1x_sse41 _sk_bicubic_p1x_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,153,18,0,0 ; movaps 0x1299(%rip),%xmm8 # 5a10 <_sk_callback_sse41+0x10ff> + DB 68,15,40,5,244,18,0,0 ; movaps 0x12f4(%rip),%xmm8 # 61b0 <_sk_callback_sse41+0x115a> 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,149,18,0,0 ; movaps 0x1295(%rip),%xmm10 # 5a20 <_sk_callback_sse41+0x110f> + DB 68,15,40,21,240,18,0,0 ; movaps 0x12f0(%rip),%xmm10 # 61c0 <_sk_callback_sse41+0x116a> DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 68,15,88,21,153,18,0,0 ; addps 0x1299(%rip),%xmm10 # 5a30 <_sk_callback_sse41+0x111f> + DB 68,15,88,21,244,18,0,0 ; addps 0x12f4(%rip),%xmm10 # 61d0 <_sk_callback_sse41+0x117a> 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,149,18,0,0 ; addps 0x1295(%rip),%xmm10 # 5a40 <_sk_callback_sse41+0x112f> + DB 68,15,88,21,240,18,0,0 ; addps 0x12f0(%rip),%xmm10 # 61e0 <_sk_callback_sse41+0x118a> 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 @@ -16293,11 +16729,11 @@ _sk_bicubic_p3x_sse41 LABEL PROC 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,136,18,0,0 ; addps 0x1288(%rip),%xmm0 # 5a50 <_sk_callback_sse41+0x113f> + DB 15,88,5,227,18,0,0 ; addps 0x12e3(%rip),%xmm0 # 61f0 <_sk_callback_sse41+0x119a> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 69,15,89,201 ; mulps %xmm9,%xmm9 - DB 68,15,89,5,136,18,0,0 ; mulps 0x1288(%rip),%xmm8 # 5a60 <_sk_callback_sse41+0x114f> - DB 68,15,88,5,144,18,0,0 ; addps 0x1290(%rip),%xmm8 # 5a70 <_sk_callback_sse41+0x115f> + DB 68,15,89,5,227,18,0,0 ; mulps 0x12e3(%rip),%xmm8 # 6200 <_sk_callback_sse41+0x11aa> + DB 68,15,88,5,235,18,0,0 ; addps 0x12eb(%rip),%xmm8 # 6210 <_sk_callback_sse41+0x11ba> 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 @@ -16308,13 +16744,13 @@ _sk_bicubic_n3y_sse41 LABEL PROC 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,126,18,0,0 ; addps 0x127e(%rip),%xmm1 # 5a80 <_sk_callback_sse41+0x116f> - DB 68,15,40,13,134,18,0,0 ; movaps 0x1286(%rip),%xmm9 # 5a90 <_sk_callback_sse41+0x117f> + DB 15,88,13,217,18,0,0 ; addps 0x12d9(%rip),%xmm1 # 6220 <_sk_callback_sse41+0x11ca> + DB 68,15,40,13,225,18,0,0 ; movaps 0x12e1(%rip),%xmm9 # 6230 <_sk_callback_sse41+0x11da> 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,130,18,0,0 ; mulps 0x1282(%rip),%xmm9 # 5aa0 <_sk_callback_sse41+0x118f> - DB 68,15,88,13,138,18,0,0 ; addps 0x128a(%rip),%xmm9 # 5ab0 <_sk_callback_sse41+0x119f> + DB 68,15,89,13,221,18,0,0 ; mulps 0x12dd(%rip),%xmm9 # 6240 <_sk_callback_sse41+0x11ea> + DB 68,15,88,13,229,18,0,0 ; addps 0x12e5(%rip),%xmm9 # 6250 <_sk_callback_sse41+0x11fa> 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 @@ -16325,16 +16761,16 @@ _sk_bicubic_n1y_sse41 LABEL PROC 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,120,18,0,0 ; addps 0x1278(%rip),%xmm1 # 5ac0 <_sk_callback_sse41+0x11af> - DB 68,15,40,13,128,18,0,0 ; movaps 0x1280(%rip),%xmm9 # 5ad0 <_sk_callback_sse41+0x11bf> + DB 15,88,13,211,18,0,0 ; addps 0x12d3(%rip),%xmm1 # 6260 <_sk_callback_sse41+0x120a> + DB 68,15,40,13,219,18,0,0 ; movaps 0x12db(%rip),%xmm9 # 6270 <_sk_callback_sse41+0x121a> DB 69,15,92,200 ; subps %xmm8,%xmm9 - DB 68,15,40,5,132,18,0,0 ; movaps 0x1284(%rip),%xmm8 # 5ae0 <_sk_callback_sse41+0x11cf> + DB 68,15,40,5,223,18,0,0 ; movaps 0x12df(%rip),%xmm8 # 6280 <_sk_callback_sse41+0x122a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,136,18,0,0 ; addps 0x1288(%rip),%xmm8 # 5af0 <_sk_callback_sse41+0x11df> + DB 68,15,88,5,227,18,0,0 ; addps 0x12e3(%rip),%xmm8 # 6290 <_sk_callback_sse41+0x123a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,140,18,0,0 ; addps 0x128c(%rip),%xmm8 # 5b00 <_sk_callback_sse41+0x11ef> + DB 68,15,88,5,231,18,0,0 ; addps 0x12e7(%rip),%xmm8 # 62a0 <_sk_callback_sse41+0x124a> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,144,18,0,0 ; addps 0x1290(%rip),%xmm8 # 5b10 <_sk_callback_sse41+0x11ff> + DB 68,15,88,5,235,18,0,0 ; addps 0x12eb(%rip),%xmm8 # 62b0 <_sk_callback_sse41+0x125a> 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 @@ -16342,17 +16778,17 @@ _sk_bicubic_n1y_sse41 LABEL PROC PUBLIC _sk_bicubic_p1y_sse41 _sk_bicubic_p1y_sse41 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,138,18,0,0 ; movaps 0x128a(%rip),%xmm8 # 5b20 <_sk_callback_sse41+0x120f> + DB 68,15,40,5,229,18,0,0 ; movaps 0x12e5(%rip),%xmm8 # 62c0 <_sk_callback_sse41+0x126a> 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,133,18,0,0 ; movaps 0x1285(%rip),%xmm10 # 5b30 <_sk_callback_sse41+0x121f> + DB 68,15,40,21,224,18,0,0 ; movaps 0x12e0(%rip),%xmm10 # 62d0 <_sk_callback_sse41+0x127a> DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 68,15,88,21,137,18,0,0 ; addps 0x1289(%rip),%xmm10 # 5b40 <_sk_callback_sse41+0x122f> + DB 68,15,88,21,228,18,0,0 ; addps 0x12e4(%rip),%xmm10 # 62e0 <_sk_callback_sse41+0x128a> 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,133,18,0,0 ; addps 0x1285(%rip),%xmm10 # 5b50 <_sk_callback_sse41+0x123f> + DB 68,15,88,21,224,18,0,0 ; addps 0x12e0(%rip),%xmm10 # 62f0 <_sk_callback_sse41+0x129a> 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 @@ -16362,11 +16798,11 @@ _sk_bicubic_p3y_sse41 LABEL PROC 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,119,18,0,0 ; addps 0x1277(%rip),%xmm1 # 5b60 <_sk_callback_sse41+0x124f> + DB 15,88,13,210,18,0,0 ; addps 0x12d2(%rip),%xmm1 # 6300 <_sk_callback_sse41+0x12aa> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 69,15,89,201 ; mulps %xmm9,%xmm9 - DB 68,15,89,5,119,18,0,0 ; mulps 0x1277(%rip),%xmm8 # 5b70 <_sk_callback_sse41+0x125f> - DB 68,15,88,5,127,18,0,0 ; addps 0x127f(%rip),%xmm8 # 5b80 <_sk_callback_sse41+0x126f> + DB 68,15,89,5,210,18,0,0 ; mulps 0x12d2(%rip),%xmm8 # 6310 <_sk_callback_sse41+0x12ba> + DB 68,15,88,5,218,18,0,0 ; addps 0x12da(%rip),%xmm8 # 6320 <_sk_callback_sse41+0x12ca> 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 @@ -16374,11 +16810,13 @@ _sk_bicubic_p3y_sse41 LABEL PROC PUBLIC _sk_callback_sse41 _sk_callback_sse41 LABEL PROC + DB 65,87 ; push %r15 DB 65,86 ; push %r14 DB 83 ; push %rbx - DB 72,131,236,40 ; sub $0x28,%rsp + DB 72,131,236,32 ; sub $0x20,%rsp DB 68,15,40,197 ; movaps %xmm5,%xmm8 DB 68,15,40,204 ; movaps %xmm4,%xmm9 + DB 73,137,207 ; mov %rcx,%r15 DB 73,137,214 ; mov %rdx,%r14 DB 72,173 ; lods %ds:(%rsi),%rax DB 72,137,195 ; mov %rax,%rbx @@ -16393,12 +16831,14 @@ _sk_callback_sse41 LABEL PROC DB 15,18,236 ; movhlps %xmm4,%xmm5 DB 15,40,216 ; movaps %xmm0,%xmm3 DB 102,15,20,218 ; unpcklpd %xmm2,%xmm3 - DB 15,18,208 ; movhlps %xmm0,%xmm2 DB 102,15,17,75,8 ; movupd %xmm1,0x8(%rbx) + DB 15,18,208 ; movhlps %xmm0,%xmm2 DB 15,17,107,24 ; movups %xmm5,0x18(%rbx) DB 102,15,17,91,40 ; movupd %xmm3,0x28(%rbx) DB 15,17,83,56 ; movups %xmm2,0x38(%rbx) + DB 77,133,255 ; test %r15,%r15 DB 186,4,0,0,0 ; mov $0x4,%edx + DB 65,15,69,215 ; cmovne %r15d,%edx DB 72,137,217 ; mov %rbx,%rcx DB 255,19 ; callq *(%rbx) DB 72,139,131,136,0,0,0 ; mov 0x88(%rbx),%rax @@ -16420,11 +16860,13 @@ _sk_callback_sse41 LABEL PROC DB 15,18,220 ; movhlps %xmm4,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 76,137,242 ; mov %r14,%rdx + DB 76,137,249 ; mov %r15,%rcx DB 65,15,40,225 ; movaps %xmm9,%xmm4 DB 65,15,40,232 ; movaps %xmm8,%xmm5 - DB 72,131,196,40 ; add $0x28,%rsp + DB 72,131,196,32 ; add $0x20,%rsp DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 65,95 ; pop %r15 DB 255,224 ; jmpq *%rax ALIGN 16 @@ -16571,11 +17013,11 @@ ALIGN 16 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 4b98 <.literal16+0x1d8> + DB 224,64 ; loopne 52f8 <.literal16+0x1d8> DB 0,0 ; add %al,(%rax) - DB 224,64 ; loopne 4b9c <.literal16+0x1dc> + DB 224,64 ; loopne 52fc <.literal16+0x1dc> DB 0,0 ; add %al,(%rax) - DB 224,64 ; loopne 4ba0 <.literal16+0x1e0> + DB 224,64 ; loopne 5300 <.literal16+0x1e0> DB 154 ; (bad) DB 153 ; cltd DB 153 ; cltd @@ -16595,13 +17037,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4bc1 <.literal16+0x201> + DB 71,225,61 ; rex.RXB loope 5321 <.literal16+0x201> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4bc5 <.literal16+0x205> + DB 71,225,61 ; rex.RXB loope 5325 <.literal16+0x205> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4bc9 <.literal16+0x209> + DB 71,225,61 ; rex.RXB loope 5329 <.literal16+0x209> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4bcd <.literal16+0x20d> + DB 71,225,61 ; rex.RXB loope 532d <.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) @@ -16626,13 +17068,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c01 <.literal16+0x241> + DB 71,225,61 ; rex.RXB loope 5361 <.literal16+0x241> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c05 <.literal16+0x245> + DB 71,225,61 ; rex.RXB loope 5365 <.literal16+0x245> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c09 <.literal16+0x249> + DB 71,225,61 ; rex.RXB loope 5369 <.literal16+0x249> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c0d <.literal16+0x24d> + DB 71,225,61 ; rex.RXB loope 536d <.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) @@ -16657,13 +17099,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c41 <.literal16+0x281> + DB 71,225,61 ; rex.RXB loope 53a1 <.literal16+0x281> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c45 <.literal16+0x285> + DB 71,225,61 ; rex.RXB loope 53a5 <.literal16+0x285> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c49 <.literal16+0x289> + DB 71,225,61 ; rex.RXB loope 53a9 <.literal16+0x289> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c4d <.literal16+0x28d> + DB 71,225,61 ; rex.RXB loope 53ad <.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) @@ -16688,13 +17130,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c81 <.literal16+0x2c1> + DB 71,225,61 ; rex.RXB loope 53e1 <.literal16+0x2c1> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c85 <.literal16+0x2c5> + DB 71,225,61 ; rex.RXB loope 53e5 <.literal16+0x2c5> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c89 <.literal16+0x2c9> + DB 71,225,61 ; rex.RXB loope 53e9 <.literal16+0x2c9> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 4c8d <.literal16+0x2cd> + DB 71,225,61 ; rex.RXB loope 53ed <.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) @@ -16711,10 +17153,10 @@ ALIGN 16 DB 0,1 ; add %al,(%rcx) DB 255 ; (bad) DB 255 ; (bad) - DB 255,5,255,255,255,9 ; incl 0x9ffffff(%rip) # a004c78 <_sk_callback_sse41+0xa000367> + DB 255,5,255,255,255,9 ; incl 0x9ffffff(%rip) # a0053d8 <_sk_callback_sse41+0xa000382> DB 255 ; (bad) DB 255 ; (bad) - DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3004c80 <_sk_callback_sse41+0x300036f> + DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 30053e0 <_sk_callback_sse41+0x300038a> DB 255 ; (bad) DB 255 ; (bad) DB 255,6 ; incl (%rsi) @@ -16733,11 +17175,11 @@ ALIGN 16 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 4ceb <.literal16+0x32b> + DB 127,67 ; jg 544b <.literal16+0x32b> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 4cef <.literal16+0x32f> + DB 127,67 ; jg 544f <.literal16+0x32f> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 4cf3 <.literal16+0x333> + DB 127,67 ; jg 5453 <.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) @@ -16938,13 +17380,26 @@ ALIGN 16 DB 170 ; stos %al,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) DB 190,171,170,170,190 ; mov $0xbeaaaaab,%esi + 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,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 248 ; clc + 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,248,0,0 ; addb $0x0,0xf8003b(%rax) DB 0,248 ; add %bh,%al DB 0,0 ; add %al,(%rax) DB 0,248 ; add %bh,%al @@ -16959,13 +17414,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 4ea9 <.literal16+0x4e9> + DB 224,7 ; loopne 5629 <.literal16+0x509> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 4ead <.literal16+0x4ed> + DB 224,7 ; loopne 562d <.literal16+0x50d> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 4eb1 <.literal16+0x4f1> + DB 224,7 ; loopne 5631 <.literal16+0x511> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 4eb5 <.literal16+0x4f5> + DB 224,7 ; loopne 5635 <.literal16+0x515> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -16999,10 +17454,10 @@ ALIGN 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) # a004ef8 <_sk_callback_sse41+0xa0005e7> + DB 255,5,255,255,255,9 ; incl 0x9ffffff(%rip) # a005678 <_sk_callback_sse41+0xa000622> DB 255 ; (bad) DB 255 ; (bad) - DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3004f00 <_sk_callback_sse41+0x30005ef> + DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3005680 <_sk_callback_sse41+0x300062a> DB 255 ; (bad) DB 255 ; (bad) DB 255,6 ; incl (%rsi) @@ -17057,11 +17512,11 @@ ALIGN 16 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 4fcb <.literal16+0x60b> + DB 127,67 ; jg 574b <.literal16+0x62b> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 4fcf <.literal16+0x60f> + DB 127,67 ; jg 574f <.literal16+0x62f> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 4fd3 <.literal16+0x613> + DB 127,67 ; jg 5753 <.literal16+0x633> 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) @@ -17076,16 +17531,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 4fc4 <.literal16+0x604> + DB 127,0 ; jg 5744 <.literal16+0x624> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 4fc8 <.literal16+0x608> + DB 127,0 ; jg 5748 <.literal16+0x628> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 4fcc <.literal16+0x60c> + DB 127,0 ; jg 574c <.literal16+0x62c> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 4fd0 <.literal16+0x610> + DB 127,0 ; jg 5750 <.literal16+0x630> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -17094,7 +17549,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 5055 <.literal16+0x695> + DB 119,115 ; ja 57d5 <.literal16+0x6b5> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -17105,7 +17560,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 4fb9 <.literal16+0x5f9> + DB 117,191 ; jne 5739 <.literal16+0x619> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -17117,7 +17572,7 @@ ALIGN 16 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 ffffffffe9a38ffa <_sk_callback_sse41+0xffffffffe9a346e9> + DB 233,220,63,163,233 ; jmpq ffffffffe9a3977a <_sk_callback_sse41+0xffffffffe9a34724> DB 220,63 ; fdivrl (%rdi) DB 81 ; push %rcx DB 140,242 ; mov %?,%edx @@ -17172,16 +17627,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 5094 <.literal16+0x6d4> + DB 127,0 ; jg 5814 <.literal16+0x6f4> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5098 <.literal16+0x6d8> + DB 127,0 ; jg 5818 <.literal16+0x6f8> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 509c <.literal16+0x6dc> + DB 127,0 ; jg 581c <.literal16+0x6fc> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 50a0 <.literal16+0x6e0> + DB 127,0 ; jg 5820 <.literal16+0x700> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -17190,7 +17645,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 5125 <.literal16+0x765> + DB 119,115 ; ja 58a5 <.literal16+0x785> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -17201,7 +17656,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 5089 <.literal16+0x6c9> + DB 117,191 ; jne 5809 <.literal16+0x6e9> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -17213,7 +17668,7 @@ ALIGN 16 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 ffffffffe9a390ca <_sk_callback_sse41+0xffffffffe9a347b9> + DB 233,220,63,163,233 ; jmpq ffffffffe9a3984a <_sk_callback_sse41+0xffffffffe9a347f4> DB 220,63 ; fdivrl (%rdi) DB 81 ; push %rcx DB 140,242 ; mov %?,%edx @@ -17268,16 +17723,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 5164 <.literal16+0x7a4> + DB 127,0 ; jg 58e4 <.literal16+0x7c4> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5168 <.literal16+0x7a8> + DB 127,0 ; jg 58e8 <.literal16+0x7c8> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 516c <.literal16+0x7ac> + DB 127,0 ; jg 58ec <.literal16+0x7cc> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5170 <.literal16+0x7b0> + DB 127,0 ; jg 58f0 <.literal16+0x7d0> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -17286,7 +17741,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 51f5 <.literal16+0x835> + DB 119,115 ; ja 5975 <.literal16+0x855> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -17297,7 +17752,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 5159 <.literal16+0x799> + DB 117,191 ; jne 58d9 <.literal16+0x7b9> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -17309,7 +17764,7 @@ ALIGN 16 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 ffffffffe9a3919a <_sk_callback_sse41+0xffffffffe9a34889> + DB 233,220,63,163,233 ; jmpq ffffffffe9a3991a <_sk_callback_sse41+0xffffffffe9a348c4> DB 220,63 ; fdivrl (%rdi) DB 81 ; push %rcx DB 140,242 ; mov %?,%edx @@ -17364,16 +17819,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 5234 <.literal16+0x874> + DB 127,0 ; jg 59b4 <.literal16+0x894> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5238 <.literal16+0x878> + DB 127,0 ; jg 59b8 <.literal16+0x898> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 523c <.literal16+0x87c> + DB 127,0 ; jg 59bc <.literal16+0x89c> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5240 <.literal16+0x880> + DB 127,0 ; jg 59c0 <.literal16+0x8a0> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -17382,7 +17837,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 52c5 <.literal16+0x905> + DB 119,115 ; ja 5a45 <.literal16+0x925> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -17393,7 +17848,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 5229 <.literal16+0x869> + DB 117,191 ; jne 59a9 <.literal16+0x889> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -17405,7 +17860,7 @@ ALIGN 16 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 ffffffffe9a3926a <_sk_callback_sse41+0xffffffffe9a34959> + DB 233,220,63,163,233 ; jmpq ffffffffe9a399ea <_sk_callback_sse41+0xffffffffe9a34994> DB 220,63 ; fdivrl (%rdi) DB 81 ; push %rcx DB 140,242 ; mov %?,%edx @@ -17456,13 +17911,13 @@ ALIGN 16 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 5347 <.literal16+0x987> + DB 127,67 ; jg 5ac7 <.literal16+0x9a7> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 534b <.literal16+0x98b> + DB 127,67 ; jg 5acb <.literal16+0x9ab> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 534f <.literal16+0x98f> + DB 127,67 ; jg 5acf <.literal16+0x9af> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5353 <.literal16+0x993> + DB 127,67 ; jg 5ad3 <.literal16+0x9b3> DB 0,0 ; add %al,(%rax) DB 0,195 ; add %al,%bl DB 0,0 ; add %al,(%rax) @@ -17509,20 +17964,28 @@ ALIGN 16 DB 128,3,62 ; addb $0x3e,(%rbx) DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 53d3 <.literal16+0xa13> + DB 118,63 ; jbe 5b53 <.literal16+0xa33> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 53d7 <.literal16+0xa17> + DB 118,63 ; jbe 5b57 <.literal16+0xa37> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 53db <.literal16+0xa1b> + DB 118,63 ; jbe 5b5b <.literal16+0xa3b> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 53df <.literal16+0xa1f> + DB 118,63 ; jbe 5b5f <.literal16+0xa3f> DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) + DB 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,129,128,128,59 ; addb $0x3b,-0x7f7f7ec5(%rax) @@ -17530,11 +17993,19 @@ ALIGN 16 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 541b <.literal16+0xa5b> + DB 127,67 ; jg 5bab <.literal16+0xa8b> + DB 0,0 ; add %al,(%rax) + DB 127,67 ; jg 5baf <.literal16+0xa8f> + DB 0,0 ; add %al,(%rax) + DB 127,67 ; jg 5bb3 <.literal16+0xa93> + 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 127,67 ; jg 541f <.literal16+0xa5f> + DB 255,0 ; incl (%rax) DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5423 <.literal16+0xa63> 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) @@ -17563,7 +18034,7 @@ ALIGN 16 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) # 3005450 <_sk_callback_sse41+0x3000b3f> + DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3005bf0 <_sk_callback_sse41+0x3000b9a> DB 255 ; (bad) DB 255 ; (bad) DB 255,6 ; incl (%rsi) @@ -17592,13 +18063,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 5489 <.literal16+0xac9> + DB 224,7 ; loopne 5c29 <.literal16+0xb09> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 548d <.literal16+0xacd> + DB 224,7 ; loopne 5c2d <.literal16+0xb0d> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5491 <.literal16+0xad1> + DB 224,7 ; loopne 5c31 <.literal16+0xb11> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5495 <.literal16+0xad5> + DB 224,7 ; loopne 5c35 <.literal16+0xb15> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -17644,13 +18115,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 54f9 <.literal16+0xb39> + DB 224,7 ; loopne 5c99 <.literal16+0xb79> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 54fd <.literal16+0xb3d> + DB 224,7 ; loopne 5c9d <.literal16+0xb7d> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5501 <.literal16+0xb41> + DB 224,7 ; loopne 5ca1 <.literal16+0xb81> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5505 <.literal16+0xb45> + DB 224,7 ; loopne 5ca5 <.literal16+0xb85> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -17688,13 +18159,13 @@ ALIGN 16 DB 65,0,0 ; add %al,(%r8) DB 248 ; clc DB 65,0,0 ; add %al,(%r8) - DB 124,66 ; jl 5596 <.literal16+0xbd6> + DB 124,66 ; jl 5d36 <.literal16+0xc16> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 559a <.literal16+0xbda> + DB 124,66 ; jl 5d3a <.literal16+0xc1a> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 559e <.literal16+0xbde> + DB 124,66 ; jl 5d3e <.literal16+0xc1e> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 55a2 <.literal16+0xbe2> + DB 124,66 ; jl 5d42 <.literal16+0xc22> DB 0,240 ; add %dh,%al DB 0,0 ; add %al,(%rax) DB 0,240 ; add %dh,%al @@ -17784,13 +18255,13 @@ ALIGN 16 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 56a5 <.literal16+0xce5> + DB 112,65 ; jo 5e45 <.literal16+0xd25> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 56a9 <.literal16+0xce9> + DB 112,65 ; jo 5e49 <.literal16+0xd29> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 56ad <.literal16+0xced> + DB 112,65 ; jo 5e4d <.literal16+0xd2d> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 56b1 <.literal16+0xcf1> + DB 112,65 ; jo 5e51 <.literal16+0xd31> DB 255,0 ; incl (%rax) DB 0,0 ; add %al,(%rax) DB 255,0 ; incl (%rax) @@ -17805,7 +18276,7 @@ ALIGN 16 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) # 30056a0 <_sk_callback_sse41+0x3000d8f> + DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3005e40 <_sk_callback_sse41+0x3000dea> DB 255 ; (bad) DB 255 ; (bad) DB 255,6 ; incl (%rsi) @@ -17832,7 +18303,7 @@ ALIGN 16 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) # 30056e0 <_sk_callback_sse41+0x3000dcf> + DB 255,13,255,255,255,2 ; decl 0x2ffffff(%rip) # 3005e80 <_sk_callback_sse41+0x3000e2a> DB 255 ; (bad) DB 255 ; (bad) DB 255,6 ; incl (%rsi) @@ -17847,11 +18318,11 @@ ALIGN 16 DB 255,0 ; incl (%rax) DB 0,127,67 ; add %bh,0x43(%rdi) DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 573b <.literal16+0xd7b> + DB 127,67 ; jg 5edb <.literal16+0xdbb> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 573f <.literal16+0xd7f> + DB 127,67 ; jg 5edf <.literal16+0xdbf> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5743 <.literal16+0xd83> + DB 127,67 ; jg 5ee3 <.literal16+0xdc3> 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) @@ -17927,13 +18398,13 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) DB 255 ; (bad) - DB 127,71 ; jg 580b <.literal16+0xe4b> + DB 127,71 ; jg 5fab <.literal16+0xe8b> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 580f <.literal16+0xe4f> + DB 127,71 ; jg 5faf <.literal16+0xe8f> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 5813 <.literal16+0xe53> + DB 127,71 ; jg 5fb3 <.literal16+0xe93> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 5817 <.literal16+0xe57> + DB 127,71 ; jg 5fb7 <.literal16+0xe97> DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) DB 0,128,63,0,0,128 ; add %al,-0x7fffffc1(%rax) @@ -17979,10 +18450,10 @@ ALIGN 16 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) # 2dc0694a <_sk_callback_sse41+0x2dc02039> + DB 192,45,16,17,192,45,16 ; shrb $0x10,0x2dc01110(%rip) # 2dc070ea <_sk_callback_sse41+0x2dc02094> DB 17,192 ; adc %eax,%eax DB 45,16,17,192,18 ; sub $0x12c01110,%eax - DB 120,57 ; js 587c <.literal16+0xebc> + DB 120,57 ; js 601c <.literal16+0xefc> 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 @@ -18104,11 +18575,11 @@ ALIGN 16 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 59b2 <.literal16+0xff2> + DB 62,114,28 ; jb,pt 6152 <.literal16+0x1032> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 59b6 <.literal16+0xff6> + DB 62,114,28 ; jb,pt 6156 <.literal16+0x1036> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 59ba <.literal16+0xffa> + DB 62,114,28 ; jb,pt 615a <.literal16+0x103a> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -18152,7 +18623,7 @@ ALIGN 16 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 # 3d63e845 <_sk_callback_sse41+0x3d639f34> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63efe5 <_sk_callback_sse41+0x3d639f8f> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -18178,7 +18649,7 @@ ALIGN 16 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 # 3d63e885 <_sk_callback_sse41+0x3d639f74> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f025 <_sk_callback_sse41+0x3d639fcf> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al @@ -18187,13 +18658,13 @@ ALIGN 16 DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al DB 63 ; (bad) - DB 114,28 ; jb 5a7e <.literal16+0x10be> + DB 114,28 ; jb 621e <.literal16+0x10fe> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5a82 <.literal16+0x10c2> + DB 62,114,28 ; jb,pt 6222 <.literal16+0x1102> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5a86 <.literal16+0x10c6> + DB 62,114,28 ; jb,pt 6226 <.literal16+0x1106> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5a8a <.literal16+0x10ca> + DB 62,114,28 ; jb,pt 622a <.literal16+0x110a> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -18214,11 +18685,11 @@ ALIGN 16 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 5ac2 <.literal16+0x1102> + DB 62,114,28 ; jb,pt 6262 <.literal16+0x1142> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5ac6 <.literal16+0x1106> + DB 62,114,28 ; jb,pt 6266 <.literal16+0x1146> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5aca <.literal16+0x110a> + DB 62,114,28 ; jb,pt 626a <.literal16+0x114a> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -18262,7 +18733,7 @@ ALIGN 16 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 # 3d63e955 <_sk_callback_sse41+0x3d63a044> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f0f5 <_sk_callback_sse41+0x3d63a09f> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -18288,7 +18759,7 @@ ALIGN 16 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 # 3d63e995 <_sk_callback_sse41+0x3d63a084> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f135 <_sk_callback_sse41+0x3d63a0df> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al @@ -18297,13 +18768,13 @@ ALIGN 16 DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al DB 63 ; (bad) - DB 114,28 ; jb 5b8e <.literal16+0x11ce> + DB 114,28 ; jb 632e <.literal16+0x120e> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5b92 <_sk_callback_sse41+0x1281> + DB 62,114,28 ; jb,pt 6332 <_sk_callback_sse41+0x12dc> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5b96 <_sk_callback_sse41+0x1285> + DB 62,114,28 ; jb,pt 6336 <_sk_callback_sse41+0x12e0> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5b9a <_sk_callback_sse41+0x1289> + DB 62,114,28 ; jb,pt 633a <_sk_callback_sse41+0x12e4> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -18335,18 +18806,19 @@ _sk_start_pipeline_sse2 LABEL PROC DB 68,15,41,68,36,32 ; movaps %xmm8,0x20(%rsp) DB 15,41,124,36,16 ; movaps %xmm7,0x10(%rsp) DB 15,41,52,36 ; movaps %xmm6,(%rsp) - DB 77,137,207 ; mov %r9,%r15 + DB 77,137,205 ; mov %r9,%r13 DB 77,137,198 ; mov %r8,%r14 DB 72,137,203 ; mov %rcx,%rbx DB 72,137,214 ; mov %rdx,%rsi DB 72,173 ; lods %ds:(%rsi),%rax - DB 73,137,196 ; mov %rax,%r12 - DB 73,137,245 ; mov %rsi,%r13 + DB 73,137,199 ; mov %rax,%r15 + DB 73,137,244 ; mov %rsi,%r12 DB 72,141,67,4 ; lea 0x4(%rbx),%rax - DB 76,57,248 ; cmp %r15,%rax + DB 76,57,232 ; cmp %r13,%rax DB 118,5 ; jbe 73 <_sk_start_pipeline_sse2+0x73> - DB 72,137,216 ; mov %rbx,%rax - DB 235,52 ; jmp a7 <_sk_start_pipeline_sse2+0xa7> + DB 72,137,223 ; mov %rbx,%rdi + DB 235,57 ; jmp ac <_sk_start_pipeline_sse2+0xac> + DB 185,0,0,0,0 ; mov $0x0,%ecx DB 15,87,192 ; xorps %xmm0,%xmm0 DB 15,87,201 ; xorps %xmm1,%xmm1 DB 15,87,210 ; xorps %xmm2,%xmm2 @@ -18356,14 +18828,29 @@ _sk_start_pipeline_sse2 LABEL PROC DB 15,87,246 ; xorps %xmm6,%xmm6 DB 15,87,255 ; xorps %xmm7,%xmm7 DB 72,137,223 ; mov %rbx,%rdi - DB 76,137,238 ; mov %r13,%rsi + DB 76,137,230 ; mov %r12,%rsi DB 76,137,242 ; mov %r14,%rdx - DB 65,255,212 ; callq *%r12 - DB 72,141,67,4 ; lea 0x4(%rbx),%rax + DB 65,255,215 ; callq *%r15 + DB 72,141,123,4 ; lea 0x4(%rbx),%rdi DB 72,131,195,8 ; add $0x8,%rbx - DB 76,57,251 ; cmp %r15,%rbx - DB 72,137,195 ; mov %rax,%rbx - DB 118,204 ; jbe 73 <_sk_start_pipeline_sse2+0x73> + DB 76,57,235 ; cmp %r13,%rbx + DB 72,137,251 ; mov %rdi,%rbx + DB 118,199 ; jbe 73 <_sk_start_pipeline_sse2+0x73> + DB 76,137,233 ; mov %r13,%rcx + DB 72,41,249 ; sub %rdi,%rcx + DB 116,33 ; je d5 <_sk_start_pipeline_sse2+0xd5> + DB 15,87,192 ; xorps %xmm0,%xmm0 + DB 15,87,201 ; xorps %xmm1,%xmm1 + DB 15,87,210 ; xorps %xmm2,%xmm2 + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 15,87,228 ; xorps %xmm4,%xmm4 + DB 15,87,237 ; xorps %xmm5,%xmm5 + DB 15,87,246 ; xorps %xmm6,%xmm6 + DB 15,87,255 ; xorps %xmm7,%xmm7 + DB 76,137,230 ; mov %r12,%rsi + DB 76,137,242 ; mov %r14,%rdx + DB 65,255,215 ; callq *%r15 + DB 76,137,232 ; mov %r13,%rax DB 15,40,52,36 ; movaps (%rsp),%xmm6 DB 15,40,124,36,16 ; movaps 0x10(%rsp),%xmm7 DB 68,15,40,68,36,32 ; movaps 0x20(%rsp),%xmm8 @@ -18394,7 +18881,7 @@ _sk_seed_shader_sse2 LABEL PROC DB 102,15,110,199 ; movd %edi,%xmm0 DB 102,15,112,192,0 ; pshufd $0x0,%xmm0,%xmm0 DB 15,91,200 ; cvtdq2ps %xmm0,%xmm1 - DB 15,40,21,81,77,0,0 ; movaps 0x4d51(%rip),%xmm2 # 4e60 <_sk_callback_sse2+0xb9> + DB 15,40,21,48,85,0,0 ; movaps 0x5530(%rip),%xmm2 # 5670 <_sk_callback_sse2+0xc7> DB 15,88,202 ; addps %xmm2,%xmm1 DB 15,16,2 ; movups (%rdx),%xmm0 DB 15,88,193 ; addps %xmm1,%xmm0 @@ -18403,7 +18890,7 @@ _sk_seed_shader_sse2 LABEL PROC 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,64,77,0,0 ; movaps 0x4d40(%rip),%xmm2 # 4e70 <_sk_callback_sse2+0xc9> + DB 15,40,21,31,85,0,0 ; movaps 0x551f(%rip),%xmm2 # 5680 <_sk_callback_sse2+0xd7> DB 15,87,219 ; xorps %xmm3,%xmm3 DB 15,87,228 ; xorps %xmm4,%xmm4 DB 15,87,237 ; xorps %xmm5,%xmm5 @@ -18418,18 +18905,18 @@ _sk_dither_sse2 LABEL PROC DB 102,69,15,112,192,0 ; pshufd $0x0,%xmm8,%xmm8 DB 243,68,15,111,74,32 ; movdqu 0x20(%rdx),%xmm9 DB 102,69,15,254,200 ; paddd %xmm8,%xmm9 - DB 72,139,8 ; mov (%rax),%rcx - DB 102,68,15,110,1 ; movd (%rcx),%xmm8 + DB 76,139,0 ; mov (%rax),%r8 + DB 102,69,15,110,0 ; movd (%r8),%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,11,77,0,0 ; movdqa 0x4d0b(%rip),%xmm10 # 4e80 <_sk_callback_sse2+0xd9> + DB 102,68,15,111,21,234,84,0,0 ; movdqa 0x54ea(%rip),%xmm10 # 5690 <_sk_callback_sse2+0xe7> 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,247,76,0,0 ; movdqa 0x4cf7(%rip),%xmm12 # 4e90 <_sk_callback_sse2+0xe9> - DB 102,68,15,111,45,254,76,0,0 ; movdqa 0x4cfe(%rip),%xmm13 # 4ea0 <_sk_callback_sse2+0xf9> + DB 102,68,15,111,37,214,84,0,0 ; movdqa 0x54d6(%rip),%xmm12 # 56a0 <_sk_callback_sse2+0xf7> + DB 102,68,15,111,45,221,84,0,0 ; movdqa 0x54dd(%rip),%xmm13 # 56b0 <_sk_callback_sse2+0x107> 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 @@ -18445,8 +18932,8 @@ _sk_dither_sse2 LABEL PROC DB 102,69,15,235,198 ; por %xmm14,%xmm8 DB 102,69,15,235,197 ; por %xmm13,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,185,76,0,0 ; mulps 0x4cb9(%rip),%xmm8 # 4eb0 <_sk_callback_sse2+0x109> - DB 68,15,88,5,193,76,0,0 ; addps 0x4cc1(%rip),%xmm8 # 4ec0 <_sk_callback_sse2+0x119> + DB 68,15,89,5,152,84,0,0 ; mulps 0x5498(%rip),%xmm8 # 56c0 <_sk_callback_sse2+0x117> + DB 68,15,88,5,160,84,0,0 ; addps 0x54a0(%rip),%xmm8 # 56d0 <_sk_callback_sse2+0x127> DB 243,68,15,16,80,8 ; movss 0x8(%rax),%xmm10 DB 69,15,198,210,0 ; shufps $0x0,%xmm10,%xmm10 DB 69,15,89,208 ; mulps %xmm8,%xmm10 @@ -18513,7 +19000,7 @@ _sk_clear_sse2 LABEL PROC PUBLIC _sk_srcatop_sse2 _sk_srcatop_sse2 LABEL PROC DB 15,89,199 ; mulps %xmm7,%xmm0 - DB 68,15,40,5,26,76,0,0 ; movaps 0x4c1a(%rip),%xmm8 # 4ed0 <_sk_callback_sse2+0x129> + DB 68,15,40,5,249,83,0,0 ; movaps 0x53f9(%rip),%xmm8 # 56e0 <_sk_callback_sse2+0x137> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,89,204 ; mulps %xmm4,%xmm9 @@ -18536,7 +19023,7 @@ PUBLIC _sk_dstatop_sse2 _sk_dstatop_sse2 LABEL PROC DB 68,15,40,195 ; movaps %xmm3,%xmm8 DB 68,15,89,196 ; mulps %xmm4,%xmm8 - DB 68,15,40,13,221,75,0,0 ; movaps 0x4bdd(%rip),%xmm9 # 4ee0 <_sk_callback_sse2+0x139> + DB 68,15,40,13,188,83,0,0 ; movaps 0x53bc(%rip),%xmm9 # 56f0 <_sk_callback_sse2+0x147> DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 65,15,89,193 ; mulps %xmm9,%xmm0 DB 65,15,88,192 ; addps %xmm8,%xmm0 @@ -18577,7 +19064,7 @@ _sk_dstin_sse2 LABEL PROC PUBLIC _sk_srcout_sse2 _sk_srcout_sse2 LABEL PROC - DB 68,15,40,5,129,75,0,0 ; movaps 0x4b81(%rip),%xmm8 # 4ef0 <_sk_callback_sse2+0x149> + DB 68,15,40,5,96,83,0,0 ; movaps 0x5360(%rip),%xmm8 # 5700 <_sk_callback_sse2+0x157> DB 68,15,92,199 ; subps %xmm7,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 @@ -18588,7 +19075,7 @@ _sk_srcout_sse2 LABEL PROC PUBLIC _sk_dstout_sse2 _sk_dstout_sse2 LABEL PROC - DB 68,15,40,5,113,75,0,0 ; movaps 0x4b71(%rip),%xmm8 # 4f00 <_sk_callback_sse2+0x159> + DB 68,15,40,5,80,83,0,0 ; movaps 0x5350(%rip),%xmm8 # 5710 <_sk_callback_sse2+0x167> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 15,89,196 ; mulps %xmm4,%xmm0 @@ -18603,7 +19090,7 @@ _sk_dstout_sse2 LABEL PROC PUBLIC _sk_srcover_sse2 _sk_srcover_sse2 LABEL PROC - DB 68,15,40,5,84,75,0,0 ; movaps 0x4b54(%rip),%xmm8 # 4f10 <_sk_callback_sse2+0x169> + DB 68,15,40,5,51,83,0,0 ; movaps 0x5333(%rip),%xmm8 # 5720 <_sk_callback_sse2+0x177> DB 68,15,92,195 ; subps %xmm3,%xmm8 DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,89,204 ; mulps %xmm4,%xmm9 @@ -18621,7 +19108,7 @@ _sk_srcover_sse2 LABEL PROC PUBLIC _sk_dstover_sse2 _sk_dstover_sse2 LABEL PROC - DB 68,15,40,5,40,75,0,0 ; movaps 0x4b28(%rip),%xmm8 # 4f20 <_sk_callback_sse2+0x179> + DB 68,15,40,5,7,83,0,0 ; movaps 0x5307(%rip),%xmm8 # 5730 <_sk_callback_sse2+0x187> DB 68,15,92,199 ; subps %xmm7,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 @@ -18645,7 +19132,7 @@ _sk_modulate_sse2 LABEL PROC PUBLIC _sk_multiply_sse2 _sk_multiply_sse2 LABEL PROC - DB 68,15,40,5,252,74,0,0 ; movaps 0x4afc(%rip),%xmm8 # 4f30 <_sk_callback_sse2+0x189> + DB 68,15,40,5,219,82,0,0 ; movaps 0x52db(%rip),%xmm8 # 5740 <_sk_callback_sse2+0x197> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 69,15,40,209 ; movaps %xmm9,%xmm10 @@ -18690,32 +19177,31 @@ _sk_plus__sse2 LABEL PROC PUBLIC _sk_screen_sse2 _sk_screen_sse2 LABEL PROC DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 68,15,88,196 ; addps %xmm4,%xmm8 - DB 15,89,196 ; mulps %xmm4,%xmm0 - DB 68,15,92,192 ; subps %xmm0,%xmm8 - DB 68,15,40,201 ; movaps %xmm1,%xmm9 - DB 68,15,88,205 ; addps %xmm5,%xmm9 + DB 15,88,196 ; addps %xmm4,%xmm0 + DB 68,15,89,196 ; mulps %xmm4,%xmm8 + DB 65,15,92,192 ; subps %xmm8,%xmm0 + DB 68,15,40,193 ; movaps %xmm1,%xmm8 + DB 68,15,88,197 ; addps %xmm5,%xmm8 DB 15,89,205 ; mulps %xmm5,%xmm1 - DB 68,15,92,201 ; subps %xmm1,%xmm9 - DB 68,15,40,210 ; movaps %xmm2,%xmm10 - DB 68,15,88,214 ; addps %xmm6,%xmm10 + DB 68,15,92,193 ; subps %xmm1,%xmm8 + DB 68,15,40,202 ; movaps %xmm2,%xmm9 + DB 68,15,88,206 ; addps %xmm6,%xmm9 DB 15,89,214 ; mulps %xmm6,%xmm2 - DB 68,15,92,210 ; subps %xmm2,%xmm10 - DB 68,15,40,219 ; movaps %xmm3,%xmm11 - DB 68,15,88,223 ; addps %xmm7,%xmm11 + DB 68,15,92,202 ; subps %xmm2,%xmm9 + DB 68,15,40,211 ; movaps %xmm3,%xmm10 + DB 68,15,88,215 ; addps %xmm7,%xmm10 DB 15,89,223 ; mulps %xmm7,%xmm3 - DB 68,15,92,219 ; subps %xmm3,%xmm11 + DB 68,15,92,211 ; subps %xmm3,%xmm10 DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,192 ; movaps %xmm8,%xmm0 - DB 65,15,40,201 ; movaps %xmm9,%xmm1 - DB 65,15,40,210 ; movaps %xmm10,%xmm2 - DB 65,15,40,219 ; movaps %xmm11,%xmm3 + DB 65,15,40,200 ; movaps %xmm8,%xmm1 + DB 65,15,40,209 ; movaps %xmm9,%xmm2 + DB 65,15,40,218 ; movaps %xmm10,%xmm3 DB 255,224 ; jmpq *%rax PUBLIC _sk_xor__sse2 _sk_xor__sse2 LABEL PROC DB 68,15,40,195 ; movaps %xmm3,%xmm8 - DB 15,40,29,45,74,0,0 ; movaps 0x4a2d(%rip),%xmm3 # 4f40 <_sk_callback_sse2+0x199> + DB 15,40,29,16,82,0,0 ; movaps 0x5210(%rip),%xmm3 # 5750 <_sk_callback_sse2+0x1a7> DB 68,15,40,203 ; movaps %xmm3,%xmm9 DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 65,15,89,193 ; mulps %xmm9,%xmm0 @@ -18761,7 +19247,7 @@ _sk_darken_sse2 LABEL PROC 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,152,73,0,0 ; movaps 0x4998(%rip),%xmm2 # 4f50 <_sk_callback_sse2+0x1a9> + DB 15,40,21,123,81,0,0 ; movaps 0x517b(%rip),%xmm2 # 5760 <_sk_callback_sse2+0x1b7> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -18793,7 +19279,7 @@ _sk_lighten_sse2 LABEL PROC 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,61,73,0,0 ; movaps 0x493d(%rip),%xmm2 # 4f60 <_sk_callback_sse2+0x1b9> + DB 15,40,21,32,81,0,0 ; movaps 0x5120(%rip),%xmm2 # 5770 <_sk_callback_sse2+0x1c7> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -18828,7 +19314,7 @@ _sk_difference_sse2 LABEL PROC 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,215,72,0,0 ; movaps 0x48d7(%rip),%xmm2 # 4f70 <_sk_callback_sse2+0x1c9> + DB 15,40,21,186,80,0,0 ; movaps 0x50ba(%rip),%xmm2 # 5780 <_sk_callback_sse2+0x1d7> DB 15,92,211 ; subps %xmm3,%xmm2 DB 15,89,215 ; mulps %xmm7,%xmm2 DB 15,88,218 ; addps %xmm2,%xmm3 @@ -18838,34 +19324,34 @@ _sk_difference_sse2 LABEL PROC PUBLIC _sk_exclusion_sse2 _sk_exclusion_sse2 LABEL PROC - DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 15,88,196 ; addps %xmm4,%xmm0 - DB 68,15,89,196 ; mulps %xmm4,%xmm8 - DB 69,15,88,192 ; addps %xmm8,%xmm8 - DB 65,15,92,192 ; subps %xmm8,%xmm0 DB 68,15,40,193 ; movaps %xmm1,%xmm8 - DB 68,15,88,197 ; addps %xmm5,%xmm8 - DB 15,89,205 ; mulps %xmm5,%xmm1 + DB 15,40,200 ; movaps %xmm0,%xmm1 + DB 15,88,196 ; addps %xmm4,%xmm0 + DB 15,89,204 ; mulps %xmm4,%xmm1 DB 15,88,201 ; addps %xmm1,%xmm1 - DB 68,15,92,193 ; subps %xmm1,%xmm8 - DB 68,15,40,202 ; movaps %xmm2,%xmm9 - DB 68,15,88,206 ; addps %xmm6,%xmm9 + DB 15,92,193 ; subps %xmm1,%xmm0 + DB 65,15,40,200 ; movaps %xmm8,%xmm1 + DB 15,88,205 ; addps %xmm5,%xmm1 + DB 68,15,89,197 ; mulps %xmm5,%xmm8 + DB 69,15,88,192 ; addps %xmm8,%xmm8 + DB 65,15,92,200 ; subps %xmm8,%xmm1 + DB 68,15,40,194 ; movaps %xmm2,%xmm8 + DB 68,15,88,198 ; addps %xmm6,%xmm8 DB 15,89,214 ; mulps %xmm6,%xmm2 DB 15,88,210 ; addps %xmm2,%xmm2 - DB 68,15,92,202 ; subps %xmm2,%xmm9 - DB 15,40,13,152,72,0,0 ; movaps 0x4898(%rip),%xmm1 # 4f80 <_sk_callback_sse2+0x1d9> - DB 15,92,203 ; subps %xmm3,%xmm1 - DB 15,89,207 ; mulps %xmm7,%xmm1 - DB 15,88,217 ; addps %xmm1,%xmm3 + DB 68,15,92,194 ; subps %xmm2,%xmm8 + DB 15,40,21,122,80,0,0 ; movaps 0x507a(%rip),%xmm2 # 5790 <_sk_callback_sse2+0x1e7> + DB 15,92,211 ; subps %xmm3,%xmm2 + DB 15,89,215 ; mulps %xmm7,%xmm2 + DB 15,88,218 ; addps %xmm2,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,200 ; movaps %xmm8,%xmm1 - DB 65,15,40,209 ; movaps %xmm9,%xmm2 + DB 65,15,40,208 ; movaps %xmm8,%xmm2 DB 255,224 ; jmpq *%rax PUBLIC _sk_colorburn_sse2 _sk_colorburn_sse2 LABEL PROC DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 68,15,40,21,135,72,0,0 ; movaps 0x4887(%rip),%xmm10 # 4f90 <_sk_callback_sse2+0x1e9> + DB 68,15,40,21,109,80,0,0 ; movaps 0x506d(%rip),%xmm10 # 57a0 <_sk_callback_sse2+0x1f7> DB 69,15,40,202 ; movaps %xmm10,%xmm9 DB 68,15,92,207 ; subps %xmm7,%xmm9 DB 69,15,40,217 ; movaps %xmm9,%xmm11 @@ -18957,7 +19443,7 @@ _sk_colorburn_sse2 LABEL PROC PUBLIC _sk_colordodge_sse2 _sk_colordodge_sse2 LABEL PROC DB 68,15,40,200 ; movaps %xmm0,%xmm9 - DB 68,15,40,21,61,71,0,0 ; movaps 0x473d(%rip),%xmm10 # 4fa0 <_sk_callback_sse2+0x1f9> + DB 68,15,40,21,35,79,0,0 ; movaps 0x4f23(%rip),%xmm10 # 57b0 <_sk_callback_sse2+0x207> DB 69,15,40,218 ; movaps %xmm10,%xmm11 DB 68,15,92,223 ; subps %xmm7,%xmm11 DB 69,15,40,227 ; movaps %xmm11,%xmm12 @@ -19050,7 +19536,7 @@ _sk_hardlight_sse2 LABEL PROC 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,239,69,0,0 ; movaps 0x45ef(%rip),%xmm11 # 4fb0 <_sk_callback_sse2+0x209> + DB 68,15,40,29,213,77,0,0 ; movaps 0x4dd5(%rip),%xmm11 # 57c0 <_sk_callback_sse2+0x217> DB 69,15,40,211 ; movaps %xmm11,%xmm10 DB 68,15,92,215 ; subps %xmm7,%xmm10 DB 69,15,40,194 ; movaps %xmm10,%xmm8 @@ -19137,7 +19623,7 @@ PUBLIC _sk_overlay_sse2 _sk_overlay_sse2 LABEL PROC DB 68,15,40,193 ; movaps %xmm1,%xmm8 DB 68,15,40,232 ; movaps %xmm0,%xmm13 - DB 68,15,40,13,186,68,0,0 ; movaps 0x44ba(%rip),%xmm9 # 4fc0 <_sk_callback_sse2+0x219> + DB 68,15,40,13,160,76,0,0 ; movaps 0x4ca0(%rip),%xmm9 # 57d0 <_sk_callback_sse2+0x227> DB 69,15,40,209 ; movaps %xmm9,%xmm10 DB 68,15,92,215 ; subps %xmm7,%xmm10 DB 69,15,40,218 ; movaps %xmm10,%xmm11 @@ -19227,7 +19713,7 @@ _sk_softlight_sse2 LABEL PROC 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,116,67,0,0 ; movaps 0x4374(%rip),%xmm9 # 4fd0 <_sk_callback_sse2+0x229> + DB 68,15,40,13,90,75,0,0 ; movaps 0x4b5a(%rip),%xmm9 # 57e0 <_sk_callback_sse2+0x237> DB 69,15,40,249 ; movaps %xmm9,%xmm15 DB 69,15,92,250 ; subps %xmm10,%xmm15 DB 69,15,40,218 ; movaps %xmm10,%xmm11 @@ -19240,10 +19726,10 @@ _sk_softlight_sse2 LABEL PROC 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,78,67,0,0 ; movaps 0x434e(%rip),%xmm14 # 4fe0 <_sk_callback_sse2+0x239> + DB 68,15,40,53,52,75,0,0 ; movaps 0x4b34(%rip),%xmm14 # 57f0 <_sk_callback_sse2+0x247> DB 69,15,88,222 ; addps %xmm14,%xmm11 DB 68,15,89,216 ; mulps %xmm0,%xmm11 - DB 68,15,40,21,78,67,0,0 ; movaps 0x434e(%rip),%xmm10 # 4ff0 <_sk_callback_sse2+0x249> + DB 68,15,40,21,52,75,0,0 ; movaps 0x4b34(%rip),%xmm10 # 5800 <_sk_callback_sse2+0x257> DB 69,15,89,234 ; mulps %xmm10,%xmm13 DB 69,15,88,235 ; addps %xmm11,%xmm13 DB 15,88,228 ; addps %xmm4,%xmm4 @@ -19382,29 +19868,31 @@ _sk_softlight_sse2 LABEL PROC PUBLIC _sk_hue_sse2 _sk_hue_sse2 LABEL PROC - DB 72,131,236,72 ; sub $0x48,%rsp + DB 72,131,236,88 ; sub $0x58,%rsp DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 68,15,89,203 ; mulps %xmm3,%xmm9 DB 68,15,40,209 ; movaps %xmm1,%xmm10 DB 68,15,40,225 ; movaps %xmm1,%xmm12 DB 68,15,89,211 ; mulps %xmm3,%xmm10 - DB 68,15,40,5,138,65,0,0 ; movaps 0x418a(%rip),%xmm8 # 5030 <_sk_callback_sse2+0x289> + DB 68,15,40,5,112,73,0,0 ; movaps 0x4970(%rip),%xmm8 # 5840 <_sk_callback_sse2+0x297> DB 69,15,40,216 ; movaps %xmm8,%xmm11 DB 15,40,207 ; movaps %xmm7,%xmm1 DB 68,15,92,217 ; subps %xmm1,%xmm11 DB 65,15,89,195 ; mulps %xmm11,%xmm0 - DB 15,41,68,36,48 ; movaps %xmm0,0x30(%rsp) + DB 15,41,68,36,64 ; movaps %xmm0,0x40(%rsp) DB 69,15,89,227 ; mulps %xmm11,%xmm12 - DB 68,15,41,100,36,32 ; movaps %xmm12,0x20(%rsp) + DB 68,15,41,100,36,48 ; movaps %xmm12,0x30(%rsp) DB 68,15,89,218 ; mulps %xmm2,%xmm11 DB 15,89,211 ; mulps %xmm3,%xmm2 DB 68,15,40,229 ; movaps %xmm5,%xmm12 DB 68,15,40,237 ; movaps %xmm5,%xmm13 + DB 15,40,197 ; movaps %xmm5,%xmm0 + DB 15,41,68,36,32 ; movaps %xmm0,0x20(%rsp) DB 15,40,254 ; movaps %xmm6,%xmm7 DB 68,15,95,239 ; maxps %xmm7,%xmm13 - DB 15,41,100,36,16 ; movaps %xmm4,0x10(%rsp) - DB 68,15,40,244 ; movaps %xmm4,%xmm14 - DB 68,15,40,252 ; movaps %xmm4,%xmm15 + DB 15,40,236 ; movaps %xmm4,%xmm5 + DB 68,15,40,245 ; movaps %xmm5,%xmm14 + DB 68,15,40,253 ; movaps %xmm5,%xmm15 DB 69,15,95,253 ; maxps %xmm13,%xmm15 DB 68,15,93,231 ; minps %xmm7,%xmm12 DB 69,15,93,244 ; minps %xmm12,%xmm14 @@ -19421,25 +19909,25 @@ _sk_hue_sse2 LABEL PROC DB 69,15,92,205 ; subps %xmm13,%xmm9 DB 69,15,92,213 ; subps %xmm13,%xmm10 DB 65,15,92,213 ; subps %xmm13,%xmm2 - DB 15,40,245 ; movaps %xmm5,%xmm6 + DB 15,40,240 ; movaps %xmm0,%xmm6 DB 68,15,89,251 ; mulps %xmm3,%xmm15 DB 69,15,89,207 ; mulps %xmm15,%xmm9 DB 69,15,89,215 ; mulps %xmm15,%xmm10 DB 65,15,89,215 ; mulps %xmm15,%xmm2 - DB 15,87,192 ; xorps %xmm0,%xmm0 + DB 69,15,87,228 ; xorps %xmm12,%xmm12 DB 69,15,94,206 ; divps %xmm14,%xmm9 DB 69,15,94,214 ; divps %xmm14,%xmm10 DB 65,15,94,214 ; divps %xmm14,%xmm2 - DB 68,15,194,240,4 ; cmpneqps %xmm0,%xmm14 + DB 69,15,194,244,4 ; cmpneqps %xmm12,%xmm14 DB 69,15,84,206 ; andps %xmm14,%xmm9 DB 69,15,84,214 ; andps %xmm14,%xmm10 DB 65,15,84,214 ; andps %xmm14,%xmm2 - DB 68,15,40,61,158,64,0,0 ; movaps 0x409e(%rip),%xmm15 # 5000 <_sk_callback_sse2+0x259> + DB 68,15,40,61,125,72,0,0 ; movaps 0x487d(%rip),%xmm15 # 5810 <_sk_callback_sse2+0x267> DB 65,15,89,231 ; mulps %xmm15,%xmm4 - DB 15,40,5,163,64,0,0 ; movaps 0x40a3(%rip),%xmm0 # 5010 <_sk_callback_sse2+0x269> + DB 15,40,5,130,72,0,0 ; movaps 0x4882(%rip),%xmm0 # 5820 <_sk_callback_sse2+0x277> DB 15,89,240 ; mulps %xmm0,%xmm6 DB 15,88,244 ; addps %xmm4,%xmm6 - DB 68,15,40,53,165,64,0,0 ; movaps 0x40a5(%rip),%xmm14 # 5020 <_sk_callback_sse2+0x279> + DB 68,15,40,53,132,72,0,0 ; movaps 0x4884(%rip),%xmm14 # 5830 <_sk_callback_sse2+0x287> DB 68,15,40,239 ; movaps %xmm7,%xmm13 DB 69,15,89,238 ; mulps %xmm14,%xmm13 DB 68,15,88,238 ; addps %xmm6,%xmm13 @@ -19482,13 +19970,13 @@ _sk_hue_sse2 LABEL PROC DB 15,85,198 ; andnps %xmm6,%xmm0 DB 68,15,84,202 ; andps %xmm2,%xmm9 DB 68,15,86,200 ; orps %xmm0,%xmm9 - DB 68,15,40,227 ; movaps %xmm3,%xmm12 - DB 65,15,40,196 ; movaps %xmm12,%xmm0 - DB 15,41,12,36 ; movaps %xmm1,(%rsp) + DB 15,40,195 ; movaps %xmm3,%xmm0 + DB 15,41,76,36,16 ; movaps %xmm1,0x10(%rsp) DB 15,89,193 ; mulps %xmm1,%xmm0 - DB 69,15,92,196 ; subps %xmm12,%xmm8 - DB 68,15,88,225 ; addps %xmm1,%xmm12 - DB 68,15,92,224 ; subps %xmm0,%xmm12 + DB 68,15,92,195 ; subps %xmm3,%xmm8 + DB 15,88,217 ; addps %xmm1,%xmm3 + DB 15,92,216 ; subps %xmm0,%xmm3 + DB 15,41,28,36 ; movaps %xmm3,(%rsp) DB 15,40,240 ; movaps %xmm0,%xmm6 DB 15,194,196,1 ; cmpltps %xmm4,%xmm0 DB 15,40,200 ; movaps %xmm0,%xmm1 @@ -19534,31 +20022,32 @@ _sk_hue_sse2 LABEL PROC DB 65,15,88,214 ; addps %xmm14,%xmm2 DB 15,84,208 ; andps %xmm0,%xmm2 DB 15,86,209 ; orps %xmm1,%xmm2 - DB 15,87,192 ; xorps %xmm0,%xmm0 - DB 68,15,95,200 ; maxps %xmm0,%xmm9 - DB 68,15,95,208 ; maxps %xmm0,%xmm10 - DB 15,95,208 ; maxps %xmm0,%xmm2 + DB 69,15,95,204 ; maxps %xmm12,%xmm9 + DB 69,15,95,212 ; maxps %xmm12,%xmm10 + DB 65,15,95,212 ; maxps %xmm12,%xmm2 DB 65,15,40,192 ; movaps %xmm8,%xmm0 - DB 15,40,100,36,16 ; movaps 0x10(%rsp),%xmm4 - DB 15,89,196 ; mulps %xmm4,%xmm0 - DB 15,40,76,36,48 ; movaps 0x30(%rsp),%xmm1 + DB 15,89,197 ; mulps %xmm5,%xmm0 + DB 15,40,76,36,64 ; movaps 0x40(%rsp),%xmm1 DB 15,88,200 ; addps %xmm0,%xmm1 DB 65,15,88,201 ; addps %xmm9,%xmm1 DB 15,40,193 ; movaps %xmm1,%xmm0 DB 65,15,40,216 ; movaps %xmm8,%xmm3 - DB 15,89,221 ; mulps %xmm5,%xmm3 - DB 15,40,76,36,32 ; movaps 0x20(%rsp),%xmm1 + DB 15,40,116,36,32 ; movaps 0x20(%rsp),%xmm6 + DB 15,89,222 ; mulps %xmm6,%xmm3 + DB 15,40,76,36,48 ; movaps 0x30(%rsp),%xmm1 DB 15,88,203 ; addps %xmm3,%xmm1 DB 65,15,88,202 ; addps %xmm10,%xmm1 DB 68,15,89,199 ; mulps %xmm7,%xmm8 DB 69,15,88,195 ; addps %xmm11,%xmm8 DB 68,15,88,194 ; addps %xmm2,%xmm8 DB 72,173 ; lods %ds:(%rsi),%rax + DB 15,40,229 ; movaps %xmm5,%xmm4 + DB 15,40,238 ; movaps %xmm6,%xmm5 DB 15,40,247 ; movaps %xmm7,%xmm6 DB 65,15,40,208 ; movaps %xmm8,%xmm2 - DB 65,15,40,220 ; movaps %xmm12,%xmm3 - DB 15,40,60,36 ; movaps (%rsp),%xmm7 - DB 72,131,196,72 ; add $0x48,%rsp + DB 15,40,28,36 ; movaps (%rsp),%xmm3 + DB 15,40,124,36,16 ; movaps 0x10(%rsp),%xmm7 + DB 72,131,196,88 ; add $0x58,%rsp DB 255,224 ; jmpq *%rax PUBLIC _sk_saturation_sse2 @@ -19616,14 +20105,14 @@ _sk_saturation_sse2 LABEL PROC 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,53,62,0,0 ; movaps 0x3e35(%rip),%xmm8 # 5040 <_sk_callback_sse2+0x299> + DB 68,15,40,5,17,70,0,0 ; movaps 0x4611(%rip),%xmm8 # 5850 <_sk_callback_sse2+0x2a7> DB 15,40,214 ; movaps %xmm6,%xmm2 DB 65,15,89,208 ; mulps %xmm8,%xmm2 - DB 15,40,13,55,62,0,0 ; movaps 0x3e37(%rip),%xmm1 # 5050 <_sk_callback_sse2+0x2a9> + DB 15,40,13,19,70,0,0 ; movaps 0x4613(%rip),%xmm1 # 5860 <_sk_callback_sse2+0x2b7> 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,54,62,0,0 ; movaps 0x3e36(%rip),%xmm12 # 5060 <_sk_callback_sse2+0x2b9> + DB 68,15,40,37,18,70,0,0 ; movaps 0x4612(%rip),%xmm12 # 5870 <_sk_callback_sse2+0x2c7> DB 69,15,89,236 ; mulps %xmm12,%xmm13 DB 68,15,88,235 ; addps %xmm3,%xmm13 DB 65,15,40,210 ; movaps %xmm10,%xmm2 @@ -19668,7 +20157,7 @@ _sk_saturation_sse2 LABEL PROC 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,155,61,0,0 ; movaps 0x3d9b(%rip),%xmm8 # 5070 <_sk_callback_sse2+0x2c9> + DB 68,15,40,5,119,69,0,0 ; movaps 0x4577(%rip),%xmm8 # 5880 <_sk_callback_sse2+0x2d7> DB 65,15,40,224 ; movaps %xmm8,%xmm4 DB 68,15,92,199 ; subps %xmm7,%xmm8 DB 15,88,253 ; addps %xmm5,%xmm7 @@ -19769,14 +20258,14 @@ _sk_color_sse2 LABEL PROC 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,51,60,0,0 ; movaps 0x3c33(%rip),%xmm13 # 5080 <_sk_callback_sse2+0x2d9> + DB 68,15,40,45,15,68,0,0 ; movaps 0x440f(%rip),%xmm13 # 5890 <_sk_callback_sse2+0x2e7> DB 68,15,40,198 ; movaps %xmm6,%xmm8 DB 69,15,89,197 ; mulps %xmm13,%xmm8 - DB 68,15,40,53,51,60,0,0 ; movaps 0x3c33(%rip),%xmm14 # 5090 <_sk_callback_sse2+0x2e9> + DB 68,15,40,53,15,68,0,0 ; movaps 0x440f(%rip),%xmm14 # 58a0 <_sk_callback_sse2+0x2f7> 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,47,60,0,0 ; movaps 0x3c2f(%rip),%xmm11 # 50a0 <_sk_callback_sse2+0x2f9> + DB 68,15,40,29,11,68,0,0 ; movaps 0x440b(%rip),%xmm11 # 58b0 <_sk_callback_sse2+0x307> DB 69,15,89,227 ; mulps %xmm11,%xmm12 DB 68,15,88,224 ; addps %xmm0,%xmm12 DB 65,15,40,193 ; movaps %xmm9,%xmm0 @@ -19784,7 +20273,7 @@ _sk_color_sse2 LABEL PROC 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,27,60,0,0 ; movaps 0x3c1b(%rip),%xmm8 # 50b0 <_sk_callback_sse2+0x309> + DB 68,15,40,5,247,67,0,0 ; movaps 0x43f7(%rip),%xmm8 # 58c0 <_sk_callback_sse2+0x317> DB 65,15,40,224 ; movaps %xmm8,%xmm4 DB 15,92,226 ; subps %xmm2,%xmm4 DB 15,89,252 ; mulps %xmm4,%xmm7 @@ -19920,15 +20409,15 @@ _sk_luminosity_sse2 LABEL PROC 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,45,58,0,0 ; movaps 0x3a2d(%rip),%xmm12 # 50c0 <_sk_callback_sse2+0x319> + DB 68,15,40,37,9,66,0,0 ; movaps 0x4209(%rip),%xmm12 # 58d0 <_sk_callback_sse2+0x327> DB 68,15,40,199 ; movaps %xmm7,%xmm8 DB 69,15,89,196 ; mulps %xmm12,%xmm8 - DB 68,15,40,45,45,58,0,0 ; movaps 0x3a2d(%rip),%xmm13 # 50d0 <_sk_callback_sse2+0x329> + DB 68,15,40,45,9,66,0,0 ; movaps 0x4209(%rip),%xmm13 # 58e0 <_sk_callback_sse2+0x337> 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,41,58,0,0 ; movaps 0x3a29(%rip),%xmm11 # 50e0 <_sk_callback_sse2+0x339> - DB 68,15,40,5,49,58,0,0 ; movaps 0x3a31(%rip),%xmm8 # 50f0 <_sk_callback_sse2+0x349> + DB 68,15,40,29,5,66,0,0 ; movaps 0x4205(%rip),%xmm11 # 58f0 <_sk_callback_sse2+0x347> + DB 68,15,40,5,13,66,0,0 ; movaps 0x420d(%rip),%xmm8 # 5900 <_sk_callback_sse2+0x357> DB 69,15,40,248 ; movaps %xmm8,%xmm15 DB 65,15,40,194 ; movaps %xmm10,%xmm0 DB 68,15,92,248 ; subps %xmm0,%xmm15 @@ -20060,58 +20549,94 @@ _sk_luminosity_sse2 LABEL PROC PUBLIC _sk_srcover_rgba_8888_sse2 _sk_srcover_rgba_8888_sse2 LABEL PROC - DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 72,173 ; lods %ds:(%rsi),%rax DB 72,139,0 ; mov (%rax),%rax - DB 15,16,4,184 ; movups (%rax,%rdi,4),%xmm0 - DB 15,40,53,68,56,0,0 ; movaps 0x3844(%rip),%xmm6 # 5100 <_sk_callback_sse2+0x359> - DB 15,40,224 ; movaps %xmm0,%xmm4 - DB 15,84,230 ; andps %xmm6,%xmm4 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,227,0,0,0 ; jne 19cd <_sk_srcover_rgba_8888_sse2+0xf1> + DB 243,68,15,111,4,184 ; movdqu (%rax,%rdi,4),%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 102,15,111,53,21,64,0,0 ; movdqa 0x4015(%rip),%xmm6 # 5910 <_sk_callback_sse2+0x367> + DB 102,65,15,111,224 ; movdqa %xmm8,%xmm4 + DB 102,15,219,230 ; pand %xmm6,%xmm4 DB 15,91,228 ; cvtdq2ps %xmm4,%xmm4 - DB 15,40,232 ; movaps %xmm0,%xmm5 + DB 102,65,15,111,232 ; movdqa %xmm8,%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 15,40,248 ; movaps %xmm0,%xmm7 + DB 102,65,15,111,248 ; movdqa %xmm8,%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 102,15,114,208,24 ; psrld $0x18,%xmm0 - DB 15,91,248 ; cvtdq2ps %xmm0,%xmm7 - DB 68,15,40,5,29,56,0,0 ; movaps 0x381d(%rip),%xmm8 # 5110 <_sk_callback_sse2+0x369> + DB 102,65,15,114,208,24 ; psrld $0x18,%xmm8 + DB 65,15,91,248 ; cvtdq2ps %xmm8,%xmm7 + DB 68,15,40,5,229,63,0,0 ; movaps 0x3fe5(%rip),%xmm8 # 5920 <_sk_callback_sse2+0x377> DB 68,15,92,195 ; subps %xmm3,%xmm8 - DB 68,15,40,29,33,56,0,0 ; movaps 0x3821(%rip),%xmm11 # 5120 <_sk_callback_sse2+0x379> - DB 69,15,89,203 ; mulps %xmm11,%xmm9 - DB 65,15,40,192 ; movaps %xmm8,%xmm0 - DB 15,89,196 ; mulps %xmm4,%xmm0 - DB 65,15,88,193 ; addps %xmm9,%xmm0 - DB 65,15,89,203 ; mulps %xmm11,%xmm1 + DB 68,15,40,37,233,63,0,0 ; movaps 0x3fe9(%rip),%xmm12 # 5930 <_sk_callback_sse2+0x387> + DB 65,15,89,196 ; mulps %xmm12,%xmm0 DB 69,15,40,200 ; movaps %xmm8,%xmm9 - DB 68,15,89,205 ; mulps %xmm5,%xmm9 - DB 68,15,88,201 ; addps %xmm1,%xmm9 - DB 65,15,89,211 ; mulps %xmm11,%xmm2 + DB 68,15,89,204 ; mulps %xmm4,%xmm9 + DB 68,15,88,200 ; addps %xmm0,%xmm9 + DB 65,15,89,204 ; mulps %xmm12,%xmm1 DB 69,15,40,208 ; movaps %xmm8,%xmm10 - DB 68,15,89,214 ; mulps %xmm6,%xmm10 - DB 68,15,88,210 ; addps %xmm2,%xmm10 - DB 65,15,89,219 ; mulps %xmm11,%xmm3 + DB 68,15,89,213 ; mulps %xmm5,%xmm10 + DB 68,15,88,209 ; addps %xmm1,%xmm10 + DB 65,15,89,212 ; mulps %xmm12,%xmm2 + DB 69,15,40,216 ; movaps %xmm8,%xmm11 + DB 68,15,89,222 ; mulps %xmm6,%xmm11 + DB 68,15,88,218 ; addps %xmm2,%xmm11 + DB 65,15,89,220 ; mulps %xmm12,%xmm3 DB 68,15,89,199 ; mulps %xmm7,%xmm8 DB 68,15,88,195 ; addps %xmm3,%xmm8 - DB 102,15,91,200 ; cvtps2dq %xmm0,%xmm1 - DB 102,65,15,91,209 ; cvtps2dq %xmm9,%xmm2 - DB 102,15,114,242,8 ; pslld $0x8,%xmm2 - DB 102,15,235,209 ; por %xmm1,%xmm2 + DB 102,65,15,91,193 ; cvtps2dq %xmm9,%xmm0 DB 102,65,15,91,202 ; cvtps2dq %xmm10,%xmm1 - DB 102,15,114,241,16 ; pslld $0x10,%xmm1 - DB 102,65,15,91,216 ; cvtps2dq %xmm8,%xmm3 - DB 102,15,114,243,24 ; pslld $0x18,%xmm3 - DB 102,15,235,217 ; por %xmm1,%xmm3 - DB 102,15,235,218 ; por %xmm2,%xmm3 - DB 243,15,127,28,184 ; movdqu %xmm3,(%rax,%rdi,4) + DB 102,15,114,241,8 ; pslld $0x8,%xmm1 + DB 102,15,235,200 ; por %xmm0,%xmm1 + DB 102,65,15,91,211 ; cvtps2dq %xmm11,%xmm2 + DB 102,15,114,242,16 ; pslld $0x10,%xmm2 + DB 102,65,15,91,192 ; cvtps2dq %xmm8,%xmm0 + DB 102,15,114,240,24 ; pslld $0x18,%xmm0 + DB 102,15,235,194 ; por %xmm2,%xmm0 + DB 102,15,235,193 ; por %xmm1,%xmm0 + DB 117,106 ; jne 1a1e <_sk_srcover_rgba_8888_sse2+0x142> + DB 243,15,127,4,184 ; movdqu %xmm0,(%rax,%rdi,4) DB 72,173 ; lods %ds:(%rsi),%rax - DB 65,15,40,201 ; movaps %xmm9,%xmm1 - DB 65,15,40,210 ; movaps %xmm10,%xmm2 + DB 65,15,40,193 ; movaps %xmm9,%xmm0 + DB 65,15,40,202 ; movaps %xmm10,%xmm1 + DB 65,15,40,211 ; movaps %xmm11,%xmm2 DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,48 ; je 1a0f <_sk_srcover_rgba_8888_sse2+0x133> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,22 ; je 19fb <_sk_srcover_rgba_8888_sse2+0x11f> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 15,133,1,255,255,255 ; jne 18f0 <_sk_srcover_rgba_8888_sse2+0x14> + DB 102,15,110,100,184,8 ; movd 0x8(%rax,%rdi,4),%xmm4 + DB 102,68,15,112,196,69 ; pshufd $0x45,%xmm4,%xmm8 + DB 243,15,16,100,184,4 ; movss 0x4(%rax,%rdi,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,15,16,36,184 ; movss (%rax,%rdi,4),%xmm4 + DB 243,68,15,16,196 ; movss %xmm4,%xmm8 + DB 233,210,254,255,255 ; jmpq 18f0 <_sk_srcover_rgba_8888_sse2+0x14> + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,34 ; je 1a4d <_sk_srcover_rgba_8888_sse2+0x171> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,17 ; je 1a42 <_sk_srcover_rgba_8888_sse2+0x166> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,130 ; jne 19b9 <_sk_srcover_rgba_8888_sse2+0xdd> + DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 + DB 102,15,126,76,184,8 ; movd %xmm1,0x8(%rax,%rdi,4) + DB 102,15,112,200,229 ; pshufd $0xe5,%xmm0,%xmm1 + DB 102,15,126,76,184,4 ; movd %xmm1,0x4(%rax,%rdi,4) + DB 102,15,126,4,184 ; movd %xmm0,(%rax,%rdi,4) + DB 233,98,255,255,255 ; jmpq 19b9 <_sk_srcover_rgba_8888_sse2+0xdd> PUBLIC _sk_clamp_0_sse2 _sk_clamp_0_sse2 LABEL PROC @@ -20125,7 +20650,7 @@ _sk_clamp_0_sse2 LABEL PROC PUBLIC _sk_clamp_1_sse2 _sk_clamp_1_sse2 LABEL PROC - DB 68,15,40,5,147,55,0,0 ; movaps 0x3793(%rip),%xmm8 # 5130 <_sk_callback_sse2+0x389> + DB 68,15,40,5,201,62,0,0 ; movaps 0x3ec9(%rip),%xmm8 # 5940 <_sk_callback_sse2+0x397> DB 65,15,93,192 ; minps %xmm8,%xmm0 DB 65,15,93,200 ; minps %xmm8,%xmm1 DB 65,15,93,208 ; minps %xmm8,%xmm2 @@ -20135,7 +20660,7 @@ _sk_clamp_1_sse2 LABEL PROC PUBLIC _sk_clamp_a_sse2 _sk_clamp_a_sse2 LABEL PROC - DB 15,93,29,136,55,0,0 ; minps 0x3788(%rip),%xmm3 # 5140 <_sk_callback_sse2+0x399> + DB 15,93,29,190,62,0,0 ; minps 0x3ebe(%rip),%xmm3 # 5950 <_sk_callback_sse2+0x3a7> DB 15,93,195 ; minps %xmm3,%xmm0 DB 15,93,203 ; minps %xmm3,%xmm1 DB 15,93,211 ; minps %xmm3,%xmm2 @@ -20208,7 +20733,7 @@ _sk_premul_sse2 LABEL PROC PUBLIC _sk_unpremul_sse2 _sk_unpremul_sse2 LABEL PROC DB 69,15,87,192 ; xorps %xmm8,%xmm8 - DB 68,15,40,13,243,54,0,0 ; movaps 0x36f3(%rip),%xmm9 # 5150 <_sk_callback_sse2+0x3a9> + DB 68,15,40,13,41,62,0,0 ; movaps 0x3e29(%rip),%xmm9 # 5960 <_sk_callback_sse2+0x3b7> 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 @@ -20220,20 +20745,20 @@ _sk_unpremul_sse2 LABEL PROC PUBLIC _sk_from_srgb_sse2 _sk_from_srgb_sse2 LABEL PROC - DB 68,15,40,5,222,54,0,0 ; movaps 0x36de(%rip),%xmm8 # 5160 <_sk_callback_sse2+0x3b9> + DB 68,15,40,5,20,62,0,0 ; movaps 0x3e14(%rip),%xmm8 # 5970 <_sk_callback_sse2+0x3c7> 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,214,54,0,0 ; movaps 0x36d6(%rip),%xmm9 # 5170 <_sk_callback_sse2+0x3c9> + DB 68,15,40,13,12,62,0,0 ; movaps 0x3e0c(%rip),%xmm9 # 5980 <_sk_callback_sse2+0x3d7> DB 68,15,40,240 ; movaps %xmm0,%xmm14 DB 69,15,89,241 ; mulps %xmm9,%xmm14 - DB 68,15,40,21,214,54,0,0 ; movaps 0x36d6(%rip),%xmm10 # 5180 <_sk_callback_sse2+0x3d9> + DB 68,15,40,21,12,62,0,0 ; movaps 0x3e0c(%rip),%xmm10 # 5990 <_sk_callback_sse2+0x3e7> DB 69,15,88,242 ; addps %xmm10,%xmm14 DB 69,15,89,243 ; mulps %xmm11,%xmm14 - DB 68,15,40,29,214,54,0,0 ; movaps 0x36d6(%rip),%xmm11 # 5190 <_sk_callback_sse2+0x3e9> + DB 68,15,40,29,12,62,0,0 ; movaps 0x3e0c(%rip),%xmm11 # 59a0 <_sk_callback_sse2+0x3f7> DB 69,15,88,243 ; addps %xmm11,%xmm14 - DB 68,15,40,37,218,54,0,0 ; movaps 0x36da(%rip),%xmm12 # 51a0 <_sk_callback_sse2+0x3f9> + DB 68,15,40,37,16,62,0,0 ; movaps 0x3e10(%rip),%xmm12 # 59b0 <_sk_callback_sse2+0x407> 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 @@ -20268,22 +20793,22 @@ _sk_from_srgb_sse2 LABEL PROC PUBLIC _sk_to_srgb_sse2 _sk_to_srgb_sse2 LABEL PROC DB 68,15,82,232 ; rsqrtps %xmm0,%xmm13 - DB 68,15,40,5,103,54,0,0 ; movaps 0x3667(%rip),%xmm8 # 51b0 <_sk_callback_sse2+0x409> + DB 68,15,40,5,157,61,0,0 ; movaps 0x3d9d(%rip),%xmm8 # 59c0 <_sk_callback_sse2+0x417> DB 68,15,40,240 ; movaps %xmm0,%xmm14 DB 69,15,89,240 ; mulps %xmm8,%xmm14 - DB 68,15,40,13,103,54,0,0 ; movaps 0x3667(%rip),%xmm9 # 51c0 <_sk_callback_sse2+0x419> + DB 68,15,40,13,157,61,0,0 ; movaps 0x3d9d(%rip),%xmm9 # 59d0 <_sk_callback_sse2+0x427> DB 69,15,40,253 ; movaps %xmm13,%xmm15 DB 69,15,89,249 ; mulps %xmm9,%xmm15 - DB 68,15,40,21,103,54,0,0 ; movaps 0x3667(%rip),%xmm10 # 51d0 <_sk_callback_sse2+0x429> + DB 68,15,40,21,157,61,0,0 ; movaps 0x3d9d(%rip),%xmm10 # 59e0 <_sk_callback_sse2+0x437> DB 69,15,88,250 ; addps %xmm10,%xmm15 DB 69,15,89,253 ; mulps %xmm13,%xmm15 - DB 68,15,40,29,103,54,0,0 ; movaps 0x3667(%rip),%xmm11 # 51e0 <_sk_callback_sse2+0x439> + DB 68,15,40,29,157,61,0,0 ; movaps 0x3d9d(%rip),%xmm11 # 59f0 <_sk_callback_sse2+0x447> DB 69,15,88,251 ; addps %xmm11,%xmm15 - DB 68,15,40,37,107,54,0,0 ; movaps 0x366b(%rip),%xmm12 # 51f0 <_sk_callback_sse2+0x449> + DB 68,15,40,37,161,61,0,0 ; movaps 0x3da1(%rip),%xmm12 # 5a00 <_sk_callback_sse2+0x457> 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,103,54,0,0 ; movaps 0x3667(%rip),%xmm15 # 5200 <_sk_callback_sse2+0x459> + DB 68,15,40,61,157,61,0,0 ; movaps 0x3d9d(%rip),%xmm15 # 5a10 <_sk_callback_sse2+0x467> 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 @@ -20331,7 +20856,7 @@ _sk_rgb_to_hsl_sse2 LABEL PROC 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,192,53,0,0 ; movaps 0x35c0(%rip),%xmm13 # 5210 <_sk_callback_sse2+0x469> + DB 68,15,40,45,246,60,0,0 ; movaps 0x3cf6(%rip),%xmm13 # 5a20 <_sk_callback_sse2+0x477> 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 @@ -20340,30 +20865,30 @@ _sk_rgb_to_hsl_sse2 LABEL PROC 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,166,53,0,0 ; andps 0x35a6(%rip),%xmm14 # 5220 <_sk_callback_sse2+0x479> + DB 68,15,84,53,220,60,0,0 ; andps 0x3cdc(%rip),%xmm14 # 5a30 <_sk_callback_sse2+0x487> 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,153,53,0,0 ; movaps 0x3599(%rip),%xmm12 # 5230 <_sk_callback_sse2+0x489> + DB 68,15,40,37,207,60,0,0 ; movaps 0x3ccf(%rip),%xmm12 # 5a40 <_sk_callback_sse2+0x497> 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,149,53,0,0 ; addps 0x3595(%rip),%xmm8 # 5240 <_sk_callback_sse2+0x499> + DB 68,15,88,5,203,60,0,0 ; addps 0x3ccb(%rip),%xmm8 # 5a50 <_sk_callback_sse2+0x4a7> 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,134,53,0,0 ; mulps 0x3586(%rip),%xmm0 # 5250 <_sk_callback_sse2+0x4a9> + DB 15,89,5,188,60,0,0 ; mulps 0x3cbc(%rip),%xmm0 # 5a60 <_sk_callback_sse2+0x4b7> 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,121,53,0,0 ; movaps 0x3579(%rip),%xmm9 # 5260 <_sk_callback_sse2+0x4b9> + DB 68,15,40,13,175,60,0,0 ; movaps 0x3caf(%rip),%xmm9 # 5a70 <_sk_callback_sse2+0x4c7> 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 @@ -20386,7 +20911,7 @@ _sk_hsl_to_rgb_sse2 LABEL PROC 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,52,53,0,0 ; movaps 0x3534(%rip),%xmm9 # 5270 <_sk_callback_sse2+0x4c9> + DB 68,15,40,13,106,60,0,0 ; movaps 0x3c6a(%rip),%xmm9 # 5a80 <_sk_callback_sse2+0x4d7> DB 69,15,40,209 ; movaps %xmm9,%xmm10 DB 69,15,194,211,2 ; cmpleps %xmm11,%xmm10 DB 15,40,193 ; movaps %xmm1,%xmm0 @@ -20403,28 +20928,28 @@ _sk_hsl_to_rgb_sse2 LABEL PROC 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,254,52,0,0 ; movaps 0x34fe(%rip),%xmm0 # 5280 <_sk_callback_sse2+0x4d9> + DB 15,40,5,52,60,0,0 ; movaps 0x3c34(%rip),%xmm0 # 5a90 <_sk_callback_sse2+0x4e7> 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,246,52,0,0 ; andps 0x34f6(%rip),%xmm3 # 5290 <_sk_callback_sse2+0x4e9> + DB 15,84,29,44,60,0,0 ; andps 0x3c2c(%rip),%xmm3 # 5aa0 <_sk_callback_sse2+0x4f7> DB 15,92,203 ; subps %xmm3,%xmm1 DB 15,92,193 ; subps %xmm1,%xmm0 - DB 68,15,40,45,248,52,0,0 ; movaps 0x34f8(%rip),%xmm13 # 52a0 <_sk_callback_sse2+0x4f9> + DB 68,15,40,45,46,60,0,0 ; movaps 0x3c2e(%rip),%xmm13 # 5ab0 <_sk_callback_sse2+0x507> 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,8,53,0,0 ; movaps 0x3508(%rip),%xmm2 # 52d0 <_sk_callback_sse2+0x529> + DB 15,40,21,62,60,0,0 ; movaps 0x3c3e(%rip),%xmm2 # 5ae0 <_sk_callback_sse2+0x537> DB 68,15,40,250 ; movaps %xmm2,%xmm15 DB 68,15,194,248,2 ; cmpleps %xmm0,%xmm15 - DB 15,40,13,216,52,0,0 ; movaps 0x34d8(%rip),%xmm1 # 52b0 <_sk_callback_sse2+0x509> + DB 15,40,13,14,60,0,0 ; movaps 0x3c0e(%rip),%xmm1 # 5ac0 <_sk_callback_sse2+0x517> DB 15,89,193 ; mulps %xmm1,%xmm0 - DB 15,40,45,222,52,0,0 ; movaps 0x34de(%rip),%xmm5 # 52c0 <_sk_callback_sse2+0x519> + DB 15,40,45,20,60,0,0 ; movaps 0x3c14(%rip),%xmm5 # 5ad0 <_sk_callback_sse2+0x527> DB 15,40,229 ; movaps %xmm5,%xmm4 DB 15,92,224 ; subps %xmm0,%xmm4 DB 65,15,89,230 ; mulps %xmm14,%xmm4 @@ -20447,7 +20972,7 @@ _sk_hsl_to_rgb_sse2 LABEL PROC 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,83,52,0,0 ; andps 0x3453(%rip),%xmm3 # 5290 <_sk_callback_sse2+0x4e9> + DB 15,84,29,137,59,0,0 ; andps 0x3b89(%rip),%xmm3 # 5aa0 <_sk_callback_sse2+0x4f7> DB 15,92,195 ; subps %xmm3,%xmm0 DB 68,15,40,230 ; movaps %xmm6,%xmm12 DB 68,15,92,224 ; subps %xmm0,%xmm12 @@ -20477,12 +21002,12 @@ _sk_hsl_to_rgb_sse2 LABEL PROC 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,44,52,0,0 ; addps 0x342c(%rip),%xmm6 # 52e0 <_sk_callback_sse2+0x539> + DB 15,88,53,98,59,0,0 ; addps 0x3b62(%rip),%xmm6 # 5af0 <_sk_callback_sse2+0x547> 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,199,51,0,0 ; andps 0x33c7(%rip),%xmm3 # 5290 <_sk_callback_sse2+0x4e9> + DB 15,84,29,253,58,0,0 ; andps 0x3afd(%rip),%xmm3 # 5aa0 <_sk_callback_sse2+0x4f7> DB 15,92,195 ; subps %xmm3,%xmm0 DB 15,92,240 ; subps %xmm0,%xmm6 DB 15,89,206 ; mulps %xmm6,%xmm1 @@ -20537,19 +21062,43 @@ _sk_scale_1_float_sse2 LABEL PROC PUBLIC _sk_scale_u8_sse2 _sk_scale_u8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,68,15,110,4,56 ; movd (%rax,%rdi,1),%xmm8 - DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 - DB 102,69,15,96,193 ; punpcklbw %xmm9,%xmm8 - DB 102,69,15,97,193 ; punpcklwd %xmm9,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,61 ; jne 209a <_sk_scale_u8_sse2+0x47> + DB 102,69,15,110,4,57 ; movd (%r9,%rdi,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,138,58,0,0 ; pand 0x3a8a(%rip),%xmm8 # 5b00 <_sk_callback_sse2+0x557> DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,81,51,0,0 ; mulps 0x3351(%rip),%xmm8 # 52f0 <_sk_callback_sse2+0x549> + DB 68,15,89,5,142,58,0,0 ; mulps 0x3a8e(%rip),%xmm8 # 5b10 <_sk_callback_sse2+0x567> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 65,15,89,208 ; mulps %xmm8,%xmm2 - DB 65,15,89,216 ; mulps %xmm8,%xmm3 + DB 68,15,89,195 ; mulps %xmm3,%xmm8 DB 72,173 ; lods %ds:(%rsi),%rax + DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,54 ; je 20e2 <_sk_scale_u8_sse2+0x8f> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,23 ; je 20c9 <_sk_scale_u8_sse2+0x76> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,181 ; jne 206d <_sk_scale_u8_sse2+0x1a> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,192,69 ; pshufd $0x45,%xmm8,%xmm8 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,68,15,110,200 ; movd %eax,%xmm9 + DB 69,15,198,200,0 ; shufps $0x0,%xmm8,%xmm9 + DB 69,15,198,200,226 ; shufps $0xe2,%xmm8,%xmm9 + DB 69,15,40,193 ; movaps %xmm9,%xmm8 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,68,15,110,200 ; movd %eax,%xmm9 + DB 243,69,15,16,193 ; movss %xmm9,%xmm8 + DB 233,119,255,255,255 ; jmpq 206d <_sk_scale_u8_sse2+0x1a> PUBLIC _sk_lerp_1_float_sse2 _sk_lerp_1_float_sse2 LABEL PROC @@ -20574,13 +21123,15 @@ _sk_lerp_1_float_sse2 LABEL PROC PUBLIC _sk_lerp_u8_sse2 _sk_lerp_u8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,68,15,110,4,56 ; movd (%rax,%rdi,1),%xmm8 - DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 - DB 102,69,15,96,193 ; punpcklbw %xmm9,%xmm8 - DB 102,69,15,97,193 ; punpcklwd %xmm9,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,81 ; jne 2189 <_sk_lerp_u8_sse2+0x5b> + DB 102,69,15,110,4,57 ; movd (%r9,%rdi,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,207,57,0,0 ; pand 0x39cf(%rip),%xmm8 # 5b20 <_sk_callback_sse2+0x577> DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,239,50,0,0 ; mulps 0x32ef(%rip),%xmm8 # 5300 <_sk_callback_sse2+0x559> + DB 68,15,89,5,211,57,0,0 ; mulps 0x39d3(%rip),%xmm8 # 5b30 <_sk_callback_sse2+0x587> DB 15,92,196 ; subps %xmm4,%xmm0 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 @@ -20595,86 +21146,133 @@ _sk_lerp_u8_sse2 LABEL PROC DB 15,88,223 ; addps %xmm7,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,54 ; je 21d1 <_sk_lerp_u8_sse2+0xa3> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,23 ; je 21b8 <_sk_lerp_u8_sse2+0x8a> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,161 ; jne 2148 <_sk_lerp_u8_sse2+0x1a> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,192,69 ; pshufd $0x45,%xmm8,%xmm8 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,68,15,110,200 ; movd %eax,%xmm9 + DB 69,15,198,200,0 ; shufps $0x0,%xmm8,%xmm9 + DB 69,15,198,200,226 ; shufps $0xe2,%xmm8,%xmm9 + DB 69,15,40,193 ; movaps %xmm9,%xmm8 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,68,15,110,200 ; movd %eax,%xmm9 + DB 243,69,15,16,193 ; movss %xmm9,%xmm8 + DB 233,99,255,255,255 ; jmpq 2148 <_sk_lerp_u8_sse2+0x1a> PUBLIC _sk_lerp_565_sse2 _sk_lerp_565_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 243,68,15,126,20,120 ; movq (%rax,%rdi,2),%xmm10 - DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 - DB 102,69,15,97,208 ; punpcklwd %xmm8,%xmm10 - DB 102,68,15,111,5,181,50,0,0 ; movdqa 0x32b5(%rip),%xmm8 # 5310 <_sk_callback_sse2+0x569> - DB 102,69,15,219,194 ; pand %xmm10,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,156,0,0,0 ; jne 228f <_sk_lerp_565_sse2+0xaa> + DB 243,69,15,126,12,121 ; movq (%r9,%rdi,2),%xmm9 + DB 102,68,15,97,200 ; punpcklwd %xmm0,%xmm9 + DB 102,68,15,111,5,57,57,0,0 ; movdqa 0x3939(%rip),%xmm8 # 5b40 <_sk_callback_sse2+0x597> + DB 102,69,15,219,193 ; pand %xmm9,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 - DB 68,15,89,5,180,50,0,0 ; mulps 0x32b4(%rip),%xmm8 # 5320 <_sk_callback_sse2+0x579> - DB 102,68,15,111,13,187,50,0,0 ; movdqa 0x32bb(%rip),%xmm9 # 5330 <_sk_callback_sse2+0x589> - DB 102,69,15,219,202 ; pand %xmm10,%xmm9 - DB 69,15,91,201 ; cvtdq2ps %xmm9,%xmm9 - DB 68,15,89,13,186,50,0,0 ; mulps 0x32ba(%rip),%xmm9 # 5340 <_sk_callback_sse2+0x599> - DB 102,68,15,219,21,193,50,0,0 ; pand 0x32c1(%rip),%xmm10 # 5350 <_sk_callback_sse2+0x5a9> + DB 68,15,89,5,56,57,0,0 ; mulps 0x3938(%rip),%xmm8 # 5b50 <_sk_callback_sse2+0x5a7> + DB 102,68,15,111,21,63,57,0,0 ; movdqa 0x393f(%rip),%xmm10 # 5b60 <_sk_callback_sse2+0x5b7> + DB 102,69,15,219,209 ; pand %xmm9,%xmm10 DB 69,15,91,210 ; cvtdq2ps %xmm10,%xmm10 - DB 68,15,89,21,197,50,0,0 ; mulps 0x32c5(%rip),%xmm10 # 5360 <_sk_callback_sse2+0x5b9> + DB 68,15,89,21,62,57,0,0 ; mulps 0x393e(%rip),%xmm10 # 5b70 <_sk_callback_sse2+0x5c7> + DB 102,68,15,219,13,69,57,0,0 ; pand 0x3945(%rip),%xmm9 # 5b80 <_sk_callback_sse2+0x5d7> + DB 69,15,91,201 ; cvtdq2ps %xmm9,%xmm9 + DB 68,15,89,13,73,57,0,0 ; mulps 0x3949(%rip),%xmm9 # 5b90 <_sk_callback_sse2+0x5e7> DB 15,92,196 ; subps %xmm4,%xmm0 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 15,88,196 ; addps %xmm4,%xmm0 DB 15,92,205 ; subps %xmm5,%xmm1 - DB 65,15,89,201 ; mulps %xmm9,%xmm1 + DB 65,15,89,202 ; mulps %xmm10,%xmm1 DB 15,88,205 ; addps %xmm5,%xmm1 DB 15,92,214 ; subps %xmm6,%xmm2 - DB 65,15,89,210 ; mulps %xmm10,%xmm2 + DB 65,15,89,209 ; mulps %xmm9,%xmm2 DB 15,88,214 ; addps %xmm6,%xmm2 DB 15,92,223 ; subps %xmm7,%xmm3 DB 68,15,89,195 ; mulps %xmm3,%xmm8 DB 68,15,88,199 ; addps %xmm7,%xmm8 - DB 68,15,89,203 ; mulps %xmm3,%xmm9 - DB 68,15,88,207 ; addps %xmm7,%xmm9 - DB 65,15,89,218 ; mulps %xmm10,%xmm3 + DB 68,15,89,211 ; mulps %xmm3,%xmm10 + DB 68,15,88,215 ; addps %xmm7,%xmm10 + DB 65,15,89,217 ; mulps %xmm9,%xmm3 DB 15,88,223 ; addps %xmm7,%xmm3 - DB 68,15,95,203 ; maxps %xmm3,%xmm9 - DB 69,15,95,193 ; maxps %xmm9,%xmm8 + DB 68,15,95,211 ; maxps %xmm3,%xmm10 + DB 69,15,95,194 ; maxps %xmm10,%xmm8 DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,216 ; movaps %xmm8,%xmm3 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,58 ; je 22db <_sk_lerp_565_sse2+0xf6> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,27 ; je 22c2 <_sk_lerp_565_sse2+0xdd> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 15,133,77,255,255,255 ; jne 21fe <_sk_lerp_565_sse2+0x19> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 102,69,15,112,200,69 ; pshufd $0x45,%xmm8,%xmm9 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 69,15,198,193,0 ; shufps $0x0,%xmm9,%xmm8 + DB 69,15,198,193,226 ; shufps $0xe2,%xmm9,%xmm8 + DB 69,15,40,200 ; movaps %xmm8,%xmm9 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,68,15,110,192 ; movd %eax,%xmm8 + DB 243,69,15,16,200 ; movss %xmm8,%xmm9 + DB 233,15,255,255,255 ; jmpq 21fe <_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,0 ; mov (%rax),%r8 - DB 76,139,72,8 ; mov 0x8(%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,32,1,0,0 ; jne 241d <_sk_load_tables_sse2+0x12e> DB 243,69,15,111,12,184 ; movdqu (%r8,%rdi,4),%xmm9 - DB 102,68,15,111,5,117,50,0,0 ; movdqa 0x3275(%rip),%xmm8 # 5370 <_sk_callback_sse2+0x5c9> + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,68,15,111,5,145,56,0,0 ; movdqa 0x3891(%rip),%xmm8 # 5ba0 <_sk_callback_sse2+0x5f7> DB 102,65,15,111,193 ; movdqa %xmm9,%xmm0 DB 102,65,15,219,192 ; pand %xmm8,%xmm0 DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 DB 102,73,15,126,200 ; movq %xmm1,%r8 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 102,73,15,126,193 ; movq %xmm0,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d + DB 73,193,233,30 ; shr $0x1e,%r9 DB 69,15,182,216 ; movzbl %r8b,%r11d DB 73,193,232,30 ; shr $0x1e,%r8 - DB 243,65,15,16,12,9 ; movss (%r9,%rcx,1),%xmm1 - DB 243,67,15,16,4,1 ; movss (%r9,%r8,1),%xmm0 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,12,11 ; movss (%rbx,%r9,1),%xmm1 + DB 243,66,15,16,4,3 ; movss (%rbx,%r8,1),%xmm0 DB 15,20,200 ; unpcklps %xmm0,%xmm1 - DB 243,67,15,16,4,145 ; movss (%r9,%r10,4),%xmm0 - DB 243,67,15,16,20,153 ; movss (%r9,%r11,4),%xmm2 + DB 243,66,15,16,4,147 ; movss (%rbx,%r10,4),%xmm0 + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 DB 15,20,194 ; unpcklps %xmm2,%xmm0 DB 15,20,193 ; unpcklps %xmm1,%xmm0 - DB 76,139,64,16 ; mov 0x10(%rax),%r8 DB 102,65,15,111,201 ; movdqa %xmm9,%xmm1 DB 102,15,114,209,8 ; psrld $0x8,%xmm1 DB 102,65,15,219,200 ; pand %xmm8,%xmm1 DB 102,15,112,209,78 ; pshufd $0x4e,%xmm1,%xmm2 - DB 102,73,15,126,209 ; movq %xmm2,%r9 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 69,15,182,217 ; movzbl %r9b,%r11d - DB 73,193,233,30 ; shr $0x1e,%r9 - DB 243,65,15,16,20,8 ; movss (%r8,%rcx,1),%xmm2 - DB 243,67,15,16,12,8 ; movss (%r8,%r9,1),%xmm1 + DB 102,73,15,126,208 ; movq %xmm2,%r8 + DB 102,72,15,126,203 ; movq %xmm1,%rbx + DB 68,15,182,203 ; movzbl %bl,%r9d + DB 72,193,235,30 ; shr $0x1e,%rbx + DB 69,15,182,208 ; movzbl %r8b,%r10d + DB 73,193,232,30 ; shr $0x1e,%r8 + DB 243,65,15,16,20,30 ; movss (%r14,%rbx,1),%xmm2 + DB 243,67,15,16,12,6 ; movss (%r14,%r8,1),%xmm1 DB 15,20,209 ; unpcklps %xmm1,%xmm2 - DB 243,67,15,16,12,144 ; movss (%r8,%r10,4),%xmm1 - DB 243,67,15,16,28,152 ; movss (%r8,%r11,4),%xmm3 + DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 + DB 243,67,15,16,28,150 ; movss (%r14,%r10,4),%xmm3 DB 15,20,203 ; unpcklps %xmm3,%xmm1 DB 15,20,202 ; unpcklps %xmm2,%xmm1 DB 76,139,64,24 ; mov 0x18(%rax),%r8 @@ -20682,14 +21280,14 @@ _sk_load_tables_sse2 LABEL PROC DB 102,15,114,210,16 ; psrld $0x10,%xmm2 DB 102,65,15,219,208 ; pand %xmm8,%xmm2 DB 102,15,112,218,78 ; pshufd $0x4e,%xmm2,%xmm3 - DB 102,72,15,126,217 ; movq %xmm3,%rcx + DB 102,72,15,126,219 ; movq %xmm3,%rbx DB 102,72,15,126,208 ; movq %xmm2,%rax DB 68,15,182,200 ; movzbl %al,%r9d DB 72,193,232,30 ; shr $0x1e,%rax - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx + DB 68,15,182,211 ; movzbl %bl,%r10d + DB 72,193,235,30 ; shr $0x1e,%rbx DB 243,69,15,16,4,0 ; movss (%r8,%rax,1),%xmm8 - DB 243,65,15,16,20,8 ; movss (%r8,%rcx,1),%xmm2 + DB 243,65,15,16,20,24 ; movss (%r8,%rbx,1),%xmm2 DB 68,15,20,194 ; unpcklps %xmm2,%xmm8 DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 DB 243,67,15,16,28,144 ; movss (%r8,%r10,4),%xmm3 @@ -20697,72 +21295,97 @@ _sk_load_tables_sse2 LABEL PROC 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,130,49,0,0 ; mulps 0x3182(%rip),%xmm3 # 5380 <_sk_callback_sse2+0x5d9> + DB 15,89,29,154,55,0,0 ; mulps 0x379a(%rip),%xmm3 # 5bb0 <_sk_callback_sse2+0x607> DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 65,137,201 ; mov %ecx,%r9d + DB 65,128,225,3 ; and $0x3,%r9b + DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 + DB 65,128,249,1 ; cmp $0x1,%r9b + DB 116,50 ; je 2461 <_sk_load_tables_sse2+0x172> + DB 65,128,249,2 ; cmp $0x2,%r9b + DB 116,23 ; je 244c <_sk_load_tables_sse2+0x15d> + DB 65,128,249,3 ; cmp $0x3,%r9b + DB 15,133,196,254,255,255 ; jne 2303 <_sk_load_tables_sse2+0x14> + DB 102,65,15,110,68,184,8 ; movd 0x8(%r8,%rdi,4),%xmm0 + DB 102,68,15,112,200,69 ; pshufd $0x45,%xmm0,%xmm9 + DB 243,65,15,16,68,184,4 ; movss 0x4(%r8,%rdi,4),%xmm0 + DB 65,15,198,193,0 ; shufps $0x0,%xmm9,%xmm0 + DB 65,15,198,193,226 ; shufps $0xe2,%xmm9,%xmm0 + DB 68,15,40,200 ; movaps %xmm0,%xmm9 + DB 243,65,15,16,4,184 ; movss (%r8,%rdi,4),%xmm0 + DB 243,68,15,16,200 ; movss %xmm0,%xmm9 + DB 233,146,254,255,255 ; jmpq 2303 <_sk_load_tables_sse2+0x14> PUBLIC _sk_load_tables_u16_be_sse2 _sk_load_tables_u16_be_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,64,8 ; mov 0x8(%rax),%r8 - DB 243,15,111,4,249 ; movdqu (%rcx,%rdi,8),%xmm0 - DB 243,15,111,76,249,16 ; movdqu 0x10(%rcx,%rdi,8),%xmm1 - DB 102,68,15,111,200 ; movdqa %xmm0,%xmm9 + DB 76,139,0 ; mov (%rax),%r8 + DB 76,141,12,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,97,1,0,0 ; jne 25e8 <_sk_load_tables_u16_be_sse2+0x177> + DB 102,67,15,16,4,72 ; movupd (%r8,%r9,2),%xmm0 + DB 102,67,15,16,76,72,16 ; movupd 0x10(%r8,%r9,2),%xmm1 + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,68,15,40,200 ; movapd %xmm0,%xmm9 DB 102,68,15,97,201 ; punpcklwd %xmm1,%xmm9 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,65,15,111,201 ; movdqa %xmm9,%xmm1 DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 DB 102,68,15,105,200 ; punpckhwd %xmm0,%xmm9 - DB 102,68,15,111,21,85,49,0,0 ; movdqa 0x3155(%rip),%xmm10 # 5390 <_sk_callback_sse2+0x5e9> + DB 102,68,15,111,21,4,55,0,0 ; movdqa 0x3704(%rip),%xmm10 # 5bc0 <_sk_callback_sse2+0x617> 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 DB 102,65,15,97,192 ; punpcklwd %xmm8,%xmm0 DB 102,15,112,216,78 ; pshufd $0x4e,%xmm0,%xmm3 - DB 102,72,15,126,217 ; movq %xmm3,%rcx - DB 68,15,182,201 ; movzbl %cl,%r9d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,73,15,126,216 ; movq %xmm3,%r8 + DB 69,15,182,200 ; movzbl %r8b,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 DB 102,73,15,126,194 ; movq %xmm0,%r10 DB 69,15,182,218 ; movzbl %r10b,%r11d DB 73,193,234,30 ; shr $0x1e,%r10 - DB 243,67,15,16,28,16 ; movss (%r8,%r10,1),%xmm3 - DB 243,65,15,16,4,136 ; movss (%r8,%rcx,4),%xmm0 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,28,19 ; movss (%rbx,%r10,1),%xmm3 + DB 243,66,15,16,4,131 ; movss (%rbx,%r8,4),%xmm0 DB 15,20,216 ; unpcklps %xmm0,%xmm3 - DB 243,67,15,16,4,152 ; movss (%r8,%r11,4),%xmm0 - DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 + DB 243,66,15,16,4,155 ; movss (%rbx,%r11,4),%xmm0 + DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 DB 15,20,194 ; unpcklps %xmm2,%xmm0 DB 15,20,195 ; unpcklps %xmm3,%xmm0 - DB 76,139,80,16 ; mov 0x10(%rax),%r10 DB 102,15,115,217,8 ; psrldq $0x8,%xmm1 DB 102,65,15,219,202 ; pand %xmm10,%xmm1 DB 102,65,15,97,200 ; punpcklwd %xmm8,%xmm1 DB 102,15,112,209,78 ; pshufd $0x4e,%xmm1,%xmm2 - DB 102,73,15,126,208 ; movq %xmm2,%r8 - DB 69,15,182,200 ; movzbl %r8b,%r9d - DB 73,193,232,32 ; shr $0x20,%r8 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 68,15,182,217 ; movzbl %cl,%r11d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 243,65,15,16,20,10 ; movss (%r10,%rcx,1),%xmm2 - DB 243,67,15,16,12,130 ; movss (%r10,%r8,4),%xmm1 + DB 102,72,15,126,211 ; movq %xmm2,%rbx + DB 68,15,182,195 ; movzbl %bl,%r8d + DB 72,193,235,32 ; shr $0x20,%rbx + DB 102,73,15,126,201 ; movq %xmm1,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d + DB 73,193,233,30 ; shr $0x1e,%r9 + DB 243,67,15,16,20,14 ; movss (%r14,%r9,1),%xmm2 + DB 243,65,15,16,12,158 ; movss (%r14,%rbx,4),%xmm1 DB 15,20,209 ; unpcklps %xmm1,%xmm2 - DB 243,67,15,16,12,154 ; movss (%r10,%r11,4),%xmm1 - DB 243,67,15,16,28,138 ; movss (%r10,%r9,4),%xmm3 + DB 243,67,15,16,12,150 ; movss (%r14,%r10,4),%xmm1 + DB 243,67,15,16,28,134 ; movss (%r14,%r8,4),%xmm3 DB 15,20,203 ; unpcklps %xmm3,%xmm1 DB 15,20,202 ; unpcklps %xmm2,%xmm1 DB 76,139,72,24 ; mov 0x18(%rax),%r9 DB 102,69,15,219,209 ; pand %xmm9,%xmm10 DB 102,69,15,97,208 ; punpcklwd %xmm8,%xmm10 DB 102,65,15,112,210,78 ; pshufd $0x4e,%xmm10,%xmm2 - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 68,15,182,193 ; movzbl %cl,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,211 ; movq %xmm2,%rbx + DB 68,15,182,195 ; movzbl %bl,%r8d + DB 72,193,235,32 ; shr $0x20,%rbx DB 102,76,15,126,208 ; movq %xmm10,%rax DB 68,15,182,208 ; movzbl %al,%r10d DB 72,193,232,30 ; shr $0x1e,%rax DB 243,69,15,16,20,1 ; movss (%r9,%rax,1),%xmm10 - DB 243,65,15,16,20,137 ; movss (%r9,%rcx,4),%xmm2 + DB 243,65,15,16,20,153 ; movss (%r9,%rbx,4),%xmm2 DB 68,15,20,210 ; unpcklps %xmm2,%xmm10 DB 243,67,15,16,20,145 ; movss (%r9,%r10,4),%xmm2 DB 243,67,15,16,28,129 ; movss (%r9,%r8,4),%xmm3 @@ -20775,60 +21398,80 @@ _sk_load_tables_u16_be_sse2 LABEL PROC DB 102,65,15,235,217 ; por %xmm9,%xmm3 DB 102,65,15,97,216 ; punpcklwd %xmm8,%xmm3 DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 - DB 15,89,29,68,48,0,0 ; mulps 0x3044(%rip),%xmm3 # 53a0 <_sk_callback_sse2+0x5f9> + DB 15,89,29,239,53,0,0 ; mulps 0x35ef(%rip),%xmm3 # 5bd0 <_sk_callback_sse2+0x627> DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 242,67,15,16,4,72 ; movsd (%r8,%r9,2),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,17 ; jne 2605 <_sk_load_tables_u16_be_sse2+0x194> + 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 2494 <_sk_load_tables_u16_be_sse2+0x23> + DB 102,67,15,22,68,72,8 ; movhpd 0x8(%r8,%r9,2),%xmm0 + DB 102,15,87,201 ; xorpd %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,122,254,255,255 ; jb 2494 <_sk_load_tables_u16_be_sse2+0x23> + DB 242,67,15,16,76,72,16 ; movsd 0x10(%r8,%r9,2),%xmm1 + DB 233,110,254,255,255 ; jmpq 2494 <_sk_load_tables_u16_be_sse2+0x23> PUBLIC _sk_load_tables_rgb_u16_be_sse2 _sk_load_tables_rgb_u16_be_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax + DB 76,139,0 ; mov (%rax),%r8 DB 76,141,12,127 ; lea (%rdi,%rdi,2),%r9 - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,64,8 ; mov 0x8(%rax),%r8 - DB 243,70,15,111,28,73 ; movdqu (%rcx,%r9,2),%xmm11 - DB 243,66,15,111,68,73,8 ; movdqu 0x8(%rcx,%r9,2),%xmm0 - DB 102,15,115,216,4 ; psrldq $0x4,%xmm0 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,80,1,0,0 ; jne 2788 <_sk_load_tables_rgb_u16_be_sse2+0x162> + DB 243,71,15,111,28,72 ; movdqu (%r8,%r9,2),%xmm11 + DB 243,67,15,111,76,72,8 ; movdqu 0x8(%r8,%r9,2),%xmm1 + DB 102,15,115,217,4 ; psrldq $0x4,%xmm1 DB 102,69,15,111,211 ; movdqa %xmm11,%xmm10 DB 102,65,15,115,218,6 ; psrldq $0x6,%xmm10 - DB 102,68,15,97,216 ; punpcklwd %xmm0,%xmm11 + DB 102,15,111,193 ; movdqa %xmm1,%xmm0 DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 + DB 65,86 ; push %r14 + DB 83 ; push %rbx + DB 102,68,15,97,217 ; punpcklwd %xmm1,%xmm11 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,4,48,0,0 ; movdqa 0x3004(%rip),%xmm8 # 53b0 <_sk_callback_sse2+0x609> + DB 102,68,15,111,5,98,53,0,0 ; movdqa 0x3562(%rip),%xmm8 # 5be0 <_sk_callback_sse2+0x637> 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 DB 102,65,15,97,193 ; punpcklwd %xmm9,%xmm0 DB 102,15,112,216,78 ; pshufd $0x4e,%xmm0,%xmm3 - DB 102,72,15,126,217 ; movq %xmm3,%rcx - DB 68,15,182,201 ; movzbl %cl,%r9d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,73,15,126,216 ; movq %xmm3,%r8 + DB 69,15,182,200 ; movzbl %r8b,%r9d + DB 73,193,232,32 ; shr $0x20,%r8 DB 102,73,15,126,194 ; movq %xmm0,%r10 DB 69,15,182,218 ; movzbl %r10b,%r11d DB 73,193,234,30 ; shr $0x1e,%r10 - DB 243,67,15,16,28,16 ; movss (%r8,%r10,1),%xmm3 - DB 243,65,15,16,4,136 ; movss (%r8,%rcx,4),%xmm0 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx + DB 76,139,112,16 ; mov 0x10(%rax),%r14 + DB 243,66,15,16,28,19 ; movss (%rbx,%r10,1),%xmm3 + DB 243,66,15,16,4,131 ; movss (%rbx,%r8,4),%xmm0 DB 15,20,216 ; unpcklps %xmm0,%xmm3 - DB 243,67,15,16,4,152 ; movss (%r8,%r11,4),%xmm0 - DB 243,67,15,16,20,136 ; movss (%r8,%r9,4),%xmm2 + DB 243,66,15,16,4,155 ; movss (%rbx,%r11,4),%xmm0 + DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 DB 15,20,194 ; unpcklps %xmm2,%xmm0 DB 15,20,195 ; unpcklps %xmm3,%xmm0 - DB 76,139,80,16 ; mov 0x10(%rax),%r10 DB 102,65,15,219,200 ; pand %xmm8,%xmm1 DB 102,65,15,97,201 ; punpcklwd %xmm9,%xmm1 DB 102,15,112,209,78 ; pshufd $0x4e,%xmm1,%xmm2 - DB 102,73,15,126,208 ; movq %xmm2,%r8 - DB 69,15,182,200 ; movzbl %r8b,%r9d - DB 73,193,232,32 ; shr $0x20,%r8 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 68,15,182,217 ; movzbl %cl,%r11d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 243,65,15,16,20,10 ; movss (%r10,%rcx,1),%xmm2 - DB 243,67,15,16,12,130 ; movss (%r10,%r8,4),%xmm1 + DB 102,72,15,126,211 ; movq %xmm2,%rbx + DB 68,15,182,195 ; movzbl %bl,%r8d + DB 72,193,235,32 ; shr $0x20,%rbx + DB 102,73,15,126,201 ; movq %xmm1,%r9 + DB 69,15,182,209 ; movzbl %r9b,%r10d + DB 73,193,233,30 ; shr $0x1e,%r9 + DB 243,67,15,16,20,14 ; movss (%r14,%r9,1),%xmm2 + DB 243,65,15,16,12,158 ; movss (%r14,%rbx,4),%xmm1 DB 15,20,209 ; unpcklps %xmm1,%xmm2 - DB 243,67,15,16,12,154 ; movss (%r10,%r11,4),%xmm1 - DB 243,67,15,16,28,138 ; movss (%r10,%r9,4),%xmm3 + DB 243,67,15,16,12,150 ; movss (%r14,%r10,4),%xmm1 + DB 243,67,15,16,28,134 ; movss (%r14,%r8,4),%xmm3 DB 15,20,203 ; unpcklps %xmm3,%xmm1 DB 15,20,202 ; unpcklps %xmm2,%xmm1 DB 76,139,72,24 ; mov 0x18(%rax),%r9 @@ -20836,75 +21479,98 @@ _sk_load_tables_rgb_u16_be_sse2 LABEL PROC DB 102,69,15,219,216 ; pand %xmm8,%xmm11 DB 102,69,15,97,217 ; punpcklwd %xmm9,%xmm11 DB 102,65,15,112,211,78 ; pshufd $0x4e,%xmm11,%xmm2 - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 68,15,182,193 ; movzbl %cl,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,211 ; movq %xmm2,%rbx + DB 68,15,182,195 ; movzbl %bl,%r8d + DB 72,193,235,32 ; shr $0x20,%rbx DB 102,76,15,126,216 ; movq %xmm11,%rax DB 68,15,182,208 ; movzbl %al,%r10d DB 72,193,232,30 ; shr $0x1e,%rax DB 243,69,15,16,4,1 ; movss (%r9,%rax,1),%xmm8 - DB 243,65,15,16,20,137 ; movss (%r9,%rcx,4),%xmm2 + DB 243,65,15,16,20,153 ; movss (%r9,%rbx,4),%xmm2 DB 68,15,20,194 ; unpcklps %xmm2,%xmm8 DB 243,67,15,16,20,145 ; movss (%r9,%r10,4),%xmm2 DB 243,67,15,16,28,129 ; movss (%r9,%r8,4),%xmm3 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,19,47,0,0 ; movaps 0x2f13(%rip),%xmm3 # 53c0 <_sk_callback_sse2+0x619> + DB 15,40,29,109,52,0,0 ; movaps 0x346d(%rip),%xmm3 # 5bf0 <_sk_callback_sse2+0x647> + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax + DB 102,71,15,110,28,72 ; movd (%r8,%r9,2),%xmm11 + DB 102,71,15,196,92,72,4,2 ; pinsrw $0x2,0x4(%r8,%r9,2),%xmm11 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,14 ; jne 27ae <_sk_load_tables_rgb_u16_be_sse2+0x188> + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 102,69,15,239,210 ; pxor %xmm10,%xmm10 + DB 233,176,254,255,255 ; jmpq 265e <_sk_load_tables_rgb_u16_be_sse2+0x38> + DB 102,71,15,110,84,72,6 ; movd 0x6(%r8,%r9,2),%xmm10 + DB 102,71,15,196,84,72,10,2 ; pinsrw $0x2,0xa(%r8,%r9,2),%xmm10 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,24 ; jb 27df <_sk_load_tables_rgb_u16_be_sse2+0x1b9> + DB 102,67,15,110,76,72,12 ; movd 0xc(%r8,%r9,2),%xmm1 + DB 102,67,15,196,76,72,16,2 ; pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 233,127,254,255,255 ; jmpq 265e <_sk_load_tables_rgb_u16_be_sse2+0x38> + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 233,118,254,255,255 ; jmpq 265e <_sk_load_tables_rgb_u16_be_sse2+0x38> PUBLIC _sk_byte_tables_sse2 _sk_byte_tables_sse2 LABEL PROC + DB 85 ; push %rbp DB 65,86 ; push %r14 DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,20,47,0,0 ; movaps 0x2f14(%rip),%xmm8 # 53d0 <_sk_callback_sse2+0x629> + DB 68,15,40,5,10,52,0,0 ; movaps 0x340a(%rip),%xmm8 # 5c00 <_sk_callback_sse2+0x657> DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,91,192 ; cvtps2dq %xmm0,%xmm0 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,73,15,126,192 ; movq %xmm0,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 77,137,194 ; mov %r8,%r10 + DB 73,193,234,32 ; shr $0x20,%r10 DB 102,15,112,192,78 ; pshufd $0x4e,%xmm0,%xmm0 - DB 102,73,15,126,193 ; movq %xmm0,%r9 - DB 69,137,202 ; mov %r9d,%r10d - DB 77,137,203 ; mov %r9,%r11 - DB 73,193,235,32 ; shr $0x20,%r11 - DB 76,139,48 ; mov (%rax),%r14 - DB 76,139,72,8 ; mov 0x8(%rax),%r9 - DB 71,15,182,20,22 ; movzbl (%r14,%r10,1),%r10d - DB 67,15,182,28,30 ; movzbl (%r14,%r11,1),%ebx + DB 102,73,15,126,192 ; movq %xmm0,%r8 + DB 69,137,195 ; mov %r8d,%r11d + DB 77,137,198 ; mov %r8,%r14 + DB 73,193,238,32 ; shr $0x20,%r14 + DB 72,139,24 ; mov (%rax),%rbx + DB 76,139,64,8 ; mov 0x8(%rax),%r8 + DB 70,15,182,28,27 ; movzbl (%rbx,%r11,1),%r11d + DB 66,15,182,44,51 ; movzbl (%rbx,%r14,1),%ebp + DB 193,229,8 ; shl $0x8,%ebp + DB 68,9,221 ; or %r11d,%ebp + DB 70,15,182,12,11 ; movzbl (%rbx,%r9,1),%r9d + DB 66,15,182,28,19 ; movzbl (%rbx,%r10,1),%ebx DB 193,227,8 ; shl $0x8,%ebx - DB 68,9,211 ; or %r10d,%ebx - DB 71,15,182,4,6 ; movzbl (%r14,%r8,1),%r8d - DB 65,15,182,12,14 ; movzbl (%r14,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,193 ; or %r8d,%ecx - DB 102,15,196,193,0 ; pinsrw $0x0,%ecx,%xmm0 - DB 102,15,196,195,1 ; pinsrw $0x1,%ebx,%xmm0 + DB 68,9,203 ; or %r9d,%ebx + DB 102,15,196,195,0 ; pinsrw $0x0,%ebx,%xmm0 + DB 102,15,196,197,1 ; pinsrw $0x1,%ebp,%xmm0 DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 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,177,46,0,0 ; movaps 0x2eb1(%rip),%xmm10 # 53e0 <_sk_callback_sse2+0x639> + DB 68,15,40,21,164,51,0,0 ; movaps 0x33a4(%rip),%xmm10 # 5c10 <_sk_callback_sse2+0x667> DB 65,15,89,194 ; mulps %xmm10,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 102,15,91,201 ; cvtps2dq %xmm1,%xmm1 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,205 ; movq %xmm1,%rbp + DB 65,137,233 ; mov %ebp,%r9d + DB 72,193,237,32 ; shr $0x20,%rbp DB 102,15,112,201,78 ; pshufd $0x4e,%xmm1,%xmm1 DB 102,72,15,126,203 ; movq %xmm1,%rbx DB 65,137,218 ; mov %ebx,%r10d DB 72,193,235,32 ; shr $0x20,%rbx - DB 71,15,182,20,17 ; movzbl (%r9,%r10,1),%r10d - DB 65,15,182,28,25 ; movzbl (%r9,%rbx,1),%ebx + DB 71,15,182,20,16 ; movzbl (%r8,%r10,1),%r10d + DB 65,15,182,28,24 ; movzbl (%r8,%rbx,1),%ebx DB 193,227,8 ; shl $0x8,%ebx DB 68,9,211 ; or %r10d,%ebx - DB 71,15,182,4,1 ; movzbl (%r9,%r8,1),%r8d - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,193 ; or %r8d,%ecx - DB 102,15,196,201,0 ; pinsrw $0x0,%ecx,%xmm1 + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 65,15,182,44,40 ; movzbl (%r8,%rbp,1),%ebp + DB 193,229,8 ; shl $0x8,%ebp + DB 68,9,205 ; or %r9d,%ebp + DB 102,15,196,205,0 ; pinsrw $0x0,%ebp,%xmm1 DB 102,15,196,203,1 ; pinsrw $0x1,%ebx,%xmm1 DB 102,65,15,96,201 ; punpcklbw %xmm9,%xmm1 DB 102,65,15,97,201 ; punpcklwd %xmm9,%xmm1 @@ -20917,19 +21583,19 @@ _sk_byte_tables_sse2 LABEL PROC DB 65,137,216 ; mov %ebx,%r8d DB 72,193,235,32 ; shr $0x20,%rbx DB 102,15,112,210,78 ; pshufd $0x4e,%xmm2,%xmm2 - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,213 ; movq %xmm2,%rbp + DB 65,137,234 ; mov %ebp,%r10d + DB 72,193,237,32 ; shr $0x20,%rbp DB 71,15,182,20,17 ; movzbl (%r9,%r10,1),%r10d - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,209 ; or %r10d,%ecx + DB 65,15,182,44,41 ; movzbl (%r9,%rbp,1),%ebp + DB 193,229,8 ; shl $0x8,%ebp + DB 68,9,213 ; or %r10d,%ebp DB 71,15,182,4,1 ; movzbl (%r9,%r8,1),%r8d DB 65,15,182,28,25 ; movzbl (%r9,%rbx,1),%ebx DB 193,227,8 ; shl $0x8,%ebx DB 68,9,195 ; or %r8d,%ebx DB 102,15,196,211,0 ; pinsrw $0x0,%ebx,%xmm2 - DB 102,15,196,209,1 ; pinsrw $0x1,%ecx,%xmm2 + DB 102,15,196,213,1 ; pinsrw $0x1,%ebp,%xmm2 DB 102,65,15,96,209 ; punpcklbw %xmm9,%xmm2 DB 102,65,15,97,209 ; punpcklwd %xmm9,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 @@ -20937,9 +21603,9 @@ _sk_byte_tables_sse2 LABEL PROC DB 72,139,64,24 ; mov 0x18(%rax),%rax DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 102,15,91,219 ; cvtps2dq %xmm3,%xmm3 - DB 102,72,15,126,217 ; movq %xmm3,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,221 ; movq %xmm3,%rbp + DB 65,137,232 ; mov %ebp,%r8d + DB 72,193,237,32 ; shr $0x20,%rbp DB 102,15,112,219,78 ; pshufd $0x4e,%xmm3,%xmm3 DB 102,72,15,126,219 ; movq %xmm3,%rbx DB 65,137,217 ; mov %ebx,%r9d @@ -20949,7 +21615,7 @@ _sk_byte_tables_sse2 LABEL PROC DB 193,227,8 ; shl $0x8,%ebx DB 68,9,203 ; or %r9d,%ebx DB 70,15,182,4,0 ; movzbl (%rax,%r8,1),%r8d - DB 15,182,4,8 ; movzbl (%rax,%rcx,1),%eax + DB 15,182,4,40 ; movzbl (%rax,%rbp,1),%eax DB 193,224,8 ; shl $0x8,%eax DB 68,9,192 ; or %r8d,%eax DB 102,15,196,216,0 ; pinsrw $0x0,%eax,%xmm3 @@ -20961,64 +21627,67 @@ _sk_byte_tables_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 93 ; pop %rbp DB 255,224 ; jmpq *%rax PUBLIC _sk_byte_tables_rgb_sse2 _sk_byte_tables_rgb_sse2 LABEL PROC + DB 85 ; push %rbp DB 65,86 ; push %r14 DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 139,72,24 ; mov 0x18(%rax),%ecx - DB 255,201 ; dec %ecx - DB 102,68,15,110,193 ; movd %ecx,%xmm8 + DB 68,139,64,24 ; mov 0x18(%rax),%r8d + DB 65,255,200 ; dec %r8d + DB 102,69,15,110,192 ; movd %r8d,%xmm8 DB 102,69,15,112,192,0 ; pshufd $0x0,%xmm8,%xmm8 DB 69,15,91,192 ; cvtdq2ps %xmm8,%xmm8 DB 65,15,89,192 ; mulps %xmm8,%xmm0 DB 102,15,91,192 ; cvtps2dq %xmm0,%xmm0 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,73,15,126,192 ; movq %xmm0,%r8 + DB 69,137,193 ; mov %r8d,%r9d + DB 77,137,194 ; mov %r8,%r10 + DB 73,193,234,32 ; shr $0x20,%r10 DB 102,15,112,192,78 ; pshufd $0x4e,%xmm0,%xmm0 - DB 102,73,15,126,193 ; movq %xmm0,%r9 - DB 69,137,202 ; mov %r9d,%r10d - DB 77,137,203 ; mov %r9,%r11 - DB 73,193,235,32 ; shr $0x20,%r11 - DB 76,139,48 ; mov (%rax),%r14 - DB 76,139,72,8 ; mov 0x8(%rax),%r9 - DB 71,15,182,20,22 ; movzbl (%r14,%r10,1),%r10d - DB 67,15,182,28,30 ; movzbl (%r14,%r11,1),%ebx + DB 102,73,15,126,192 ; movq %xmm0,%r8 + DB 69,137,195 ; mov %r8d,%r11d + DB 77,137,198 ; mov %r8,%r14 + DB 73,193,238,32 ; shr $0x20,%r14 + DB 72,139,24 ; mov (%rax),%rbx + DB 76,139,64,8 ; mov 0x8(%rax),%r8 + DB 70,15,182,28,27 ; movzbl (%rbx,%r11,1),%r11d + DB 66,15,182,44,51 ; movzbl (%rbx,%r14,1),%ebp + DB 193,229,8 ; shl $0x8,%ebp + DB 68,9,221 ; or %r11d,%ebp + DB 70,15,182,12,11 ; movzbl (%rbx,%r9,1),%r9d + DB 66,15,182,28,19 ; movzbl (%rbx,%r10,1),%ebx DB 193,227,8 ; shl $0x8,%ebx - DB 68,9,211 ; or %r10d,%ebx - DB 71,15,182,4,6 ; movzbl (%r14,%r8,1),%r8d - DB 65,15,182,12,14 ; movzbl (%r14,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,193 ; or %r8d,%ecx - DB 102,15,196,193,0 ; pinsrw $0x0,%ecx,%xmm0 - DB 102,15,196,195,1 ; pinsrw $0x1,%ebx,%xmm0 + DB 68,9,203 ; or %r9d,%ebx + DB 102,15,196,195,0 ; pinsrw $0x0,%ebx,%xmm0 + DB 102,15,196,197,1 ; pinsrw $0x1,%ebp,%xmm0 DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 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,4,45,0,0 ; movaps 0x2d04(%rip),%xmm10 # 53f0 <_sk_callback_sse2+0x649> + DB 68,15,40,21,240,49,0,0 ; movaps 0x31f0(%rip),%xmm10 # 5c20 <_sk_callback_sse2+0x677> DB 65,15,89,194 ; mulps %xmm10,%xmm0 DB 65,15,89,200 ; mulps %xmm8,%xmm1 DB 102,15,91,201 ; cvtps2dq %xmm1,%xmm1 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,205 ; movq %xmm1,%rbp + DB 65,137,233 ; mov %ebp,%r9d + DB 72,193,237,32 ; shr $0x20,%rbp DB 102,15,112,201,78 ; pshufd $0x4e,%xmm1,%xmm1 DB 102,72,15,126,203 ; movq %xmm1,%rbx DB 65,137,218 ; mov %ebx,%r10d DB 72,193,235,32 ; shr $0x20,%rbx - DB 71,15,182,20,17 ; movzbl (%r9,%r10,1),%r10d - DB 65,15,182,28,25 ; movzbl (%r9,%rbx,1),%ebx + DB 71,15,182,20,16 ; movzbl (%r8,%r10,1),%r10d + DB 65,15,182,28,24 ; movzbl (%r8,%rbx,1),%ebx DB 193,227,8 ; shl $0x8,%ebx DB 68,9,211 ; or %r10d,%ebx - DB 71,15,182,4,1 ; movzbl (%r9,%r8,1),%r8d - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,193 ; or %r8d,%ecx - DB 102,15,196,201,0 ; pinsrw $0x0,%ecx,%xmm1 + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 65,15,182,44,40 ; movzbl (%r8,%rbp,1),%ebp + DB 193,229,8 ; shl $0x8,%ebp + DB 68,9,205 ; or %r9d,%ebp + DB 102,15,196,205,0 ; pinsrw $0x0,%ebp,%xmm1 DB 102,15,196,203,1 ; pinsrw $0x1,%ebx,%xmm1 DB 102,65,15,96,201 ; punpcklbw %xmm9,%xmm1 DB 102,65,15,97,201 ; punpcklwd %xmm9,%xmm1 @@ -21027,9 +21696,9 @@ _sk_byte_tables_rgb_sse2 LABEL PROC DB 72,139,64,16 ; mov 0x10(%rax),%rax DB 65,15,89,208 ; mulps %xmm8,%xmm2 DB 102,15,91,210 ; cvtps2dq %xmm2,%xmm2 - DB 102,72,15,126,209 ; movq %xmm2,%rcx - DB 65,137,200 ; mov %ecx,%r8d - DB 72,193,233,32 ; shr $0x20,%rcx + DB 102,72,15,126,213 ; movq %xmm2,%rbp + DB 65,137,232 ; mov %ebp,%r8d + DB 72,193,237,32 ; shr $0x20,%rbp DB 102,15,112,210,78 ; pshufd $0x4e,%xmm2,%xmm2 DB 102,72,15,126,211 ; movq %xmm2,%rbx DB 65,137,217 ; mov %ebx,%r9d @@ -21039,7 +21708,7 @@ _sk_byte_tables_rgb_sse2 LABEL PROC DB 193,227,8 ; shl $0x8,%ebx DB 68,9,203 ; or %r9d,%ebx DB 70,15,182,4,0 ; movzbl (%rax,%r8,1),%r8d - DB 15,182,4,8 ; movzbl (%rax,%rcx,1),%eax + DB 15,182,4,40 ; movzbl (%rax,%rbp,1),%eax DB 193,224,8 ; shl $0x8,%eax DB 68,9,192 ; or %r8d,%eax DB 102,15,196,208,0 ; pinsrw $0x0,%eax,%xmm2 @@ -21051,12 +21720,13 @@ _sk_byte_tables_rgb_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 93 ; pop %rbp DB 255,224 ; jmpq *%rax PUBLIC _sk_table_r_sse2 _sk_table_r_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -21066,16 +21736,16 @@ _sk_table_r_sse2 LABEL PROC DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,65,15,112,192,78 ; pshufd $0x4e,%xmm8,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,76,15,126,193 ; movq %xmm8,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,69,15,16,4,137 ; movss (%r9,%rcx,4),%xmm8 - DB 243,65,15,16,4,129 ; movss (%r9,%rax,4),%xmm0 + DB 102,77,15,126,194 ; movq %xmm8,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,71,15,16,4,144 ; movss (%r8,%r10,4),%xmm8 + DB 243,65,15,16,4,128 ; movss (%r8,%rax,4),%xmm0 DB 68,15,20,192 ; unpcklps %xmm0,%xmm8 - DB 243,67,15,16,4,145 ; movss (%r9,%r10,4),%xmm0 - DB 243,71,15,16,12,129 ; movss (%r9,%r8,4),%xmm9 + DB 243,67,15,16,4,152 ; movss (%r8,%r11,4),%xmm0 + DB 243,71,15,16,12,136 ; movss (%r8,%r9,4),%xmm9 DB 65,15,20,193 ; unpcklps %xmm9,%xmm0 DB 65,15,20,192 ; unpcklps %xmm8,%xmm0 DB 72,173 ; lods %ds:(%rsi),%rax @@ -21084,7 +21754,7 @@ _sk_table_r_sse2 LABEL PROC PUBLIC _sk_table_g_sse2 _sk_table_g_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -21094,16 +21764,16 @@ _sk_table_g_sse2 LABEL PROC DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,65,15,112,200,78 ; pshufd $0x4e,%xmm8,%xmm1 DB 102,72,15,126,200 ; movq %xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,76,15,126,193 ; movq %xmm8,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,69,15,16,4,137 ; movss (%r9,%rcx,4),%xmm8 - DB 243,65,15,16,12,129 ; movss (%r9,%rax,4),%xmm1 + DB 102,77,15,126,194 ; movq %xmm8,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,71,15,16,4,144 ; movss (%r8,%r10,4),%xmm8 + DB 243,65,15,16,12,128 ; movss (%r8,%rax,4),%xmm1 DB 68,15,20,193 ; unpcklps %xmm1,%xmm8 - DB 243,67,15,16,12,145 ; movss (%r9,%r10,4),%xmm1 - DB 243,71,15,16,12,129 ; movss (%r9,%r8,4),%xmm9 + DB 243,67,15,16,12,152 ; movss (%r8,%r11,4),%xmm1 + DB 243,71,15,16,12,136 ; movss (%r8,%r9,4),%xmm9 DB 65,15,20,201 ; unpcklps %xmm9,%xmm1 DB 65,15,20,200 ; unpcklps %xmm8,%xmm1 DB 72,173 ; lods %ds:(%rsi),%rax @@ -21112,7 +21782,7 @@ _sk_table_g_sse2 LABEL PROC PUBLIC _sk_table_b_sse2 _sk_table_b_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -21122,16 +21792,16 @@ _sk_table_b_sse2 LABEL PROC DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,65,15,112,208,78 ; pshufd $0x4e,%xmm8,%xmm2 DB 102,72,15,126,208 ; movq %xmm2,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,76,15,126,193 ; movq %xmm8,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,69,15,16,4,137 ; movss (%r9,%rcx,4),%xmm8 - DB 243,65,15,16,20,129 ; movss (%r9,%rax,4),%xmm2 + DB 102,77,15,126,194 ; movq %xmm8,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,71,15,16,4,144 ; movss (%r8,%r10,4),%xmm8 + DB 243,65,15,16,20,128 ; movss (%r8,%rax,4),%xmm2 DB 68,15,20,194 ; unpcklps %xmm2,%xmm8 - DB 243,67,15,16,20,145 ; movss (%r9,%r10,4),%xmm2 - DB 243,71,15,16,12,129 ; movss (%r9,%r8,4),%xmm9 + DB 243,67,15,16,20,152 ; movss (%r8,%r11,4),%xmm2 + DB 243,71,15,16,12,136 ; movss (%r8,%r9,4),%xmm9 DB 65,15,20,209 ; unpcklps %xmm9,%xmm2 DB 65,15,20,208 ; unpcklps %xmm8,%xmm2 DB 72,173 ; lods %ds:(%rsi),%rax @@ -21140,7 +21810,7 @@ _sk_table_b_sse2 LABEL PROC PUBLIC _sk_table_a_sse2 _sk_table_a_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 139,64,8 ; mov 0x8(%rax),%eax DB 255,200 ; dec %eax DB 102,68,15,110,192 ; movd %eax,%xmm8 @@ -21150,16 +21820,16 @@ _sk_table_a_sse2 LABEL PROC DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,65,15,112,216,78 ; pshufd $0x4e,%xmm8,%xmm3 DB 102,72,15,126,216 ; movq %xmm3,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,76,15,126,193 ; movq %xmm8,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,69,15,16,4,137 ; movss (%r9,%rcx,4),%xmm8 - DB 243,65,15,16,28,129 ; movss (%r9,%rax,4),%xmm3 + DB 102,77,15,126,194 ; movq %xmm8,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,71,15,16,4,144 ; movss (%r8,%r10,4),%xmm8 + DB 243,65,15,16,28,128 ; movss (%r8,%rax,4),%xmm3 DB 68,15,20,195 ; unpcklps %xmm3,%xmm8 - DB 243,67,15,16,28,145 ; movss (%r9,%r10,4),%xmm3 - DB 243,71,15,16,12,129 ; movss (%r9,%r8,4),%xmm9 + DB 243,67,15,16,28,152 ; movss (%r8,%r11,4),%xmm3 + DB 243,71,15,16,12,136 ; movss (%r8,%r9,4),%xmm9 DB 65,15,20,217 ; unpcklps %xmm9,%xmm3 DB 65,15,20,216 ; unpcklps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax @@ -21186,15 +21856,15 @@ _sk_parametric_r_sse2 LABEL PROC 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,67,42,0,0 ; mulps 0x2a43(%rip),%xmm9 # 5400 <_sk_callback_sse2+0x659> - DB 68,15,84,21,75,42,0,0 ; andps 0x2a4b(%rip),%xmm10 # 5410 <_sk_callback_sse2+0x669> - DB 68,15,86,21,83,42,0,0 ; orps 0x2a53(%rip),%xmm10 # 5420 <_sk_callback_sse2+0x679> - DB 68,15,88,13,91,42,0,0 ; addps 0x2a5b(%rip),%xmm9 # 5430 <_sk_callback_sse2+0x689> - DB 68,15,40,37,99,42,0,0 ; movaps 0x2a63(%rip),%xmm12 # 5440 <_sk_callback_sse2+0x699> + DB 68,15,89,13,46,47,0,0 ; mulps 0x2f2e(%rip),%xmm9 # 5c30 <_sk_callback_sse2+0x687> + DB 68,15,84,21,54,47,0,0 ; andps 0x2f36(%rip),%xmm10 # 5c40 <_sk_callback_sse2+0x697> + DB 68,15,86,21,62,47,0,0 ; orps 0x2f3e(%rip),%xmm10 # 5c50 <_sk_callback_sse2+0x6a7> + DB 68,15,88,13,70,47,0,0 ; addps 0x2f46(%rip),%xmm9 # 5c60 <_sk_callback_sse2+0x6b7> + DB 68,15,40,37,78,47,0,0 ; movaps 0x2f4e(%rip),%xmm12 # 5c70 <_sk_callback_sse2+0x6c7> DB 69,15,89,226 ; mulps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,88,21,99,42,0,0 ; addps 0x2a63(%rip),%xmm10 # 5450 <_sk_callback_sse2+0x6a9> - DB 68,15,40,37,107,42,0,0 ; movaps 0x2a6b(%rip),%xmm12 # 5460 <_sk_callback_sse2+0x6b9> + DB 68,15,88,21,78,47,0,0 ; addps 0x2f4e(%rip),%xmm10 # 5c80 <_sk_callback_sse2+0x6d7> + DB 68,15,40,37,86,47,0,0 ; movaps 0x2f56(%rip),%xmm12 # 5c90 <_sk_callback_sse2+0x6e7> DB 69,15,94,226 ; divps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 DB 69,15,89,203 ; mulps %xmm11,%xmm9 @@ -21202,22 +21872,22 @@ _sk_parametric_r_sse2 LABEL PROC 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,85,42,0,0 ; movaps 0x2a55(%rip),%xmm10 # 5470 <_sk_callback_sse2+0x6c9> + DB 68,15,40,21,64,47,0,0 ; movaps 0x2f40(%rip),%xmm10 # 5ca0 <_sk_callback_sse2+0x6f7> 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,73,42,0,0 ; addps 0x2a49(%rip),%xmm9 # 5480 <_sk_callback_sse2+0x6d9> - DB 68,15,40,37,81,42,0,0 ; movaps 0x2a51(%rip),%xmm12 # 5490 <_sk_callback_sse2+0x6e9> + DB 68,15,88,13,52,47,0,0 ; addps 0x2f34(%rip),%xmm9 # 5cb0 <_sk_callback_sse2+0x707> + DB 68,15,40,37,60,47,0,0 ; movaps 0x2f3c(%rip),%xmm12 # 5cc0 <_sk_callback_sse2+0x717> DB 69,15,89,229 ; mulps %xmm13,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,40,37,81,42,0,0 ; movaps 0x2a51(%rip),%xmm12 # 54a0 <_sk_callback_sse2+0x6f9> + DB 68,15,40,37,60,47,0,0 ; movaps 0x2f3c(%rip),%xmm12 # 5cd0 <_sk_callback_sse2+0x727> DB 69,15,92,229 ; subps %xmm13,%xmm12 - DB 68,15,40,45,85,42,0,0 ; movaps 0x2a55(%rip),%xmm13 # 54b0 <_sk_callback_sse2+0x709> + DB 68,15,40,45,64,47,0,0 ; movaps 0x2f40(%rip),%xmm13 # 5ce0 <_sk_callback_sse2+0x737> DB 69,15,94,236 ; divps %xmm12,%xmm13 DB 69,15,88,233 ; addps %xmm9,%xmm13 - DB 68,15,89,45,85,42,0,0 ; mulps 0x2a55(%rip),%xmm13 # 54c0 <_sk_callback_sse2+0x719> + DB 68,15,89,45,64,47,0,0 ; mulps 0x2f40(%rip),%xmm13 # 5cf0 <_sk_callback_sse2+0x747> 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 @@ -21251,15 +21921,15 @@ _sk_parametric_g_sse2 LABEL PROC 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,213,41,0,0 ; mulps 0x29d5(%rip),%xmm9 # 54d0 <_sk_callback_sse2+0x729> - DB 68,15,84,21,221,41,0,0 ; andps 0x29dd(%rip),%xmm10 # 54e0 <_sk_callback_sse2+0x739> - DB 68,15,86,21,229,41,0,0 ; orps 0x29e5(%rip),%xmm10 # 54f0 <_sk_callback_sse2+0x749> - DB 68,15,88,13,237,41,0,0 ; addps 0x29ed(%rip),%xmm9 # 5500 <_sk_callback_sse2+0x759> - DB 68,15,40,37,245,41,0,0 ; movaps 0x29f5(%rip),%xmm12 # 5510 <_sk_callback_sse2+0x769> + DB 68,15,89,13,192,46,0,0 ; mulps 0x2ec0(%rip),%xmm9 # 5d00 <_sk_callback_sse2+0x757> + DB 68,15,84,21,200,46,0,0 ; andps 0x2ec8(%rip),%xmm10 # 5d10 <_sk_callback_sse2+0x767> + DB 68,15,86,21,208,46,0,0 ; orps 0x2ed0(%rip),%xmm10 # 5d20 <_sk_callback_sse2+0x777> + DB 68,15,88,13,216,46,0,0 ; addps 0x2ed8(%rip),%xmm9 # 5d30 <_sk_callback_sse2+0x787> + DB 68,15,40,37,224,46,0,0 ; movaps 0x2ee0(%rip),%xmm12 # 5d40 <_sk_callback_sse2+0x797> DB 69,15,89,226 ; mulps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,88,21,245,41,0,0 ; addps 0x29f5(%rip),%xmm10 # 5520 <_sk_callback_sse2+0x779> - DB 68,15,40,37,253,41,0,0 ; movaps 0x29fd(%rip),%xmm12 # 5530 <_sk_callback_sse2+0x789> + DB 68,15,88,21,224,46,0,0 ; addps 0x2ee0(%rip),%xmm10 # 5d50 <_sk_callback_sse2+0x7a7> + DB 68,15,40,37,232,46,0,0 ; movaps 0x2ee8(%rip),%xmm12 # 5d60 <_sk_callback_sse2+0x7b7> DB 69,15,94,226 ; divps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 DB 69,15,89,203 ; mulps %xmm11,%xmm9 @@ -21267,22 +21937,22 @@ _sk_parametric_g_sse2 LABEL PROC 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,231,41,0,0 ; movaps 0x29e7(%rip),%xmm10 # 5540 <_sk_callback_sse2+0x799> + DB 68,15,40,21,210,46,0,0 ; movaps 0x2ed2(%rip),%xmm10 # 5d70 <_sk_callback_sse2+0x7c7> 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,219,41,0,0 ; addps 0x29db(%rip),%xmm9 # 5550 <_sk_callback_sse2+0x7a9> - DB 68,15,40,37,227,41,0,0 ; movaps 0x29e3(%rip),%xmm12 # 5560 <_sk_callback_sse2+0x7b9> + DB 68,15,88,13,198,46,0,0 ; addps 0x2ec6(%rip),%xmm9 # 5d80 <_sk_callback_sse2+0x7d7> + DB 68,15,40,37,206,46,0,0 ; movaps 0x2ece(%rip),%xmm12 # 5d90 <_sk_callback_sse2+0x7e7> DB 69,15,89,229 ; mulps %xmm13,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,40,37,227,41,0,0 ; movaps 0x29e3(%rip),%xmm12 # 5570 <_sk_callback_sse2+0x7c9> + DB 68,15,40,37,206,46,0,0 ; movaps 0x2ece(%rip),%xmm12 # 5da0 <_sk_callback_sse2+0x7f7> DB 69,15,92,229 ; subps %xmm13,%xmm12 - DB 68,15,40,45,231,41,0,0 ; movaps 0x29e7(%rip),%xmm13 # 5580 <_sk_callback_sse2+0x7d9> + DB 68,15,40,45,210,46,0,0 ; movaps 0x2ed2(%rip),%xmm13 # 5db0 <_sk_callback_sse2+0x807> DB 69,15,94,236 ; divps %xmm12,%xmm13 DB 69,15,88,233 ; addps %xmm9,%xmm13 - DB 68,15,89,45,231,41,0,0 ; mulps 0x29e7(%rip),%xmm13 # 5590 <_sk_callback_sse2+0x7e9> + DB 68,15,89,45,210,46,0,0 ; mulps 0x2ed2(%rip),%xmm13 # 5dc0 <_sk_callback_sse2+0x817> 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 @@ -21316,15 +21986,15 @@ _sk_parametric_b_sse2 LABEL PROC 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,103,41,0,0 ; mulps 0x2967(%rip),%xmm9 # 55a0 <_sk_callback_sse2+0x7f9> - DB 68,15,84,21,111,41,0,0 ; andps 0x296f(%rip),%xmm10 # 55b0 <_sk_callback_sse2+0x809> - DB 68,15,86,21,119,41,0,0 ; orps 0x2977(%rip),%xmm10 # 55c0 <_sk_callback_sse2+0x819> - DB 68,15,88,13,127,41,0,0 ; addps 0x297f(%rip),%xmm9 # 55d0 <_sk_callback_sse2+0x829> - DB 68,15,40,37,135,41,0,0 ; movaps 0x2987(%rip),%xmm12 # 55e0 <_sk_callback_sse2+0x839> + DB 68,15,89,13,82,46,0,0 ; mulps 0x2e52(%rip),%xmm9 # 5dd0 <_sk_callback_sse2+0x827> + DB 68,15,84,21,90,46,0,0 ; andps 0x2e5a(%rip),%xmm10 # 5de0 <_sk_callback_sse2+0x837> + DB 68,15,86,21,98,46,0,0 ; orps 0x2e62(%rip),%xmm10 # 5df0 <_sk_callback_sse2+0x847> + DB 68,15,88,13,106,46,0,0 ; addps 0x2e6a(%rip),%xmm9 # 5e00 <_sk_callback_sse2+0x857> + DB 68,15,40,37,114,46,0,0 ; movaps 0x2e72(%rip),%xmm12 # 5e10 <_sk_callback_sse2+0x867> DB 69,15,89,226 ; mulps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,88,21,135,41,0,0 ; addps 0x2987(%rip),%xmm10 # 55f0 <_sk_callback_sse2+0x849> - DB 68,15,40,37,143,41,0,0 ; movaps 0x298f(%rip),%xmm12 # 5600 <_sk_callback_sse2+0x859> + DB 68,15,88,21,114,46,0,0 ; addps 0x2e72(%rip),%xmm10 # 5e20 <_sk_callback_sse2+0x877> + DB 68,15,40,37,122,46,0,0 ; movaps 0x2e7a(%rip),%xmm12 # 5e30 <_sk_callback_sse2+0x887> DB 69,15,94,226 ; divps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 DB 69,15,89,203 ; mulps %xmm11,%xmm9 @@ -21332,22 +22002,22 @@ _sk_parametric_b_sse2 LABEL PROC 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,121,41,0,0 ; movaps 0x2979(%rip),%xmm10 # 5610 <_sk_callback_sse2+0x869> + DB 68,15,40,21,100,46,0,0 ; movaps 0x2e64(%rip),%xmm10 # 5e40 <_sk_callback_sse2+0x897> 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,109,41,0,0 ; addps 0x296d(%rip),%xmm9 # 5620 <_sk_callback_sse2+0x879> - DB 68,15,40,37,117,41,0,0 ; movaps 0x2975(%rip),%xmm12 # 5630 <_sk_callback_sse2+0x889> + DB 68,15,88,13,88,46,0,0 ; addps 0x2e58(%rip),%xmm9 # 5e50 <_sk_callback_sse2+0x8a7> + DB 68,15,40,37,96,46,0,0 ; movaps 0x2e60(%rip),%xmm12 # 5e60 <_sk_callback_sse2+0x8b7> DB 69,15,89,229 ; mulps %xmm13,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,40,37,117,41,0,0 ; movaps 0x2975(%rip),%xmm12 # 5640 <_sk_callback_sse2+0x899> + DB 68,15,40,37,96,46,0,0 ; movaps 0x2e60(%rip),%xmm12 # 5e70 <_sk_callback_sse2+0x8c7> DB 69,15,92,229 ; subps %xmm13,%xmm12 - DB 68,15,40,45,121,41,0,0 ; movaps 0x2979(%rip),%xmm13 # 5650 <_sk_callback_sse2+0x8a9> + DB 68,15,40,45,100,46,0,0 ; movaps 0x2e64(%rip),%xmm13 # 5e80 <_sk_callback_sse2+0x8d7> DB 69,15,94,236 ; divps %xmm12,%xmm13 DB 69,15,88,233 ; addps %xmm9,%xmm13 - DB 68,15,89,45,121,41,0,0 ; mulps 0x2979(%rip),%xmm13 # 5660 <_sk_callback_sse2+0x8b9> + DB 68,15,89,45,100,46,0,0 ; mulps 0x2e64(%rip),%xmm13 # 5e90 <_sk_callback_sse2+0x8e7> 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 @@ -21381,15 +22051,15 @@ _sk_parametric_a_sse2 LABEL PROC 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,249,40,0,0 ; mulps 0x28f9(%rip),%xmm9 # 5670 <_sk_callback_sse2+0x8c9> - DB 68,15,84,21,1,41,0,0 ; andps 0x2901(%rip),%xmm10 # 5680 <_sk_callback_sse2+0x8d9> - DB 68,15,86,21,9,41,0,0 ; orps 0x2909(%rip),%xmm10 # 5690 <_sk_callback_sse2+0x8e9> - DB 68,15,88,13,17,41,0,0 ; addps 0x2911(%rip),%xmm9 # 56a0 <_sk_callback_sse2+0x8f9> - DB 68,15,40,37,25,41,0,0 ; movaps 0x2919(%rip),%xmm12 # 56b0 <_sk_callback_sse2+0x909> + DB 68,15,89,13,228,45,0,0 ; mulps 0x2de4(%rip),%xmm9 # 5ea0 <_sk_callback_sse2+0x8f7> + DB 68,15,84,21,236,45,0,0 ; andps 0x2dec(%rip),%xmm10 # 5eb0 <_sk_callback_sse2+0x907> + DB 68,15,86,21,244,45,0,0 ; orps 0x2df4(%rip),%xmm10 # 5ec0 <_sk_callback_sse2+0x917> + DB 68,15,88,13,252,45,0,0 ; addps 0x2dfc(%rip),%xmm9 # 5ed0 <_sk_callback_sse2+0x927> + DB 68,15,40,37,4,46,0,0 ; movaps 0x2e04(%rip),%xmm12 # 5ee0 <_sk_callback_sse2+0x937> DB 69,15,89,226 ; mulps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,88,21,25,41,0,0 ; addps 0x2919(%rip),%xmm10 # 56c0 <_sk_callback_sse2+0x919> - DB 68,15,40,37,33,41,0,0 ; movaps 0x2921(%rip),%xmm12 # 56d0 <_sk_callback_sse2+0x929> + DB 68,15,88,21,4,46,0,0 ; addps 0x2e04(%rip),%xmm10 # 5ef0 <_sk_callback_sse2+0x947> + DB 68,15,40,37,12,46,0,0 ; movaps 0x2e0c(%rip),%xmm12 # 5f00 <_sk_callback_sse2+0x957> DB 69,15,94,226 ; divps %xmm10,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 DB 69,15,89,203 ; mulps %xmm11,%xmm9 @@ -21397,22 +22067,22 @@ _sk_parametric_a_sse2 LABEL PROC 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,11,41,0,0 ; movaps 0x290b(%rip),%xmm10 # 56e0 <_sk_callback_sse2+0x939> + DB 68,15,40,21,246,45,0,0 ; movaps 0x2df6(%rip),%xmm10 # 5f10 <_sk_callback_sse2+0x967> 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,255,40,0,0 ; addps 0x28ff(%rip),%xmm9 # 56f0 <_sk_callback_sse2+0x949> - DB 68,15,40,37,7,41,0,0 ; movaps 0x2907(%rip),%xmm12 # 5700 <_sk_callback_sse2+0x959> + DB 68,15,88,13,234,45,0,0 ; addps 0x2dea(%rip),%xmm9 # 5f20 <_sk_callback_sse2+0x977> + DB 68,15,40,37,242,45,0,0 ; movaps 0x2df2(%rip),%xmm12 # 5f30 <_sk_callback_sse2+0x987> DB 69,15,89,229 ; mulps %xmm13,%xmm12 DB 69,15,92,204 ; subps %xmm12,%xmm9 - DB 68,15,40,37,7,41,0,0 ; movaps 0x2907(%rip),%xmm12 # 5710 <_sk_callback_sse2+0x969> + DB 68,15,40,37,242,45,0,0 ; movaps 0x2df2(%rip),%xmm12 # 5f40 <_sk_callback_sse2+0x997> DB 69,15,92,229 ; subps %xmm13,%xmm12 - DB 68,15,40,45,11,41,0,0 ; movaps 0x290b(%rip),%xmm13 # 5720 <_sk_callback_sse2+0x979> + DB 68,15,40,45,246,45,0,0 ; movaps 0x2df6(%rip),%xmm13 # 5f50 <_sk_callback_sse2+0x9a7> DB 69,15,94,236 ; divps %xmm12,%xmm13 DB 69,15,88,233 ; addps %xmm9,%xmm13 - DB 68,15,89,45,11,41,0,0 ; mulps 0x290b(%rip),%xmm13 # 5730 <_sk_callback_sse2+0x989> + DB 68,15,89,45,246,45,0,0 ; mulps 0x2df6(%rip),%xmm13 # 5f60 <_sk_callback_sse2+0x9b7> 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 @@ -21427,29 +22097,29 @@ _sk_parametric_a_sse2 LABEL PROC PUBLIC _sk_lab_to_xyz_sse2 _sk_lab_to_xyz_sse2 LABEL PROC - DB 15,89,5,232,40,0,0 ; mulps 0x28e8(%rip),%xmm0 # 5740 <_sk_callback_sse2+0x999> - DB 68,15,40,5,240,40,0,0 ; movaps 0x28f0(%rip),%xmm8 # 5750 <_sk_callback_sse2+0x9a9> + DB 15,89,5,211,45,0,0 ; mulps 0x2dd3(%rip),%xmm0 # 5f70 <_sk_callback_sse2+0x9c7> + DB 68,15,40,5,219,45,0,0 ; movaps 0x2ddb(%rip),%xmm8 # 5f80 <_sk_callback_sse2+0x9d7> DB 65,15,89,200 ; mulps %xmm8,%xmm1 - DB 68,15,40,13,244,40,0,0 ; movaps 0x28f4(%rip),%xmm9 # 5760 <_sk_callback_sse2+0x9b9> + DB 68,15,40,13,223,45,0,0 ; movaps 0x2ddf(%rip),%xmm9 # 5f90 <_sk_callback_sse2+0x9e7> 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,241,40,0,0 ; addps 0x28f1(%rip),%xmm0 # 5770 <_sk_callback_sse2+0x9c9> - DB 15,89,5,250,40,0,0 ; mulps 0x28fa(%rip),%xmm0 # 5780 <_sk_callback_sse2+0x9d9> - DB 15,89,13,3,41,0,0 ; mulps 0x2903(%rip),%xmm1 # 5790 <_sk_callback_sse2+0x9e9> + DB 15,88,5,220,45,0,0 ; addps 0x2ddc(%rip),%xmm0 # 5fa0 <_sk_callback_sse2+0x9f7> + DB 15,89,5,229,45,0,0 ; mulps 0x2de5(%rip),%xmm0 # 5fb0 <_sk_callback_sse2+0xa07> + DB 15,89,13,238,45,0,0 ; mulps 0x2dee(%rip),%xmm1 # 5fc0 <_sk_callback_sse2+0xa17> DB 15,88,200 ; addps %xmm0,%xmm1 - DB 15,89,21,9,41,0,0 ; mulps 0x2909(%rip),%xmm2 # 57a0 <_sk_callback_sse2+0x9f9> + DB 15,89,21,244,45,0,0 ; mulps 0x2df4(%rip),%xmm2 # 5fd0 <_sk_callback_sse2+0xa27> 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,254,40,0,0 ; movaps 0x28fe(%rip),%xmm2 # 57b0 <_sk_callback_sse2+0xa09> + DB 15,40,21,233,45,0,0 ; movaps 0x2de9(%rip),%xmm2 # 5fe0 <_sk_callback_sse2+0xa37> DB 68,15,40,194 ; movaps %xmm2,%xmm8 DB 69,15,194,196,1 ; cmpltps %xmm12,%xmm8 - DB 68,15,40,21,253,40,0,0 ; movaps 0x28fd(%rip),%xmm10 # 57c0 <_sk_callback_sse2+0xa19> + DB 68,15,40,21,232,45,0,0 ; movaps 0x2de8(%rip),%xmm10 # 5ff0 <_sk_callback_sse2+0xa47> DB 65,15,88,202 ; addps %xmm10,%xmm1 - DB 68,15,40,29,1,41,0,0 ; movaps 0x2901(%rip),%xmm11 # 57d0 <_sk_callback_sse2+0xa29> + DB 68,15,40,29,236,45,0,0 ; movaps 0x2dec(%rip),%xmm11 # 6000 <_sk_callback_sse2+0xa57> DB 65,15,89,203 ; mulps %xmm11,%xmm1 DB 69,15,84,224 ; andps %xmm8,%xmm12 DB 68,15,85,193 ; andnps %xmm1,%xmm8 @@ -21473,8 +22143,8 @@ _sk_lab_to_xyz_sse2 LABEL PROC 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,177,40,0,0 ; mulps 0x28b1(%rip),%xmm8 # 57e0 <_sk_callback_sse2+0xa39> - DB 15,89,21,186,40,0,0 ; mulps 0x28ba(%rip),%xmm2 # 57f0 <_sk_callback_sse2+0xa49> + DB 68,15,89,5,156,45,0,0 ; mulps 0x2d9c(%rip),%xmm8 # 6010 <_sk_callback_sse2+0xa67> + DB 15,89,21,165,45,0,0 ; mulps 0x2da5(%rip),%xmm2 # 6020 <_sk_callback_sse2+0xa77> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -21482,23 +22152,46 @@ _sk_lab_to_xyz_sse2 LABEL PROC PUBLIC _sk_load_a8_sse2 _sk_load_a8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,110,4,56 ; movd (%rax,%rdi,1),%xmm0 - DB 102,15,239,201 ; pxor %xmm1,%xmm1 - DB 102,15,96,193 ; punpcklbw %xmm1,%xmm0 - DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,45 ; jne 32ba <_sk_load_a8_sse2+0x37> + DB 102,65,15,110,4,57 ; movd (%r9,%rdi,1),%xmm0 + DB 102,15,96,192 ; punpcklbw %xmm0,%xmm0 + DB 102,15,97,192 ; punpcklwd %xmm0,%xmm0 + DB 102,15,219,5,141,45,0,0 ; pand 0x2d8d(%rip),%xmm0 # 6030 <_sk_callback_sse2+0xa87> DB 15,91,216 ; cvtdq2ps %xmm0,%xmm3 - DB 15,89,29,162,40,0,0 ; mulps 0x28a2(%rip),%xmm3 # 5800 <_sk_callback_sse2+0xa59> + DB 15,89,29,147,45,0,0 ; mulps 0x2d93(%rip),%xmm3 # 6040 <_sk_callback_sse2+0xa97> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 - DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 15,87,201 ; xorps %xmm1,%xmm1 DB 15,87,210 ; xorps %xmm2,%xmm2 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,48 ; je 32fb <_sk_load_a8_sse2+0x78> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 32e6 <_sk_load_a8_sse2+0x63> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,196 ; jne 329b <_sk_load_a8_sse2+0x18> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,192,69 ; pshufd $0x45,%xmm0,%xmm0 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,15,110,200 ; movd %eax,%xmm1 + DB 15,198,200,0 ; shufps $0x0,%xmm0,%xmm1 + DB 15,198,200,226 ; shufps $0xe2,%xmm0,%xmm1 + DB 15,40,193 ; movaps %xmm1,%xmm0 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,15,110,200 ; movd %eax,%xmm1 + DB 243,15,16,193 ; movss %xmm1,%xmm0 + DB 235,145 ; jmp 329b <_sk_load_a8_sse2+0x18> PUBLIC _sk_gather_a8_sse2 _sk_gather_a8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21511,27 +22204,27 @@ _sk_gather_a8_sse2 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax DB 102,15,112,192,78 ; pshufd $0x4e,%xmm0,%xmm0 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 71,15,182,20,17 ; movzbl (%r9,%r10,1),%r10d - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,209 ; or %r10d,%ecx - DB 71,15,182,4,1 ; movzbl (%r9,%r8,1),%r8d - DB 65,15,182,4,1 ; movzbl (%r9,%rax,1),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 71,15,182,28,24 ; movzbl (%r8,%r11,1),%r11d + DB 71,15,182,20,16 ; movzbl (%r8,%r10,1),%r10d + DB 65,193,226,8 ; shl $0x8,%r10d + DB 69,9,218 ; or %r11d,%r10d + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 65,15,182,4,0 ; movzbl (%r8,%rax,1),%eax DB 193,224,8 ; shl $0x8,%eax - DB 68,9,192 ; or %r8d,%eax + DB 68,9,200 ; or %r9d,%eax DB 102,15,196,192,0 ; pinsrw $0x0,%eax,%xmm0 - DB 102,15,196,193,1 ; pinsrw $0x1,%ecx,%xmm0 + DB 102,65,15,196,194,1 ; pinsrw $0x1,%r10d,%xmm0 DB 102,15,239,201 ; pxor %xmm1,%xmm1 DB 102,15,96,193 ; punpcklbw %xmm1,%xmm0 DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 DB 15,91,216 ; cvtdq2ps %xmm0,%xmm3 - DB 15,89,29,17,40,0,0 ; mulps 0x2811(%rip),%xmm3 # 5810 <_sk_callback_sse2+0xa69> + DB 15,89,29,177,44,0,0 ; mulps 0x2cb1(%rip),%xmm3 # 6050 <_sk_callback_sse2+0xaa7> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 DB 102,15,239,201 ; pxor %xmm1,%xmm1 @@ -21540,39 +22233,87 @@ _sk_gather_a8_sse2 LABEL PROC PUBLIC _sk_store_a8_sse2 _sk_store_a8_sse2 LABEL PROC + DB 72,131,236,56 ; sub $0x38,%rsp DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 68,15,40,5,5,40,0,0 ; movaps 0x2805(%rip),%xmm8 # 5820 <_sk_callback_sse2+0xa79> + DB 76,139,8 ; mov (%rax),%r9 + DB 68,15,40,5,161,44,0,0 ; movaps 0x2ca1(%rip),%xmm8 # 6060 <_sk_callback_sse2+0xab7> 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 DB 102,65,15,114,224,16 ; psrad $0x10,%xmm8 DB 102,69,15,107,192 ; packssdw %xmm8,%xmm8 DB 102,69,15,103,192 ; packuswb %xmm8,%xmm8 - DB 102,68,15,126,4,56 ; movd %xmm8,(%rax,%rdi,1) + DB 72,133,201 ; test %rcx,%rcx + DB 117,17 ; jne 33f4 <_sk_store_a8_sse2+0x46> + DB 102,68,15,126,192 ; movd %xmm8,%eax + DB 65,137,4,57 ; mov %eax,(%r9,%rdi,1) DB 72,173 ; lods %ds:(%rsi),%rax + DB 72,131,196,56 ; add $0x38,%rsp DB 255,224 ; jmpq *%rax + DB 102,68,15,96,192 ; punpcklbw %xmm0,%xmm8 + DB 102,68,15,97,192 ; punpcklwd %xmm0,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,44 ; je 3437 <_sk_store_a8_sse2+0x89> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,22 ; je 3427 <_sk_store_a8_sse2+0x79> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,213 ; jne 33ec <_sk_store_a8_sse2+0x3e> + 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,57,2 ; mov %al,0x2(%r9,%rdi,1) + 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,57,1 ; mov %al,0x1(%r9,%rdi,1) + DB 102,68,15,127,4,36 ; movdqa %xmm8,(%rsp) + DB 138,4,36 ; mov (%rsp),%al + DB 65,136,4,57 ; mov %al,(%r9,%rdi,1) + DB 235,166 ; jmp 33ec <_sk_store_a8_sse2+0x3e> PUBLIC _sk_load_g8_sse2 _sk_load_g8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 102,15,110,4,56 ; movd (%rax,%rdi,1),%xmm0 - DB 102,15,239,201 ; pxor %xmm1,%xmm1 - DB 102,15,96,193 ; punpcklbw %xmm1,%xmm0 - DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,49 ; jne 3481 <_sk_load_g8_sse2+0x3b> + DB 102,65,15,110,4,57 ; movd (%r9,%rdi,1),%xmm0 + DB 102,15,96,192 ; punpcklbw %xmm0,%xmm0 + DB 102,15,97,192 ; punpcklwd %xmm0,%xmm0 + DB 102,15,219,5,10,44,0,0 ; pand 0x2c0a(%rip),%xmm0 # 6070 <_sk_callback_sse2+0xac7> DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,204,39,0,0 ; mulps 0x27cc(%rip),%xmm0 # 5830 <_sk_callback_sse2+0xa89> + DB 15,89,5,16,44,0,0 ; mulps 0x2c10(%rip),%xmm0 # 6080 <_sk_callback_sse2+0xad7> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,211,39,0,0 ; movaps 0x27d3(%rip),%xmm3 # 5840 <_sk_callback_sse2+0xa99> + DB 15,40,29,23,44,0,0 ; movaps 0x2c17(%rip),%xmm3 # 6090 <_sk_callback_sse2+0xae7> DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,48 ; je 34c2 <_sk_load_g8_sse2+0x7c> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 34ad <_sk_load_g8_sse2+0x67> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,192 ; jne 345e <_sk_load_g8_sse2+0x18> + DB 65,15,182,68,57,2 ; movzbl 0x2(%r9,%rdi,1),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,192,69 ; pshufd $0x45,%xmm0,%xmm0 + DB 65,15,182,68,57,1 ; movzbl 0x1(%r9,%rdi,1),%eax + DB 102,15,110,200 ; movd %eax,%xmm1 + DB 15,198,200,0 ; shufps $0x0,%xmm0,%xmm1 + DB 15,198,200,226 ; shufps $0xe2,%xmm0,%xmm1 + DB 15,40,193 ; movaps %xmm1,%xmm0 + DB 65,15,182,4,57 ; movzbl (%r9,%rdi,1),%eax + DB 102,15,110,200 ; movd %eax,%xmm1 + DB 243,15,16,193 ; movss %xmm1,%xmm0 + DB 235,141 ; jmp 345e <_sk_load_g8_sse2+0x18> PUBLIC _sk_gather_g8_sse2 _sk_gather_g8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21585,29 +22326,29 @@ _sk_gather_g8_sse2 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax DB 102,15,112,192,78 ; pshufd $0x4e,%xmm0,%xmm0 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 71,15,182,20,17 ; movzbl (%r9,%r10,1),%r10d - DB 65,15,182,12,9 ; movzbl (%r9,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,209 ; or %r10d,%ecx - DB 71,15,182,4,1 ; movzbl (%r9,%r8,1),%r8d - DB 65,15,182,4,1 ; movzbl (%r9,%rax,1),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 71,15,182,28,24 ; movzbl (%r8,%r11,1),%r11d + DB 71,15,182,20,16 ; movzbl (%r8,%r10,1),%r10d + DB 65,193,226,8 ; shl $0x8,%r10d + DB 69,9,218 ; or %r11d,%r10d + DB 71,15,182,12,8 ; movzbl (%r8,%r9,1),%r9d + DB 65,15,182,4,0 ; movzbl (%r8,%rax,1),%eax DB 193,224,8 ; shl $0x8,%eax - DB 68,9,192 ; or %r8d,%eax + DB 68,9,200 ; or %r9d,%eax DB 102,15,196,192,0 ; pinsrw $0x0,%eax,%xmm0 - DB 102,15,196,193,1 ; pinsrw $0x1,%ecx,%xmm0 + DB 102,65,15,196,194,1 ; pinsrw $0x1,%r10d,%xmm0 DB 102,15,239,201 ; pxor %xmm1,%xmm1 DB 102,15,96,193 ; punpcklbw %xmm1,%xmm0 DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,72,39,0,0 ; mulps 0x2748(%rip),%xmm0 # 5850 <_sk_callback_sse2+0xaa9> + DB 15,89,5,58,43,0,0 ; mulps 0x2b3a(%rip),%xmm0 # 60a0 <_sk_callback_sse2+0xaf7> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,79,39,0,0 ; movaps 0x274f(%rip),%xmm3 # 5860 <_sk_callback_sse2+0xab9> + DB 15,40,29,65,43,0,0 ; movaps 0x2b41(%rip),%xmm3 # 60b0 <_sk_callback_sse2+0xb07> DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 DB 255,224 ; jmpq *%rax @@ -21617,11 +22358,13 @@ _sk_gather_i8_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax DB 73,137,192 ; mov %rax,%r8 DB 77,133,192 ; test %r8,%r8 - DB 116,5 ; je 3128 <_sk_gather_i8_sse2+0xf> + DB 116,5 ; je 3586 <_sk_gather_i8_sse2+0xf> DB 76,137,192 ; mov %r8,%rax - DB 235,2 ; jmp 312a <_sk_gather_i8_sse2+0x11> + DB 235,2 ; jmp 3588 <_sk_gather_i8_sse2+0x11> DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,16 ; mov (%rax),%r10 + DB 85 ; push %rbp + DB 83 ; push %rbx + DB 76,139,8 ; mov (%rax),%r9 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21634,22 +22377,22 @@ _sk_gather_i8_sse2 LABEL PROC DB 243,15,91,192 ; cvttps2dq %xmm0,%xmm0 DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,72,15,126,192 ; movq %xmm0,%rax - DB 65,137,193 ; mov %eax,%r9d + DB 65,137,194 ; mov %eax,%r10d DB 72,193,232,32 ; shr $0x20,%rax DB 102,15,112,192,78 ; pshufd $0x4e,%xmm0,%xmm0 - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,203 ; mov %ecx,%r11d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 71,15,182,28,26 ; movzbl (%r10,%r11,1),%r11d - DB 65,15,182,12,10 ; movzbl (%r10,%rcx,1),%ecx - DB 193,225,8 ; shl $0x8,%ecx - DB 68,9,217 ; or %r11d,%ecx - DB 71,15,182,12,10 ; movzbl (%r10,%r9,1),%r9d - DB 65,15,182,4,2 ; movzbl (%r10,%rax,1),%eax + DB 102,73,15,126,195 ; movq %xmm0,%r11 + DB 68,137,219 ; mov %r11d,%ebx + DB 73,193,235,32 ; shr $0x20,%r11 + DB 65,15,182,44,25 ; movzbl (%r9,%rbx,1),%ebp + DB 67,15,182,28,25 ; movzbl (%r9,%r11,1),%ebx + DB 193,227,8 ; shl $0x8,%ebx + DB 9,235 ; or %ebp,%ebx + DB 67,15,182,44,17 ; movzbl (%r9,%r10,1),%ebp + DB 65,15,182,4,1 ; movzbl (%r9,%rax,1),%eax DB 193,224,8 ; shl $0x8,%eax - DB 68,9,200 ; or %r9d,%eax + DB 9,232 ; or %ebp,%eax DB 102,15,196,192,0 ; pinsrw $0x0,%eax,%xmm0 - DB 102,15,196,193,1 ; pinsrw $0x1,%ecx,%xmm0 + DB 102,15,196,195,1 ; pinsrw $0x1,%ebx,%xmm0 DB 102,15,239,201 ; pxor %xmm1,%xmm1 DB 102,15,96,193 ; punpcklbw %xmm1,%xmm0 DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 @@ -21657,22 +22400,22 @@ _sk_gather_i8_sse2 LABEL PROC DB 102,72,15,126,200 ; movq %xmm1,%rax DB 68,15,182,200 ; movzbl %al,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 77,139,64,8 ; mov 0x8(%r8),%r8 - DB 68,15,182,209 ; movzbl %cl,%r10d - DB 72,193,233,30 ; shr $0x1e,%rcx - DB 102,65,15,110,4,8 ; movd (%r8,%rcx,1),%xmm0 - DB 102,65,15,110,12,128 ; movd (%r8,%rax,4),%xmm1 + DB 102,72,15,126,195 ; movq %xmm0,%rbx + DB 73,139,104,8 ; mov 0x8(%r8),%rbp + DB 68,15,182,195 ; movzbl %bl,%r8d + DB 72,193,235,30 ; shr $0x1e,%rbx + DB 102,15,110,68,29,0 ; movd 0x0(%rbp,%rbx,1),%xmm0 + DB 102,15,110,76,133,0 ; movd 0x0(%rbp,%rax,4),%xmm1 DB 102,15,98,193 ; punpckldq %xmm1,%xmm0 - DB 102,71,15,110,12,144 ; movd (%r8,%r10,4),%xmm9 - DB 102,67,15,110,12,136 ; movd (%r8,%r9,4),%xmm1 + DB 102,70,15,110,76,133,0 ; movd 0x0(%rbp,%r8,4),%xmm9 + DB 102,66,15,110,76,141,0 ; movd 0x0(%rbp,%r9,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,110,38,0,0 ; movdqa 0x266e(%rip),%xmm2 # 5870 <_sk_callback_sse2+0xac9> + DB 102,15,111,21,94,42,0,0 ; movdqa 0x2a5e(%rip),%xmm2 # 60c0 <_sk_callback_sse2+0xb17> 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,106,38,0,0 ; movaps 0x266a(%rip),%xmm8 # 5880 <_sk_callback_sse2+0xad9> + DB 68,15,40,5,90,42,0,0 ; movaps 0x2a5a(%rip),%xmm8 # 60d0 <_sk_callback_sse2+0xb27> 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 @@ -21688,34 +22431,58 @@ _sk_gather_i8_sse2 LABEL PROC DB 65,15,91,217 ; cvtdq2ps %xmm9,%xmm3 DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax + DB 91 ; pop %rbx + DB 93 ; pop %rbp DB 255,224 ; jmpq *%rax PUBLIC _sk_load_565_sse2 _sk_load_565_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 243,15,126,20,120 ; movq (%rax,%rdi,2),%xmm2 - DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,83 ; jne 3715 <_sk_load_565_sse2+0x5d> + DB 243,65,15,126,20,121 ; movq (%r9,%rdi,2),%xmm2 DB 102,15,97,208 ; punpcklwd %xmm0,%xmm2 - DB 102,15,111,5,32,38,0,0 ; movdqa 0x2620(%rip),%xmm0 # 5890 <_sk_callback_sse2+0xae9> + DB 102,15,111,5,12,42,0,0 ; movdqa 0x2a0c(%rip),%xmm0 # 60e0 <_sk_callback_sse2+0xb37> DB 102,15,219,194 ; pand %xmm2,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,34,38,0,0 ; mulps 0x2622(%rip),%xmm0 # 58a0 <_sk_callback_sse2+0xaf9> - DB 102,15,111,13,42,38,0,0 ; movdqa 0x262a(%rip),%xmm1 # 58b0 <_sk_callback_sse2+0xb09> + DB 15,89,5,14,42,0,0 ; mulps 0x2a0e(%rip),%xmm0 # 60f0 <_sk_callback_sse2+0xb47> + DB 102,15,111,13,22,42,0,0 ; movdqa 0x2a16(%rip),%xmm1 # 6100 <_sk_callback_sse2+0xb57> DB 102,15,219,202 ; pand %xmm2,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,44,38,0,0 ; mulps 0x262c(%rip),%xmm1 # 58c0 <_sk_callback_sse2+0xb19> - DB 102,15,219,21,52,38,0,0 ; pand 0x2634(%rip),%xmm2 # 58d0 <_sk_callback_sse2+0xb29> + DB 15,89,13,24,42,0,0 ; mulps 0x2a18(%rip),%xmm1 # 6110 <_sk_callback_sse2+0xb67> + DB 102,15,219,21,32,42,0,0 ; pand 0x2a20(%rip),%xmm2 # 6120 <_sk_callback_sse2+0xb77> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,58,38,0,0 ; mulps 0x263a(%rip),%xmm2 # 58e0 <_sk_callback_sse2+0xb39> + DB 15,89,21,38,42,0,0 ; mulps 0x2a26(%rip),%xmm2 # 6130 <_sk_callback_sse2+0xb87> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,65,38,0,0 ; movaps 0x2641(%rip),%xmm3 # 58f0 <_sk_callback_sse2+0xb49> + DB 15,40,29,45,42,0,0 ; movaps 0x2a2d(%rip),%xmm3 # 6140 <_sk_callback_sse2+0xb97> DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,210 ; pxor %xmm2,%xmm2 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,48 ; je 3756 <_sk_load_565_sse2+0x9e> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 3741 <_sk_load_565_sse2+0x89> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,154 ; jne 36cc <_sk_load_565_sse2+0x14> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,208,69 ; pshufd $0x45,%xmm0,%xmm2 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 15,198,194,0 ; shufps $0x0,%xmm2,%xmm0 + DB 15,198,194,226 ; shufps $0xe2,%xmm2,%xmm0 + DB 15,40,208 ; movaps %xmm0,%xmm2 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 243,15,16,208 ; movss %xmm0,%xmm2 + DB 233,100,255,255,255 ; jmpq 36cc <_sk_load_565_sse2+0x14> PUBLIC _sk_gather_565_sse2 _sk_gather_565_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21729,44 +22496,44 @@ _sk_gather_565_sse2 LABEL PROC DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 DB 102,72,15,126,200 ; movq %xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,196,20,81,0 ; pinsrw $0x0,(%r9,%r10,2),%xmm2 - DB 102,65,15,196,20,73,1 ; pinsrw $0x1,(%r9,%rcx,2),%xmm2 - DB 67,15,183,12,65 ; movzwl (%r9,%r8,2),%ecx - DB 102,15,196,209,2 ; pinsrw $0x2,%ecx,%xmm2 - DB 65,15,183,4,65 ; movzwl (%r9,%rax,2),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,196,20,88,0 ; pinsrw $0x0,(%r8,%r11,2),%xmm2 + DB 102,67,15,196,20,80,1 ; pinsrw $0x1,(%r8,%r10,2),%xmm2 + DB 71,15,183,12,72 ; movzwl (%r8,%r9,2),%r9d + DB 102,65,15,196,209,2 ; pinsrw $0x2,%r9d,%xmm2 + DB 65,15,183,4,64 ; movzwl (%r8,%rax,2),%eax DB 102,15,196,208,3 ; pinsrw $0x3,%eax,%xmm2 DB 102,15,239,192 ; pxor %xmm0,%xmm0 DB 102,15,97,208 ; punpcklwd %xmm0,%xmm2 - DB 102,15,111,5,202,37,0,0 ; movdqa 0x25ca(%rip),%xmm0 # 5900 <_sk_callback_sse2+0xb59> + DB 102,15,111,5,98,41,0,0 ; movdqa 0x2962(%rip),%xmm0 # 6150 <_sk_callback_sse2+0xba7> DB 102,15,219,194 ; pand %xmm2,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,204,37,0,0 ; mulps 0x25cc(%rip),%xmm0 # 5910 <_sk_callback_sse2+0xb69> - DB 102,15,111,13,212,37,0,0 ; movdqa 0x25d4(%rip),%xmm1 # 5920 <_sk_callback_sse2+0xb79> + DB 15,89,5,100,41,0,0 ; mulps 0x2964(%rip),%xmm0 # 6160 <_sk_callback_sse2+0xbb7> + DB 102,15,111,13,108,41,0,0 ; movdqa 0x296c(%rip),%xmm1 # 6170 <_sk_callback_sse2+0xbc7> DB 102,15,219,202 ; pand %xmm2,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,214,37,0,0 ; mulps 0x25d6(%rip),%xmm1 # 5930 <_sk_callback_sse2+0xb89> - DB 102,15,219,21,222,37,0,0 ; pand 0x25de(%rip),%xmm2 # 5940 <_sk_callback_sse2+0xb99> + DB 15,89,13,110,41,0,0 ; mulps 0x296e(%rip),%xmm1 # 6180 <_sk_callback_sse2+0xbd7> + DB 102,15,219,21,118,41,0,0 ; pand 0x2976(%rip),%xmm2 # 6190 <_sk_callback_sse2+0xbe7> DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,228,37,0,0 ; mulps 0x25e4(%rip),%xmm2 # 5950 <_sk_callback_sse2+0xba9> + DB 15,89,21,124,41,0,0 ; mulps 0x297c(%rip),%xmm2 # 61a0 <_sk_callback_sse2+0xbf7> DB 72,173 ; lods %ds:(%rsi),%rax - DB 15,40,29,235,37,0,0 ; movaps 0x25eb(%rip),%xmm3 # 5960 <_sk_callback_sse2+0xbb9> + DB 15,40,29,131,41,0,0 ; movaps 0x2983(%rip),%xmm3 # 61b0 <_sk_callback_sse2+0xc07> DB 255,224 ; jmpq *%rax PUBLIC _sk_store_565_sse2 _sk_store_565_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 68,15,40,5,236,37,0,0 ; movaps 0x25ec(%rip),%xmm8 # 5970 <_sk_callback_sse2+0xbc9> + DB 76,139,8 ; mov (%rax),%r9 + DB 68,15,40,5,132,41,0,0 ; movaps 0x2984(%rip),%xmm8 # 61c0 <_sk_callback_sse2+0xc17> 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,225,37,0,0 ; movaps 0x25e1(%rip),%xmm10 # 5980 <_sk_callback_sse2+0xbd9> + DB 68,15,40,21,121,41,0,0 ; movaps 0x2979(%rip),%xmm10 # 61d0 <_sk_callback_sse2+0xc27> 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 @@ -21777,39 +22544,79 @@ _sk_store_565_sse2 LABEL PROC DB 102,65,15,114,240,16 ; pslld $0x10,%xmm8 DB 102,65,15,114,224,16 ; psrad $0x10,%xmm8 DB 102,69,15,107,192 ; packssdw %xmm8,%xmm8 - DB 102,68,15,214,4,120 ; movq %xmm8,(%rax,%rdi,2) + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 3899 <_sk_store_565_sse2+0x6a> + DB 242,69,15,17,4,121 ; movsd %xmm8,(%r9,%rdi,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,68,15,97,192 ; punpcklwd %xmm0,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,36 ; je 38cf <_sk_store_565_sse2+0xa0> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,18 ; je 38c3 <_sk_store_565_sse2+0x94> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,222 ; jne 3895 <_sk_store_565_sse2+0x66> + DB 102,65,15,197,192,4 ; pextrw $0x4,%xmm8,%eax + DB 102,65,137,68,121,4 ; mov %ax,0x4(%r9,%rdi,2) + DB 102,65,15,197,192,2 ; pextrw $0x2,%xmm8,%eax + DB 102,65,137,68,121,2 ; mov %ax,0x2(%r9,%rdi,2) + DB 102,68,15,126,192 ; movd %xmm8,%eax + DB 102,65,137,4,121 ; mov %ax,(%r9,%rdi,2) + DB 235,186 ; jmp 3895 <_sk_store_565_sse2+0x66> PUBLIC _sk_load_4444_sse2 _sk_load_4444_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 243,15,126,28,120 ; movq (%rax,%rdi,2),%xmm3 - DB 102,15,239,192 ; pxor %xmm0,%xmm0 + DB 76,139,8 ; mov (%rax),%r9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,98 ; jne 3947 <_sk_load_4444_sse2+0x6c> + DB 243,65,15,126,28,121 ; movq (%r9,%rdi,2),%xmm3 DB 102,15,97,216 ; punpcklwd %xmm0,%xmm3 - DB 102,15,111,5,154,37,0,0 ; movdqa 0x259a(%rip),%xmm0 # 5990 <_sk_callback_sse2+0xbe9> + DB 102,15,111,5,233,40,0,0 ; movdqa 0x28e9(%rip),%xmm0 # 61e0 <_sk_callback_sse2+0xc37> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,156,37,0,0 ; mulps 0x259c(%rip),%xmm0 # 59a0 <_sk_callback_sse2+0xbf9> - DB 102,15,111,13,164,37,0,0 ; movdqa 0x25a4(%rip),%xmm1 # 59b0 <_sk_callback_sse2+0xc09> + DB 15,89,5,235,40,0,0 ; mulps 0x28eb(%rip),%xmm0 # 61f0 <_sk_callback_sse2+0xc47> + DB 102,15,111,13,243,40,0,0 ; movdqa 0x28f3(%rip),%xmm1 # 6200 <_sk_callback_sse2+0xc57> DB 102,15,219,203 ; pand %xmm3,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,166,37,0,0 ; mulps 0x25a6(%rip),%xmm1 # 59c0 <_sk_callback_sse2+0xc19> - DB 102,15,111,21,174,37,0,0 ; movdqa 0x25ae(%rip),%xmm2 # 59d0 <_sk_callback_sse2+0xc29> + DB 15,89,13,245,40,0,0 ; mulps 0x28f5(%rip),%xmm1 # 6210 <_sk_callback_sse2+0xc67> + DB 102,15,111,21,253,40,0,0 ; movdqa 0x28fd(%rip),%xmm2 # 6220 <_sk_callback_sse2+0xc77> DB 102,15,219,211 ; pand %xmm3,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,176,37,0,0 ; mulps 0x25b0(%rip),%xmm2 # 59e0 <_sk_callback_sse2+0xc39> - DB 102,15,219,29,184,37,0,0 ; pand 0x25b8(%rip),%xmm3 # 59f0 <_sk_callback_sse2+0xc49> + DB 15,89,21,255,40,0,0 ; mulps 0x28ff(%rip),%xmm2 # 6230 <_sk_callback_sse2+0xc87> + DB 102,15,219,29,7,41,0,0 ; pand 0x2907(%rip),%xmm3 # 6240 <_sk_callback_sse2+0xc97> DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 - DB 15,89,29,190,37,0,0 ; mulps 0x25be(%rip),%xmm3 # 5a00 <_sk_callback_sse2+0xc59> + DB 15,89,29,13,41,0,0 ; mulps 0x290d(%rip),%xmm3 # 6250 <_sk_callback_sse2+0xca7> DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,15,239,219 ; pxor %xmm3,%xmm3 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,48 ; je 3988 <_sk_load_4444_sse2+0xad> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,21 ; je 3973 <_sk_load_4444_sse2+0x98> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,139 ; jne 38ef <_sk_load_4444_sse2+0x14> + DB 65,15,183,68,121,4 ; movzwl 0x4(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 102,15,112,216,69 ; pshufd $0x45,%xmm0,%xmm3 + DB 65,15,183,68,121,2 ; movzwl 0x2(%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 15,198,195,0 ; shufps $0x0,%xmm3,%xmm0 + DB 15,198,195,226 ; shufps $0xe2,%xmm3,%xmm0 + DB 15,40,216 ; movaps %xmm0,%xmm3 + DB 65,15,183,4,121 ; movzwl (%r9,%rdi,2),%eax + DB 102,15,110,192 ; movd %eax,%xmm0 + DB 243,15,16,216 ; movss %xmm0,%xmm3 + DB 233,85,255,255,255 ; jmpq 38ef <_sk_load_4444_sse2+0x14> PUBLIC _sk_gather_4444_sse2 _sk_gather_4444_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21823,42 +22630,42 @@ _sk_gather_4444_sse2 LABEL PROC DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 DB 102,72,15,126,200 ; movq %xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,67,15,196,28,81,0 ; pinsrw $0x0,(%r9,%r10,2),%xmm3 - DB 102,65,15,196,28,73,1 ; pinsrw $0x1,(%r9,%rcx,2),%xmm3 - DB 67,15,183,12,65 ; movzwl (%r9,%r8,2),%ecx - DB 102,15,196,217,2 ; pinsrw $0x2,%ecx,%xmm3 - DB 65,15,183,4,65 ; movzwl (%r9,%rax,2),%eax + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,196,28,88,0 ; pinsrw $0x0,(%r8,%r11,2),%xmm3 + DB 102,67,15,196,28,80,1 ; pinsrw $0x1,(%r8,%r10,2),%xmm3 + DB 71,15,183,12,72 ; movzwl (%r8,%r9,2),%r9d + DB 102,65,15,196,217,2 ; pinsrw $0x2,%r9d,%xmm3 + DB 65,15,183,4,64 ; movzwl (%r8,%rax,2),%eax DB 102,15,196,216,3 ; pinsrw $0x3,%eax,%xmm3 DB 102,15,239,192 ; pxor %xmm0,%xmm0 DB 102,15,97,216 ; punpcklwd %xmm0,%xmm3 - DB 102,15,111,5,69,37,0,0 ; movdqa 0x2545(%rip),%xmm0 # 5a10 <_sk_callback_sse2+0xc69> + DB 102,15,111,5,64,40,0,0 ; movdqa 0x2840(%rip),%xmm0 # 6260 <_sk_callback_sse2+0xcb7> DB 102,15,219,195 ; pand %xmm3,%xmm0 DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 15,89,5,71,37,0,0 ; mulps 0x2547(%rip),%xmm0 # 5a20 <_sk_callback_sse2+0xc79> - DB 102,15,111,13,79,37,0,0 ; movdqa 0x254f(%rip),%xmm1 # 5a30 <_sk_callback_sse2+0xc89> + DB 15,89,5,66,40,0,0 ; mulps 0x2842(%rip),%xmm0 # 6270 <_sk_callback_sse2+0xcc7> + DB 102,15,111,13,74,40,0,0 ; movdqa 0x284a(%rip),%xmm1 # 6280 <_sk_callback_sse2+0xcd7> DB 102,15,219,203 ; pand %xmm3,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 - DB 15,89,13,81,37,0,0 ; mulps 0x2551(%rip),%xmm1 # 5a40 <_sk_callback_sse2+0xc99> - DB 102,15,111,21,89,37,0,0 ; movdqa 0x2559(%rip),%xmm2 # 5a50 <_sk_callback_sse2+0xca9> + DB 15,89,13,76,40,0,0 ; mulps 0x284c(%rip),%xmm1 # 6290 <_sk_callback_sse2+0xce7> + DB 102,15,111,21,84,40,0,0 ; movdqa 0x2854(%rip),%xmm2 # 62a0 <_sk_callback_sse2+0xcf7> DB 102,15,219,211 ; pand %xmm3,%xmm2 DB 15,91,210 ; cvtdq2ps %xmm2,%xmm2 - DB 15,89,21,91,37,0,0 ; mulps 0x255b(%rip),%xmm2 # 5a60 <_sk_callback_sse2+0xcb9> - DB 102,15,219,29,99,37,0,0 ; pand 0x2563(%rip),%xmm3 # 5a70 <_sk_callback_sse2+0xcc9> + DB 15,89,21,86,40,0,0 ; mulps 0x2856(%rip),%xmm2 # 62b0 <_sk_callback_sse2+0xd07> + DB 102,15,219,29,94,40,0,0 ; pand 0x285e(%rip),%xmm3 # 62c0 <_sk_callback_sse2+0xd17> DB 15,91,219 ; cvtdq2ps %xmm3,%xmm3 - DB 15,89,29,105,37,0,0 ; mulps 0x2569(%rip),%xmm3 # 5a80 <_sk_callback_sse2+0xcd9> + DB 15,89,29,100,40,0,0 ; mulps 0x2864(%rip),%xmm3 # 62d0 <_sk_callback_sse2+0xd27> DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax PUBLIC _sk_store_4444_sse2 _sk_store_4444_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 68,15,40,5,104,37,0,0 ; movaps 0x2568(%rip),%xmm8 # 5a90 <_sk_callback_sse2+0xce9> + DB 76,139,8 ; mov (%rax),%r9 + DB 68,15,40,5,99,40,0,0 ; movaps 0x2863(%rip),%xmm8 # 62e0 <_sk_callback_sse2+0xd37> 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 @@ -21879,27 +22686,47 @@ _sk_store_4444_sse2 LABEL PROC DB 102,65,15,114,240,16 ; pslld $0x10,%xmm8 DB 102,65,15,114,224,16 ; psrad $0x10,%xmm8 DB 102,69,15,107,192 ; packssdw %xmm8,%xmm8 - DB 102,68,15,214,4,120 ; movq %xmm8,(%rax,%rdi,2) + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 3aee <_sk_store_4444_sse2+0x7e> + DB 242,69,15,17,4,121 ; movsd %xmm8,(%r9,%rdi,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,68,15,97,192 ; punpcklwd %xmm0,%xmm8 + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,36 ; je 3b24 <_sk_store_4444_sse2+0xb4> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,18 ; je 3b18 <_sk_store_4444_sse2+0xa8> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,222 ; jne 3aea <_sk_store_4444_sse2+0x7a> + DB 102,65,15,197,192,4 ; pextrw $0x4,%xmm8,%eax + DB 102,65,137,68,121,4 ; mov %ax,0x4(%r9,%rdi,2) + DB 102,65,15,197,192,2 ; pextrw $0x2,%xmm8,%eax + DB 102,65,137,68,121,2 ; mov %ax,0x2(%r9,%rdi,2) + DB 102,68,15,126,192 ; movd %xmm8,%eax + DB 102,65,137,4,121 ; mov %ax,(%r9,%rdi,2) + DB 235,186 ; jmp 3aea <_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 68,15,16,12,184 ; movups (%rax,%rdi,4),%xmm9 - DB 15,40,21,251,36,0,0 ; movaps 0x24fb(%rip),%xmm2 # 5aa0 <_sk_callback_sse2+0xcf9> - DB 65,15,40,193 ; movaps %xmm9,%xmm0 - DB 15,84,194 ; andps %xmm2,%xmm0 + DB 72,133,201 ; test %rcx,%rcx + DB 117,98 ; jne 3b9c <_sk_load_8888_sse2+0x6c> + DB 243,68,15,111,12,184 ; movdqu (%rax,%rdi,4),%xmm9 + DB 102,15,111,21,168,39,0,0 ; movdqa 0x27a8(%rip),%xmm2 # 62f0 <_sk_callback_sse2+0xd47> + 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,249,36,0,0 ; movaps 0x24f9(%rip),%xmm8 # 5ab0 <_sk_callback_sse2+0xd09> + DB 68,15,40,5,164,39,0,0 ; movaps 0x27a4(%rip),%xmm8 # 6300 <_sk_callback_sse2+0xd57> DB 65,15,89,192 ; mulps %xmm8,%xmm0 - DB 65,15,40,201 ; movaps %xmm9,%xmm1 + DB 102,65,15,111,201 ; movdqa %xmm9,%xmm1 DB 102,15,114,209,8 ; psrld $0x8,%xmm1 DB 102,15,219,202 ; pand %xmm2,%xmm1 DB 15,91,201 ; cvtdq2ps %xmm1,%xmm1 DB 65,15,89,200 ; mulps %xmm8,%xmm1 - DB 65,15,40,217 ; movaps %xmm9,%xmm3 + DB 102,65,15,111,217 ; movdqa %xmm9,%xmm3 DB 102,15,114,211,16 ; psrld $0x10,%xmm3 DB 102,15,219,218 ; pand %xmm2,%xmm3 DB 15,91,211 ; cvtdq2ps %xmm3,%xmm2 @@ -21909,11 +22736,29 @@ _sk_load_8888_sse2 LABEL PROC DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 102,69,15,239,201 ; pxor %xmm9,%xmm9 + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,44 ; je 3bda <_sk_load_8888_sse2+0xaa> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,18 ; je 3bc6 <_sk_load_8888_sse2+0x96> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,134 ; jne 3b40 <_sk_load_8888_sse2+0x10> + DB 102,15,110,68,184,8 ; movd 0x8(%rax,%rdi,4),%xmm0 + DB 102,68,15,112,200,69 ; pshufd $0x45,%xmm0,%xmm9 + DB 243,15,16,68,184,4 ; movss 0x4(%rax,%rdi,4),%xmm0 + DB 65,15,198,193,0 ; shufps $0x0,%xmm9,%xmm0 + DB 65,15,198,193,226 ; shufps $0xe2,%xmm9,%xmm0 + DB 68,15,40,200 ; movaps %xmm0,%xmm9 + DB 243,15,16,4,184 ; movss (%rax,%rdi,4),%xmm0 + DB 243,68,15,16,200 ; movss %xmm0,%xmm9 + DB 233,87,255,255,255 ; jmpq 3b40 <_sk_load_8888_sse2+0x10> PUBLIC _sk_gather_8888_sse2 _sk_gather_8888_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -21927,23 +22772,23 @@ _sk_gather_8888_sse2 LABEL PROC DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 DB 102,72,15,126,200 ; movq %xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 102,65,15,110,4,137 ; movd (%r9,%rcx,4),%xmm0 - DB 102,65,15,110,12,129 ; movd (%r9,%rax,4),%xmm1 + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 102,67,15,110,4,144 ; movd (%r8,%r10,4),%xmm0 + DB 102,65,15,110,12,128 ; movd (%r8,%rax,4),%xmm1 DB 102,15,98,193 ; punpckldq %xmm1,%xmm0 - DB 102,71,15,110,12,145 ; movd (%r9,%r10,4),%xmm9 - DB 102,67,15,110,12,129 ; movd (%r9,%r8,4),%xmm1 + DB 102,71,15,110,12,152 ; movd (%r8,%r11,4),%xmm9 + DB 102,67,15,110,12,136 ; movd (%r8,%r9,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,74,36,0,0 ; movdqa 0x244a(%rip),%xmm2 # 5ac0 <_sk_callback_sse2+0xd19> + DB 102,15,111,21,166,38,0,0 ; movdqa 0x26a6(%rip),%xmm2 # 6310 <_sk_callback_sse2+0xd67> 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,70,36,0,0 ; movaps 0x2446(%rip),%xmm8 # 5ad0 <_sk_callback_sse2+0xd29> + DB 68,15,40,5,162,38,0,0 ; movaps 0x26a2(%rip),%xmm8 # 6320 <_sk_callback_sse2+0xd77> 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 @@ -21965,7 +22810,7 @@ PUBLIC _sk_store_8888_sse2 _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,9,36,0,0 ; movaps 0x2409(%rip),%xmm8 # 5ae0 <_sk_callback_sse2+0xd39> + DB 68,15,40,5,101,38,0,0 ; movaps 0x2665(%rip),%xmm8 # 6330 <_sk_callback_sse2+0xd87> 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 @@ -21983,17 +22828,35 @@ _sk_store_8888_sse2 LABEL PROC DB 102,65,15,114,240,24 ; pslld $0x18,%xmm8 DB 102,69,15,235,193 ; por %xmm9,%xmm8 DB 102,69,15,235,194 ; por %xmm10,%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 117,10 ; jne 3d2b <_sk_store_8888_sse2+0x6d> DB 243,68,15,127,4,184 ; movdqu %xmm8,(%rax,%rdi,4) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 65,137,200 ; mov %ecx,%r8d + DB 65,128,224,3 ; and $0x3,%r8b + DB 65,128,248,1 ; cmp $0x1,%r8b + DB 116,38 ; je 3d5e <_sk_store_8888_sse2+0xa0> + DB 65,128,248,2 ; cmp $0x2,%r8b + DB 116,19 ; je 3d51 <_sk_store_8888_sse2+0x93> + DB 65,128,248,3 ; cmp $0x3,%r8b + DB 117,227 ; jne 3d27 <_sk_store_8888_sse2+0x69> + DB 102,69,15,112,200,78 ; pshufd $0x4e,%xmm8,%xmm9 + DB 102,68,15,126,76,184,8 ; movd %xmm9,0x8(%rax,%rdi,4) + DB 102,69,15,112,200,229 ; pshufd $0xe5,%xmm8,%xmm9 + DB 102,68,15,126,76,184,4 ; movd %xmm9,0x4(%rax,%rdi,4) + DB 102,68,15,126,4,184 ; movd %xmm8,(%rax,%rdi,4) + DB 235,193 ; jmp 3d27 <_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 243,15,111,4,248 ; movdqu (%rax,%rdi,8),%xmm0 - DB 243,15,111,76,248,16 ; movdqu 0x10(%rax,%rdi,8),%xmm1 - DB 102,68,15,111,192 ; movdqa %xmm0,%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,96,1,0,0 ; jne 3ed4 <_sk_load_f16_sse2+0x16e> + DB 102,15,16,4,248 ; movupd (%rax,%rdi,8),%xmm0 + DB 102,15,16,76,248,16 ; movupd 0x10(%rax,%rdi,8),%xmm1 + DB 102,68,15,40,192 ; movapd %xmm0,%xmm8 DB 102,68,15,97,193 ; punpcklwd %xmm1,%xmm8 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,69,15,111,240 ; movdqa %xmm8,%xmm14 @@ -22002,7 +22865,7 @@ _sk_load_f16_sse2 LABEL PROC 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,121,35,0,0 ; movdqa 0x2379(%rip),%xmm9 # 5af0 <_sk_callback_sse2+0xd49> + DB 102,68,15,111,13,140,37,0,0 ; movdqa 0x258c(%rip),%xmm9 # 6340 <_sk_callback_sse2+0xd97> 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 @@ -22010,11 +22873,11 @@ _sk_load_f16_sse2 LABEL PROC 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,94,35,0,0 ; movdqa 0x235e(%rip),%xmm11 # 5b00 <_sk_callback_sse2+0xd59> + DB 102,68,15,111,29,113,37,0,0 ; movdqa 0x2571(%rip),%xmm11 # 6350 <_sk_callback_sse2+0xda7> DB 102,69,15,254,235 ; paddd %xmm11,%xmm13 - DB 102,68,15,111,37,96,35,0,0 ; movdqa 0x2360(%rip),%xmm12 # 5b10 <_sk_callback_sse2+0xd69> + DB 102,68,15,111,37,115,37,0,0 ; movdqa 0x2573(%rip),%xmm12 # 6360 <_sk_callback_sse2+0xdb7> DB 102,65,15,239,204 ; pxor %xmm12,%xmm1 - DB 102,15,111,29,99,35,0,0 ; movdqa 0x2363(%rip),%xmm3 # 5b20 <_sk_callback_sse2+0xd79> + DB 102,15,111,29,118,37,0,0 ; movdqa 0x2576(%rip),%xmm3 # 6370 <_sk_callback_sse2+0xdc7> 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 @@ -22060,11 +22923,24 @@ _sk_load_f16_sse2 LABEL PROC DB 102,65,15,223,218 ; pandn %xmm10,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 242,15,16,4,248 ; movsd (%rax,%rdi,8),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,17 ; jne 3ef0 <_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 3d7f <_sk_load_f16_sse2+0x19> + DB 102,15,22,68,248,8 ; movhpd 0x8(%rax,%rdi,8),%xmm0 + DB 102,15,87,201 ; xorpd %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,123,254,255,255 ; jb 3d7f <_sk_load_f16_sse2+0x19> + DB 242,15,16,76,248,16 ; movsd 0x10(%rax,%rdi,8),%xmm1 + DB 233,112,254,255,255 ; jmpq 3d7f <_sk_load_f16_sse2+0x19> PUBLIC _sk_gather_f16_sse2 _sk_gather_f16_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 76,139,8 ; mov (%rax),%r9 + DB 76,139,0 ; mov (%rax),%r8 DB 243,15,91,201 ; cvttps2dq %xmm1,%xmm1 DB 102,15,110,80,16 ; movd 0x10(%rax),%xmm2 DB 102,15,112,210,0 ; pshufd $0x0,%xmm2,%xmm2 @@ -22078,16 +22954,16 @@ _sk_gather_f16_sse2 LABEL PROC DB 102,15,254,193 ; paddd %xmm1,%xmm0 DB 102,15,112,200,78 ; pshufd $0x4e,%xmm0,%xmm1 DB 102,72,15,126,200 ; movq %xmm1,%rax - DB 65,137,192 ; mov %eax,%r8d + DB 65,137,193 ; mov %eax,%r9d DB 72,193,232,32 ; shr $0x20,%rax - DB 102,72,15,126,193 ; movq %xmm0,%rcx - DB 65,137,202 ; mov %ecx,%r10d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,65,15,126,4,201 ; movq (%r9,%rcx,8),%xmm0 - DB 243,67,15,126,12,209 ; movq (%r9,%r10,8),%xmm1 + DB 102,73,15,126,194 ; movq %xmm0,%r10 + DB 69,137,211 ; mov %r10d,%r11d + DB 73,193,234,32 ; shr $0x20,%r10 + DB 243,67,15,126,4,208 ; movq (%r8,%r10,8),%xmm0 + DB 243,67,15,126,12,216 ; movq (%r8,%r11,8),%xmm1 DB 102,15,108,200 ; punpcklqdq %xmm0,%xmm1 - DB 243,65,15,126,4,193 ; movq (%r9,%rax,8),%xmm0 - DB 243,67,15,126,20,193 ; movq (%r9,%r8,8),%xmm2 + DB 243,65,15,126,4,192 ; movq (%r8,%rax,8),%xmm0 + DB 243,67,15,126,20,200 ; movq (%r8,%r9,8),%xmm2 DB 102,15,108,208 ; punpcklqdq %xmm0,%xmm2 DB 102,68,15,111,193 ; movdqa %xmm1,%xmm8 DB 102,68,15,97,194 ; punpcklwd %xmm2,%xmm8 @@ -22098,7 +22974,7 @@ _sk_gather_f16_sse2 LABEL PROC 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,241,33,0,0 ; movdqa 0x21f1(%rip),%xmm9 # 5b30 <_sk_callback_sse2+0xd89> + DB 102,68,15,111,13,201,35,0,0 ; movdqa 0x23c9(%rip),%xmm9 # 6380 <_sk_callback_sse2+0xdd7> 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 @@ -22106,11 +22982,11 @@ _sk_gather_f16_sse2 LABEL PROC 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,214,33,0,0 ; movdqa 0x21d6(%rip),%xmm11 # 5b40 <_sk_callback_sse2+0xd99> + DB 102,68,15,111,29,174,35,0,0 ; movdqa 0x23ae(%rip),%xmm11 # 6390 <_sk_callback_sse2+0xde7> DB 102,69,15,254,235 ; paddd %xmm11,%xmm13 - DB 102,68,15,111,37,216,33,0,0 ; movdqa 0x21d8(%rip),%xmm12 # 5b50 <_sk_callback_sse2+0xda9> + DB 102,68,15,111,37,176,35,0,0 ; movdqa 0x23b0(%rip),%xmm12 # 63a0 <_sk_callback_sse2+0xdf7> DB 102,65,15,239,204 ; pxor %xmm12,%xmm1 - DB 102,15,111,29,219,33,0,0 ; movdqa 0x21db(%rip),%xmm3 # 5b60 <_sk_callback_sse2+0xdb9> + DB 102,15,111,29,179,35,0,0 ; movdqa 0x23b3(%rip),%xmm3 # 63b0 <_sk_callback_sse2+0xe07> 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 @@ -22161,51 +23037,51 @@ PUBLIC _sk_store_f16_sse2 _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,3,33,0,0 ; movdqa 0x2103(%rip),%xmm10 # 5b70 <_sk_callback_sse2+0xdc9> + DB 102,68,15,111,21,219,34,0,0 ; movdqa 0x22db(%rip),%xmm10 # 63c0 <_sk_callback_sse2+0xe17> 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,219,234 ; pand %xmm10,%xmm13 - DB 102,69,15,239,229 ; pxor %xmm13,%xmm12 - DB 102,68,15,111,13,246,32,0,0 ; movdqa 0x20f6(%rip),%xmm9 # 5b80 <_sk_callback_sse2+0xdd9> - DB 102,65,15,114,213,16 ; psrld $0x10,%xmm13 + DB 102,69,15,239,236 ; pxor %xmm12,%xmm13 + DB 102,68,15,111,13,206,34,0,0 ; movdqa 0x22ce(%rip),%xmm9 # 63d0 <_sk_callback_sse2+0xe27> + DB 102,65,15,114,212,16 ; psrld $0x10,%xmm12 DB 102,69,15,111,193 ; movdqa %xmm9,%xmm8 - DB 102,69,15,102,196 ; pcmpgtd %xmm12,%xmm8 - DB 102,65,15,114,212,13 ; psrld $0xd,%xmm12 - DB 102,68,15,111,29,231,32,0,0 ; movdqa 0x20e7(%rip),%xmm11 # 5b90 <_sk_callback_sse2+0xde9> - DB 102,69,15,235,235 ; por %xmm11,%xmm13 - DB 102,69,15,254,236 ; paddd %xmm12,%xmm13 - DB 102,65,15,114,245,16 ; pslld $0x10,%xmm13 - DB 102,65,15,114,229,16 ; psrad $0x10,%xmm13 - DB 102,69,15,223,197 ; pandn %xmm13,%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,191,34,0,0 ; movdqa 0x22bf(%rip),%xmm11 # 63e0 <_sk_callback_sse2+0xe37> + 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 + DB 102,65,15,114,228,16 ; psrad $0x10,%xmm12 + DB 102,69,15,223,196 ; pandn %xmm12,%xmm8 DB 102,69,15,107,192 ; packssdw %xmm8,%xmm8 - DB 102,68,15,111,233 ; movdqa %xmm1,%xmm13 + DB 102,68,15,111,225 ; movdqa %xmm1,%xmm12 + DB 102,69,15,219,226 ; pand %xmm10,%xmm12 DB 102,68,15,111,241 ; movdqa %xmm1,%xmm14 + DB 102,69,15,239,244 ; pxor %xmm12,%xmm14 + DB 102,65,15,114,212,16 ; psrld $0x10,%xmm12 + DB 102,69,15,111,233 ; movdqa %xmm9,%xmm13 + DB 102,69,15,102,238 ; pcmpgtd %xmm14,%xmm13 + DB 102,65,15,114,214,13 ; psrld $0xd,%xmm14 + DB 102,69,15,235,227 ; por %xmm11,%xmm12 + DB 102,69,15,254,230 ; paddd %xmm14,%xmm12 + DB 102,65,15,114,244,16 ; pslld $0x10,%xmm12 + DB 102,65,15,114,228,16 ; psrad $0x10,%xmm12 + DB 102,69,15,223,236 ; pandn %xmm12,%xmm13 + DB 102,69,15,107,237 ; packssdw %xmm13,%xmm13 + DB 102,68,15,111,242 ; movdqa %xmm2,%xmm14 DB 102,69,15,219,242 ; pand %xmm10,%xmm14 - DB 102,69,15,239,238 ; pxor %xmm14,%xmm13 + DB 102,68,15,111,250 ; movdqa %xmm2,%xmm15 + DB 102,69,15,239,254 ; pxor %xmm14,%xmm15 DB 102,65,15,114,214,16 ; psrld $0x10,%xmm14 DB 102,69,15,111,225 ; movdqa %xmm9,%xmm12 - DB 102,69,15,102,229 ; pcmpgtd %xmm13,%xmm12 - DB 102,65,15,114,213,13 ; psrld $0xd,%xmm13 + DB 102,69,15,102,231 ; pcmpgtd %xmm15,%xmm12 + DB 102,65,15,114,215,13 ; psrld $0xd,%xmm15 DB 102,69,15,235,243 ; por %xmm11,%xmm14 - DB 102,69,15,254,245 ; paddd %xmm13,%xmm14 + DB 102,69,15,254,247 ; paddd %xmm15,%xmm14 DB 102,65,15,114,246,16 ; pslld $0x10,%xmm14 DB 102,65,15,114,230,16 ; psrad $0x10,%xmm14 DB 102,69,15,223,230 ; pandn %xmm14,%xmm12 DB 102,69,15,107,228 ; packssdw %xmm12,%xmm12 - DB 102,68,15,111,242 ; movdqa %xmm2,%xmm14 - DB 102,68,15,111,250 ; movdqa %xmm2,%xmm15 - DB 102,69,15,219,250 ; pand %xmm10,%xmm15 - DB 102,69,15,239,247 ; pxor %xmm15,%xmm14 - DB 102,65,15,114,215,16 ; psrld $0x10,%xmm15 - DB 102,69,15,111,233 ; movdqa %xmm9,%xmm13 - DB 102,69,15,102,238 ; pcmpgtd %xmm14,%xmm13 - DB 102,65,15,114,214,13 ; psrld $0xd,%xmm14 - DB 102,69,15,235,251 ; por %xmm11,%xmm15 - DB 102,69,15,254,254 ; paddd %xmm14,%xmm15 - DB 102,65,15,114,247,16 ; pslld $0x10,%xmm15 - DB 102,65,15,114,231,16 ; psrad $0x10,%xmm15 - DB 102,69,15,223,239 ; pandn %xmm15,%xmm13 - DB 102,69,15,107,237 ; packssdw %xmm13,%xmm13 DB 102,68,15,219,211 ; pand %xmm3,%xmm10 DB 102,68,15,111,243 ; movdqa %xmm3,%xmm14 DB 102,69,15,239,242 ; pxor %xmm10,%xmm14 @@ -22218,23 +23094,37 @@ _sk_store_f16_sse2 LABEL PROC DB 102,65,15,114,226,16 ; psrad $0x10,%xmm10 DB 102,69,15,223,202 ; pandn %xmm10,%xmm9 DB 102,69,15,107,201 ; packssdw %xmm9,%xmm9 - DB 102,69,15,97,196 ; punpcklwd %xmm12,%xmm8 - DB 102,69,15,97,233 ; punpcklwd %xmm9,%xmm13 + DB 102,69,15,97,197 ; punpcklwd %xmm13,%xmm8 + DB 102,69,15,97,225 ; punpcklwd %xmm9,%xmm12 DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 - DB 102,69,15,98,205 ; punpckldq %xmm13,%xmm9 - DB 243,68,15,127,12,248 ; movdqu %xmm9,(%rax,%rdi,8) - DB 102,69,15,106,197 ; punpckhdq %xmm13,%xmm8 + DB 102,69,15,98,204 ; punpckldq %xmm12,%xmm9 + DB 72,133,201 ; test %rcx,%rcx + DB 117,21 ; jne 4243 <_sk_store_f16_sse2+0x16c> + DB 68,15,17,12,248 ; movups %xmm9,(%rax,%rdi,8) + DB 102,69,15,106,196 ; punpckhdq %xmm12,%xmm8 DB 243,68,15,127,68,248,16 ; movdqu %xmm8,0x10(%rax,%rdi,8) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,68,15,214,12,248 ; movq %xmm9,(%rax,%rdi,8) + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,240 ; je 423f <_sk_store_f16_sse2+0x168> + DB 102,68,15,23,76,248,8 ; movhpd %xmm9,0x8(%rax,%rdi,8) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,227 ; jb 423f <_sk_store_f16_sse2+0x168> + DB 102,69,15,106,196 ; punpckhdq %xmm12,%xmm8 + DB 102,68,15,214,68,248,16 ; movq %xmm8,0x10(%rax,%rdi,8) + DB 235,213 ; jmp 423f <_sk_store_f16_sse2+0x168> PUBLIC _sk_load_u16_be_sse2 _sk_load_u16_be_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 243,15,111,4,248 ; movdqu (%rax,%rdi,8),%xmm0 - DB 243,15,111,76,248,16 ; movdqu 0x10(%rax,%rdi,8),%xmm1 - DB 102,15,111,208 ; movdqa %xmm0,%xmm2 + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%rax + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,190,0,0,0 ; jne 433e <_sk_load_u16_be_sse2+0xd4> + DB 102,65,15,16,4,64 ; movupd (%r8,%rax,2),%xmm0 + DB 102,65,15,16,76,64,16 ; movupd 0x10(%r8,%rax,2),%xmm1 + DB 102,15,40,208 ; movapd %xmm0,%xmm2 DB 102,15,97,209 ; punpcklwd %xmm1,%xmm2 DB 102,15,105,193 ; punpckhwd %xmm1,%xmm0 DB 102,15,111,202 ; movdqa %xmm2,%xmm1 @@ -22248,7 +23138,7 @@ _sk_load_u16_be_sse2 LABEL PROC 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,133,31,0,0 ; movaps 0x1f85(%rip),%xmm8 # 5ba0 <_sk_callback_sse2+0xdf9> + DB 68,15,40,5,31,33,0,0 ; movaps 0x211f(%rip),%xmm8 # 63f0 <_sk_callback_sse2+0xe47> 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 @@ -22274,32 +23164,48 @@ _sk_load_u16_be_sse2 LABEL PROC DB 65,15,89,216 ; mulps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 242,65,15,16,4,64 ; movsd (%r8,%rax,2),%xmm0 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,17 ; jne 435b <_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 428d <_sk_load_u16_be_sse2+0x23> + DB 102,65,15,22,68,64,8 ; movhpd 0x8(%r8,%rax,2),%xmm0 + DB 102,15,87,201 ; xorpd %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 15,130,29,255,255,255 ; jb 428d <_sk_load_u16_be_sse2+0x23> + DB 242,65,15,16,76,64,16 ; movsd 0x10(%r8,%rax,2),%xmm1 + DB 233,17,255,255,255 ; jmpq 428d <_sk_load_u16_be_sse2+0x23> PUBLIC _sk_load_rgb_u16_be_sse2 _sk_load_rgb_u16_be_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,141,12,127 ; lea (%rdi,%rdi,2),%rcx - DB 243,15,111,20,72 ; movdqu (%rax,%rcx,2),%xmm2 - DB 243,15,111,68,72,8 ; movdqu 0x8(%rax,%rcx,2),%xmm0 - DB 102,15,115,216,4 ; psrldq $0x4,%xmm0 - DB 102,15,111,202 ; movdqa %xmm2,%xmm1 - DB 102,15,115,217,6 ; psrldq $0x6,%xmm1 - DB 102,15,97,208 ; punpcklwd %xmm0,%xmm2 - DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 - DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,127 ; lea (%rdi,%rdi,2),%rax + DB 72,133,201 ; test %rcx,%rcx + DB 15,133,175,0,0,0 ; jne 443d <_sk_load_rgb_u16_be_sse2+0xc1> + DB 243,65,15,111,20,64 ; movdqu (%r8,%rax,2),%xmm2 + DB 243,65,15,111,92,64,8 ; movdqu 0x8(%r8,%rax,2),%xmm3 + DB 102,15,115,219,4 ; psrldq $0x4,%xmm3 DB 102,15,111,194 ; movdqa %xmm2,%xmm0 + DB 102,15,115,216,6 ; psrldq $0x6,%xmm0 + DB 102,15,111,203 ; movdqa %xmm3,%xmm1 + DB 102,15,115,217,6 ; psrldq $0x6,%xmm1 + DB 102,15,97,211 ; punpcklwd %xmm3,%xmm2 DB 102,15,97,193 ; punpcklwd %xmm1,%xmm0 - DB 102,15,112,216,78 ; pshufd $0x4e,%xmm0,%xmm3 - DB 102,15,105,209 ; punpckhwd %xmm1,%xmm2 - DB 102,15,111,200 ; movdqa %xmm0,%xmm1 - DB 102,15,113,241,8 ; psllw $0x8,%xmm1 - DB 102,15,113,208,8 ; psrlw $0x8,%xmm0 - DB 102,15,235,193 ; por %xmm1,%xmm0 + DB 102,15,111,202 ; movdqa %xmm2,%xmm1 + DB 102,15,97,200 ; punpcklwd %xmm0,%xmm1 + DB 102,15,112,217,78 ; pshufd $0x4e,%xmm1,%xmm3 + DB 102,15,105,208 ; punpckhwd %xmm0,%xmm2 + DB 102,15,111,193 ; movdqa %xmm1,%xmm0 + DB 102,15,113,240,8 ; psllw $0x8,%xmm0 + DB 102,15,113,209,8 ; psrlw $0x8,%xmm1 + DB 102,15,235,200 ; por %xmm0,%xmm1 DB 102,69,15,239,192 ; pxor %xmm8,%xmm8 - DB 102,65,15,97,192 ; punpcklwd %xmm8,%xmm0 - DB 15,91,192 ; cvtdq2ps %xmm0,%xmm0 - DB 68,15,40,13,193,30,0,0 ; movaps 0x1ec1(%rip),%xmm9 # 5bb0 <_sk_callback_sse2+0xe09> + DB 102,65,15,97,200 ; punpcklwd %xmm8,%xmm1 + DB 15,91,193 ; cvtdq2ps %xmm1,%xmm0 + DB 68,15,40,13,14,32,0,0 ; movaps 0x200e(%rip),%xmm9 # 6400 <_sk_callback_sse2+0xe57> 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 @@ -22316,45 +23222,56 @@ _sk_load_rgb_u16_be_sse2 LABEL PROC 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,136,30,0,0 ; movaps 0x1e88(%rip),%xmm3 # 5bc0 <_sk_callback_sse2+0xe19> + DB 15,40,29,213,31,0,0 ; movaps 0x1fd5(%rip),%xmm3 # 6410 <_sk_callback_sse2+0xe67> DB 255,224 ; jmpq *%rax + DB 102,65,15,110,20,64 ; movd (%r8,%rax,2),%xmm2 + DB 102,65,15,196,84,64,4,2 ; pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,13 ; jne 4462 <_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 43b2 <_sk_load_rgb_u16_be_sse2+0x36> + DB 102,65,15,110,68,64,6 ; movd 0x6(%r8,%rax,2),%xmm0 + DB 102,65,15,196,68,64,10,2 ; pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,24 ; jb 4493 <_sk_load_rgb_u16_be_sse2+0x117> + DB 102,65,15,110,92,64,12 ; movd 0xc(%r8,%rax,2),%xmm3 + DB 102,65,15,196,92,64,16,2 ; pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 + DB 102,15,239,201 ; pxor %xmm1,%xmm1 + DB 233,31,255,255,255 ; jmpq 43b2 <_sk_load_rgb_u16_be_sse2+0x36> + DB 102,15,239,219 ; pxor %xmm3,%xmm3 + DB 233,22,255,255,255 ; jmpq 43b2 <_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 72,139,0 ; mov (%rax),%rax - DB 68,15,40,13,137,30,0,0 ; movaps 0x1e89(%rip),%xmm9 # 5bd0 <_sk_callback_sse2+0xe29> + DB 76,139,0 ; mov (%rax),%r8 + DB 72,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%rax + DB 68,15,40,21,111,31,0,0 ; movaps 0x1f6f(%rip),%xmm10 # 6420 <_sk_callback_sse2+0xe77> DB 68,15,40,192 ; movaps %xmm0,%xmm8 - DB 69,15,89,193 ; mulps %xmm9,%xmm8 + DB 69,15,89,194 ; mulps %xmm10,%xmm8 DB 102,69,15,91,192 ; cvtps2dq %xmm8,%xmm8 DB 102,65,15,114,240,16 ; pslld $0x10,%xmm8 DB 102,65,15,114,224,16 ; psrad $0x10,%xmm8 DB 102,69,15,107,192 ; packssdw %xmm8,%xmm8 - DB 102,69,15,111,208 ; movdqa %xmm8,%xmm10 - DB 102,65,15,113,242,8 ; psllw $0x8,%xmm10 + DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 + DB 102,65,15,113,241,8 ; psllw $0x8,%xmm9 DB 102,65,15,113,208,8 ; psrlw $0x8,%xmm8 - DB 102,69,15,235,194 ; por %xmm10,%xmm8 - DB 68,15,40,209 ; movaps %xmm1,%xmm10 - DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 102,69,15,91,210 ; cvtps2dq %xmm10,%xmm10 - DB 102,65,15,114,242,16 ; pslld $0x10,%xmm10 - DB 102,65,15,114,226,16 ; psrad $0x10,%xmm10 - DB 102,69,15,107,210 ; packssdw %xmm10,%xmm10 - DB 102,69,15,111,218 ; movdqa %xmm10,%xmm11 - DB 102,65,15,113,243,8 ; psllw $0x8,%xmm11 - DB 102,65,15,113,210,8 ; psrlw $0x8,%xmm10 - DB 102,69,15,235,211 ; por %xmm11,%xmm10 - DB 68,15,40,218 ; movaps %xmm2,%xmm11 - DB 69,15,89,217 ; mulps %xmm9,%xmm11 - DB 102,69,15,91,219 ; cvtps2dq %xmm11,%xmm11 + DB 102,69,15,235,193 ; por %xmm9,%xmm8 + DB 68,15,40,201 ; movaps %xmm1,%xmm9 + DB 69,15,89,202 ; mulps %xmm10,%xmm9 + DB 102,69,15,91,217 ; cvtps2dq %xmm9,%xmm11 DB 102,65,15,114,243,16 ; pslld $0x10,%xmm11 DB 102,65,15,114,227,16 ; psrad $0x10,%xmm11 DB 102,69,15,107,219 ; packssdw %xmm11,%xmm11 - DB 102,69,15,111,227 ; movdqa %xmm11,%xmm12 - DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 + DB 102,69,15,111,203 ; movdqa %xmm11,%xmm9 + DB 102,65,15,113,241,8 ; psllw $0x8,%xmm9 DB 102,65,15,113,211,8 ; psrlw $0x8,%xmm11 - DB 102,69,15,235,220 ; por %xmm12,%xmm11 - DB 68,15,89,203 ; mulps %xmm3,%xmm9 + DB 102,69,15,235,217 ; por %xmm9,%xmm11 + DB 68,15,40,202 ; movaps %xmm2,%xmm9 + DB 69,15,89,202 ; mulps %xmm10,%xmm9 DB 102,69,15,91,201 ; cvtps2dq %xmm9,%xmm9 DB 102,65,15,114,241,16 ; pslld $0x10,%xmm9 DB 102,65,15,114,225,16 ; psrad $0x10,%xmm9 @@ -22363,26 +23280,49 @@ _sk_store_u16_be_sse2 LABEL PROC DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 DB 102,65,15,113,209,8 ; psrlw $0x8,%xmm9 DB 102,69,15,235,204 ; por %xmm12,%xmm9 - DB 102,69,15,97,194 ; punpcklwd %xmm10,%xmm8 - DB 102,69,15,97,217 ; punpcklwd %xmm9,%xmm11 - DB 102,69,15,111,200 ; movdqa %xmm8,%xmm9 - DB 102,69,15,98,203 ; punpckldq %xmm11,%xmm9 - DB 243,68,15,127,12,248 ; movdqu %xmm9,(%rax,%rdi,8) - DB 102,69,15,106,195 ; punpckhdq %xmm11,%xmm8 - DB 243,68,15,127,68,248,16 ; movdqu %xmm8,0x10(%rax,%rdi,8) + DB 68,15,89,211 ; mulps %xmm3,%xmm10 + DB 102,69,15,91,210 ; cvtps2dq %xmm10,%xmm10 + DB 102,65,15,114,242,16 ; pslld $0x10,%xmm10 + DB 102,65,15,114,226,16 ; psrad $0x10,%xmm10 + DB 102,69,15,107,210 ; packssdw %xmm10,%xmm10 + DB 102,69,15,111,226 ; movdqa %xmm10,%xmm12 + DB 102,65,15,113,244,8 ; psllw $0x8,%xmm12 + DB 102,65,15,113,210,8 ; psrlw $0x8,%xmm10 + DB 102,69,15,235,212 ; por %xmm12,%xmm10 + DB 102,69,15,97,195 ; punpcklwd %xmm11,%xmm8 + DB 102,69,15,97,202 ; punpcklwd %xmm10,%xmm9 + DB 102,69,15,111,208 ; movdqa %xmm8,%xmm10 + DB 102,69,15,98,209 ; punpckldq %xmm9,%xmm10 + DB 72,133,201 ; test %rcx,%rcx + DB 117,21 ; jne 45ab <_sk_store_u16_be_sse2+0x10f> + DB 69,15,17,20,64 ; movups %xmm10,(%r8,%rax,2) + DB 102,69,15,106,193 ; punpckhdq %xmm9,%xmm8 + DB 243,69,15,127,68,64,16 ; movdqu %xmm8,0x10(%r8,%rax,2) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 102,69,15,214,20,64 ; movq %xmm10,(%r8,%rax,2) + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,240 ; je 45a7 <_sk_store_u16_be_sse2+0x10b> + DB 102,69,15,23,84,64,8 ; movhpd %xmm10,0x8(%r8,%rax,2) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,227 ; jb 45a7 <_sk_store_u16_be_sse2+0x10b> + DB 102,69,15,106,193 ; punpckhdq %xmm9,%xmm8 + DB 102,69,15,214,68,64,16 ; movq %xmm8,0x10(%r8,%rax,2) + DB 235,213 ; jmp 45a7 <_sk_store_u16_be_sse2+0x10b> PUBLIC _sk_load_f32_sse2 _sk_load_f32_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,137,249 ; mov %rdi,%rcx - DB 72,193,225,4 ; shl $0x4,%rcx - DB 68,15,16,4,8 ; movups (%rax,%rcx,1),%xmm8 - DB 15,16,68,8,16 ; movups 0x10(%rax,%rcx,1),%xmm0 - DB 15,16,92,8,32 ; movups 0x20(%rax,%rcx,1),%xmm3 - DB 68,15,16,76,8,48 ; movups 0x30(%rax,%rcx,1),%xmm9 + DB 76,139,8 ; mov (%rax),%r9 + DB 76,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r8 + DB 72,137,248 ; mov %rdi,%rax + DB 72,193,224,4 ; shl $0x4,%rax + DB 69,15,16,4,1 ; movups (%r9,%rax,1),%xmm8 + DB 72,133,201 ; test %rcx,%rcx + DB 117,66 ; jne 4632 <_sk_load_f32_sse2+0x60> + DB 67,15,16,68,129,16 ; movups 0x10(%r9,%r8,4),%xmm0 + DB 67,15,16,92,129,32 ; movups 0x20(%r9,%r8,4),%xmm3 + DB 71,15,16,76,129,48 ; movups 0x30(%r9,%r8,4),%xmm9 DB 65,15,40,208 ; movaps %xmm8,%xmm2 DB 15,20,208 ; unpcklps %xmm0,%xmm2 DB 15,40,203 ; movaps %xmm3,%xmm1 @@ -22397,33 +23337,56 @@ _sk_load_f32_sse2 LABEL PROC DB 65,15,18,216 ; movhlps %xmm8,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 69,15,87,201 ; xorps %xmm9,%xmm9 + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 117,8 ; jne 4644 <_sk_load_f32_sse2+0x72> + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 15,87,192 ; xorps %xmm0,%xmm0 + DB 235,190 ; jmp 4602 <_sk_load_f32_sse2+0x30> + DB 67,15,16,68,129,16 ; movups 0x10(%r9,%r8,4),%xmm0 + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,8 ; jb 4658 <_sk_load_f32_sse2+0x86> + DB 67,15,16,92,129,32 ; movups 0x20(%r9,%r8,4),%xmm3 + DB 235,170 ; jmp 4602 <_sk_load_f32_sse2+0x30> + DB 15,87,219 ; xorps %xmm3,%xmm3 + DB 235,165 ; jmp 4602 <_sk_load_f32_sse2+0x30> PUBLIC _sk_store_f32_sse2 _sk_store_f32_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,0 ; mov (%rax),%rax - DB 72,137,249 ; mov %rdi,%rcx - DB 72,193,225,4 ; shl $0x4,%rcx - DB 68,15,40,192 ; movaps %xmm0,%xmm8 + DB 76,139,8 ; mov (%rax),%r9 + DB 76,141,4,189,0,0,0,0 ; lea 0x0(,%rdi,4),%r8 + DB 72,137,248 ; mov %rdi,%rax + DB 72,193,224,4 ; shl $0x4,%rax DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 68,15,20,201 ; unpcklps %xmm1,%xmm9 - DB 68,15,40,210 ; movaps %xmm2,%xmm10 + DB 68,15,40,194 ; movaps %xmm2,%xmm8 + DB 68,15,20,195 ; unpcklps %xmm3,%xmm8 + DB 68,15,40,208 ; movaps %xmm0,%xmm10 + DB 68,15,21,209 ; unpckhps %xmm1,%xmm10 DB 68,15,40,218 ; movaps %xmm2,%xmm11 - DB 68,15,20,219 ; unpcklps %xmm3,%xmm11 - DB 68,15,21,193 ; unpckhps %xmm1,%xmm8 - DB 68,15,21,211 ; unpckhps %xmm3,%xmm10 + DB 68,15,21,219 ; unpckhps %xmm3,%xmm11 DB 69,15,40,225 ; movaps %xmm9,%xmm12 - DB 102,69,15,20,227 ; unpcklpd %xmm11,%xmm12 - DB 69,15,18,217 ; movhlps %xmm9,%xmm11 - DB 69,15,40,200 ; movaps %xmm8,%xmm9 - DB 102,69,15,20,202 ; unpcklpd %xmm10,%xmm9 - DB 69,15,18,208 ; movhlps %xmm8,%xmm10 - DB 102,68,15,17,36,8 ; movupd %xmm12,(%rax,%rcx,1) - DB 68,15,17,92,8,16 ; movups %xmm11,0x10(%rax,%rcx,1) - DB 102,68,15,17,76,8,32 ; movupd %xmm9,0x20(%rax,%rcx,1) - DB 68,15,17,84,8,48 ; movups %xmm10,0x30(%rax,%rcx,1) + DB 102,69,15,20,224 ; unpcklpd %xmm8,%xmm12 + DB 69,15,18,193 ; movhlps %xmm9,%xmm8 + DB 69,15,40,202 ; movaps %xmm10,%xmm9 + DB 102,69,15,20,203 ; unpcklpd %xmm11,%xmm9 + DB 102,69,15,17,36,1 ; movupd %xmm12,(%r9,%rax,1) + DB 72,133,201 ; test %rcx,%rcx + DB 117,29 ; jne 46cf <_sk_store_f32_sse2+0x72> + DB 102,69,15,21,211 ; unpckhpd %xmm11,%xmm10 + DB 71,15,17,68,129,16 ; movups %xmm8,0x10(%r9,%r8,4) + DB 102,71,15,17,76,129,32 ; movupd %xmm9,0x20(%r9,%r8,4) + DB 102,71,15,17,84,129,48 ; movupd %xmm10,0x30(%r9,%r8,4) DB 72,173 ; lods %ds:(%rsi),%rax DB 255,224 ; jmpq *%rax + DB 72,131,249,1 ; cmp $0x1,%rcx + DB 116,246 ; je 46cb <_sk_store_f32_sse2+0x6e> + DB 71,15,17,68,129,16 ; movups %xmm8,0x10(%r9,%r8,4) + DB 72,131,249,3 ; cmp $0x3,%rcx + DB 114,234 ; jb 46cb <_sk_store_f32_sse2+0x6e> + DB 102,71,15,17,76,129,32 ; movupd %xmm9,0x20(%r9,%r8,4) + DB 235,225 ; jmp 46cb <_sk_store_f32_sse2+0x6e> PUBLIC _sk_clamp_x_sse2 _sk_clamp_x_sse2 LABEL PROC @@ -22459,7 +23422,7 @@ _sk_repeat_x_sse2 LABEL PROC 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,137,28,0,0 ; andps 0x1c89(%rip),%xmm9 # 5be0 <_sk_callback_sse2+0xe39> + DB 68,15,84,13,224,28,0,0 ; andps 0x1ce0(%rip),%xmm9 # 6430 <_sk_callback_sse2+0xe87> DB 69,15,92,209 ; subps %xmm9,%xmm10 DB 69,15,89,208 ; mulps %xmm8,%xmm10 DB 65,15,92,194 ; subps %xmm10,%xmm0 @@ -22476,7 +23439,7 @@ _sk_repeat_y_sse2 LABEL PROC 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,95,28,0,0 ; andps 0x1c5f(%rip),%xmm9 # 5bf0 <_sk_callback_sse2+0xe49> + DB 68,15,84,13,182,28,0,0 ; andps 0x1cb6(%rip),%xmm9 # 6440 <_sk_callback_sse2+0xe97> DB 69,15,92,209 ; subps %xmm9,%xmm10 DB 69,15,89,208 ; mulps %xmm8,%xmm10 DB 65,15,92,202 ; subps %xmm10,%xmm1 @@ -22497,7 +23460,7 @@ _sk_mirror_x_sse2 LABEL PROC 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,35,28,0,0 ; andps 0x1c23(%rip),%xmm10 # 5c00 <_sk_callback_sse2+0xe59> + DB 68,15,84,21,122,28,0,0 ; andps 0x1c7a(%rip),%xmm10 # 6450 <_sk_callback_sse2+0xea7> DB 69,15,87,228 ; xorps %xmm12,%xmm12 DB 69,15,92,218 ; subps %xmm10,%xmm11 DB 69,15,89,216 ; mulps %xmm8,%xmm11 @@ -22522,7 +23485,7 @@ _sk_mirror_y_sse2 LABEL PROC 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,215,27,0,0 ; andps 0x1bd7(%rip),%xmm10 # 5c10 <_sk_callback_sse2+0xe69> + DB 68,15,84,21,46,28,0,0 ; andps 0x1c2e(%rip),%xmm10 # 6460 <_sk_callback_sse2+0xeb7> DB 69,15,87,228 ; xorps %xmm12,%xmm12 DB 69,15,92,218 ; subps %xmm10,%xmm11 DB 69,15,89,216 ; mulps %xmm8,%xmm11 @@ -22537,7 +23500,7 @@ PUBLIC _sk_clamp_x_1_sse2 _sk_clamp_x_1_sse2 LABEL PROC DB 69,15,87,192 ; xorps %xmm8,%xmm8 DB 68,15,95,192 ; maxps %xmm0,%xmm8 - DB 68,15,93,5,183,27,0,0 ; minps 0x1bb7(%rip),%xmm8 # 5c20 <_sk_callback_sse2+0xe79> + DB 68,15,93,5,14,28,0,0 ; minps 0x1c0e(%rip),%xmm8 # 6470 <_sk_callback_sse2+0xec7> DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 DB 255,224 ; jmpq *%rax @@ -22548,7 +23511,7 @@ _sk_repeat_x_1_sse2 LABEL PROC 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,165,27,0,0 ; andps 0x1ba5(%rip),%xmm9 # 5c30 <_sk_callback_sse2+0xe89> + DB 68,15,84,13,252,27,0,0 ; andps 0x1bfc(%rip),%xmm9 # 6480 <_sk_callback_sse2+0xed7> DB 69,15,92,193 ; subps %xmm9,%xmm8 DB 65,15,92,192 ; subps %xmm8,%xmm0 DB 72,173 ; lods %ds:(%rsi),%rax @@ -22556,14 +23519,14 @@ _sk_repeat_x_1_sse2 LABEL PROC PUBLIC _sk_mirror_x_1_sse2 _sk_mirror_x_1_sse2 LABEL PROC - DB 68,15,40,5,161,27,0,0 ; movaps 0x1ba1(%rip),%xmm8 # 5c40 <_sk_callback_sse2+0xe99> + DB 68,15,40,5,248,27,0,0 ; movaps 0x1bf8(%rip),%xmm8 # 6490 <_sk_callback_sse2+0xee7> DB 65,15,88,192 ; addps %xmm8,%xmm0 - DB 68,15,40,13,165,27,0,0 ; movaps 0x1ba5(%rip),%xmm9 # 5c50 <_sk_callback_sse2+0xea9> + DB 68,15,40,13,252,27,0,0 ; movaps 0x1bfc(%rip),%xmm9 # 64a0 <_sk_callback_sse2+0xef7> 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,155,27,0,0 ; andps 0x1b9b(%rip),%xmm9 # 5c60 <_sk_callback_sse2+0xeb9> + DB 68,15,84,13,242,27,0,0 ; andps 0x1bf2(%rip),%xmm9 # 64b0 <_sk_callback_sse2+0xf07> DB 69,15,87,219 ; xorps %xmm11,%xmm11 DB 69,15,92,209 ; subps %xmm9,%xmm10 DB 69,15,88,210 ; addps %xmm10,%xmm10 @@ -22577,10 +23540,10 @@ _sk_mirror_x_1_sse2 LABEL PROC PUBLIC _sk_luminance_to_alpha_sse2 _sk_luminance_to_alpha_sse2 LABEL PROC DB 15,40,218 ; movaps %xmm2,%xmm3 - DB 15,89,5,129,27,0,0 ; mulps 0x1b81(%rip),%xmm0 # 5c70 <_sk_callback_sse2+0xec9> - DB 15,89,13,138,27,0,0 ; mulps 0x1b8a(%rip),%xmm1 # 5c80 <_sk_callback_sse2+0xed9> + DB 15,89,5,216,27,0,0 ; mulps 0x1bd8(%rip),%xmm0 # 64c0 <_sk_callback_sse2+0xf17> + DB 15,89,13,225,27,0,0 ; mulps 0x1be1(%rip),%xmm1 # 64d0 <_sk_callback_sse2+0xf27> DB 15,88,200 ; addps %xmm0,%xmm1 - DB 15,89,29,144,27,0,0 ; mulps 0x1b90(%rip),%xmm3 # 5c90 <_sk_callback_sse2+0xee9> + DB 15,89,29,231,27,0,0 ; mulps 0x1be7(%rip),%xmm3 # 64e0 <_sk_callback_sse2+0xf37> DB 15,88,217 ; addps %xmm1,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 15,87,192 ; xorps %xmm0,%xmm0 @@ -22840,18 +23803,20 @@ _sk_matrix_perspective_sse2 LABEL PROC PUBLIC _sk_evenly_spaced_gradient_sse2 _sk_evenly_spaced_gradient_sse2 LABEL PROC + DB 65,86 ; push %r14 + DB 83 ; push %rbx DB 72,173 ; lods %ds:(%rsi),%rax - DB 72,139,8 ; mov (%rax),%rcx - DB 76,139,88,8 ; mov 0x8(%rax),%r11 - DB 72,255,201 ; dec %rcx - DB 120,7 ; js 4539 <_sk_evenly_spaced_gradient_sse2+0x15> - DB 243,72,15,42,201 ; cvtsi2ss %rcx,%xmm1 - DB 235,21 ; jmp 454e <_sk_evenly_spaced_gradient_sse2+0x2a> - DB 73,137,200 ; mov %rcx,%r8 + 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 4d35 <_sk_evenly_spaced_gradient_sse2+0x18> + DB 243,72,15,42,203 ; cvtsi2ss %rbx,%xmm1 + DB 235,21 ; jmp 4d4a <_sk_evenly_spaced_gradient_sse2+0x2d> + DB 73,137,216 ; mov %rbx,%r8 DB 73,209,232 ; shr %r8 - DB 131,225,1 ; and $0x1,%ecx - DB 76,9,193 ; or %r8,%rcx - DB 243,72,15,42,201 ; cvtsi2ss %rcx,%xmm1 + DB 131,227,1 ; and $0x1,%ebx + DB 76,9,195 ; or %r8,%rbx + DB 243,72,15,42,203 ; cvtsi2ss %rbx,%xmm1 DB 243,15,88,201 ; addss %xmm1,%xmm1 DB 15,198,201,0 ; shufps $0x0,%xmm1,%xmm1 DB 15,89,200 ; mulps %xmm0,%xmm1 @@ -22860,66 +23825,66 @@ _sk_evenly_spaced_gradient_sse2 LABEL PROC DB 102,73,15,126,210 ; movq %xmm2,%r10 DB 69,137,208 ; mov %r10d,%r8d DB 73,193,234,32 ; shr $0x20,%r10 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,201 ; mov %ecx,%r9d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 243,65,15,16,12,139 ; movss (%r11,%rcx,4),%xmm1 - DB 243,67,15,16,20,147 ; movss (%r11,%r10,4),%xmm2 + DB 102,73,15,126,203 ; movq %xmm1,%r11 + DB 69,137,217 ; mov %r11d,%r9d + DB 73,193,235,32 ; shr $0x20,%r11 + DB 243,67,15,16,12,158 ; movss (%r14,%r11,4),%xmm1 + DB 243,67,15,16,20,150 ; movss (%r14,%r10,4),%xmm2 DB 15,20,202 ; unpcklps %xmm2,%xmm1 - DB 243,71,15,16,4,139 ; movss (%r11,%r9,4),%xmm8 - DB 243,67,15,16,20,131 ; movss (%r11,%r8,4),%xmm2 + DB 243,71,15,16,4,142 ; movss (%r14,%r9,4),%xmm8 + DB 243,67,15,16,20,134 ; movss (%r14,%r8,4),%xmm2 DB 68,15,20,194 ; unpcklps %xmm2,%xmm8 DB 68,15,20,193 ; unpcklps %xmm1,%xmm8 - DB 76,139,88,40 ; mov 0x28(%rax),%r11 - DB 243,65,15,16,12,139 ; movss (%r11,%rcx,4),%xmm1 - DB 243,67,15,16,20,147 ; movss (%r11,%r10,4),%xmm2 + DB 72,139,88,40 ; mov 0x28(%rax),%rbx + DB 243,66,15,16,12,155 ; movss (%rbx,%r11,4),%xmm1 + DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 DB 15,20,202 ; unpcklps %xmm2,%xmm1 - DB 243,71,15,16,12,139 ; movss (%r11,%r9,4),%xmm9 - DB 243,67,15,16,20,131 ; movss (%r11,%r8,4),%xmm2 + DB 243,70,15,16,12,139 ; movss (%rbx,%r9,4),%xmm9 + DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 68,15,20,202 ; unpcklps %xmm2,%xmm9 DB 68,15,20,201 ; unpcklps %xmm1,%xmm9 - DB 76,139,88,16 ; mov 0x10(%rax),%r11 - DB 243,65,15,16,20,139 ; movss (%r11,%rcx,4),%xmm2 - DB 243,67,15,16,12,147 ; movss (%r11,%r10,4),%xmm1 + DB 72,139,88,16 ; mov 0x10(%rax),%rbx + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 + DB 243,66,15,16,12,147 ; movss (%rbx,%r10,4),%xmm1 DB 15,20,209 ; unpcklps %xmm1,%xmm2 - DB 243,67,15,16,12,139 ; movss (%r11,%r9,4),%xmm1 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 243,66,15,16,12,139 ; movss (%rbx,%r9,4),%xmm1 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 15,20,203 ; unpcklps %xmm3,%xmm1 DB 15,20,202 ; unpcklps %xmm2,%xmm1 - DB 76,139,88,48 ; mov 0x30(%rax),%r11 - DB 243,65,15,16,20,139 ; movss (%r11,%rcx,4),%xmm2 - DB 243,67,15,16,28,147 ; movss (%r11,%r10,4),%xmm3 + DB 72,139,88,48 ; mov 0x30(%rax),%rbx + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 + DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 15,20,211 ; unpcklps %xmm3,%xmm2 - DB 243,71,15,16,20,139 ; movss (%r11,%r9,4),%xmm10 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 243,70,15,16,20,139 ; movss (%rbx,%r9,4),%xmm10 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 68,15,20,211 ; unpcklps %xmm3,%xmm10 DB 68,15,20,210 ; unpcklps %xmm2,%xmm10 - DB 76,139,88,24 ; mov 0x18(%rax),%r11 - DB 243,69,15,16,28,139 ; movss (%r11,%rcx,4),%xmm11 - DB 243,67,15,16,20,147 ; movss (%r11,%r10,4),%xmm2 + DB 72,139,88,24 ; mov 0x18(%rax),%rbx + DB 243,70,15,16,28,155 ; movss (%rbx,%r11,4),%xmm11 + DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 DB 68,15,20,218 ; unpcklps %xmm2,%xmm11 - DB 243,67,15,16,20,139 ; movss (%r11,%r9,4),%xmm2 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 15,20,211 ; unpcklps %xmm3,%xmm2 DB 65,15,20,211 ; unpcklps %xmm11,%xmm2 - DB 76,139,88,56 ; mov 0x38(%rax),%r11 - DB 243,69,15,16,36,139 ; movss (%r11,%rcx,4),%xmm12 - DB 243,67,15,16,28,147 ; movss (%r11,%r10,4),%xmm3 + DB 72,139,88,56 ; mov 0x38(%rax),%rbx + DB 243,70,15,16,36,155 ; movss (%rbx,%r11,4),%xmm12 + DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 68,15,20,227 ; unpcklps %xmm3,%xmm12 - DB 243,71,15,16,28,139 ; movss (%r11,%r9,4),%xmm11 - DB 243,67,15,16,28,131 ; movss (%r11,%r8,4),%xmm3 + DB 243,70,15,16,28,139 ; movss (%rbx,%r9,4),%xmm11 + DB 243,66,15,16,28,131 ; movss (%rbx,%r8,4),%xmm3 DB 68,15,20,219 ; unpcklps %xmm3,%xmm11 DB 69,15,20,220 ; unpcklps %xmm12,%xmm11 - DB 76,139,88,32 ; mov 0x20(%rax),%r11 - DB 243,69,15,16,36,139 ; movss (%r11,%rcx,4),%xmm12 - DB 243,67,15,16,28,147 ; movss (%r11,%r10,4),%xmm3 + DB 72,139,88,32 ; mov 0x20(%rax),%rbx + DB 243,70,15,16,36,155 ; movss (%rbx,%r11,4),%xmm12 + DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 68,15,20,227 ; unpcklps %xmm3,%xmm12 - DB 243,67,15,16,28,139 ; movss (%r11,%r9,4),%xmm3 - DB 243,71,15,16,44,131 ; movss (%r11,%r8,4),%xmm13 + DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 + DB 243,70,15,16,44,131 ; movss (%rbx,%r8,4),%xmm13 DB 65,15,20,221 ; unpcklps %xmm13,%xmm3 DB 65,15,20,220 ; unpcklps %xmm12,%xmm3 DB 72,139,64,64 ; mov 0x40(%rax),%rax - DB 243,68,15,16,36,136 ; movss (%rax,%rcx,4),%xmm12 + DB 243,70,15,16,36,152 ; movss (%rax,%r11,4),%xmm12 DB 243,70,15,16,44,144 ; movss (%rax,%r10,4),%xmm13 DB 69,15,20,229 ; unpcklps %xmm13,%xmm12 DB 243,70,15,16,44,136 ; movss (%rax,%r9,4),%xmm13 @@ -22936,19 +23901,21 @@ _sk_evenly_spaced_gradient_sse2 LABEL PROC DB 65,15,88,221 ; addps %xmm13,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 65,15,40,192 ; movaps %xmm8,%xmm0 + DB 91 ; pop %rbx + DB 65,94 ; pop %r14 DB 255,224 ; jmpq *%rax PUBLIC _sk_gauss_a_to_rgba_sse2 _sk_gauss_a_to_rgba_sse2 LABEL PROC - DB 15,40,5,201,21,0,0 ; movaps 0x15c9(%rip),%xmm0 # 5ca0 <_sk_callback_sse2+0xef9> + DB 15,40,5,26,22,0,0 ; movaps 0x161a(%rip),%xmm0 # 64f0 <_sk_callback_sse2+0xf47> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,207,21,0,0 ; addps 0x15cf(%rip),%xmm0 # 5cb0 <_sk_callback_sse2+0xf09> + DB 15,88,5,32,22,0,0 ; addps 0x1620(%rip),%xmm0 # 6500 <_sk_callback_sse2+0xf57> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,213,21,0,0 ; addps 0x15d5(%rip),%xmm0 # 5cc0 <_sk_callback_sse2+0xf19> + DB 15,88,5,38,22,0,0 ; addps 0x1626(%rip),%xmm0 # 6510 <_sk_callback_sse2+0xf67> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,219,21,0,0 ; addps 0x15db(%rip),%xmm0 # 5cd0 <_sk_callback_sse2+0xf29> + DB 15,88,5,44,22,0,0 ; addps 0x162c(%rip),%xmm0 # 6520 <_sk_callback_sse2+0xf77> DB 15,89,195 ; mulps %xmm3,%xmm0 - DB 15,88,5,225,21,0,0 ; addps 0x15e1(%rip),%xmm0 # 5ce0 <_sk_callback_sse2+0xf39> + DB 15,88,5,50,22,0,0 ; addps 0x1632(%rip),%xmm0 # 6530 <_sk_callback_sse2+0xf87> DB 72,173 ; lods %ds:(%rsi),%rax DB 15,40,200 ; movaps %xmm0,%xmm1 DB 15,40,208 ; movaps %xmm0,%xmm2 @@ -22961,47 +23928,47 @@ _sk_gradient_sse2 LABEL PROC DB 76,139,0 ; mov (%rax),%r8 DB 102,15,239,201 ; pxor %xmm1,%xmm1 DB 73,131,248,2 ; cmp $0x2,%r8 - DB 114,50 ; jb 474d <_sk_gradient_sse2+0x41> - DB 72,139,72,72 ; mov 0x48(%rax),%rcx + DB 114,51 ; jb 4f4d <_sk_gradient_sse2+0x42> + DB 76,139,72,72 ; mov 0x48(%rax),%r9 DB 73,255,200 ; dec %r8 - DB 72,131,193,4 ; add $0x4,%rcx + DB 73,131,193,4 ; add $0x4,%r9 DB 102,15,239,201 ; pxor %xmm1,%xmm1 - DB 15,40,21,191,21,0,0 ; movaps 0x15bf(%rip),%xmm2 # 5cf0 <_sk_callback_sse2+0xf49> - DB 243,15,16,25 ; movss (%rcx),%xmm3 + DB 15,40,21,16,22,0,0 ; movaps 0x1610(%rip),%xmm2 # 6540 <_sk_callback_sse2+0xf97> + DB 243,65,15,16,25 ; movss (%r9),%xmm3 DB 15,198,219,0 ; shufps $0x0,%xmm3,%xmm3 DB 15,194,216,2 ; cmpleps %xmm0,%xmm3 DB 15,84,218 ; andps %xmm2,%xmm3 DB 102,15,254,203 ; paddd %xmm3,%xmm1 - DB 72,131,193,4 ; add $0x4,%rcx + DB 73,131,193,4 ; add $0x4,%r9 DB 73,255,200 ; dec %r8 - DB 117,228 ; jne 4731 <_sk_gradient_sse2+0x25> + DB 117,227 ; jne 4f30 <_sk_gradient_sse2+0x25> DB 65,86 ; push %r14 DB 83 ; push %rbx DB 102,15,112,209,78 ; pshufd $0x4e,%xmm1,%xmm2 DB 102,73,15,126,210 ; movq %xmm2,%r10 DB 69,137,208 ; mov %r10d,%r8d DB 73,193,234,32 ; shr $0x20,%r10 - DB 102,72,15,126,201 ; movq %xmm1,%rcx - DB 65,137,201 ; mov %ecx,%r9d - DB 72,193,233,32 ; shr $0x20,%rcx - DB 76,139,88,8 ; mov 0x8(%rax),%r11 + DB 102,73,15,126,203 ; movq %xmm1,%r11 + DB 69,137,217 ; mov %r11d,%r9d + DB 73,193,235,32 ; shr $0x20,%r11 + DB 72,139,88,8 ; mov 0x8(%rax),%rbx DB 76,139,112,16 ; mov 0x10(%rax),%r14 - DB 243,65,15,16,12,139 ; movss (%r11,%rcx,4),%xmm1 - DB 243,67,15,16,20,147 ; movss (%r11,%r10,4),%xmm2 + DB 243,66,15,16,12,155 ; movss (%rbx,%r11,4),%xmm1 + DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 DB 15,20,202 ; unpcklps %xmm2,%xmm1 - DB 243,71,15,16,4,139 ; movss (%r11,%r9,4),%xmm8 - DB 243,67,15,16,20,131 ; movss (%r11,%r8,4),%xmm2 + DB 243,70,15,16,4,139 ; movss (%rbx,%r9,4),%xmm8 + DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 68,15,20,194 ; unpcklps %xmm2,%xmm8 DB 68,15,20,193 ; unpcklps %xmm1,%xmm8 DB 72,139,88,40 ; mov 0x28(%rax),%rbx - DB 243,15,16,12,139 ; movss (%rbx,%rcx,4),%xmm1 + DB 243,66,15,16,12,155 ; movss (%rbx,%r11,4),%xmm1 DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 DB 15,20,202 ; unpcklps %xmm2,%xmm1 DB 243,70,15,16,12,139 ; movss (%rbx,%r9,4),%xmm9 DB 243,66,15,16,20,131 ; movss (%rbx,%r8,4),%xmm2 DB 68,15,20,202 ; unpcklps %xmm2,%xmm9 DB 68,15,20,201 ; unpcklps %xmm1,%xmm9 - DB 243,65,15,16,20,142 ; movss (%r14,%rcx,4),%xmm2 + DB 243,67,15,16,20,158 ; movss (%r14,%r11,4),%xmm2 DB 243,67,15,16,12,150 ; movss (%r14,%r10,4),%xmm1 DB 15,20,209 ; unpcklps %xmm1,%xmm2 DB 243,67,15,16,12,142 ; movss (%r14,%r9,4),%xmm1 @@ -23009,7 +23976,7 @@ _sk_gradient_sse2 LABEL PROC DB 15,20,203 ; unpcklps %xmm3,%xmm1 DB 15,20,202 ; unpcklps %xmm2,%xmm1 DB 72,139,88,48 ; mov 0x30(%rax),%rbx - DB 243,15,16,20,139 ; movss (%rbx,%rcx,4),%xmm2 + DB 243,66,15,16,20,155 ; movss (%rbx,%r11,4),%xmm2 DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 15,20,211 ; unpcklps %xmm3,%xmm2 DB 243,70,15,16,20,139 ; movss (%rbx,%r9,4),%xmm10 @@ -23017,7 +23984,7 @@ _sk_gradient_sse2 LABEL PROC DB 68,15,20,211 ; unpcklps %xmm3,%xmm10 DB 68,15,20,210 ; unpcklps %xmm2,%xmm10 DB 72,139,88,24 ; mov 0x18(%rax),%rbx - DB 243,68,15,16,28,139 ; movss (%rbx,%rcx,4),%xmm11 + DB 243,70,15,16,28,155 ; movss (%rbx,%r11,4),%xmm11 DB 243,66,15,16,20,147 ; movss (%rbx,%r10,4),%xmm2 DB 68,15,20,218 ; unpcklps %xmm2,%xmm11 DB 243,66,15,16,20,139 ; movss (%rbx,%r9,4),%xmm2 @@ -23025,7 +23992,7 @@ _sk_gradient_sse2 LABEL PROC DB 15,20,211 ; unpcklps %xmm3,%xmm2 DB 65,15,20,211 ; unpcklps %xmm11,%xmm2 DB 72,139,88,56 ; mov 0x38(%rax),%rbx - DB 243,68,15,16,36,139 ; movss (%rbx,%rcx,4),%xmm12 + DB 243,70,15,16,36,155 ; movss (%rbx,%r11,4),%xmm12 DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 68,15,20,227 ; unpcklps %xmm3,%xmm12 DB 243,70,15,16,28,139 ; movss (%rbx,%r9,4),%xmm11 @@ -23033,7 +24000,7 @@ _sk_gradient_sse2 LABEL PROC DB 68,15,20,219 ; unpcklps %xmm3,%xmm11 DB 69,15,20,220 ; unpcklps %xmm12,%xmm11 DB 72,139,88,32 ; mov 0x20(%rax),%rbx - DB 243,68,15,16,36,139 ; movss (%rbx,%rcx,4),%xmm12 + DB 243,70,15,16,36,155 ; movss (%rbx,%r11,4),%xmm12 DB 243,66,15,16,28,147 ; movss (%rbx,%r10,4),%xmm3 DB 68,15,20,227 ; unpcklps %xmm3,%xmm12 DB 243,66,15,16,28,139 ; movss (%rbx,%r9,4),%xmm3 @@ -23041,7 +24008,7 @@ _sk_gradient_sse2 LABEL PROC DB 65,15,20,221 ; unpcklps %xmm13,%xmm3 DB 65,15,20,220 ; unpcklps %xmm12,%xmm3 DB 72,139,64,64 ; mov 0x40(%rax),%rax - DB 243,68,15,16,36,136 ; movss (%rax,%rcx,4),%xmm12 + DB 243,70,15,16,36,152 ; movss (%rax,%r11,4),%xmm12 DB 243,70,15,16,44,144 ; movss (%rax,%r10,4),%xmm13 DB 69,15,20,229 ; unpcklps %xmm13,%xmm12 DB 243,70,15,16,44,136 ; movss (%rax,%r9,4),%xmm13 @@ -23110,29 +24077,29 @@ _sk_xy_to_unit_angle_sse2 LABEL PROC 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,129,19,0,0 ; movaps 0x1381(%rip),%xmm13 # 5d00 <_sk_callback_sse2+0xf59> + DB 68,15,40,45,207,19,0,0 ; movaps 0x13cf(%rip),%xmm13 # 6550 <_sk_callback_sse2+0xfa7> DB 69,15,89,236 ; mulps %xmm12,%xmm13 - DB 68,15,88,45,133,19,0,0 ; addps 0x1385(%rip),%xmm13 # 5d10 <_sk_callback_sse2+0xf69> + DB 68,15,88,45,211,19,0,0 ; addps 0x13d3(%rip),%xmm13 # 6560 <_sk_callback_sse2+0xfb7> DB 69,15,89,236 ; mulps %xmm12,%xmm13 - DB 68,15,88,45,137,19,0,0 ; addps 0x1389(%rip),%xmm13 # 5d20 <_sk_callback_sse2+0xf79> + DB 68,15,88,45,215,19,0,0 ; addps 0x13d7(%rip),%xmm13 # 6570 <_sk_callback_sse2+0xfc7> DB 69,15,89,236 ; mulps %xmm12,%xmm13 - DB 68,15,88,45,141,19,0,0 ; addps 0x138d(%rip),%xmm13 # 5d30 <_sk_callback_sse2+0xf89> + DB 68,15,88,45,219,19,0,0 ; addps 0x13db(%rip),%xmm13 # 6580 <_sk_callback_sse2+0xfd7> DB 69,15,89,235 ; mulps %xmm11,%xmm13 DB 69,15,194,202,1 ; cmpltps %xmm10,%xmm9 - DB 68,15,40,21,140,19,0,0 ; movaps 0x138c(%rip),%xmm10 # 5d40 <_sk_callback_sse2+0xf99> + DB 68,15,40,21,218,19,0,0 ; movaps 0x13da(%rip),%xmm10 # 6590 <_sk_callback_sse2+0xfe7> 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,127,19,0,0 ; movaps 0x137f(%rip),%xmm10 # 5d50 <_sk_callback_sse2+0xfa9> + DB 68,15,40,21,205,19,0,0 ; movaps 0x13cd(%rip),%xmm10 # 65a0 <_sk_callback_sse2+0xff7> 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,110,19,0,0 ; movaps 0x136e(%rip),%xmm10 # 5d60 <_sk_callback_sse2+0xfb9> + DB 68,15,40,21,188,19,0,0 ; movaps 0x13bc(%rip),%xmm10 # 65b0 <_sk_callback_sse2+0x1007> DB 69,15,92,208 ; subps %xmm8,%xmm10 DB 69,15,84,209 ; andps %xmm9,%xmm10 DB 69,15,85,200 ; andnps %xmm8,%xmm9 @@ -23155,7 +24122,7 @@ _sk_xy_to_radius_sse2 LABEL PROC PUBLIC _sk_save_xy_sse2 _sk_save_xy_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,64,19,0,0 ; movaps 0x1340(%rip),%xmm8 # 5d70 <_sk_callback_sse2+0xfc9> + DB 68,15,40,5,142,19,0,0 ; movaps 0x138e(%rip),%xmm8 # 65c0 <_sk_callback_sse2+0x1017> DB 15,17,0 ; movups %xmm0,(%rax) DB 68,15,40,200 ; movaps %xmm0,%xmm9 DB 69,15,88,200 ; addps %xmm8,%xmm9 @@ -23163,7 +24130,7 @@ _sk_save_xy_sse2 LABEL PROC 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,43,19,0,0 ; movaps 0x132b(%rip),%xmm12 # 5d80 <_sk_callback_sse2+0xfd9> + DB 68,15,40,37,121,19,0,0 ; movaps 0x1379(%rip),%xmm12 # 65d0 <_sk_callback_sse2+0x1027> DB 69,15,84,220 ; andps %xmm12,%xmm11 DB 69,15,92,211 ; subps %xmm11,%xmm10 DB 69,15,92,202 ; subps %xmm10,%xmm9 @@ -23206,8 +24173,8 @@ _sk_bilinear_nx_sse2 LABEL PROC 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,164,18,0,0 ; addps 0x12a4(%rip),%xmm0 # 5d90 <_sk_callback_sse2+0xfe9> - DB 68,15,40,13,172,18,0,0 ; movaps 0x12ac(%rip),%xmm9 # 5da0 <_sk_callback_sse2+0xff9> + DB 15,88,5,242,18,0,0 ; addps 0x12f2(%rip),%xmm0 # 65e0 <_sk_callback_sse2+0x1037> + DB 68,15,40,13,250,18,0,0 ; movaps 0x12fa(%rip),%xmm9 # 65f0 <_sk_callback_sse2+0x1047> 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 @@ -23218,7 +24185,7 @@ _sk_bilinear_px_sse2 LABEL PROC 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,155,18,0,0 ; addps 0x129b(%rip),%xmm0 # 5db0 <_sk_callback_sse2+0x1009> + DB 15,88,5,233,18,0,0 ; addps 0x12e9(%rip),%xmm0 # 6600 <_sk_callback_sse2+0x1057> 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 @@ -23228,8 +24195,8 @@ _sk_bilinear_ny_sse2 LABEL PROC 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,141,18,0,0 ; addps 0x128d(%rip),%xmm1 # 5dc0 <_sk_callback_sse2+0x1019> - DB 68,15,40,13,149,18,0,0 ; movaps 0x1295(%rip),%xmm9 # 5dd0 <_sk_callback_sse2+0x1029> + DB 15,88,13,219,18,0,0 ; addps 0x12db(%rip),%xmm1 # 6610 <_sk_callback_sse2+0x1067> + DB 68,15,40,13,227,18,0,0 ; movaps 0x12e3(%rip),%xmm9 # 6620 <_sk_callback_sse2+0x1077> 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 @@ -23240,7 +24207,7 @@ _sk_bilinear_py_sse2 LABEL PROC 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,131,18,0,0 ; addps 0x1283(%rip),%xmm1 # 5de0 <_sk_callback_sse2+0x1039> + DB 15,88,13,209,18,0,0 ; addps 0x12d1(%rip),%xmm1 # 6630 <_sk_callback_sse2+0x1087> 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 @@ -23250,13 +24217,13 @@ _sk_bicubic_n3x_sse2 LABEL PROC 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,118,18,0,0 ; addps 0x1276(%rip),%xmm0 # 5df0 <_sk_callback_sse2+0x1049> - DB 68,15,40,13,126,18,0,0 ; movaps 0x127e(%rip),%xmm9 # 5e00 <_sk_callback_sse2+0x1059> + DB 15,88,5,196,18,0,0 ; addps 0x12c4(%rip),%xmm0 # 6640 <_sk_callback_sse2+0x1097> + DB 68,15,40,13,204,18,0,0 ; movaps 0x12cc(%rip),%xmm9 # 6650 <_sk_callback_sse2+0x10a7> 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,122,18,0,0 ; mulps 0x127a(%rip),%xmm9 # 5e10 <_sk_callback_sse2+0x1069> - DB 68,15,88,13,130,18,0,0 ; addps 0x1282(%rip),%xmm9 # 5e20 <_sk_callback_sse2+0x1079> + DB 68,15,89,13,200,18,0,0 ; mulps 0x12c8(%rip),%xmm9 # 6660 <_sk_callback_sse2+0x10b7> + DB 68,15,88,13,208,18,0,0 ; addps 0x12d0(%rip),%xmm9 # 6670 <_sk_callback_sse2+0x10c7> 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 @@ -23267,16 +24234,16 @@ _sk_bicubic_n1x_sse2 LABEL PROC 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,113,18,0,0 ; addps 0x1271(%rip),%xmm0 # 5e30 <_sk_callback_sse2+0x1089> - DB 68,15,40,13,121,18,0,0 ; movaps 0x1279(%rip),%xmm9 # 5e40 <_sk_callback_sse2+0x1099> + DB 15,88,5,191,18,0,0 ; addps 0x12bf(%rip),%xmm0 # 6680 <_sk_callback_sse2+0x10d7> + DB 68,15,40,13,199,18,0,0 ; movaps 0x12c7(%rip),%xmm9 # 6690 <_sk_callback_sse2+0x10e7> DB 69,15,92,200 ; subps %xmm8,%xmm9 - DB 68,15,40,5,125,18,0,0 ; movaps 0x127d(%rip),%xmm8 # 5e50 <_sk_callback_sse2+0x10a9> + DB 68,15,40,5,203,18,0,0 ; movaps 0x12cb(%rip),%xmm8 # 66a0 <_sk_callback_sse2+0x10f7> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,129,18,0,0 ; addps 0x1281(%rip),%xmm8 # 5e60 <_sk_callback_sse2+0x10b9> + DB 68,15,88,5,207,18,0,0 ; addps 0x12cf(%rip),%xmm8 # 66b0 <_sk_callback_sse2+0x1107> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,133,18,0,0 ; addps 0x1285(%rip),%xmm8 # 5e70 <_sk_callback_sse2+0x10c9> + DB 68,15,88,5,211,18,0,0 ; addps 0x12d3(%rip),%xmm8 # 66c0 <_sk_callback_sse2+0x1117> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,137,18,0,0 ; addps 0x1289(%rip),%xmm8 # 5e80 <_sk_callback_sse2+0x10d9> + DB 68,15,88,5,215,18,0,0 ; addps 0x12d7(%rip),%xmm8 # 66d0 <_sk_callback_sse2+0x1127> 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 @@ -23284,17 +24251,17 @@ _sk_bicubic_n1x_sse2 LABEL PROC PUBLIC _sk_bicubic_p1x_sse2 _sk_bicubic_p1x_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,131,18,0,0 ; movaps 0x1283(%rip),%xmm8 # 5e90 <_sk_callback_sse2+0x10e9> + DB 68,15,40,5,209,18,0,0 ; movaps 0x12d1(%rip),%xmm8 # 66e0 <_sk_callback_sse2+0x1137> 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,127,18,0,0 ; movaps 0x127f(%rip),%xmm10 # 5ea0 <_sk_callback_sse2+0x10f9> + DB 68,15,40,21,205,18,0,0 ; movaps 0x12cd(%rip),%xmm10 # 66f0 <_sk_callback_sse2+0x1147> DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 68,15,88,21,131,18,0,0 ; addps 0x1283(%rip),%xmm10 # 5eb0 <_sk_callback_sse2+0x1109> + DB 68,15,88,21,209,18,0,0 ; addps 0x12d1(%rip),%xmm10 # 6700 <_sk_callback_sse2+0x1157> 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,127,18,0,0 ; addps 0x127f(%rip),%xmm10 # 5ec0 <_sk_callback_sse2+0x1119> + DB 68,15,88,21,205,18,0,0 ; addps 0x12cd(%rip),%xmm10 # 6710 <_sk_callback_sse2+0x1167> 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 @@ -23304,11 +24271,11 @@ _sk_bicubic_p3x_sse2 LABEL PROC 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,114,18,0,0 ; addps 0x1272(%rip),%xmm0 # 5ed0 <_sk_callback_sse2+0x1129> + DB 15,88,5,192,18,0,0 ; addps 0x12c0(%rip),%xmm0 # 6720 <_sk_callback_sse2+0x1177> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 69,15,89,201 ; mulps %xmm9,%xmm9 - DB 68,15,89,5,114,18,0,0 ; mulps 0x1272(%rip),%xmm8 # 5ee0 <_sk_callback_sse2+0x1139> - DB 68,15,88,5,122,18,0,0 ; addps 0x127a(%rip),%xmm8 # 5ef0 <_sk_callback_sse2+0x1149> + DB 68,15,89,5,192,18,0,0 ; mulps 0x12c0(%rip),%xmm8 # 6730 <_sk_callback_sse2+0x1187> + DB 68,15,88,5,200,18,0,0 ; addps 0x12c8(%rip),%xmm8 # 6740 <_sk_callback_sse2+0x1197> 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 @@ -23319,13 +24286,13 @@ _sk_bicubic_n3y_sse2 LABEL PROC 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,104,18,0,0 ; addps 0x1268(%rip),%xmm1 # 5f00 <_sk_callback_sse2+0x1159> - DB 68,15,40,13,112,18,0,0 ; movaps 0x1270(%rip),%xmm9 # 5f10 <_sk_callback_sse2+0x1169> + DB 15,88,13,182,18,0,0 ; addps 0x12b6(%rip),%xmm1 # 6750 <_sk_callback_sse2+0x11a7> + DB 68,15,40,13,190,18,0,0 ; movaps 0x12be(%rip),%xmm9 # 6760 <_sk_callback_sse2+0x11b7> 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,108,18,0,0 ; mulps 0x126c(%rip),%xmm9 # 5f20 <_sk_callback_sse2+0x1179> - DB 68,15,88,13,116,18,0,0 ; addps 0x1274(%rip),%xmm9 # 5f30 <_sk_callback_sse2+0x1189> + DB 68,15,89,13,186,18,0,0 ; mulps 0x12ba(%rip),%xmm9 # 6770 <_sk_callback_sse2+0x11c7> + DB 68,15,88,13,194,18,0,0 ; addps 0x12c2(%rip),%xmm9 # 6780 <_sk_callback_sse2+0x11d7> 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 @@ -23336,16 +24303,16 @@ _sk_bicubic_n1y_sse2 LABEL PROC 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,98,18,0,0 ; addps 0x1262(%rip),%xmm1 # 5f40 <_sk_callback_sse2+0x1199> - DB 68,15,40,13,106,18,0,0 ; movaps 0x126a(%rip),%xmm9 # 5f50 <_sk_callback_sse2+0x11a9> + DB 15,88,13,176,18,0,0 ; addps 0x12b0(%rip),%xmm1 # 6790 <_sk_callback_sse2+0x11e7> + DB 68,15,40,13,184,18,0,0 ; movaps 0x12b8(%rip),%xmm9 # 67a0 <_sk_callback_sse2+0x11f7> DB 69,15,92,200 ; subps %xmm8,%xmm9 - DB 68,15,40,5,110,18,0,0 ; movaps 0x126e(%rip),%xmm8 # 5f60 <_sk_callback_sse2+0x11b9> + DB 68,15,40,5,188,18,0,0 ; movaps 0x12bc(%rip),%xmm8 # 67b0 <_sk_callback_sse2+0x1207> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,114,18,0,0 ; addps 0x1272(%rip),%xmm8 # 5f70 <_sk_callback_sse2+0x11c9> + DB 68,15,88,5,192,18,0,0 ; addps 0x12c0(%rip),%xmm8 # 67c0 <_sk_callback_sse2+0x1217> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,118,18,0,0 ; addps 0x1276(%rip),%xmm8 # 5f80 <_sk_callback_sse2+0x11d9> + DB 68,15,88,5,196,18,0,0 ; addps 0x12c4(%rip),%xmm8 # 67d0 <_sk_callback_sse2+0x1227> DB 69,15,89,193 ; mulps %xmm9,%xmm8 - DB 68,15,88,5,122,18,0,0 ; addps 0x127a(%rip),%xmm8 # 5f90 <_sk_callback_sse2+0x11e9> + DB 68,15,88,5,200,18,0,0 ; addps 0x12c8(%rip),%xmm8 # 67e0 <_sk_callback_sse2+0x1237> 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 @@ -23353,17 +24320,17 @@ _sk_bicubic_n1y_sse2 LABEL PROC PUBLIC _sk_bicubic_p1y_sse2 _sk_bicubic_p1y_sse2 LABEL PROC DB 72,173 ; lods %ds:(%rsi),%rax - DB 68,15,40,5,116,18,0,0 ; movaps 0x1274(%rip),%xmm8 # 5fa0 <_sk_callback_sse2+0x11f9> + DB 68,15,40,5,194,18,0,0 ; movaps 0x12c2(%rip),%xmm8 # 67f0 <_sk_callback_sse2+0x1247> 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,111,18,0,0 ; movaps 0x126f(%rip),%xmm10 # 5fb0 <_sk_callback_sse2+0x1209> + DB 68,15,40,21,189,18,0,0 ; movaps 0x12bd(%rip),%xmm10 # 6800 <_sk_callback_sse2+0x1257> DB 69,15,89,209 ; mulps %xmm9,%xmm10 - DB 68,15,88,21,115,18,0,0 ; addps 0x1273(%rip),%xmm10 # 5fc0 <_sk_callback_sse2+0x1219> + DB 68,15,88,21,193,18,0,0 ; addps 0x12c1(%rip),%xmm10 # 6810 <_sk_callback_sse2+0x1267> 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,111,18,0,0 ; addps 0x126f(%rip),%xmm10 # 5fd0 <_sk_callback_sse2+0x1229> + DB 68,15,88,21,189,18,0,0 ; addps 0x12bd(%rip),%xmm10 # 6820 <_sk_callback_sse2+0x1277> 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 @@ -23373,11 +24340,11 @@ _sk_bicubic_p3y_sse2 LABEL PROC 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,97,18,0,0 ; addps 0x1261(%rip),%xmm1 # 5fe0 <_sk_callback_sse2+0x1239> + DB 15,88,13,175,18,0,0 ; addps 0x12af(%rip),%xmm1 # 6830 <_sk_callback_sse2+0x1287> DB 69,15,40,200 ; movaps %xmm8,%xmm9 DB 69,15,89,201 ; mulps %xmm9,%xmm9 - DB 68,15,89,5,97,18,0,0 ; mulps 0x1261(%rip),%xmm8 # 5ff0 <_sk_callback_sse2+0x1249> - DB 68,15,88,5,105,18,0,0 ; addps 0x1269(%rip),%xmm8 # 6000 <_sk_callback_sse2+0x1259> + DB 68,15,89,5,175,18,0,0 ; mulps 0x12af(%rip),%xmm8 # 6840 <_sk_callback_sse2+0x1297> + DB 68,15,88,5,183,18,0,0 ; addps 0x12b7(%rip),%xmm8 # 6850 <_sk_callback_sse2+0x12a7> 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 @@ -23385,11 +24352,13 @@ _sk_bicubic_p3y_sse2 LABEL PROC PUBLIC _sk_callback_sse2 _sk_callback_sse2 LABEL PROC + DB 65,87 ; push %r15 DB 65,86 ; push %r14 DB 83 ; push %rbx - DB 72,131,236,40 ; sub $0x28,%rsp + DB 72,131,236,32 ; sub $0x20,%rsp DB 68,15,40,197 ; movaps %xmm5,%xmm8 DB 68,15,40,204 ; movaps %xmm4,%xmm9 + DB 73,137,207 ; mov %rcx,%r15 DB 73,137,214 ; mov %rdx,%r14 DB 72,173 ; lods %ds:(%rsi),%rax DB 72,137,195 ; mov %rax,%rbx @@ -23404,12 +24373,14 @@ _sk_callback_sse2 LABEL PROC DB 15,18,236 ; movhlps %xmm4,%xmm5 DB 15,40,216 ; movaps %xmm0,%xmm3 DB 102,15,20,218 ; unpcklpd %xmm2,%xmm3 - DB 15,18,208 ; movhlps %xmm0,%xmm2 DB 102,15,17,75,8 ; movupd %xmm1,0x8(%rbx) + DB 15,18,208 ; movhlps %xmm0,%xmm2 DB 15,17,107,24 ; movups %xmm5,0x18(%rbx) DB 102,15,17,91,40 ; movupd %xmm3,0x28(%rbx) DB 15,17,83,56 ; movups %xmm2,0x38(%rbx) + DB 77,133,255 ; test %r15,%r15 DB 186,4,0,0,0 ; mov $0x4,%edx + DB 65,15,69,215 ; cmovne %r15d,%edx DB 72,137,217 ; mov %rbx,%rcx DB 255,19 ; callq *(%rbx) DB 72,139,131,136,0,0,0 ; mov 0x88(%rbx),%rax @@ -23431,11 +24402,13 @@ _sk_callback_sse2 LABEL PROC DB 15,18,220 ; movhlps %xmm4,%xmm3 DB 72,173 ; lods %ds:(%rsi),%rax DB 76,137,242 ; mov %r14,%rdx + DB 76,137,249 ; mov %r15,%rcx DB 65,15,40,225 ; movaps %xmm9,%xmm4 DB 65,15,40,232 ; movaps %xmm8,%xmm5 - DB 72,131,196,40 ; add $0x28,%rsp + DB 72,131,196,32 ; add $0x20,%rsp DB 91 ; pop %rbx DB 65,94 ; pop %r14 + DB 65,95 ; pop %r15 DB 255,224 ; jmpq *%rax ALIGN 16 @@ -23582,11 +24555,11 @@ ALIGN 16 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 5038 <.literal16+0x1d8> + DB 224,64 ; loopne 5848 <.literal16+0x1d8> DB 0,0 ; add %al,(%rax) - DB 224,64 ; loopne 503c <.literal16+0x1dc> + DB 224,64 ; loopne 584c <.literal16+0x1dc> DB 0,0 ; add %al,(%rax) - DB 224,64 ; loopne 5040 <.literal16+0x1e0> + DB 224,64 ; loopne 5850 <.literal16+0x1e0> DB 154 ; (bad) DB 153 ; cltd DB 153 ; cltd @@ -23606,13 +24579,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5061 <.literal16+0x201> + DB 71,225,61 ; rex.RXB loope 5871 <.literal16+0x201> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5065 <.literal16+0x205> + DB 71,225,61 ; rex.RXB loope 5875 <.literal16+0x205> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5069 <.literal16+0x209> + DB 71,225,61 ; rex.RXB loope 5879 <.literal16+0x209> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 506d <.literal16+0x20d> + DB 71,225,61 ; rex.RXB loope 587d <.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) @@ -23637,13 +24610,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50a1 <.literal16+0x241> + DB 71,225,61 ; rex.RXB loope 58b1 <.literal16+0x241> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50a5 <.literal16+0x245> + DB 71,225,61 ; rex.RXB loope 58b5 <.literal16+0x245> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50a9 <.literal16+0x249> + DB 71,225,61 ; rex.RXB loope 58b9 <.literal16+0x249> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50ad <.literal16+0x24d> + DB 71,225,61 ; rex.RXB loope 58bd <.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) @@ -23668,13 +24641,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50e1 <.literal16+0x281> + DB 71,225,61 ; rex.RXB loope 58f1 <.literal16+0x281> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50e5 <.literal16+0x285> + DB 71,225,61 ; rex.RXB loope 58f5 <.literal16+0x285> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50e9 <.literal16+0x289> + DB 71,225,61 ; rex.RXB loope 58f9 <.literal16+0x289> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 50ed <.literal16+0x28d> + DB 71,225,61 ; rex.RXB loope 58fd <.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) @@ -23699,13 +24672,13 @@ ALIGN 16 DB 10,23 ; or (%rdi),%dl DB 63 ; (bad) DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5121 <.literal16+0x2c1> + DB 71,225,61 ; rex.RXB loope 5931 <.literal16+0x2c1> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5125 <.literal16+0x2c5> + DB 71,225,61 ; rex.RXB loope 5935 <.literal16+0x2c5> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 5129 <.literal16+0x2c9> + DB 71,225,61 ; rex.RXB loope 5939 <.literal16+0x2c9> DB 174 ; scas %es:(%rdi),%al - DB 71,225,61 ; rex.RXB loope 512d <.literal16+0x2cd> + DB 71,225,61 ; rex.RXB loope 593d <.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) @@ -23726,11 +24699,11 @@ ALIGN 16 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 516b <.literal16+0x30b> + DB 127,67 ; jg 597b <.literal16+0x30b> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 516f <.literal16+0x30f> + DB 127,67 ; jg 597f <.literal16+0x30f> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5173 <.literal16+0x313> + DB 127,67 ; jg 5983 <.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) @@ -23936,13 +24909,26 @@ ALIGN 16 DB 170 ; stos %al,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) DB 190,171,170,170,190 ; mov $0xbeaaaaab,%esi + 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,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 248 ; clc + 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,248,0,0 ; addb $0x0,0xf8003b(%rax) DB 0,248 ; add %bh,%al DB 0,0 ; add %al,(%rax) DB 0,248 ; add %bh,%al @@ -23957,13 +24943,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 5339 <.literal16+0x4d9> + DB 224,7 ; loopne 5b69 <.literal16+0x4f9> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 533d <.literal16+0x4dd> + DB 224,7 ; loopne 5b6d <.literal16+0x4fd> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5341 <.literal16+0x4e1> + DB 224,7 ; loopne 5b71 <.literal16+0x501> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5345 <.literal16+0x4e5> + DB 224,7 ; loopne 5b75 <.literal16+0x505> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -24028,11 +25014,11 @@ ALIGN 16 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 541b <.literal16+0x5bb> + DB 127,67 ; jg 5c4b <.literal16+0x5db> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 541f <.literal16+0x5bf> + DB 127,67 ; jg 5c4f <.literal16+0x5df> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5423 <.literal16+0x5c3> + DB 127,67 ; jg 5c53 <.literal16+0x5e3> 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) @@ -24047,16 +25033,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 5414 <.literal16+0x5b4> + DB 127,0 ; jg 5c44 <.literal16+0x5d4> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5418 <.literal16+0x5b8> + DB 127,0 ; jg 5c48 <.literal16+0x5d8> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 541c <.literal16+0x5bc> + DB 127,0 ; jg 5c4c <.literal16+0x5dc> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5420 <.literal16+0x5c0> + DB 127,0 ; jg 5c50 <.literal16+0x5e0> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -24065,7 +25051,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 54a5 <.literal16+0x645> + DB 119,115 ; ja 5cd5 <.literal16+0x665> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -24076,7 +25062,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 5409 <.literal16+0x5a9> + DB 117,191 ; jne 5c39 <.literal16+0x5c9> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -24088,7 +25074,7 @@ ALIGN 16 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 ffffffffe9a3944a <_sk_callback_sse2+0xffffffffe9a346a3> + DB 233,220,63,163,233 ; jmpq ffffffffe9a39c7a <_sk_callback_sse2+0xffffffffe9a346d1> DB 220,63 ; fdivrl (%rdi) DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) @@ -24142,16 +25128,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 54e4 <.literal16+0x684> + DB 127,0 ; jg 5d14 <.literal16+0x6a4> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 54e8 <.literal16+0x688> + DB 127,0 ; jg 5d18 <.literal16+0x6a8> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 54ec <.literal16+0x68c> + DB 127,0 ; jg 5d1c <.literal16+0x6ac> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 54f0 <.literal16+0x690> + DB 127,0 ; jg 5d20 <.literal16+0x6b0> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -24160,7 +25146,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 5575 <.literal16+0x715> + DB 119,115 ; ja 5da5 <.literal16+0x735> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -24171,7 +25157,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 54d9 <.literal16+0x679> + DB 117,191 ; jne 5d09 <.literal16+0x699> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -24183,7 +25169,7 @@ ALIGN 16 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 ffffffffe9a3951a <_sk_callback_sse2+0xffffffffe9a34773> + DB 233,220,63,163,233 ; jmpq ffffffffe9a39d4a <_sk_callback_sse2+0xffffffffe9a347a1> DB 220,63 ; fdivrl (%rdi) DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) @@ -24237,16 +25223,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 55b4 <.literal16+0x754> + DB 127,0 ; jg 5de4 <.literal16+0x774> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 55b8 <.literal16+0x758> + DB 127,0 ; jg 5de8 <.literal16+0x778> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 55bc <.literal16+0x75c> + DB 127,0 ; jg 5dec <.literal16+0x77c> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 55c0 <.literal16+0x760> + DB 127,0 ; jg 5df0 <.literal16+0x780> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -24255,7 +25241,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 5645 <.literal16+0x7e5> + DB 119,115 ; ja 5e75 <.literal16+0x805> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -24266,7 +25252,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 55a9 <.literal16+0x749> + DB 117,191 ; jne 5dd9 <.literal16+0x769> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -24278,7 +25264,7 @@ ALIGN 16 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 ffffffffe9a395ea <_sk_callback_sse2+0xffffffffe9a34843> + DB 233,220,63,163,233 ; jmpq ffffffffe9a39e1a <_sk_callback_sse2+0xffffffffe9a34871> DB 220,63 ; fdivrl (%rdi) DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) @@ -24332,16 +25318,16 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 52,255 ; xor $0xff,%al DB 255 ; (bad) - DB 127,0 ; jg 5684 <.literal16+0x824> + DB 127,0 ; jg 5eb4 <.literal16+0x844> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5688 <.literal16+0x828> + DB 127,0 ; jg 5eb8 <.literal16+0x848> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 568c <.literal16+0x82c> + DB 127,0 ; jg 5ebc <.literal16+0x84c> DB 255 ; (bad) DB 255 ; (bad) - DB 127,0 ; jg 5690 <.literal16+0x830> + DB 127,0 ; jg 5ec0 <.literal16+0x850> DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -24350,7 +25336,7 @@ ALIGN 16 DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) DB 0,63 ; add %bh,(%rdi) - DB 119,115 ; ja 5715 <.literal16+0x8b5> + DB 119,115 ; ja 5f45 <.literal16+0x8d5> DB 248 ; clc DB 194,119,115 ; retq $0x7377 DB 248 ; clc @@ -24361,7 +25347,7 @@ ALIGN 16 DB 194,117,191 ; retq $0xbf75 DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) - DB 117,191 ; jne 5679 <.literal16+0x819> + DB 117,191 ; jne 5ea9 <.literal16+0x839> DB 191,63,117,191,191 ; mov $0xbfbf753f,%edi DB 63 ; (bad) DB 249 ; stc @@ -24373,7 +25359,7 @@ ALIGN 16 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 ffffffffe9a396ba <_sk_callback_sse2+0xffffffffe9a34913> + DB 233,220,63,163,233 ; jmpq ffffffffe9a39eea <_sk_callback_sse2+0xffffffffe9a34941> DB 220,63 ; fdivrl (%rdi) DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) @@ -24423,13 +25409,13 @@ ALIGN 16 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 5797 <.literal16+0x937> + DB 127,67 ; jg 5fc7 <.literal16+0x957> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 579b <.literal16+0x93b> + DB 127,67 ; jg 5fcb <.literal16+0x95b> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 579f <.literal16+0x93f> + DB 127,67 ; jg 5fcf <.literal16+0x95f> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 57a3 <.literal16+0x943> + DB 127,67 ; jg 5fd3 <.literal16+0x963> DB 0,0 ; add %al,(%rax) DB 0,195 ; add %al,%bl DB 0,0 ; add %al,(%rax) @@ -24476,20 +25462,28 @@ ALIGN 16 DB 128,3,62 ; addb $0x3e,(%rbx) DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 5823 <.literal16+0x9c3> + DB 118,63 ; jbe 6053 <.literal16+0x9e3> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 5827 <.literal16+0x9c7> + DB 118,63 ; jbe 6057 <.literal16+0x9e7> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 582b <.literal16+0x9cb> + DB 118,63 ; jbe 605b <.literal16+0x9eb> DB 31 ; (bad) DB 215 ; xlat %ds:(%rbx) - DB 118,63 ; jbe 582f <.literal16+0x9cf> + DB 118,63 ; jbe 605f <.literal16+0x9ef> DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) DB 246,64,83,63 ; testb $0x3f,0x53(%rax) + DB 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,129,128,128,59 ; addb $0x3b,-0x7f7f7ec5(%rax) @@ -24497,11 +25491,19 @@ ALIGN 16 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 586b <.literal16+0xa0b> + DB 127,67 ; jg 60ab <.literal16+0xa3b> + DB 0,0 ; add %al,(%rax) + DB 127,67 ; jg 60af <.literal16+0xa3f> + DB 0,0 ; add %al,(%rax) + DB 127,67 ; jg 60b3 <.literal16+0xa43> + DB 255,0 ; incl (%rax) DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 586f <.literal16+0xa0f> + 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 127,67 ; jg 5873 <.literal16+0xa13> 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) @@ -24541,13 +25543,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 58b9 <.literal16+0xa59> + DB 224,7 ; loopne 6109 <.literal16+0xa99> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 58bd <.literal16+0xa5d> + DB 224,7 ; loopne 610d <.literal16+0xa9d> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 58c1 <.literal16+0xa61> + DB 224,7 ; loopne 6111 <.literal16+0xaa1> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 58c5 <.literal16+0xa65> + DB 224,7 ; loopne 6115 <.literal16+0xaa5> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -24593,13 +25595,13 @@ ALIGN 16 DB 132,55 ; test %dh,(%rdi) DB 8,33 ; or %ah,(%rcx) DB 132,55 ; test %dh,(%rdi) - DB 224,7 ; loopne 5929 <.literal16+0xac9> + DB 224,7 ; loopne 6179 <.literal16+0xb09> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 592d <.literal16+0xacd> + DB 224,7 ; loopne 617d <.literal16+0xb0d> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5931 <.literal16+0xad1> + DB 224,7 ; loopne 6181 <.literal16+0xb11> DB 0,0 ; add %al,(%rax) - DB 224,7 ; loopne 5935 <.literal16+0xad5> + DB 224,7 ; loopne 6185 <.literal16+0xb15> DB 0,0 ; add %al,(%rax) DB 33,8 ; and %ecx,(%rax) DB 2,58 ; add (%rdx),%bh @@ -24637,13 +25639,13 @@ ALIGN 16 DB 65,0,0 ; add %al,(%r8) DB 248 ; clc DB 65,0,0 ; add %al,(%r8) - DB 124,66 ; jl 59c6 <.literal16+0xb66> + DB 124,66 ; jl 6216 <.literal16+0xba6> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 59ca <.literal16+0xb6a> + DB 124,66 ; jl 621a <.literal16+0xbaa> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 59ce <.literal16+0xb6e> + DB 124,66 ; jl 621e <.literal16+0xbae> DB 0,0 ; add %al,(%rax) - DB 124,66 ; jl 59d2 <.literal16+0xb72> + DB 124,66 ; jl 6222 <.literal16+0xbb2> DB 0,240 ; add %dh,%al DB 0,0 ; add %al,(%rax) DB 0,240 ; add %dh,%al @@ -24733,13 +25735,13 @@ ALIGN 16 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 5ad5 <.literal16+0xc75> + DB 112,65 ; jo 6325 <.literal16+0xcb5> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 5ad9 <.literal16+0xc79> + DB 112,65 ; jo 6329 <.literal16+0xcb9> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 5add <.literal16+0xc7d> + DB 112,65 ; jo 632d <.literal16+0xcbd> DB 0,0 ; add %al,(%rax) - DB 112,65 ; jo 5ae1 <.literal16+0xc81> + DB 112,65 ; jo 6331 <.literal16+0xcc1> DB 255,0 ; incl (%rax) DB 0,0 ; add %al,(%rax) DB 255,0 ; incl (%rax) @@ -24761,11 +25763,11 @@ ALIGN 16 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 5b2b <.literal16+0xccb> + DB 127,67 ; jg 637b <.literal16+0xd0b> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5b2f <.literal16+0xccf> + DB 127,67 ; jg 637f <.literal16+0xd0f> DB 0,0 ; add %al,(%rax) - DB 127,67 ; jg 5b33 <.literal16+0xcd3> + DB 127,67 ; jg 6383 <.literal16+0xd13> 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) @@ -24841,13 +25843,13 @@ ALIGN 16 DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) DB 255 ; (bad) - DB 127,71 ; jg 5c1b <.literal16+0xdbb> + DB 127,71 ; jg 646b <.literal16+0xdfb> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 5c1f <.literal16+0xdbf> + DB 127,71 ; jg 646f <.literal16+0xdff> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 5c23 <.literal16+0xdc3> + DB 127,71 ; jg 6473 <.literal16+0xe03> DB 0,255 ; add %bh,%bh - DB 127,71 ; jg 5c27 <.literal16+0xdc7> + DB 127,71 ; jg 6477 <.literal16+0xe07> DB 0,0 ; add %al,(%rax) DB 128,63,0 ; cmpb $0x0,(%rdi) DB 0,128,63,0,0,128 ; add %al,-0x7fffffc1(%rax) @@ -24924,10 +25926,10 @@ ALIGN 16 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) # 2dc06dba <_sk_callback_sse2+0x2dc02013> + DB 192,45,16,17,192,45,16 ; shrb $0x10,0x2dc01110(%rip) # 2dc0760a <_sk_callback_sse2+0x2dc02061> DB 17,192 ; adc %eax,%eax DB 45,16,17,192,18 ; sub $0x12c01110,%eax - DB 120,57 ; js 5cec <.literal16+0xe8c> + DB 120,57 ; js 653c <.literal16+0xecc> 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 @@ -25055,11 +26057,11 @@ ALIGN 16 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 5e32 <.literal16+0xfd2> + DB 62,114,28 ; jb,pt 6682 <.literal16+0x1012> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5e36 <.literal16+0xfd6> + DB 62,114,28 ; jb,pt 6686 <.literal16+0x1016> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5e3a <.literal16+0xfda> + DB 62,114,28 ; jb,pt 668a <.literal16+0x101a> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -25103,7 +26105,7 @@ ALIGN 16 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 # 3d63ecc5 <_sk_callback_sse2+0x3d639f1e> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f515 <_sk_callback_sse2+0x3d639f6c> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -25129,7 +26131,7 @@ ALIGN 16 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 # 3d63ed05 <_sk_callback_sse2+0x3d639f5e> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f555 <_sk_callback_sse2+0x3d639fac> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al @@ -25138,13 +26140,13 @@ ALIGN 16 DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al DB 63 ; (bad) - DB 114,28 ; jb 5efe <.literal16+0x109e> + DB 114,28 ; jb 674e <.literal16+0x10de> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5f02 <.literal16+0x10a2> + DB 62,114,28 ; jb,pt 6752 <.literal16+0x10e2> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5f06 <.literal16+0x10a6> + DB 62,114,28 ; jb,pt 6756 <.literal16+0x10e6> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5f0a <.literal16+0x10aa> + DB 62,114,28 ; jb,pt 675a <.literal16+0x10ea> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -25165,11 +26167,11 @@ ALIGN 16 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 5f42 <.literal16+0x10e2> + DB 62,114,28 ; jb,pt 6792 <.literal16+0x1122> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5f46 <.literal16+0x10e6> + DB 62,114,28 ; jb,pt 6796 <.literal16+0x1126> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 5f4a <.literal16+0x10ea> + DB 62,114,28 ; jb,pt 679a <.literal16+0x112a> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) @@ -25213,7 +26215,7 @@ ALIGN 16 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 # 3d63edd5 <_sk_callback_sse2+0x3d63a02e> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f625 <_sk_callback_sse2+0x3d63a07c> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 0,63 ; add %bh,(%rdi) DB 0,0 ; add %al,(%rax) @@ -25239,7 +26241,7 @@ ALIGN 16 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 # 3d63ee15 <_sk_callback_sse2+0x3d63a06e> + DB 99,61,57,142,99,61 ; movslq 0x3d638e39(%rip),%edi # 3d63f665 <_sk_callback_sse2+0x3d63a0bc> DB 57,142,99,61,0,0 ; cmp %ecx,0x3d63(%rsi) DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al @@ -25248,13 +26250,13 @@ ALIGN 16 DB 192,63,0 ; sarb $0x0,(%rdi) DB 0,192 ; add %al,%al DB 63 ; (bad) - DB 114,28 ; jb 600e <.literal16+0x11ae> + DB 114,28 ; jb 685e <.literal16+0x11ee> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 6012 <_sk_callback_sse2+0x126b> + DB 62,114,28 ; jb,pt 6862 <_sk_callback_sse2+0x12b9> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 6016 <_sk_callback_sse2+0x126f> + DB 62,114,28 ; jb,pt 6866 <_sk_callback_sse2+0x12bd> DB 199 ; (bad) - DB 62,114,28 ; jb,pt 601a <_sk_callback_sse2+0x1273> + DB 62,114,28 ; jb,pt 686a <_sk_callback_sse2+0x12c1> DB 199 ; (bad) DB 62,171 ; ds stos %eax,%es:(%rdi) DB 170 ; stos %al,%es:(%rdi) diff --git a/src/jumper/SkJumper_stages.cpp b/src/jumper/SkJumper_stages.cpp index 4ab00c9bc1..3dfca1f047 100644 --- a/src/jumper/SkJumper_stages.cpp +++ b/src/jumper/SkJumper_stages.cpp @@ -76,10 +76,8 @@ struct LazyCtx { // We're finally going to get to what a Stage function looks like! // It's best to jump down to the #else case first, then to come back up here for AVX. -#if defined(JUMPER) && defined(__AVX__) - // There's a big cost to switch between SSE and AVX, so we do a little - // extra work to handle even the jagged <kStride tail in AVX mode. - // Compared to normal stages, we maintain an extra tail register: +#if defined(JUMPER) && defined(__SSE2__) + // Process the tail on all x86 processors with SSE2 or better instructions. // tail == 0 ~~> work on a full kStride pixels // tail != 0 ~~> work on only the first tail pixels // tail is always < kStride. @@ -113,8 +111,7 @@ struct LazyCtx { F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da) #else - // Other instruction sets (SSE, NEON, portable) can fall back on narrower - // pipelines cheaply, which frees us to always assume tail==0. + // Other instruction sets (NEON, portable) currently always assume tail == 0. // Stages tail call between each other by following program as described above. // x is our induction variable, stepping forward kStride at a time. diff --git a/src/jumper/SkJumper_vectors.h b/src/jumper/SkJumper_vectors.h index b99330903a..acd3c93b9a 100644 --- a/src/jumper/SkJumper_vectors.h +++ b/src/jumper/SkJumper_vectors.h @@ -488,13 +488,27 @@ } SI void load3(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b) { - // Load slightly weirdly to make sure we don't load past the end of 4x48 bits. - auto _01 = _mm_loadu_si128((const __m128i*)(ptr + 0)) , - _23 = _mm_srli_si128(_mm_loadu_si128((const __m128i*)(ptr + 4)), 4); - - // Each _N holds R,G,B for pixel N in its lower 3 lanes (upper 5 are ignored). - auto _0 = _01, _1 = _mm_srli_si128(_01, 6), - _2 = _23, _3 = _mm_srli_si128(_23, 6); + __m128i _0, _1, _2, _3; + if (__builtin_expect(tail,0)) { + _1 = _2 = _3 = _mm_setzero_si128(); + auto load_rgb = [](const uint16_t* src) { + auto v = _mm_cvtsi32_si128(*(const uint32_t*)src); + return _mm_insert_epi16(v, src[2], 2); + }; + if ( true ) { _0 = load_rgb(ptr + 0); } + if (tail > 1) { _1 = load_rgb(ptr + 3); } + if (tail > 2) { _2 = load_rgb(ptr + 6); } + } else { + // Load slightly weirdly to make sure we don't load past the end of 4x48 bits. + auto _01 = _mm_loadu_si128((const __m128i*)(ptr + 0)) , + _23 = _mm_srli_si128(_mm_loadu_si128((const __m128i*)(ptr + 4)), 4); + + // Each _N holds R,G,B for pixel N in its lower 3 lanes (upper 5 are ignored). + _0 = _01; + _1 = _mm_srli_si128(_01, 6); + _2 = _23; + _3 = _mm_srli_si128(_23, 6); + } // De-interlace to R,G,B. auto _02 = _mm_unpacklo_epi16(_0, _2), // r0 r2 g0 g2 b0 b2 xx xx @@ -508,9 +522,19 @@ *g = unaligned_load<U16>(&G); *b = unaligned_load<U16>(&B); } + SI void load4(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b, U16* a) { - auto _01 = _mm_loadu_si128(((__m128i*)ptr) + 0), - _23 = _mm_loadu_si128(((__m128i*)ptr) + 1); + __m128i _01, _23; + if (__builtin_expect(tail,0)) { + _01 = _23 = _mm_setzero_si128(); + auto src = (const double*)ptr; + if ( true ) { _01 = _mm_loadl_pd(_01, src + 0); } // r0 g0 b0 a0 00 00 00 00 + if (tail > 1) { _01 = _mm_loadh_pd(_01, src + 1); } // r0 g0 b0 a0 r1 g1 b1 a1 + if (tail > 2) { _23 = _mm_loadl_pd(_23, src + 2); } // r2 g2 b2 a2 00 00 00 00 + } else { + _01 = _mm_loadu_si128(((__m128i*)ptr) + 0); // r0 g0 b0 a0 r1 g1 b1 a1 + _23 = _mm_loadu_si128(((__m128i*)ptr) + 1); // r2 g2 b2 a2 r3 g3 b3 a3 + } auto _02 = _mm_unpacklo_epi16(_01, _23), // r0 r2 g0 g2 b0 b2 a0 a2 _13 = _mm_unpackhi_epi16(_01, _23); // r1 r3 g1 g3 b1 b3 a1 a3 @@ -523,30 +547,54 @@ *b = unaligned_load<U16>((uint16_t*)&ba + 0); *a = unaligned_load<U16>((uint16_t*)&ba + 4); } + SI void store4(uint16_t* ptr, size_t tail, U16 r, U16 g, U16 b, U16 a) { auto rg = _mm_unpacklo_epi16(widen_cast<__m128i>(r), widen_cast<__m128i>(g)), ba = _mm_unpacklo_epi16(widen_cast<__m128i>(b), widen_cast<__m128i>(a)); - _mm_storeu_si128((__m128i*)ptr + 0, _mm_unpacklo_epi32(rg, ba)); - _mm_storeu_si128((__m128i*)ptr + 1, _mm_unpackhi_epi32(rg, ba)); + + if (__builtin_expect(tail, 0)) { + auto dst = (double*)ptr; + if ( true ) { _mm_storel_pd(dst + 0, _mm_unpacklo_epi32(rg, ba)); } + if (tail > 1) { _mm_storeh_pd(dst + 1, _mm_unpacklo_epi32(rg, ba)); } + if (tail > 2) { _mm_storel_pd(dst + 2, _mm_unpackhi_epi32(rg, ba)); } + } else { + _mm_storeu_si128((__m128i*)ptr + 0, _mm_unpacklo_epi32(rg, ba)); + _mm_storeu_si128((__m128i*)ptr + 1, _mm_unpackhi_epi32(rg, ba)); + } } SI void load4(const float* ptr, size_t tail, F* r, F* g, F* b, F* a) { - auto _0 = _mm_loadu_ps(ptr+ 0), - _1 = _mm_loadu_ps(ptr+ 4), - _2 = _mm_loadu_ps(ptr+ 8), - _3 = _mm_loadu_ps(ptr+12); + F _0, _1, _2, _3; + if (__builtin_expect(tail, 0)) { + _1 = _2 = _3 = _mm_setzero_si128(); + if ( true ) { _0 = _mm_loadu_ps(ptr + 0); } + if (tail > 1) { _1 = _mm_loadu_ps(ptr + 4); } + if (tail > 2) { _2 = _mm_loadu_ps(ptr + 8); } + } else { + _0 = _mm_loadu_ps(ptr + 0); + _1 = _mm_loadu_ps(ptr + 4); + _2 = _mm_loadu_ps(ptr + 8); + _3 = _mm_loadu_ps(ptr +12); + } _MM_TRANSPOSE4_PS(_0,_1,_2,_3); *r = _0; *g = _1; *b = _2; *a = _3; } + SI void store4(float* ptr, size_t tail, F r, F g, F b, F a) { _MM_TRANSPOSE4_PS(r,g,b,a); - _mm_storeu_ps(ptr+ 0, r); - _mm_storeu_ps(ptr+ 4, g); - _mm_storeu_ps(ptr+ 8, b); - _mm_storeu_ps(ptr+12, a); + if (__builtin_expect(tail, 0)) { + if ( true ) { _mm_storeu_ps(ptr + 0, r); } + if (tail > 1) { _mm_storeu_ps(ptr + 4, g); } + if (tail > 2) { _mm_storeu_ps(ptr + 8, b); } + } else { + _mm_storeu_ps(ptr + 0, r); + _mm_storeu_ps(ptr + 4, g); + _mm_storeu_ps(ptr + 8, b); + _mm_storeu_ps(ptr +12, a); + } } #endif diff --git a/tests/BlitRowTest.cpp b/tests/BlitRowTest.cpp deleted file mode 100644 index 45937b2e6a..0000000000 --- a/tests/BlitRowTest.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkBitmap.h" -#include "SkCanvas.h" -#include "SkColorPriv.h" -#include "SkGradientShader.h" -#include "SkRect.h" -#include "SkVertices.h" -#include "Test.h" - -#include "sk_tool_utils.h" - -// these are in the same order as the SkColorType enum -static const char* gColorTypeName[] = { - "None", "A8", "565", "4444", "RGBA", "BGRA", "Index8" -}; - -/** Returns -1 on success, else the x coord of the first bad pixel, return its - value in bad - */ -typedef int (*Proc)(const void*, int width, uint32_t expected, uint32_t* bad); - -static int proc_32(const void* ptr, int w, uint32_t expected, uint32_t* bad) { - const SkPMColor* addr = static_cast<const SkPMColor*>(ptr); - for (int x = 0; x < w; x++) { - if (addr[x] != expected) { - *bad = addr[x]; - return x; - } - } - return -1; -} - -static int proc_16(const void* ptr, int w, uint32_t expected, uint32_t* bad) { - const uint16_t* addr = static_cast<const uint16_t*>(ptr); - for (int x = 0; x < w; x++) { - if (addr[x] != expected) { - *bad = addr[x]; - return x; - } - } - return -1; -} - -static int proc_8(const void* ptr, int w, uint32_t expected, uint32_t* bad) { - const SkPMColor* addr = static_cast<const SkPMColor*>(ptr); - for (int x = 0; x < w; x++) { - if (SkGetPackedA32(addr[x]) != expected) { - *bad = SkGetPackedA32(addr[x]); - return x; - } - } - return -1; -} - -static int proc_bad(const void*, int, uint32_t, uint32_t* bad) { - *bad = 0; - return 0; -} - -static Proc find_proc(const SkBitmap& bm, SkPMColor expect32, uint16_t expect16, - uint8_t expect8, uint32_t* expect) { - switch (bm.colorType()) { - case kN32_SkColorType: - *expect = expect32; - return proc_32; - case kARGB_4444_SkColorType: - case kRGB_565_SkColorType: - *expect = expect16; - return proc_16; - case kAlpha_8_SkColorType: - *expect = expect8; - return proc_8; - default: - *expect = 0; - return proc_bad; - } -} - -static bool check_color(const SkBitmap& bm, SkPMColor expect32, - uint16_t expect16, uint8_t expect8, - skiatest::Reporter* reporter) { - uint32_t expect; - Proc proc = find_proc(bm, expect32, expect16, expect8, &expect); - for (int y = 0; y < bm.height(); y++) { - uint32_t bad; - int x = proc(bm.getAddr(0, y), bm.width(), expect, &bad); - if (x >= 0) { - ERRORF(reporter, "BlitRow colortype=%s [%d %d] expected %x got %x", - gColorTypeName[bm.colorType()], x, y, expect, bad); - return false; - } - } - return true; -} - -// Make sure our blits always map src==0 to a noop, and src==FF to full opaque -static void test_00_FF(skiatest::Reporter* reporter) { - static const int W = 256; - - static const SkColorType gDstColorType[] = { - kN32_SkColorType, - kRGB_565_SkColorType, - }; - - static const struct { - SkColor fSrc; - SkColor fDst; - SkPMColor fResult32; - uint16_t fResult16; - uint8_t fResult8; - } gSrcRec[] = { - { 0, 0, 0, 0, 0 }, - { 0, 0xFFFFFFFF, SkPackARGB32(0xFF, 0xFF, 0xFF, 0xFF), 0xFFFF, 0xFF }, - { 0xFFFFFFFF, 0, SkPackARGB32(0xFF, 0xFF, 0xFF, 0xFF), 0xFFFF, 0xFF }, - { 0xFFFFFFFF, 0xFFFFFFFF, SkPackARGB32(0xFF, 0xFF, 0xFF, 0xFF), 0xFFFF, 0xFF }, - }; - - SkPaint paint; - - SkBitmap srcBM; - srcBM.allocN32Pixels(W, 1); - - for (size_t i = 0; i < SK_ARRAY_COUNT(gDstColorType); i++) { - SkImageInfo info = SkImageInfo::Make(W, 1, gDstColorType[i], - kPremul_SkAlphaType); - SkBitmap dstBM; - dstBM.allocPixels(info); - - SkCanvas canvas(dstBM); - for (size_t j = 0; j < SK_ARRAY_COUNT(gSrcRec); j++) { - srcBM.eraseColor(gSrcRec[j].fSrc); - dstBM.eraseColor(gSrcRec[j].fDst); - - for (int k = 0; k < 4; k++) { - bool dither = (k & 1) != 0; - bool blend = (k & 2) != 0; - if (gSrcRec[j].fSrc != 0 && blend) { - // can't make a numerical promise about blending anything - // but 0 - // continue; - } - paint.setDither(dither); - paint.setAlpha(blend ? 0x80 : 0xFF); - canvas.drawBitmap(srcBM, 0, 0, &paint); - if (!check_color(dstBM, gSrcRec[j].fResult32, gSrcRec[j].fResult16, - gSrcRec[j].fResult8, reporter)) { - SkDebugf("--- src index %d dither %d blend %d\n", j, dither, blend); - } - } - } - } -} - -/////////////////////////////////////////////////////////////////////////////// - -struct Mesh { - SkPoint fPts[4]; - - Mesh(const SkBitmap& bm, SkPaint* paint) { - const SkScalar w = SkIntToScalar(bm.width()); - const SkScalar h = SkIntToScalar(bm.height()); - fPts[0].set(0, 0); - fPts[1].set(w, 0); - fPts[2].set(w, h); - fPts[3].set(0, h); - paint->setShader(SkShader::MakeBitmapShader(bm, SkShader::kClamp_TileMode, - SkShader::kClamp_TileMode)); - } - - void draw(SkCanvas* canvas, SkPaint* paint) { - canvas->drawVertices(SkVertices::MakeCopy(SkVertices::kTriangleFan_VertexMode, 4, fPts, - fPts, nullptr), - SkBlendMode::kModulate, *paint); - } -}; - -#include "SkImageEncoder.h" -static void save_bm(const SkBitmap& bm, const char name[]) { - sk_tool_utils::EncodeImageToFile(name, bm, SkEncodedImageFormat::kPNG, 100); -} - -static int max_diff(uint32_t u, uint32_t v) { - int d0 = SkAbs32(int((u >> 24) & 0xFF) - int((v >> 24) & 0xFF)); - int d1 = SkAbs32(int((u >> 16) & 0xFF) - int((v >> 16) & 0xFF)); - int d2 = SkAbs32(int((u >> 8) & 0xFF) - int((v >> 8) & 0xFF)); - int d3 = SkAbs32(int((u >> 0) & 0xFF) - int((v >> 0) & 0xFF)); - return SkMax32(d0, SkMax32(d1, SkMax32(d2, d3))); -} - -static bool nearly_eq(const SkBitmap& a, const SkBitmap& b) { - switch (a.colorType()) { - case kN32_SkColorType: { - for (int y = 0; y < a.width(); ++y) { - const SkPMColor* ap = a.getAddr32(0, y); - const SkPMColor* bp = b.getAddr32(0, y); - for (int x = 0; x < a.width(); ++x) { - int diff = max_diff(ap[x], bp[x]); - if (diff > 1) { - return false; - } - } - } - return true; - } break; - default: - break; - } - return !memcmp(a.getPixels(), b.getPixels(), a.getSize()); -} - -static bool gOnce; - -// Make sure our blits are invariant with the width of the blit (i.e. that -// special case for 8 at a time have the same results as narrower blits) -static void test_diagonal(skiatest::Reporter* reporter) { - static const int W = 64; - static const int H = W; - - static const SkColorType gDstColorType[] = { - kN32_SkColorType, - kRGB_565_SkColorType, - }; - - static const SkColor gDstBG[] = { 0, 0xFFFFFFFF }; - const SkRect srcR = SkRect::MakeIWH(W, H); - - SkBitmap srcBM; - srcBM.allocN32Pixels(W, H); - SkImageInfo info = SkImageInfo::Make(W, H, kUnknown_SkColorType, kPremul_SkAlphaType); - - for (size_t i = 0; i < SK_ARRAY_COUNT(gDstColorType); i++) { - info = info.makeColorType(gDstColorType[i]); - - SkBitmap dstBM0, dstBM1; - dstBM0.allocPixels(info); - dstBM1.allocPixels(info); - - SkCanvas canvas0(dstBM0); - SkCanvas canvas1(dstBM1); - SkColor bgColor; - - for (size_t j = 0; j < SK_ARRAY_COUNT(gDstBG); j++) { - bgColor = gDstBG[j]; - - for (int c = 0; c <= 0xFF; c++) { - // cons up a mesh to draw the bitmap with - SkPaint paint; - srcBM.eraseARGB(0xFF, c, c, c); - Mesh mesh(srcBM, &paint); - - for (int k = 0; k < 4; k++) { - bool dither = (k & 1) != 0; - uint8_t alpha = (k & 2) ? 0x80 : 0xFF; - paint.setDither(dither); - paint.setAlpha(alpha); - - dstBM0.eraseColor(bgColor); - dstBM1.eraseColor(bgColor); - - canvas0.drawRect(srcR, paint); - mesh.draw(&canvas1, &paint); - - if (!gOnce && false) { - save_bm(dstBM0, "drawBitmap.png"); - save_bm(dstBM1, "drawMesh.png"); - gOnce = true; - } - - if (!nearly_eq(dstBM0, dstBM1)) { - ERRORF(reporter, "Diagonal colortype=%s bg=0x%x dither=%d" - " alpha=0x%x src=0x%x", - gColorTypeName[gDstColorType[i]], bgColor, dither, - alpha, c); - } - } - } - } - } -} - -DEF_TEST(BlitRow, reporter) { - test_00_FF(reporter); - test_diagonal(reporter); -} |