# Copyright 2017 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # This file is generated semi-automatically with this command: # $ src/jumper/build_stages.py #if defined(__MACH__) #define HIDDEN .private_extern #define FUNCTION(name) #define BALIGN4 .align 2 #define BALIGN16 .align 4 #define BALIGN32 .align 5 #else .section .note.GNU-stack,"",%progbits #define HIDDEN .hidden #define FUNCTION(name) .type name,%function #define BALIGN4 .balign 4 #define BALIGN16 .balign 16 #define BALIGN32 .balign 32 #endif .text #if defined(__aarch64__) BALIGN4 HIDDEN _sk_start_pipeline_aarch64 .globl _sk_start_pipeline_aarch64 FUNCTION(_sk_start_pipeline_aarch64) _sk_start_pipeline_aarch64: .long 0xf81c0ff7 // str x23, [sp, #-64]! .long 0xa90157f6 // stp x22, x21, [sp, #16] .long 0xa9024ff4 // stp x20, x19, [sp, #32] .long 0xa9037bfd // stp x29, x30, [sp, #48] .long 0xaa0303f4 // mov x20, x3 .long 0xf8408685 // ldr x5, [x20], #8 .long 0xaa0003f7 // mov x23, x0 .long 0xaa0203f5 // mov x21, x2 .long 0x910012e8 // add x8, x23, #0x4 .long 0xaa0403f3 // mov x19, x4 .long 0xeb15011f // cmp x8, x21 .long 0xaa0103f6 // mov x22, x1 .long 0x9100c3fd // add x29, sp, #0x30 .long 0x54000069 // b.ls 40 // b.plast .long 0xaa1703e2 // mov x2, x23 .long 0x1400000f // b 78 .long 0xf90007e5 // str x5, [sp, #8] .long 0xf94007e5 // ldr x5, [sp, #8] .long 0xaa1303e0 // mov x0, x19 .long 0xaa1403e1 // mov x1, x20 .long 0xaa1703e2 // mov x2, x23 .long 0xaa1603e3 // mov x3, x22 .long 0xaa1f03e4 // mov x4, xzr .long 0xd63f00a0 // blr x5 .long 0xf94007e5 // ldr x5, [sp, #8] .long 0x910012e2 // add x2, x23, #0x4 .long 0x910022e8 // add x8, x23, #0x8 .long 0xeb15011f // cmp x8, x21 .long 0xaa0203f7 // mov x23, x2 .long 0x54fffe89 // b.ls 44 // b.plast .long 0xcb0202a4 // sub x4, x21, x2 .long 0xb4000124 // cbz x4, a0 .long 0xaa1303e0 // mov x0, x19 .long 0xaa1403e1 // mov x1, x20 .long 0xaa1603e3 // mov x3, x22 .long 0xa9437bfd // ldp x29, x30, [sp, #48] .long 0xa9424ff4 // ldp x20, x19, [sp, #32] .long 0xa94157f6 // ldp x22, x21, [sp, #16] .long 0xf84407f7 // ldr x23, [sp], #64 .long 0xd61f00a0 // br x5 .long 0xa9437bfd // ldp x29, x30, [sp, #48] .long 0xa9424ff4 // ldp x20, x19, [sp, #32] .long 0xa94157f6 // ldp x22, x21, [sp, #16] .long 0xf84407f7 // ldr x23, [sp], #64 .long 0xd65f03c0 // ret HIDDEN _sk_just_return_aarch64 .globl _sk_just_return_aarch64 FUNCTION(_sk_just_return_aarch64) _sk_just_return_aarch64: .long 0xd65f03c0 // ret HIDDEN _sk_seed_shader_aarch64 .globl _sk_seed_shader_aarch64 FUNCTION(_sk_seed_shader_aarch64) _sk_seed_shader_aarch64: .long 0x3dc00007 // ldr q7, [x0] .long 0x4e040c40 // dup v0.4s, w2 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f0167e1 // movi v1.4s, #0x3f, lsl #24 .long 0x4e040c66 // dup v6.4s, w3 .long 0x4e21d800 // scvtf v0.4s, v0.4s .long 0x4e21d8c6 // scvtf v6.4s, v6.4s .long 0x4e21d400 // fadd v0.4s, v0.4s, v1.4s .long 0x4f03f602 // fmov v2.4s, #1.000000000000000000e+00 .long 0x6f00e403 // movi v3.2d, #0x0 .long 0x6f00e404 // movi v4.2d, #0x0 .long 0x6f00e405 // movi v5.2d, #0x0 .long 0x4e21d4c1 // fadd v1.4s, v6.4s, v1.4s .long 0x6f00e406 // movi v6.2d, #0x0 .long 0x4e27d400 // fadd v0.4s, v0.4s, v7.4s .long 0x6f00e407 // movi v7.2d, #0x0 .long 0xd61f00a0 // br x5 HIDDEN _sk_dither_aarch64 .globl _sk_dither_aarch64 FUNCTION(_sk_dither_aarch64) _sk_dither_aarch64: .long 0x3dc00811 // ldr q17, [x0, #32] .long 0x4e040c50 // dup v16.4s, w2 .long 0x4e040c72 // dup v18.4s, w3 .long 0x4f000433 // movi v19.4s, #0x1 .long 0x4f000455 // movi v21.4s, #0x2 .long 0x4eb08630 // add v16.4s, v17.4s, v16.4s .long 0x4f000494 // movi v20.4s, #0x4 .long 0x52a79008 // mov w8, #0x3c800000 .long 0x6e301e51 // eor v17.16b, v18.16b, v16.16b .long 0x4e331e12 // and v18.16b, v16.16b, v19.16b .long 0x4e351e17 // and v23.16b, v16.16b, v21.16b .long 0x4e040d16 // dup v22.4s, w8 .long 0x4e341e10 // and v16.16b, v16.16b, v20.16b .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4f245652 // shl v18.4s, v18.4s, #4 .long 0x4f2156f7 // shl v23.4s, v23.4s, #1 .long 0x4e331e33 // and v19.16b, v17.16b, v19.16b .long 0x4eb21ef2 // orr v18.16b, v23.16b, v18.16b .long 0x6f3e0610 // ushr v16.4s, v16.4s, #2 .long 0x4e351e35 // and v21.16b, v17.16b, v21.16b .long 0x4eb01e50 // orr v16.16b, v18.16b, v16.16b .long 0x4f255673 // shl v19.4s, v19.4s, #5 .long 0x4e341e31 // and v17.16b, v17.16b, v20.16b .long 0x4f2256b5 // shl v21.4s, v21.4s, #2 .long 0x4eb31e10 // orr v16.16b, v16.16b, v19.16b .long 0xbd400117 // ldr s23, [x8] .long 0x6f3f0631 // ushr v17.4s, v17.4s, #1 .long 0x4eb51e10 // orr v16.16b, v16.16b, v21.16b .long 0x52b7df89 // mov w9, #0xbefc0000 .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b .long 0x4e040d34 // dup v20.4s, w9 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x4e30ced4 // fmla v20.4s, v22.4s, v16.4s .long 0x4f979290 // fmul v16.4s, v20.4s, v23.s[0] .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s .long 0x4e22d602 // fadd v2.4s, v16.4s, v2.4s .long 0x6f00e412 // movi v18.2d, #0x0 .long 0x4ea3f400 // fmin v0.4s, v0.4s, v3.4s .long 0x4ea3f421 // fmin v1.4s, v1.4s, v3.4s .long 0x4ea3f442 // fmin v2.4s, v2.4s, v3.4s .long 0x4e20f640 // fmax v0.4s, v18.4s, v0.4s .long 0x4e21f641 // fmax v1.4s, v18.4s, v1.4s .long 0x4e22f642 // fmax v2.4s, v18.4s, v2.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_uniform_color_aarch64 .globl _sk_uniform_color_aarch64 FUNCTION(_sk_uniform_color_aarch64) _sk_uniform_color_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803ea // mov x10, x8 .long 0x4ddfc940 // ld1r {v0.4s}, [x10], #4 .long 0x91002109 // add x9, x8, #0x8 .long 0x91003108 // add x8, x8, #0xc .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0x4d40c903 // ld1r {v3.4s}, [x8] .long 0x4d40c941 // ld1r {v1.4s}, [x10] .long 0xd61f00a0 // br x5 HIDDEN _sk_black_color_aarch64 .globl _sk_black_color_aarch64 FUNCTION(_sk_black_color_aarch64) _sk_black_color_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x6f00e402 // movi v2.2d, #0x0 .long 0xd61f00a0 // br x5 HIDDEN _sk_white_color_aarch64 .globl _sk_white_color_aarch64 FUNCTION(_sk_white_color_aarch64) _sk_white_color_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00 .long 0x4ea01c01 // mov v1.16b, v0.16b .long 0x4ea01c02 // mov v2.16b, v0.16b .long 0x4ea01c03 // mov v3.16b, v0.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_load_rgba_aarch64 .globl _sk_load_rgba_aarch64 FUNCTION(_sk_load_rgba_aarch64) _sk_load_rgba_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xad400500 // ldp q0, q1, [x8] .long 0xad410d02 // ldp q2, q3, [x8, #32] .long 0xd61f00a0 // br x5 HIDDEN _sk_store_rgba_aarch64 .globl _sk_store_rgba_aarch64 FUNCTION(_sk_store_rgba_aarch64) _sk_store_rgba_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xad000500 // stp q0, q1, [x8] .long 0xad010d02 // stp q2, q3, [x8, #32] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_clear_aarch64 .globl _sk_clear_aarch64 FUNCTION(_sk_clear_aarch64) _sk_clear_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x6f00e402 // movi v2.2d, #0x0 .long 0x6f00e403 // movi v3.2d, #0x0 .long 0xd61f00a0 // br x5 HIDDEN _sk_srcatop_aarch64 .globl _sk_srcatop_aarch64 FUNCTION(_sk_srcatop_aarch64) _sk_srcatop_aarch64: .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x6e27dc00 // fmul v0.4s, v0.4s, v7.4s .long 0x6e27dc21 // fmul v1.4s, v1.4s, v7.4s .long 0x6e27dc42 // fmul v2.4s, v2.4s, v7.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s .long 0x4e30ccc2 // fmla v2.4s, v6.4s, v16.4s .long 0x6e27de10 // fmul v16.4s, v16.4s, v7.4s .long 0x4e23ccf0 // fmla v16.4s, v7.4s, v3.4s .long 0x4eb01e03 // mov v3.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_dstatop_aarch64 .globl _sk_dstatop_aarch64 FUNCTION(_sk_dstatop_aarch64) _sk_dstatop_aarch64: .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4ea7d610 // fsub v16.4s, v16.4s, v7.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x6e23de10 // fmul v16.4s, v16.4s, v3.4s .long 0x4e23ccf0 // fmla v16.4s, v7.4s, v3.4s .long 0x4e23cc80 // fmla v0.4s, v4.4s, v3.4s .long 0x4e23cca1 // fmla v1.4s, v5.4s, v3.4s .long 0x4e23ccc2 // fmla v2.4s, v6.4s, v3.4s .long 0x4eb01e03 // mov v3.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_srcin_aarch64 .globl _sk_srcin_aarch64 FUNCTION(_sk_srcin_aarch64) _sk_srcin_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e27dc00 // fmul v0.4s, v0.4s, v7.4s .long 0x6e27dc21 // fmul v1.4s, v1.4s, v7.4s .long 0x6e27dc42 // fmul v2.4s, v2.4s, v7.4s .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_dstin_aarch64 .globl _sk_dstin_aarch64 FUNCTION(_sk_dstin_aarch64) _sk_dstin_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e24dc60 // fmul v0.4s, v3.4s, v4.4s .long 0x6e25dc61 // fmul v1.4s, v3.4s, v5.4s .long 0x6e26dc62 // fmul v2.4s, v3.4s, v6.4s .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_srcout_aarch64 .globl _sk_srcout_aarch64 FUNCTION(_sk_srcout_aarch64) _sk_srcout_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4ea7d610 // fsub v16.4s, v16.4s, v7.4s .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_dstout_aarch64 .globl _sk_dstout_aarch64 FUNCTION(_sk_dstout_aarch64) _sk_dstout_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00 .long 0x4ea3d403 // fsub v3.4s, v0.4s, v3.4s .long 0x6e24dc60 // fmul v0.4s, v3.4s, v4.4s .long 0x6e25dc61 // fmul v1.4s, v3.4s, v5.4s .long 0x6e26dc62 // fmul v2.4s, v3.4s, v6.4s .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_srcover_aarch64 .globl _sk_srcover_aarch64 FUNCTION(_sk_srcover_aarch64) _sk_srcover_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x4e24ce00 // fmla v0.4s, v16.4s, v4.4s .long 0x4e25ce01 // fmla v1.4s, v16.4s, v5.4s .long 0x4e26ce02 // fmla v2.4s, v16.4s, v6.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_dstover_aarch64 .globl _sk_dstover_aarch64 FUNCTION(_sk_dstover_aarch64) _sk_dstover_aarch64: .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea41c90 // mov v16.16b, v4.16b .long 0x4ea7d634 // fsub v20.4s, v17.4s, v7.4s .long 0x4ea51cb1 // mov v17.16b, v5.16b .long 0x4ea61cd2 // mov v18.16b, v6.16b .long 0x4ea71cf3 // mov v19.16b, v7.16b .long 0x4e20ce90 // fmla v16.4s, v20.4s, v0.4s .long 0x4e21ce91 // fmla v17.4s, v20.4s, v1.4s .long 0x4e22ce92 // fmla v18.4s, v20.4s, v2.4s .long 0x4e23ce93 // fmla v19.4s, v20.4s, v3.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0x4eb21e42 // mov v2.16b, v18.16b .long 0x4eb31e63 // mov v3.16b, v19.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_modulate_aarch64 .globl _sk_modulate_aarch64 FUNCTION(_sk_modulate_aarch64) _sk_modulate_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e24dc00 // fmul v0.4s, v0.4s, v4.4s .long 0x6e25dc21 // fmul v1.4s, v1.4s, v5.4s .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s .long 0x6e27dc63 // fmul v3.4s, v3.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_multiply_aarch64 .globl _sk_multiply_aarch64 FUNCTION(_sk_multiply_aarch64) _sk_multiply_aarch64: .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4ea7d613 // fsub v19.4s, v16.4s, v7.4s .long 0x4ea3d614 // fsub v20.4s, v16.4s, v3.4s .long 0x6e20de70 // fmul v16.4s, v19.4s, v0.4s .long 0x6e21de71 // fmul v17.4s, v19.4s, v1.4s .long 0x6e22de72 // fmul v18.4s, v19.4s, v2.4s .long 0x6e23de73 // fmul v19.4s, v19.4s, v3.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e34cc90 // fmla v16.4s, v4.4s, v20.4s .long 0x4e34ccb1 // fmla v17.4s, v5.4s, v20.4s .long 0x4e34ccd2 // fmla v18.4s, v6.4s, v20.4s .long 0x4e34ccf3 // fmla v19.4s, v7.4s, v20.4s .long 0x4e20cc90 // fmla v16.4s, v4.4s, v0.4s .long 0x4e21ccb1 // fmla v17.4s, v5.4s, v1.4s .long 0x4e22ccd2 // fmla v18.4s, v6.4s, v2.4s .long 0x4e23ccf3 // fmla v19.4s, v7.4s, v3.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0x4eb21e42 // mov v2.16b, v18.16b .long 0x4eb31e63 // mov v3.16b, v19.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_plus__aarch64 .globl _sk_plus__aarch64 FUNCTION(_sk_plus__aarch64) _sk_plus__aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s .long 0x4e27d463 // fadd v3.4s, v3.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_screen_aarch64 .globl _sk_screen_aarch64 FUNCTION(_sk_screen_aarch64) _sk_screen_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e24d410 // fadd v16.4s, v0.4s, v4.4s .long 0x4e25d431 // fadd v17.4s, v1.4s, v5.4s .long 0x4e26d452 // fadd v18.4s, v2.4s, v6.4s .long 0x4e27d473 // fadd v19.4s, v3.4s, v7.4s .long 0x4ea4cc10 // fmls v16.4s, v0.4s, v4.4s .long 0x4ea5cc31 // fmls v17.4s, v1.4s, v5.4s .long 0x4ea6cc52 // fmls v18.4s, v2.4s, v6.4s .long 0x4ea7cc73 // fmls v19.4s, v3.4s, v7.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0x4eb21e42 // mov v2.16b, v18.16b .long 0x4eb31e63 // mov v3.16b, v19.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_xor__aarch64 .globl _sk_xor__aarch64 FUNCTION(_sk_xor__aarch64) _sk_xor__aarch64: .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea7d611 // fsub v17.4s, v16.4s, v7.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x6e20de20 // fmul v0.4s, v17.4s, v0.4s .long 0x6e21de21 // fmul v1.4s, v17.4s, v1.4s .long 0x6e22de22 // fmul v2.4s, v17.4s, v2.4s .long 0x6e23de23 // fmul v3.4s, v17.4s, v3.4s .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s .long 0x4e30ccc2 // fmla v2.4s, v6.4s, v16.4s .long 0x4e30cce3 // fmla v3.4s, v7.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_darken_aarch64 .globl _sk_darken_aarch64 FUNCTION(_sk_darken_aarch64) _sk_darken_aarch64: .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s .long 0x4e31f610 // fmax v16.4s, v16.4s, v17.4s .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s .long 0x4e33f652 // fmax v18.4s, v18.4s, v19.4s .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4e33f631 // fmax v17.4s, v17.4s, v19.4s .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_lighten_aarch64 .globl _sk_lighten_aarch64 FUNCTION(_sk_lighten_aarch64) _sk_lighten_aarch64: .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s .long 0x4eb1f610 // fmin v16.4s, v16.4s, v17.4s .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s .long 0x4eb3f652 // fmin v18.4s, v18.4s, v19.4s .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4eb3f631 // fmin v17.4s, v17.4s, v19.4s .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_difference_aarch64 .globl _sk_difference_aarch64 FUNCTION(_sk_difference_aarch64) _sk_difference_aarch64: .long 0x6e27dc10 // fmul v16.4s, v0.4s, v7.4s .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x6e27dc32 // fmul v18.4s, v1.4s, v7.4s .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s .long 0x4eb1f610 // fmin v16.4s, v16.4s, v17.4s .long 0x4eb3f652 // fmin v18.4s, v18.4s, v19.4s .long 0x4e24d400 // fadd v0.4s, v0.4s, v4.4s .long 0x4e30d610 // fadd v16.4s, v16.4s, v16.4s .long 0x6e27dc51 // fmul v17.4s, v2.4s, v7.4s .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s .long 0x4e25d421 // fadd v1.4s, v1.4s, v5.4s .long 0x4e32d650 // fadd v16.4s, v18.4s, v18.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb3f631 // fmin v17.4s, v17.4s, v19.4s .long 0x4eb0d421 // fsub v1.4s, v1.4s, v16.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4e26d442 // fadd v2.4s, v2.4s, v6.4s .long 0x4e31d631 // fadd v17.4s, v17.4s, v17.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x4eb1d442 // fsub v2.4s, v2.4s, v17.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_exclusion_aarch64 .globl _sk_exclusion_aarch64 FUNCTION(_sk_exclusion_aarch64) _sk_exclusion_aarch64: .long 0x4e24d410 // fadd v16.4s, v0.4s, v4.4s .long 0x6e24dc00 // fmul v0.4s, v0.4s, v4.4s .long 0x4e20d400 // fadd v0.4s, v0.4s, v0.4s .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s .long 0x4e25d430 // fadd v16.4s, v1.4s, v5.4s .long 0x6e25dc21 // fmul v1.4s, v1.4s, v5.4s .long 0x4e21d421 // fadd v1.4s, v1.4s, v1.4s .long 0x4ea1d601 // fsub v1.4s, v16.4s, v1.4s .long 0x4e26d450 // fadd v16.4s, v2.4s, v6.4s .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea2d602 // fsub v2.4s, v16.4s, v2.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_colorburn_aarch64 .globl _sk_colorburn_aarch64 FUNCTION(_sk_colorburn_aarch64) _sk_colorburn_aarch64: .long 0x4ea4d4f3 // fsub v19.4s, v7.4s, v4.4s .long 0x6e23de73 // fmul v19.4s, v19.4s, v3.4s .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0x6e20fe73 // fdiv v19.4s, v19.4s, v0.4s .long 0x4ea7d634 // fsub v20.4s, v17.4s, v7.4s .long 0x4eb3f4f3 // fmin v19.4s, v7.4s, v19.4s .long 0x6e20de95 // fmul v21.4s, v20.4s, v0.4s .long 0x4eb3d4f3 // fsub v19.4s, v7.4s, v19.4s .long 0x4e24d6b6 // fadd v22.4s, v21.4s, v4.4s .long 0x4e33cc75 // fmla v21.4s, v3.4s, v19.4s .long 0x4ea5d4f3 // fsub v19.4s, v7.4s, v5.4s .long 0x6e23de73 // fmul v19.4s, v19.4s, v3.4s .long 0x6e21fe73 // fdiv v19.4s, v19.4s, v1.4s .long 0x4ea0d812 // fcmeq v18.4s, v0.4s, #0.0 .long 0x4eb3f4f3 // fmin v19.4s, v7.4s, v19.4s .long 0x6e751c12 // bsl v18.16b, v0.16b, v21.16b .long 0x6e21de80 // fmul v0.4s, v20.4s, v1.4s .long 0x4eb3d4f3 // fsub v19.4s, v7.4s, v19.4s .long 0x4e25d415 // fadd v21.4s, v0.4s, v5.4s .long 0x4e33cc60 // fmla v0.4s, v3.4s, v19.4s .long 0x4ea0d833 // fcmeq v19.4s, v1.4s, #0.0 .long 0x6e601c33 // bsl v19.16b, v1.16b, v0.16b .long 0x4ea6d4e0 // fsub v0.4s, v7.4s, v6.4s .long 0x6e23dc00 // fmul v0.4s, v0.4s, v3.4s .long 0x6e22fc00 // fdiv v0.4s, v0.4s, v2.4s .long 0x4ea0f4e0 // fmin v0.4s, v7.4s, v0.4s .long 0x6e22de81 // fmul v1.4s, v20.4s, v2.4s .long 0x4ea0d4e0 // fsub v0.4s, v7.4s, v0.4s .long 0x4e26d434 // fadd v20.4s, v1.4s, v6.4s .long 0x4e20cc61 // fmla v1.4s, v3.4s, v0.4s .long 0x4ea0d840 // fcmeq v0.4s, v2.4s, #0.0 .long 0x4ea3d631 // fsub v17.4s, v17.4s, v3.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e27e490 // fcmeq v16.4s, v4.4s, v7.4s .long 0x6e611c40 // bsl v0.16b, v2.16b, v1.16b .long 0x4e31cc92 // fmla v18.4s, v4.4s, v17.4s .long 0x4e27e4a1 // fcmeq v1.4s, v5.4s, v7.4s .long 0x4e27e4c2 // fcmeq v2.4s, v6.4s, v7.4s .long 0x4e31ccb3 // fmla v19.4s, v5.4s, v17.4s .long 0x4e31ccc0 // fmla v0.4s, v6.4s, v17.4s .long 0x6e721ed0 // bsl v16.16b, v22.16b, v18.16b .long 0x6e731ea1 // bsl v1.16b, v21.16b, v19.16b .long 0x6e601e82 // bsl v2.16b, v20.16b, v0.16b .long 0x4e27ce23 // fmla v3.4s, v17.4s, v7.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_colordodge_aarch64 .globl _sk_colordodge_aarch64 FUNCTION(_sk_colordodge_aarch64) _sk_colordodge_aarch64: .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00 .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x4ea0d474 // fsub v20.4s, v3.4s, v0.4s .long 0x6e25dc75 // fmul v21.4s, v3.4s, v5.4s .long 0x4ea1d476 // fsub v22.4s, v3.4s, v1.4s .long 0x4ea7d657 // fsub v23.4s, v18.4s, v7.4s .long 0x6e34fe31 // fdiv v17.4s, v17.4s, v20.4s .long 0x6e36feb4 // fdiv v20.4s, v21.4s, v22.4s .long 0x6e20def5 // fmul v21.4s, v23.4s, v0.4s .long 0x4eb1f4f1 // fmin v17.4s, v7.4s, v17.4s .long 0x4e23e413 // fcmeq v19.4s, v0.4s, v3.4s .long 0x4e24d6b6 // fadd v22.4s, v21.4s, v4.4s .long 0x4e31cc75 // fmla v21.4s, v3.4s, v17.4s .long 0x6e751c13 // bsl v19.16b, v0.16b, v21.16b .long 0x6e21dee0 // fmul v0.4s, v23.4s, v1.4s .long 0x4eb4f4f4 // fmin v20.4s, v7.4s, v20.4s .long 0x4e25d415 // fadd v21.4s, v0.4s, v5.4s .long 0x4e34cc60 // fmla v0.4s, v3.4s, v20.4s .long 0x4e23e434 // fcmeq v20.4s, v1.4s, v3.4s .long 0x6e601c34 // bsl v20.16b, v1.16b, v0.16b .long 0x6e26dc60 // fmul v0.4s, v3.4s, v6.4s .long 0x4ea2d461 // fsub v1.4s, v3.4s, v2.4s .long 0x6e21fc00 // fdiv v0.4s, v0.4s, v1.4s .long 0x6e22dee1 // fmul v1.4s, v23.4s, v2.4s .long 0x4ea0f4e0 // fmin v0.4s, v7.4s, v0.4s .long 0x4e26d437 // fadd v23.4s, v1.4s, v6.4s .long 0x4e20cc61 // fmla v1.4s, v3.4s, v0.4s .long 0x4e23e440 // fcmeq v0.4s, v2.4s, v3.4s .long 0x6e611c40 // bsl v0.16b, v2.16b, v1.16b .long 0x4ea3d641 // fsub v1.4s, v18.4s, v3.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea0d890 // fcmeq v16.4s, v4.4s, #0.0 .long 0x4ea0d8b1 // fcmeq v17.4s, v5.4s, #0.0 .long 0x4e21cc93 // fmla v19.4s, v4.4s, v1.4s .long 0x4e21ccb4 // fmla v20.4s, v5.4s, v1.4s .long 0x4ea0d8c2 // fcmeq v2.4s, v6.4s, #0.0 .long 0x4e21ccc0 // fmla v0.4s, v6.4s, v1.4s .long 0x6e731ed0 // bsl v16.16b, v22.16b, v19.16b .long 0x6e741eb1 // bsl v17.16b, v21.16b, v20.16b .long 0x6e601ee2 // bsl v2.16b, v23.16b, v0.16b .long 0x4e27cc23 // fmla v3.4s, v1.4s, v7.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_hardlight_aarch64 .globl _sk_hardlight_aarch64 FUNCTION(_sk_hardlight_aarch64) _sk_hardlight_aarch64: .long 0x4ea4d4f4 // fsub v20.4s, v7.4s, v4.4s .long 0x4ea0d475 // fsub v21.4s, v3.4s, v0.4s .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s .long 0x4e20d411 // fadd v17.4s, v0.4s, v0.4s .long 0x6e24dc12 // fmul v18.4s, v0.4s, v4.4s .long 0x6e27dc73 // fmul v19.4s, v3.4s, v7.4s .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s .long 0x6e31e471 // fcmge v17.4s, v3.4s, v17.4s .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x4eb4d674 // fsub v20.4s, v19.4s, v20.4s .long 0x6e741e51 // bsl v17.16b, v18.16b, v20.16b .long 0x4ea5d4f2 // fsub v18.4s, v7.4s, v5.4s .long 0x4ea1d474 // fsub v20.4s, v3.4s, v1.4s .long 0x6e32de92 // fmul v18.4s, v20.4s, v18.4s .long 0x4e21d436 // fadd v22.4s, v1.4s, v1.4s .long 0x6e25dc35 // fmul v21.4s, v1.4s, v5.4s .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x6e36e476 // fcmge v22.4s, v3.4s, v22.4s .long 0x4e35d6b5 // fadd v21.4s, v21.4s, v21.4s .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x6e721eb6 // bsl v22.16b, v21.16b, v18.16b .long 0x4ea6d4f2 // fsub v18.4s, v7.4s, v6.4s .long 0x4ea2d475 // fsub v21.4s, v3.4s, v2.4s .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s .long 0x4ea7d615 // fsub v21.4s, v16.4s, v7.4s .long 0x4e22d454 // fadd v20.4s, v2.4s, v2.4s .long 0x6e20dea0 // fmul v0.4s, v21.4s, v0.4s .long 0x6e21dea1 // fmul v1.4s, v21.4s, v1.4s .long 0x6e22deb5 // fmul v21.4s, v21.4s, v2.4s .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x6e34e474 // fcmge v20.4s, v3.4s, v20.4s .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s .long 0x4e30ccd5 // fmla v21.4s, v6.4s, v16.4s .long 0x6e721c54 // bsl v20.16b, v2.16b, v18.16b .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s .long 0x4e36d421 // fadd v1.4s, v1.4s, v22.4s .long 0x4e34d6a2 // fadd v2.4s, v21.4s, v20.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_overlay_aarch64 .globl _sk_overlay_aarch64 FUNCTION(_sk_overlay_aarch64) _sk_overlay_aarch64: .long 0x4ea4d4f4 // fsub v20.4s, v7.4s, v4.4s .long 0x4ea0d475 // fsub v21.4s, v3.4s, v0.4s .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s .long 0x4e24d491 // fadd v17.4s, v4.4s, v4.4s .long 0x6e24dc12 // fmul v18.4s, v0.4s, v4.4s .long 0x6e27dc73 // fmul v19.4s, v3.4s, v7.4s .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s .long 0x6e31e4f1 // fcmge v17.4s, v7.4s, v17.4s .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x4eb4d674 // fsub v20.4s, v19.4s, v20.4s .long 0x6e741e51 // bsl v17.16b, v18.16b, v20.16b .long 0x4ea5d4f2 // fsub v18.4s, v7.4s, v5.4s .long 0x4ea1d474 // fsub v20.4s, v3.4s, v1.4s .long 0x6e32de92 // fmul v18.4s, v20.4s, v18.4s .long 0x4e25d4b6 // fadd v22.4s, v5.4s, v5.4s .long 0x6e25dc35 // fmul v21.4s, v1.4s, v5.4s .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x6e36e4f6 // fcmge v22.4s, v7.4s, v22.4s .long 0x4e35d6b5 // fadd v21.4s, v21.4s, v21.4s .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x6e721eb6 // bsl v22.16b, v21.16b, v18.16b .long 0x4ea6d4f2 // fsub v18.4s, v7.4s, v6.4s .long 0x4ea2d475 // fsub v21.4s, v3.4s, v2.4s .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s .long 0x4ea7d615 // fsub v21.4s, v16.4s, v7.4s .long 0x4e26d4d4 // fadd v20.4s, v6.4s, v6.4s .long 0x6e20dea0 // fmul v0.4s, v21.4s, v0.4s .long 0x6e21dea1 // fmul v1.4s, v21.4s, v1.4s .long 0x6e22deb5 // fmul v21.4s, v21.4s, v2.4s .long 0x6e26dc42 // fmul v2.4s, v2.4s, v6.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e32d652 // fadd v18.4s, v18.4s, v18.4s .long 0x4ea3d610 // fsub v16.4s, v16.4s, v3.4s .long 0x6e34e4f4 // fcmge v20.4s, v7.4s, v20.4s .long 0x4e22d442 // fadd v2.4s, v2.4s, v2.4s .long 0x4eb2d672 // fsub v18.4s, v19.4s, v18.4s .long 0x4e30cc80 // fmla v0.4s, v4.4s, v16.4s .long 0x4e30cca1 // fmla v1.4s, v5.4s, v16.4s .long 0x4e30ccd5 // fmla v21.4s, v6.4s, v16.4s .long 0x6e721c54 // bsl v20.16b, v2.16b, v18.16b .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s .long 0x4e36d421 // fadd v1.4s, v1.4s, v22.4s .long 0x4e34d6a2 // fadd v2.4s, v21.4s, v20.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_softlight_aarch64 .globl _sk_softlight_aarch64 FUNCTION(_sk_softlight_aarch64) _sk_softlight_aarch64: .long 0x4ea0c8f5 // fcmgt v21.4s, v7.4s, #0.0 .long 0x6e27fc96 // fdiv v22.4s, v4.4s, v7.4s .long 0x6e27fcb8 // fdiv v24.4s, v5.4s, v7.4s .long 0x6e27fcd9 // fdiv v25.4s, v6.4s, v7.4s .long 0x4e351ed6 // and v22.16b, v22.16b, v21.16b .long 0x4e351f18 // and v24.16b, v24.16b, v21.16b .long 0x4e351f35 // and v21.16b, v25.16b, v21.16b .long 0x6ea1dad9 // frsqrte v25.4s, v22.4s .long 0x6e39df3d // fmul v29.4s, v25.4s, v25.4s .long 0x4ebdfedd // frsqrts v29.4s, v22.4s, v29.4s .long 0x6e3ddf39 // fmul v25.4s, v25.4s, v29.4s .long 0x4ea1db3d // frecpe v29.4s, v25.4s .long 0x6ea0fada // fneg v26.4s, v22.4s .long 0x6ea1db1b // frsqrte v27.4s, v24.4s .long 0x4e3dff39 // frecps v25.4s, v25.4s, v29.4s .long 0x4e3dcf3a // fmla v26.4s, v25.4s, v29.4s .long 0x6e3bdf7d // fmul v29.4s, v27.4s, v27.4s .long 0x4ebdff1d // frsqrts v29.4s, v24.4s, v29.4s .long 0x6e3ddf7b // fmul v27.4s, v27.4s, v29.4s .long 0x4ea1db7d // frecpe v29.4s, v27.4s .long 0x6ea0fb1c // fneg v28.4s, v24.4s .long 0x6ea1dab9 // frsqrte v25.4s, v21.4s .long 0x4e3dff7b // frecps v27.4s, v27.4s, v29.4s .long 0x4e3dcf7c // fmla v28.4s, v27.4s, v29.4s .long 0x6e39df3d // fmul v29.4s, v25.4s, v25.4s .long 0x4ebdfebd // frsqrts v29.4s, v21.4s, v29.4s .long 0x6e3ddf39 // fmul v25.4s, v25.4s, v29.4s .long 0x4ea1db3d // frecpe v29.4s, v25.4s .long 0x6ea0fabb // fneg v27.4s, v21.4s .long 0x4e3dff39 // frecps v25.4s, v25.4s, v29.4s .long 0x4e3dcf3b // fmla v27.4s, v25.4s, v29.4s .long 0x4e36d6d9 // fadd v25.4s, v22.4s, v22.4s .long 0x4f07f613 // fmov v19.4s, #-1.000000000000000000e+00 .long 0x4e39d739 // fadd v25.4s, v25.4s, v25.4s .long 0x4e24d497 // fadd v23.4s, v4.4s, v4.4s .long 0x4e33d6dd // fadd v29.4s, v22.4s, v19.4s .long 0x4e39cf39 // fmla v25.4s, v25.4s, v25.4s .long 0x4f00f794 // fmov v20.4s, #7.000000000000000000e+00 .long 0x6e39dfb9 // fmul v25.4s, v29.4s, v25.4s .long 0x4e37d6f7 // fadd v23.4s, v23.4s, v23.4s .long 0x6e37e4f7 // fcmge v23.4s, v7.4s, v23.4s .long 0x4e36ce99 // fmla v25.4s, v20.4s, v22.4s .long 0x6e7a1f37 // bsl v23.16b, v25.16b, v26.16b .long 0x4e38d719 // fadd v25.4s, v24.4s, v24.4s .long 0x4e39d739 // fadd v25.4s, v25.4s, v25.4s .long 0x4e33d71a // fadd v26.4s, v24.4s, v19.4s .long 0x4e39cf39 // fmla v25.4s, v25.4s, v25.4s .long 0x6e39df59 // fmul v25.4s, v26.4s, v25.4s .long 0x4e25d4ba // fadd v26.4s, v5.4s, v5.4s .long 0x4e3ad75a // fadd v26.4s, v26.4s, v26.4s .long 0x6e3ae4fa // fcmge v26.4s, v7.4s, v26.4s .long 0x4e38ce99 // fmla v25.4s, v20.4s, v24.4s .long 0x6e7c1f3a // bsl v26.16b, v25.16b, v28.16b .long 0x4e35d6bc // fadd v28.4s, v21.4s, v21.4s .long 0x4e3cd79c // fadd v28.4s, v28.4s, v28.4s .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s .long 0x4e3ccf9c // fmla v28.4s, v28.4s, v28.4s .long 0x6e3cde73 // fmul v19.4s, v19.4s, v28.4s .long 0x4e35ce93 // fmla v19.4s, v20.4s, v21.4s .long 0x4e26d4d4 // fadd v20.4s, v6.4s, v6.4s .long 0x4e34d694 // fadd v20.4s, v20.4s, v20.4s .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00 .long 0x6e34e4f4 // fcmge v20.4s, v7.4s, v20.4s .long 0x4e20d411 // fadd v17.4s, v0.4s, v0.4s .long 0x6e7b1e74 // bsl v20.16b, v19.16b, v27.16b .long 0x4ea7d65b // fsub v27.4s, v18.4s, v7.4s .long 0x4ea31c70 // mov v16.16b, v3.16b .long 0x4e21d43d // fadd v29.4s, v1.4s, v1.4s .long 0x4e22d45c // fadd v28.4s, v2.4s, v2.4s .long 0x6e20df60 // fmul v0.4s, v27.4s, v0.4s .long 0x6e21df61 // fmul v1.4s, v27.4s, v1.4s .long 0x6e22df62 // fmul v2.4s, v27.4s, v2.4s .long 0x4ea3d63b // fsub v27.4s, v17.4s, v3.4s .long 0x4eb6d656 // fsub v22.4s, v18.4s, v22.4s .long 0x4ea31c79 // mov v25.16b, v3.16b .long 0x4e3bced0 // fmla v16.4s, v22.4s, v27.4s .long 0x4ea3d7b6 // fsub v22.4s, v29.4s, v3.4s .long 0x4eb8d658 // fsub v24.4s, v18.4s, v24.4s .long 0x4ea31c73 // mov v19.16b, v3.16b .long 0x4e36cf19 // fmla v25.4s, v24.4s, v22.4s .long 0x4ea3d798 // fsub v24.4s, v28.4s, v3.4s .long 0x4eb5d655 // fsub v21.4s, v18.4s, v21.4s .long 0x4e38ceb3 // fmla v19.4s, v21.4s, v24.4s .long 0x6e27df7b // fmul v27.4s, v27.4s, v7.4s .long 0x6e27ded6 // fmul v22.4s, v22.4s, v7.4s .long 0x6e27df18 // fmul v24.4s, v24.4s, v7.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e37df77 // fmul v23.4s, v27.4s, v23.4s .long 0x6e3aded6 // fmul v22.4s, v22.4s, v26.4s .long 0x6e34df14 // fmul v20.4s, v24.4s, v20.4s .long 0x4ea3d652 // fsub v18.4s, v18.4s, v3.4s .long 0x6e31e471 // fcmge v17.4s, v3.4s, v17.4s .long 0x6e3de475 // fcmge v21.4s, v3.4s, v29.4s .long 0x6e3ce47c // fcmge v28.4s, v3.4s, v28.4s .long 0x6e24de10 // fmul v16.4s, v16.4s, v4.4s .long 0x6e25df39 // fmul v25.4s, v25.4s, v5.4s .long 0x6e26de73 // fmul v19.4s, v19.4s, v6.4s .long 0x4e23cc97 // fmla v23.4s, v4.4s, v3.4s .long 0x4e23ccb6 // fmla v22.4s, v5.4s, v3.4s .long 0x4e23ccd4 // fmla v20.4s, v6.4s, v3.4s .long 0x4e32cc80 // fmla v0.4s, v4.4s, v18.4s .long 0x4e32cca1 // fmla v1.4s, v5.4s, v18.4s .long 0x4e32ccc2 // fmla v2.4s, v6.4s, v18.4s .long 0x6e771e11 // bsl v17.16b, v16.16b, v23.16b .long 0x6e761f35 // bsl v21.16b, v25.16b, v22.16b .long 0x6e741e7c // bsl v28.16b, v19.16b, v20.16b .long 0x4e31d400 // fadd v0.4s, v0.4s, v17.4s .long 0x4e35d421 // fadd v1.4s, v1.4s, v21.4s .long 0x4e3cd442 // fadd v2.4s, v2.4s, v28.4s .long 0x4e27ce43 // fmla v3.4s, v18.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_hue_aarch64 .globl _sk_hue_aarch64 FUNCTION(_sk_hue_aarch64) _sk_hue_aarch64: .long 0x6e23dc32 // fmul v18.4s, v1.4s, v3.4s .long 0x6e23dc53 // fmul v19.4s, v2.4s, v3.4s .long 0x4e26f4b5 // fmax v21.4s, v5.4s, v6.4s .long 0x4ea6f4b7 // fmin v23.4s, v5.4s, v6.4s .long 0x6e23dc11 // fmul v17.4s, v0.4s, v3.4s .long 0x4e35f495 // fmax v21.4s, v4.4s, v21.4s .long 0x4eb7f497 // fmin v23.4s, v4.4s, v23.4s .long 0x4eb3f65b // fmin v27.4s, v18.4s, v19.4s .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x4f03f619 // fmov v25.4s, #1.000000000000000000e+00 .long 0x4e33f65c // fmax v28.4s, v18.4s, v19.4s .long 0x4eb7d6b5 // fsub v21.4s, v21.4s, v23.4s .long 0x4ebbf63b // fmin v27.4s, v17.4s, v27.4s .long 0x72933348 // movk w8, #0x999a .long 0x4ea7d737 // fsub v23.4s, v25.4s, v7.4s .long 0x4e3cf63c // fmax v28.4s, v17.4s, v28.4s .long 0x4ebbd652 // fsub v18.4s, v18.4s, v27.4s .long 0x6e23deb5 // fmul v21.4s, v21.4s, v3.4s .long 0x4e040d16 // dup v22.4s, w8 .long 0x52a7e2e8 // mov w8, #0x3f170000 .long 0x6e20dee0 // fmul v0.4s, v23.4s, v0.4s .long 0x6e21dee1 // fmul v1.4s, v23.4s, v1.4s .long 0x6e22dee2 // fmul v2.4s, v23.4s, v2.4s .long 0x4ea3d739 // fsub v25.4s, v25.4s, v3.4s .long 0x4ebbd79c // fsub v28.4s, v28.4s, v27.4s .long 0x4ebbd631 // fsub v17.4s, v17.4s, v27.4s .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s .long 0x728147a8 // movk w8, #0xa3d .long 0x4ebbd673 // fsub v19.4s, v19.4s, v27.4s .long 0x4e39cc80 // fmla v0.4s, v4.4s, v25.4s .long 0x4e39cca1 // fmla v1.4s, v5.4s, v25.4s .long 0x4e39ccc2 // fmla v2.4s, v6.4s, v25.4s .long 0x4ea0db99 // fcmeq v25.4s, v28.4s, #0.0 .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s .long 0x6e3cfe52 // fdiv v18.4s, v18.4s, v28.4s .long 0x4e040d18 // dup v24.4s, w8 .long 0x52a7bc28 // mov w8, #0x3de10000 .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s .long 0x6e3cfe31 // fdiv v17.4s, v17.4s, v28.4s .long 0x4e791e52 // bic v18.16b, v18.16b, v25.16b .long 0x7288f5c8 // movk w8, #0x47ae .long 0x6e3cfe73 // fdiv v19.4s, v19.4s, v28.4s .long 0x4e791e31 // bic v17.16b, v17.16b, v25.16b .long 0x6e38de55 // fmul v21.4s, v18.4s, v24.4s .long 0x4e040d17 // dup v23.4s, w8 .long 0x6e38dcbb // fmul v27.4s, v5.4s, v24.4s .long 0x4e791e73 // bic v19.16b, v19.16b, v25.16b .long 0x4e31ced5 // fmla v21.4s, v22.4s, v17.4s .long 0x4e24cedb // fmla v27.4s, v22.4s, v4.4s .long 0x4e33cef5 // fmla v21.4s, v23.4s, v19.4s .long 0x4e26cefb // fmla v27.4s, v23.4s, v6.4s .long 0x6ea0fab5 // fneg v21.4s, v21.4s .long 0x4e3bcc75 // fmla v21.4s, v3.4s, v27.4s .long 0x6e27dc74 // fmul v20.4s, v3.4s, v7.4s .long 0x4e27d47a // fadd v26.4s, v3.4s, v7.4s .long 0x4e35d623 // fadd v3.4s, v17.4s, v21.4s .long 0x4e35d651 // fadd v17.4s, v18.4s, v21.4s .long 0x6e38de38 // fmul v24.4s, v17.4s, v24.4s .long 0x4e35d672 // fadd v18.4s, v19.4s, v21.4s .long 0x4e23ced8 // fmla v24.4s, v22.4s, v3.4s .long 0x4eb2f633 // fmin v19.4s, v17.4s, v18.4s .long 0x4e32cef8 // fmla v24.4s, v23.4s, v18.4s .long 0x4eb3f473 // fmin v19.4s, v3.4s, v19.4s .long 0x4eb8d479 // fsub v25.4s, v3.4s, v24.4s .long 0x6ea0ca76 // fcmge v22.4s, v19.4s, #0.0 .long 0x4eb3d713 // fsub v19.4s, v24.4s, v19.4s .long 0x6e39df19 // fmul v25.4s, v24.4s, v25.4s .long 0x6e33ff39 // fdiv v25.4s, v25.4s, v19.4s .long 0x4e32f635 // fmax v21.4s, v17.4s, v18.4s .long 0x4eb61edb // mov v27.16b, v22.16b .long 0x4e39d719 // fadd v25.4s, v24.4s, v25.4s .long 0x4e35f475 // fmax v21.4s, v3.4s, v21.4s .long 0x6e791c7b // bsl v27.16b, v3.16b, v25.16b .long 0x4eb8d623 // fsub v3.4s, v17.4s, v24.4s .long 0x6e23df03 // fmul v3.4s, v24.4s, v3.4s .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s .long 0x4eb61ed9 // mov v25.16b, v22.16b .long 0x4e23d703 // fadd v3.4s, v24.4s, v3.4s .long 0x6e631e39 // bsl v25.16b, v17.16b, v3.16b .long 0x4eb8d651 // fsub v17.4s, v18.4s, v24.4s .long 0x6e31df11 // fmul v17.4s, v24.4s, v17.4s .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s .long 0x6e711e56 // bsl v22.16b, v18.16b, v17.16b .long 0x4eb8d69c // fsub v28.4s, v20.4s, v24.4s .long 0x4eb8d771 // fsub v17.4s, v27.4s, v24.4s .long 0x4eb8d732 // fsub v18.4s, v25.4s, v24.4s .long 0x4eb8d6d3 // fsub v19.4s, v22.4s, v24.4s .long 0x6eb4e6b7 // fcmgt v23.4s, v21.4s, v20.4s .long 0x4eb8d6b5 // fsub v21.4s, v21.4s, v24.4s .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s .long 0x6e32df92 // fmul v18.4s, v28.4s, v18.4s .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s .long 0x6e35fe31 // fdiv v17.4s, v17.4s, v21.4s .long 0x6e35fe52 // fdiv v18.4s, v18.4s, v21.4s .long 0x6e35fe73 // fdiv v19.4s, v19.4s, v21.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb71ee3 // mov v3.16b, v23.16b .long 0x4eb71efc // mov v28.16b, v23.16b .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s .long 0x4e32d712 // fadd v18.4s, v24.4s, v18.4s .long 0x4e33d713 // fadd v19.4s, v24.4s, v19.4s .long 0x6f00e410 // movi v16.2d, #0x0 .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b .long 0x6e791e5c // bsl v28.16b, v18.16b, v25.16b .long 0x6e761e77 // bsl v23.16b, v19.16b, v22.16b .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s .long 0x4e30f791 // fmax v17.4s, v28.4s, v16.4s .long 0x4e30f6f0 // fmax v16.4s, v23.4s, v16.4s .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s .long 0x4e30d442 // fadd v2.4s, v2.4s, v16.4s .long 0x4eb4d743 // fsub v3.4s, v26.4s, v20.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_saturation_aarch64 .globl _sk_saturation_aarch64 FUNCTION(_sk_saturation_aarch64) _sk_saturation_aarch64: .long 0x6e25dc72 // fmul v18.4s, v3.4s, v5.4s .long 0x6e26dc73 // fmul v19.4s, v3.4s, v6.4s .long 0x4e22f435 // fmax v21.4s, v1.4s, v2.4s .long 0x4ea2f437 // fmin v23.4s, v1.4s, v2.4s .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x4e35f415 // fmax v21.4s, v0.4s, v21.4s .long 0x4eb7f417 // fmin v23.4s, v0.4s, v23.4s .long 0x4eb3f65b // fmin v27.4s, v18.4s, v19.4s .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x4f03f619 // fmov v25.4s, #1.000000000000000000e+00 .long 0x4e33f65c // fmax v28.4s, v18.4s, v19.4s .long 0x4eb7d6b5 // fsub v21.4s, v21.4s, v23.4s .long 0x4ebbf63b // fmin v27.4s, v17.4s, v27.4s .long 0x72933348 // movk w8, #0x999a .long 0x4ea7d737 // fsub v23.4s, v25.4s, v7.4s .long 0x4e3cf63c // fmax v28.4s, v17.4s, v28.4s .long 0x4ebbd652 // fsub v18.4s, v18.4s, v27.4s .long 0x6e27deb5 // fmul v21.4s, v21.4s, v7.4s .long 0x4e040d16 // dup v22.4s, w8 .long 0x52a7e2e8 // mov w8, #0x3f170000 .long 0x6e20dee0 // fmul v0.4s, v23.4s, v0.4s .long 0x6e21dee1 // fmul v1.4s, v23.4s, v1.4s .long 0x6e22dee2 // fmul v2.4s, v23.4s, v2.4s .long 0x4ea3d739 // fsub v25.4s, v25.4s, v3.4s .long 0x4ebbd79c // fsub v28.4s, v28.4s, v27.4s .long 0x4ebbd631 // fsub v17.4s, v17.4s, v27.4s .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s .long 0x728147a8 // movk w8, #0xa3d .long 0x4ebbd673 // fsub v19.4s, v19.4s, v27.4s .long 0x4e39cc80 // fmla v0.4s, v4.4s, v25.4s .long 0x4e39cca1 // fmla v1.4s, v5.4s, v25.4s .long 0x4e39ccc2 // fmla v2.4s, v6.4s, v25.4s .long 0x4ea0db99 // fcmeq v25.4s, v28.4s, #0.0 .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s .long 0x6e3cfe52 // fdiv v18.4s, v18.4s, v28.4s .long 0x4e040d18 // dup v24.4s, w8 .long 0x52a7bc28 // mov w8, #0x3de10000 .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s .long 0x6e3cfe31 // fdiv v17.4s, v17.4s, v28.4s .long 0x4e791e52 // bic v18.16b, v18.16b, v25.16b .long 0x7288f5c8 // movk w8, #0x47ae .long 0x6e3cfe73 // fdiv v19.4s, v19.4s, v28.4s .long 0x4e791e31 // bic v17.16b, v17.16b, v25.16b .long 0x6e38de55 // fmul v21.4s, v18.4s, v24.4s .long 0x4e040d17 // dup v23.4s, w8 .long 0x6e38dcbb // fmul v27.4s, v5.4s, v24.4s .long 0x4e791e73 // bic v19.16b, v19.16b, v25.16b .long 0x4e31ced5 // fmla v21.4s, v22.4s, v17.4s .long 0x4e24cedb // fmla v27.4s, v22.4s, v4.4s .long 0x4e33cef5 // fmla v21.4s, v23.4s, v19.4s .long 0x4e26cefb // fmla v27.4s, v23.4s, v6.4s .long 0x6ea0fab5 // fneg v21.4s, v21.4s .long 0x4e3bcc75 // fmla v21.4s, v3.4s, v27.4s .long 0x6e27dc74 // fmul v20.4s, v3.4s, v7.4s .long 0x4e27d47a // fadd v26.4s, v3.4s, v7.4s .long 0x4e35d623 // fadd v3.4s, v17.4s, v21.4s .long 0x4e35d651 // fadd v17.4s, v18.4s, v21.4s .long 0x6e38de38 // fmul v24.4s, v17.4s, v24.4s .long 0x4e35d672 // fadd v18.4s, v19.4s, v21.4s .long 0x4e23ced8 // fmla v24.4s, v22.4s, v3.4s .long 0x4eb2f633 // fmin v19.4s, v17.4s, v18.4s .long 0x4e32cef8 // fmla v24.4s, v23.4s, v18.4s .long 0x4eb3f473 // fmin v19.4s, v3.4s, v19.4s .long 0x4eb8d479 // fsub v25.4s, v3.4s, v24.4s .long 0x6ea0ca76 // fcmge v22.4s, v19.4s, #0.0 .long 0x4eb3d713 // fsub v19.4s, v24.4s, v19.4s .long 0x6e39df19 // fmul v25.4s, v24.4s, v25.4s .long 0x6e33ff39 // fdiv v25.4s, v25.4s, v19.4s .long 0x4e32f635 // fmax v21.4s, v17.4s, v18.4s .long 0x4eb61edb // mov v27.16b, v22.16b .long 0x4e39d719 // fadd v25.4s, v24.4s, v25.4s .long 0x4e35f475 // fmax v21.4s, v3.4s, v21.4s .long 0x6e791c7b // bsl v27.16b, v3.16b, v25.16b .long 0x4eb8d623 // fsub v3.4s, v17.4s, v24.4s .long 0x6e23df03 // fmul v3.4s, v24.4s, v3.4s .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s .long 0x4eb61ed9 // mov v25.16b, v22.16b .long 0x4e23d703 // fadd v3.4s, v24.4s, v3.4s .long 0x6e631e39 // bsl v25.16b, v17.16b, v3.16b .long 0x4eb8d651 // fsub v17.4s, v18.4s, v24.4s .long 0x6e31df11 // fmul v17.4s, v24.4s, v17.4s .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s .long 0x6e711e56 // bsl v22.16b, v18.16b, v17.16b .long 0x4eb8d69c // fsub v28.4s, v20.4s, v24.4s .long 0x4eb8d771 // fsub v17.4s, v27.4s, v24.4s .long 0x4eb8d732 // fsub v18.4s, v25.4s, v24.4s .long 0x4eb8d6d3 // fsub v19.4s, v22.4s, v24.4s .long 0x6eb4e6b7 // fcmgt v23.4s, v21.4s, v20.4s .long 0x4eb8d6b5 // fsub v21.4s, v21.4s, v24.4s .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s .long 0x6e32df92 // fmul v18.4s, v28.4s, v18.4s .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s .long 0x6e35fe31 // fdiv v17.4s, v17.4s, v21.4s .long 0x6e35fe52 // fdiv v18.4s, v18.4s, v21.4s .long 0x6e35fe73 // fdiv v19.4s, v19.4s, v21.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb71ee3 // mov v3.16b, v23.16b .long 0x4eb71efc // mov v28.16b, v23.16b .long 0x4e31d711 // fadd v17.4s, v24.4s, v17.4s .long 0x4e32d712 // fadd v18.4s, v24.4s, v18.4s .long 0x4e33d713 // fadd v19.4s, v24.4s, v19.4s .long 0x6f00e410 // movi v16.2d, #0x0 .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b .long 0x6e791e5c // bsl v28.16b, v18.16b, v25.16b .long 0x6e761e77 // bsl v23.16b, v19.16b, v22.16b .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s .long 0x4e30f791 // fmax v17.4s, v28.4s, v16.4s .long 0x4e30f6f0 // fmax v16.4s, v23.4s, v16.4s .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s .long 0x4e30d442 // fadd v2.4s, v2.4s, v16.4s .long 0x4eb4d743 // fsub v3.4s, v26.4s, v20.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_color_aarch64 .globl _sk_color_aarch64 FUNCTION(_sk_color_aarch64) _sk_color_aarch64: .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x72933348 // movk w8, #0x999a .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7e2e8 // mov w8, #0x3f170000 .long 0x728147a8 // movk w8, #0xa3d .long 0x6e27dc33 // fmul v19.4s, v1.4s, v7.4s .long 0x4e040d15 // dup v21.4s, w8 .long 0x52a7bc28 // mov w8, #0x3de10000 .long 0x6e27dc11 // fmul v17.4s, v0.4s, v7.4s .long 0x7288f5c8 // movk w8, #0x47ae .long 0x4f03f617 // fmov v23.4s, #1.000000000000000000e+00 .long 0x6e35de7c // fmul v28.4s, v19.4s, v21.4s .long 0x6e27dc54 // fmul v20.4s, v2.4s, v7.4s .long 0x4e040d19 // dup v25.4s, w8 .long 0x4ea7d6fa // fsub v26.4s, v23.4s, v7.4s .long 0x6e35dcbb // fmul v27.4s, v5.4s, v21.4s .long 0x4e31ce5c // fmla v28.4s, v18.4s, v17.4s .long 0x4ea3d6f7 // fsub v23.4s, v23.4s, v3.4s .long 0x6e20df40 // fmul v0.4s, v26.4s, v0.4s .long 0x6e21df41 // fmul v1.4s, v26.4s, v1.4s .long 0x6e22df42 // fmul v2.4s, v26.4s, v2.4s .long 0x4e24ce5b // fmla v27.4s, v18.4s, v4.4s .long 0x4e34cf3c // fmla v28.4s, v25.4s, v20.4s .long 0x4e37cc80 // fmla v0.4s, v4.4s, v23.4s .long 0x4e37cca1 // fmla v1.4s, v5.4s, v23.4s .long 0x4e37ccc2 // fmla v2.4s, v6.4s, v23.4s .long 0x4e26cf3b // fmla v27.4s, v25.4s, v6.4s .long 0x6ea0fb97 // fneg v23.4s, v28.4s .long 0x4e3bcc77 // fmla v23.4s, v3.4s, v27.4s .long 0x6e27dc70 // fmul v16.4s, v3.4s, v7.4s .long 0x4e27d478 // fadd v24.4s, v3.4s, v7.4s .long 0x4e37d623 // fadd v3.4s, v17.4s, v23.4s .long 0x4e37d671 // fadd v17.4s, v19.4s, v23.4s .long 0x6e35de35 // fmul v21.4s, v17.4s, v21.4s .long 0x4e37d693 // fadd v19.4s, v20.4s, v23.4s .long 0x4e23ce55 // fmla v21.4s, v18.4s, v3.4s .long 0x4eb3f634 // fmin v20.4s, v17.4s, v19.4s .long 0x4e33cf35 // fmla v21.4s, v25.4s, v19.4s .long 0x4eb4f474 // fmin v20.4s, v3.4s, v20.4s .long 0x4eb5d47a // fsub v26.4s, v3.4s, v21.4s .long 0x6ea0ca92 // fcmge v18.4s, v20.4s, #0.0 .long 0x4eb4d6b4 // fsub v20.4s, v21.4s, v20.4s .long 0x6e3adeba // fmul v26.4s, v21.4s, v26.4s .long 0x6e34ff5a // fdiv v26.4s, v26.4s, v20.4s .long 0x4e33f637 // fmax v23.4s, v17.4s, v19.4s .long 0x4eb21e5b // mov v27.16b, v18.16b .long 0x4e3ad6ba // fadd v26.4s, v21.4s, v26.4s .long 0x4e37f477 // fmax v23.4s, v3.4s, v23.4s .long 0x6e7a1c7b // bsl v27.16b, v3.16b, v26.16b .long 0x4eb5d623 // fsub v3.4s, v17.4s, v21.4s .long 0x6e23dea3 // fmul v3.4s, v21.4s, v3.4s .long 0x6e34fc63 // fdiv v3.4s, v3.4s, v20.4s .long 0x4eb21e5a // mov v26.16b, v18.16b .long 0x4e23d6a3 // fadd v3.4s, v21.4s, v3.4s .long 0x6e631e3a // bsl v26.16b, v17.16b, v3.16b .long 0x4eb5d671 // fsub v17.4s, v19.4s, v21.4s .long 0x6e31deb1 // fmul v17.4s, v21.4s, v17.4s .long 0x6e34fe31 // fdiv v17.4s, v17.4s, v20.4s .long 0x4e31d6b1 // fadd v17.4s, v21.4s, v17.4s .long 0x6e711e72 // bsl v18.16b, v19.16b, v17.16b .long 0x4eb5d61c // fsub v28.4s, v16.4s, v21.4s .long 0x4eb5d771 // fsub v17.4s, v27.4s, v21.4s .long 0x4eb5d753 // fsub v19.4s, v26.4s, v21.4s .long 0x4eb5d654 // fsub v20.4s, v18.4s, v21.4s .long 0x6eb0e6f9 // fcmgt v25.4s, v23.4s, v16.4s .long 0x4eb5d6f7 // fsub v23.4s, v23.4s, v21.4s .long 0x6e31df91 // fmul v17.4s, v28.4s, v17.4s .long 0x6e33df93 // fmul v19.4s, v28.4s, v19.4s .long 0x6e34df94 // fmul v20.4s, v28.4s, v20.4s .long 0x6e37fe31 // fdiv v17.4s, v17.4s, v23.4s .long 0x6e37fe73 // fdiv v19.4s, v19.4s, v23.4s .long 0x6e37fe94 // fdiv v20.4s, v20.4s, v23.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb91f23 // mov v3.16b, v25.16b .long 0x4eb91f3c // mov v28.16b, v25.16b .long 0x4e31d6b1 // fadd v17.4s, v21.4s, v17.4s .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s .long 0x4e34d6b4 // fadd v20.4s, v21.4s, v20.4s .long 0x6f00e416 // movi v22.2d, #0x0 .long 0x6e7b1e23 // bsl v3.16b, v17.16b, v27.16b .long 0x6e7a1e7c // bsl v28.16b, v19.16b, v26.16b .long 0x6e721e99 // bsl v25.16b, v20.16b, v18.16b .long 0x4e36f463 // fmax v3.4s, v3.4s, v22.4s .long 0x4e36f791 // fmax v17.4s, v28.4s, v22.4s .long 0x4e36f732 // fmax v18.4s, v25.4s, v22.4s .long 0x4e23d400 // fadd v0.4s, v0.4s, v3.4s .long 0x4e31d421 // fadd v1.4s, v1.4s, v17.4s .long 0x4e32d442 // fadd v2.4s, v2.4s, v18.4s .long 0x4eb0d703 // fsub v3.4s, v24.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_luminosity_aarch64 .globl _sk_luminosity_aarch64 FUNCTION(_sk_luminosity_aarch64) _sk_luminosity_aarch64: .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x72933348 // movk w8, #0x999a .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7e2e8 // mov w8, #0x3f170000 .long 0x728147a8 // movk w8, #0xa3d .long 0x6e25dc73 // fmul v19.4s, v3.4s, v5.4s .long 0x4e040d15 // dup v21.4s, w8 .long 0x52a7bc28 // mov w8, #0x3de10000 .long 0x6e24dc71 // fmul v17.4s, v3.4s, v4.4s .long 0x7288f5c8 // movk w8, #0x47ae .long 0x4f03f617 // fmov v23.4s, #1.000000000000000000e+00 .long 0x6e35de7b // fmul v27.4s, v19.4s, v21.4s .long 0x6e26dc74 // fmul v20.4s, v3.4s, v6.4s .long 0x6e27dc70 // fmul v16.4s, v3.4s, v7.4s .long 0x4e27d478 // fadd v24.4s, v3.4s, v7.4s .long 0x4e040d19 // dup v25.4s, w8 .long 0x4ea7d6fa // fsub v26.4s, v23.4s, v7.4s .long 0x4ea3d6e3 // fsub v3.4s, v23.4s, v3.4s .long 0x6e35dc37 // fmul v23.4s, v1.4s, v21.4s .long 0x4e31ce5b // fmla v27.4s, v18.4s, v17.4s .long 0x4e20ce57 // fmla v23.4s, v18.4s, v0.4s .long 0x4e34cf3b // fmla v27.4s, v25.4s, v20.4s .long 0x6e20df5c // fmul v28.4s, v26.4s, v0.4s .long 0x4e22cf37 // fmla v23.4s, v25.4s, v2.4s .long 0x6ea0fb60 // fneg v0.4s, v27.4s .long 0x6e21df41 // fmul v1.4s, v26.4s, v1.4s .long 0x6e22df5a // fmul v26.4s, v26.4s, v2.4s .long 0x4e37cce0 // fmla v0.4s, v7.4s, v23.4s .long 0x4e23cc9c // fmla v28.4s, v4.4s, v3.4s .long 0x4e23cca1 // fmla v1.4s, v5.4s, v3.4s .long 0x4e23ccda // fmla v26.4s, v6.4s, v3.4s .long 0x4e20d663 // fadd v3.4s, v19.4s, v0.4s .long 0x4e20d622 // fadd v2.4s, v17.4s, v0.4s .long 0x4e20d680 // fadd v0.4s, v20.4s, v0.4s .long 0x6e35dc74 // fmul v20.4s, v3.4s, v21.4s .long 0x4e22ce54 // fmla v20.4s, v18.4s, v2.4s .long 0x4ea0f471 // fmin v17.4s, v3.4s, v0.4s .long 0x4e20cf34 // fmla v20.4s, v25.4s, v0.4s .long 0x4eb1f451 // fmin v17.4s, v2.4s, v17.4s .long 0x4eb4d457 // fsub v23.4s, v2.4s, v20.4s .long 0x6ea0ca32 // fcmge v18.4s, v17.4s, #0.0 .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s .long 0x6e37de97 // fmul v23.4s, v20.4s, v23.4s .long 0x6e31fef7 // fdiv v23.4s, v23.4s, v17.4s .long 0x4e20f473 // fmax v19.4s, v3.4s, v0.4s .long 0x4eb21e59 // mov v25.16b, v18.16b .long 0x4e37d697 // fadd v23.4s, v20.4s, v23.4s .long 0x4e33f453 // fmax v19.4s, v2.4s, v19.4s .long 0x6e771c59 // bsl v25.16b, v2.16b, v23.16b .long 0x4eb4d462 // fsub v2.4s, v3.4s, v20.4s .long 0x6e22de82 // fmul v2.4s, v20.4s, v2.4s .long 0x6e31fc42 // fdiv v2.4s, v2.4s, v17.4s .long 0x4eb21e57 // mov v23.16b, v18.16b .long 0x4e22d682 // fadd v2.4s, v20.4s, v2.4s .long 0x6e621c77 // bsl v23.16b, v3.16b, v2.16b .long 0x4eb4d403 // fsub v3.4s, v0.4s, v20.4s .long 0x6e23de83 // fmul v3.4s, v20.4s, v3.4s .long 0x6e31fc63 // fdiv v3.4s, v3.4s, v17.4s .long 0x4e23d683 // fadd v3.4s, v20.4s, v3.4s .long 0x6e631c12 // bsl v18.16b, v0.16b, v3.16b .long 0x4eb4d61b // fsub v27.4s, v16.4s, v20.4s .long 0x4eb4d720 // fsub v0.4s, v25.4s, v20.4s .long 0x4eb4d6e3 // fsub v3.4s, v23.4s, v20.4s .long 0x4eb4d651 // fsub v17.4s, v18.4s, v20.4s .long 0x6eb0e675 // fcmgt v21.4s, v19.4s, v16.4s .long 0x4eb4d673 // fsub v19.4s, v19.4s, v20.4s .long 0x6e20df60 // fmul v0.4s, v27.4s, v0.4s .long 0x6e23df63 // fmul v3.4s, v27.4s, v3.4s .long 0x6e31df71 // fmul v17.4s, v27.4s, v17.4s .long 0x6e33fc00 // fdiv v0.4s, v0.4s, v19.4s .long 0x6e33fc63 // fdiv v3.4s, v3.4s, v19.4s .long 0x6e33fe31 // fdiv v17.4s, v17.4s, v19.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb51ea2 // mov v2.16b, v21.16b .long 0x4eb51ebb // mov v27.16b, v21.16b .long 0x4e20d680 // fadd v0.4s, v20.4s, v0.4s .long 0x4e23d683 // fadd v3.4s, v20.4s, v3.4s .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s .long 0x6f00e416 // movi v22.2d, #0x0 .long 0x6e791c02 // bsl v2.16b, v0.16b, v25.16b .long 0x6e771c7b // bsl v27.16b, v3.16b, v23.16b .long 0x6e721e35 // bsl v21.16b, v17.16b, v18.16b .long 0x4e36f440 // fmax v0.4s, v2.4s, v22.4s .long 0x4e36f762 // fmax v2.4s, v27.4s, v22.4s .long 0x4e36f6a3 // fmax v3.4s, v21.4s, v22.4s .long 0x4e20d780 // fadd v0.4s, v28.4s, v0.4s .long 0x4e22d421 // fadd v1.4s, v1.4s, v2.4s .long 0x4e23d742 // fadd v2.4s, v26.4s, v3.4s .long 0x4eb0d703 // fsub v3.4s, v24.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_srcover_rgba_8888_aarch64 .globl _sk_srcover_rgba_8888_aarch64 FUNCTION(_sk_srcover_rgba_8888_aarch64) _sk_srcover_rgba_8888_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0xb5000504 // cbnz x4, 114c .long 0x3dc00104 // ldr q4, [x8] .long 0x6f00e625 // movi v5.2d, #0xff000000ff .long 0x6f380486 // ushr v6.4s, v4.4s, #8 .long 0x6f300487 // ushr v7.4s, v4.4s, #16 .long 0x6f280490 // ushr v16.4s, v4.4s, #24 .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0x52a86fe9 // mov w9, #0x437f0000 .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b .long 0x4e251cf2 // and v18.16b, v7.16b, v5.16b .long 0x4e21da07 // scvtf v7.4s, v16.4s .long 0x4ea3d630 // fsub v16.4s, v17.4s, v3.4s .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b .long 0x4e21d8c5 // scvtf v5.4s, v6.4s .long 0x6e31dc21 // fmul v1.4s, v1.4s, v17.4s .long 0x4e21d884 // scvtf v4.4s, v4.4s .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s .long 0x4e25ce01 // fmla v1.4s, v16.4s, v5.4s .long 0x4e21da46 // scvtf v6.4s, v18.4s .long 0x6e31dc42 // fmul v2.4s, v2.4s, v17.4s .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s .long 0x4e24ce00 // fmla v0.4s, v16.4s, v4.4s .long 0x6e21a831 // fcvtnu v17.4s, v1.4s .long 0x4e26ce02 // fmla v2.4s, v16.4s, v6.4s .long 0x4e27ce03 // fmla v3.4s, v16.4s, v7.4s .long 0x6e21a810 // fcvtnu v16.4s, v0.4s .long 0x4f285631 // shl v17.4s, v17.4s, #8 .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b .long 0x6e21a851 // fcvtnu v17.4s, v2.4s .long 0x4f305631 // shl v17.4s, v17.4s, #16 .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b .long 0x6e21a871 // fcvtnu v17.4s, v3.4s .long 0x4f385631 // shl v17.4s, v17.4s, #24 .long 0x4eb11e10 // orr v16.16b, v16.16b, v17.16b .long 0xb5000284 // cbnz x4, 1188 .long 0x3d800110 // str q16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000300 // b.eq 11b4 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x6f00e404 // movi v4.2d, #0x0 .long 0x540000c0 // b.eq 1178 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffa61 // b.ne 10b4 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x4d408124 // ld1 {v4.s}[2], [x9] .long 0xfd400105 // ldr d5, [x8] .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8 .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8 .long 0x17ffffcc // b 10b4 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000180 // b.eq 11c0 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 11ac // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd01 // b.ne 1140 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4d008130 // st1 {v16.s}[2], [x9] .long 0xfd000110 // str d16, [x8] .long 0x17ffffe4 // b 1140 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x0d408104 // ld1 {v4.s}[0], [x8] .long 0x17ffffbe // b 10b4 .long 0x0d008110 // st1 {v16.s}[0], [x8] .long 0x17ffffdf // b 1140 HIDDEN _sk_clamp_0_aarch64 .globl _sk_clamp_0_aarch64 FUNCTION(_sk_clamp_0_aarch64) _sk_clamp_0_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6f00e410 // movi v16.2d, #0x0 .long 0x4e30f400 // fmax v0.4s, v0.4s, v16.4s .long 0x4e30f421 // fmax v1.4s, v1.4s, v16.4s .long 0x4e30f442 // fmax v2.4s, v2.4s, v16.4s .long 0x4e30f463 // fmax v3.4s, v3.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_clamp_1_aarch64 .globl _sk_clamp_1_aarch64 FUNCTION(_sk_clamp_1_aarch64) _sk_clamp_1_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s .long 0x4eb0f442 // fmin v2.4s, v2.4s, v16.4s .long 0x4eb0f463 // fmin v3.4s, v3.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_clamp_a_aarch64 .globl _sk_clamp_a_aarch64 FUNCTION(_sk_clamp_a_aarch64) _sk_clamp_a_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4eb0f463 // fmin v3.4s, v3.4s, v16.4s .long 0x4ea3f400 // fmin v0.4s, v0.4s, v3.4s .long 0x4ea3f421 // fmin v1.4s, v1.4s, v3.4s .long 0x4ea3f442 // fmin v2.4s, v2.4s, v3.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_clamp_a_dst_aarch64 .globl _sk_clamp_a_dst_aarch64 FUNCTION(_sk_clamp_a_dst_aarch64) _sk_clamp_a_dst_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4eb0f4e7 // fmin v7.4s, v7.4s, v16.4s .long 0x4ea7f484 // fmin v4.4s, v4.4s, v7.4s .long 0x4ea7f4a5 // fmin v5.4s, v5.4s, v7.4s .long 0x4ea7f4c6 // fmin v6.4s, v6.4s, v7.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_set_rgb_aarch64 .globl _sk_set_rgb_aarch64 FUNCTION(_sk_set_rgb_aarch64) _sk_set_rgb_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x4ddfc920 // ld1r {v0.4s}, [x9], #4 .long 0x91002108 // add x8, x8, #0x8 .long 0x4d40c902 // ld1r {v2.4s}, [x8] .long 0x4d40c921 // ld1r {v1.4s}, [x9] .long 0xd61f00a0 // br x5 HIDDEN _sk_swap_rb_aarch64 .globl _sk_swap_rb_aarch64 FUNCTION(_sk_swap_rb_aarch64) _sk_swap_rb_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea01c10 // mov v16.16b, v0.16b .long 0x4ea21c40 // mov v0.16b, v2.16b .long 0x4eb01e02 // mov v2.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_move_src_dst_aarch64 .globl _sk_move_src_dst_aarch64 FUNCTION(_sk_move_src_dst_aarch64) _sk_move_src_dst_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea01c04 // mov v4.16b, v0.16b .long 0x4ea11c25 // mov v5.16b, v1.16b .long 0x4ea21c46 // mov v6.16b, v2.16b .long 0x4ea31c67 // mov v7.16b, v3.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_move_dst_src_aarch64 .globl _sk_move_dst_src_aarch64 FUNCTION(_sk_move_dst_src_aarch64) _sk_move_dst_src_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea41c80 // mov v0.16b, v4.16b .long 0x4ea51ca1 // mov v1.16b, v5.16b .long 0x4ea61cc2 // mov v2.16b, v6.16b .long 0x4ea71ce3 // mov v3.16b, v7.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_premul_aarch64 .globl _sk_premul_aarch64 FUNCTION(_sk_premul_aarch64) _sk_premul_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e23dc00 // fmul v0.4s, v0.4s, v3.4s .long 0x6e23dc21 // fmul v1.4s, v1.4s, v3.4s .long 0x6e23dc42 // fmul v2.4s, v2.4s, v3.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_unpremul_aarch64 .globl _sk_unpremul_aarch64 FUNCTION(_sk_unpremul_aarch64) _sk_unpremul_aarch64: .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4ea0d870 // fcmeq v16.4s, v3.4s, #0.0 .long 0x6e23fe31 // fdiv v17.4s, v17.4s, v3.4s .long 0x4e701e30 // bic v16.16b, v17.16b, v16.16b .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_from_srgb_aarch64 .globl _sk_from_srgb_aarch64 FUNCTION(_sk_from_srgb_aarch64) _sk_from_srgb_aarch64: .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x72933348 // movk w8, #0x999a .long 0x4e040d10 // dup v16.4s, w8 .long 0x52a7e648 // mov w8, #0x3f320000 .long 0x7291eb88 // movk w8, #0x8f5c .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a76468 // mov w8, #0x3b230000 .long 0x729ae148 // movk w8, #0xd70a .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7b3c8 // mov w8, #0x3d9e0000 .long 0x72907228 // movk w8, #0x8391 .long 0x6e22dc54 // fmul v20.4s, v2.4s, v2.4s .long 0x4eb11e35 // mov v21.16b, v17.16b .long 0x4eb11e37 // mov v23.16b, v17.16b .long 0x4e22ce11 // fmla v17.4s, v16.4s, v2.4s .long 0x4eb21e56 // mov v22.16b, v18.16b .long 0x4eb21e58 // mov v24.16b, v18.16b .long 0x4e34ce32 // fmla v18.4s, v17.4s, v20.4s .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a7ac28 // mov w8, #0x3d610000 .long 0x6e20dc13 // fmul v19.4s, v0.4s, v0.4s .long 0x7288f5c8 // movk w8, #0x47ae .long 0x4e20ce15 // fmla v21.4s, v16.4s, v0.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s .long 0x4e33ceb6 // fmla v22.4s, v21.4s, v19.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x4e21ce17 // fmla v23.4s, v16.4s, v1.4s .long 0x6e31dc15 // fmul v21.4s, v0.4s, v17.4s .long 0x6ea0e660 // fcmgt v0.4s, v19.4s, v0.4s .long 0x6e31dc30 // fmul v16.4s, v1.4s, v17.4s .long 0x6ea1e661 // fcmgt v1.4s, v19.4s, v1.4s .long 0x6e31dc51 // fmul v17.4s, v2.4s, v17.4s .long 0x6ea2e662 // fcmgt v2.4s, v19.4s, v2.4s .long 0x4e34cef8 // fmla v24.4s, v23.4s, v20.4s .long 0x6e761ea0 // bsl v0.16b, v21.16b, v22.16b .long 0x6e781e01 // bsl v1.16b, v16.16b, v24.16b .long 0x6e721e22 // bsl v2.16b, v17.16b, v18.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_from_srgb_dst_aarch64 .globl _sk_from_srgb_dst_aarch64 FUNCTION(_sk_from_srgb_dst_aarch64) _sk_from_srgb_dst_aarch64: .long 0x52a7d328 // mov w8, #0x3e990000 .long 0x72933348 // movk w8, #0x999a .long 0x4e040d10 // dup v16.4s, w8 .long 0x52a7e648 // mov w8, #0x3f320000 .long 0x7291eb88 // movk w8, #0x8f5c .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a76468 // mov w8, #0x3b230000 .long 0x729ae148 // movk w8, #0xd70a .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7b3c8 // mov w8, #0x3d9e0000 .long 0x72907228 // movk w8, #0x8391 .long 0x6e26dcd4 // fmul v20.4s, v6.4s, v6.4s .long 0x4eb11e35 // mov v21.16b, v17.16b .long 0x4eb11e37 // mov v23.16b, v17.16b .long 0x4e26ce11 // fmla v17.4s, v16.4s, v6.4s .long 0x4eb21e56 // mov v22.16b, v18.16b .long 0x4eb21e58 // mov v24.16b, v18.16b .long 0x4e34ce32 // fmla v18.4s, v17.4s, v20.4s .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a7ac28 // mov w8, #0x3d610000 .long 0x6e24dc93 // fmul v19.4s, v4.4s, v4.4s .long 0x7288f5c8 // movk w8, #0x47ae .long 0x4e24ce15 // fmla v21.4s, v16.4s, v4.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e25dcb4 // fmul v20.4s, v5.4s, v5.4s .long 0x4e33ceb6 // fmla v22.4s, v21.4s, v19.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x4e25ce17 // fmla v23.4s, v16.4s, v5.4s .long 0x6e31dc95 // fmul v21.4s, v4.4s, v17.4s .long 0x6ea4e664 // fcmgt v4.4s, v19.4s, v4.4s .long 0x6e31dcb0 // fmul v16.4s, v5.4s, v17.4s .long 0x6ea5e665 // fcmgt v5.4s, v19.4s, v5.4s .long 0x6e31dcd1 // fmul v17.4s, v6.4s, v17.4s .long 0x6ea6e666 // fcmgt v6.4s, v19.4s, v6.4s .long 0x4e34cef8 // fmla v24.4s, v23.4s, v20.4s .long 0x6e761ea4 // bsl v4.16b, v21.16b, v22.16b .long 0x6e781e05 // bsl v5.16b, v16.16b, v24.16b .long 0x6e721e26 // bsl v6.16b, v17.16b, v18.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_to_srgb_aarch64 .globl _sk_to_srgb_aarch64 FUNCTION(_sk_to_srgb_aarch64) _sk_to_srgb_aarch64: .long 0x52a829c8 // mov w8, #0x414e0000 .long 0x72970a48 // movk w8, #0xb852 .long 0x4e040d11 // dup v17.4s, w8 .long 0x52b76408 // mov w8, #0xbb200000 .long 0x729ae728 // movk w8, #0xd739 .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a77308 // mov w8, #0x3b980000 .long 0x72963508 // movk w8, #0xb1a8 .long 0x6ea1d810 // frsqrte v16.4s, v0.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x52a78c48 // mov w8, #0x3c620000 .long 0x6ea1d834 // frsqrte v20.4s, v1.4s .long 0x6ea1d855 // frsqrte v21.4s, v2.4s .long 0x7293f748 // movk w8, #0x9fba .long 0x6e30de16 // fmul v22.4s, v16.4s, v16.4s .long 0x6e34de97 // fmul v23.4s, v20.4s, v20.4s .long 0x6e35deb8 // fmul v24.4s, v21.4s, v21.4s .long 0x4eb6fc16 // frsqrts v22.4s, v0.4s, v22.4s .long 0x6e31dc19 // fmul v25.4s, v0.4s, v17.4s .long 0x6ea0e660 // fcmgt v0.4s, v19.4s, v0.4s .long 0x4eb7fc37 // frsqrts v23.4s, v1.4s, v23.4s .long 0x6e31dc3a // fmul v26.4s, v1.4s, v17.4s .long 0x6ea1e661 // fcmgt v1.4s, v19.4s, v1.4s .long 0x4eb8fc58 // frsqrts v24.4s, v2.4s, v24.4s .long 0x6e31dc51 // fmul v17.4s, v2.4s, v17.4s .long 0x6ea2e662 // fcmgt v2.4s, v19.4s, v2.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x52a7f208 // mov w8, #0x3f900000 .long 0x72947ae8 // movk w8, #0xa3d7 .long 0x6e36de10 // fmul v16.4s, v16.4s, v22.4s .long 0x4e040d16 // dup v22.4s, w8 .long 0x6e37de94 // fmul v20.4s, v20.4s, v23.4s .long 0x4eb31e77 // mov v23.16b, v19.16b .long 0x6e38deb5 // fmul v21.4s, v21.4s, v24.4s .long 0x4eb31e78 // mov v24.16b, v19.16b .long 0x52a7c208 // mov w8, #0x3e100000 .long 0x4e30ce57 // fmla v23.4s, v18.4s, v16.4s .long 0x4e34ce58 // fmla v24.4s, v18.4s, v20.4s .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s .long 0x4eb61ed2 // mov v18.16b, v22.16b .long 0x7298c988 // movk w8, #0xc64c .long 0x4e30cef2 // fmla v18.4s, v23.4s, v16.4s .long 0x4eb61ed7 // mov v23.16b, v22.16b .long 0x4e35ce76 // fmla v22.4s, v19.4s, v21.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x4e33d610 // fadd v16.4s, v16.4s, v19.4s .long 0x4e34cf17 // fmla v23.4s, v24.4s, v20.4s .long 0x4e33d694 // fadd v20.4s, v20.4s, v19.4s .long 0x4e33d6b3 // fadd v19.4s, v21.4s, v19.4s .long 0x4ea1da15 // frecpe v21.4s, v16.4s .long 0x4e35fe10 // frecps v16.4s, v16.4s, v21.4s .long 0x6e30deb0 // fmul v16.4s, v21.4s, v16.4s .long 0x4ea1da95 // frecpe v21.4s, v20.4s .long 0x4e35fe94 // frecps v20.4s, v20.4s, v21.4s .long 0x6e34deb4 // fmul v20.4s, v21.4s, v20.4s .long 0x4ea1da75 // frecpe v21.4s, v19.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e35fe73 // frecps v19.4s, v19.4s, v21.4s .long 0x6e33deb3 // fmul v19.4s, v21.4s, v19.4s .long 0x6e30de50 // fmul v16.4s, v18.4s, v16.4s .long 0x6e34def2 // fmul v18.4s, v23.4s, v20.4s .long 0x6e33ded3 // fmul v19.4s, v22.4s, v19.4s .long 0x6e701f20 // bsl v0.16b, v25.16b, v16.16b .long 0x6e721f41 // bsl v1.16b, v26.16b, v18.16b .long 0x6e731e22 // bsl v2.16b, v17.16b, v19.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_rgb_to_hsl_aarch64 .globl _sk_rgb_to_hsl_aarch64 FUNCTION(_sk_rgb_to_hsl_aarch64) _sk_rgb_to_hsl_aarch64: .long 0x4e21f410 // fmax v16.4s, v0.4s, v1.4s .long 0x4ea1f411 // fmin v17.4s, v0.4s, v1.4s .long 0x6ea1e454 // fcmgt v20.4s, v2.4s, v1.4s .long 0x4f00f715 // fmov v21.4s, #6.000000000000000000e+00 .long 0x4e22f610 // fmax v16.4s, v16.4s, v2.4s .long 0x4ea2f631 // fmin v17.4s, v17.4s, v2.4s .long 0x4f03f612 // fmov v18.4s, #1.000000000000000000e+00 .long 0x4e341eb4 // and v20.16b, v21.16b, v20.16b .long 0x4eb1d615 // fsub v21.4s, v16.4s, v17.4s .long 0x4ea2d433 // fsub v19.4s, v1.4s, v2.4s .long 0x4ea0d456 // fsub v22.4s, v2.4s, v0.4s .long 0x4f026417 // movi v23.4s, #0x40, lsl #24 .long 0x6e35fe42 // fdiv v2.4s, v18.4s, v21.4s .long 0x4ea1d418 // fsub v24.4s, v0.4s, v1.4s .long 0x4f00f619 // fmov v25.4s, #4.000000000000000000e+00 .long 0x4f0167fa // movi v26.4s, #0x3f, lsl #24 .long 0x4eb0d6f2 // fsub v18.4s, v23.4s, v16.4s .long 0x4e36cc57 // fmla v23.4s, v2.4s, v22.4s .long 0x4e31e616 // fcmeq v22.4s, v16.4s, v17.4s .long 0x4e20e600 // fcmeq v0.4s, v16.4s, v0.4s .long 0x4e21e601 // fcmeq v1.4s, v16.4s, v1.4s .long 0x4e31d610 // fadd v16.4s, v16.4s, v17.4s .long 0x52a7c548 // mov w8, #0x3e2a0000 .long 0x4e33cc54 // fmla v20.4s, v2.4s, v19.4s .long 0x4e38cc59 // fmla v25.4s, v2.4s, v24.4s .long 0x6e3ade02 // fmul v2.4s, v16.4s, v26.4s .long 0x72955568 // movk w8, #0xaaab .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb1d651 // fsub v17.4s, v18.4s, v17.4s .long 0x6ebae452 // fcmgt v18.4s, v2.4s, v26.4s .long 0x6e791ee1 // bsl v1.16b, v23.16b, v25.16b .long 0x4e040d13 // dup v19.4s, w8 .long 0x6e701e32 // bsl v18.16b, v17.16b, v16.16b .long 0x6e611e80 // bsl v0.16b, v20.16b, v1.16b .long 0x6e32fea1 // fdiv v1.4s, v21.4s, v18.4s .long 0x6e33dc00 // fmul v0.4s, v0.4s, v19.4s .long 0x4e761c00 // bic v0.16b, v0.16b, v22.16b .long 0x4e761c21 // bic v1.16b, v1.16b, v22.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_hsl_to_rgb_aarch64 .globl _sk_hsl_to_rgb_aarch64 FUNCTION(_sk_hsl_to_rgb_aarch64) _sk_hsl_to_rgb_aarch64: .long 0x52a7d548 // mov w8, #0x3eaa0000 .long 0x72955568 // movk w8, #0xaaab .long 0x4e040d14 // dup v20.4s, w8 .long 0x52a7e548 // mov w8, #0x3f2a0000 .long 0x72955568 // movk w8, #0xaaab .long 0x4f0167f1 // movi v17.4s, #0x3f, lsl #24 .long 0x6e22dc32 // fmul v18.4s, v1.4s, v2.4s .long 0x4e040d17 // dup v23.4s, w8 .long 0x52b7d548 // mov w8, #0xbeaa0000 .long 0x4ea0d830 // fcmeq v16.4s, v1.4s, #0.0 .long 0x72955568 // movk w8, #0xaaab .long 0x6e31e45a // fcmge v26.4s, v2.4s, v17.4s .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s .long 0x4e040d18 // dup v24.4s, w8 .long 0x4e219819 // frintm v25.4s, v0.4s .long 0x6e721c3a // bsl v26.16b, v1.16b, v18.16b .long 0x4e34d401 // fadd v1.4s, v0.4s, v20.4s .long 0x4eb9d419 // fsub v25.4s, v0.4s, v25.4s .long 0x4e38d400 // fadd v0.4s, v0.4s, v24.4s .long 0x4e22d754 // fadd v20.4s, v26.4s, v2.4s .long 0x4e219838 // frintm v24.4s, v1.4s .long 0x4f026413 // movi v19.4s, #0x40, lsl #24 .long 0x4f00f715 // fmov v21.4s, #6.000000000000000000e+00 .long 0x4e21981b // frintm v27.4s, v0.4s .long 0x6ea0fa9c // fneg v28.4s, v20.4s .long 0x4eb8d421 // fsub v1.4s, v1.4s, v24.4s .long 0x4f00f616 // fmov v22.4s, #4.000000000000000000e+00 .long 0x4ebbd418 // fsub v24.4s, v0.4s, v27.4s .long 0x4e22ce7c // fmla v28.4s, v19.4s, v2.4s .long 0x6e35dc20 // fmul v0.4s, v1.4s, v21.4s .long 0x6e35df32 // fmul v18.4s, v25.4s, v21.4s .long 0x6e35df13 // fmul v19.4s, v24.4s, v21.4s .long 0x4ebcd695 // fsub v21.4s, v20.4s, v28.4s .long 0x4ea0d6db // fsub v27.4s, v22.4s, v0.4s .long 0x4ebc1f9d // mov v29.16b, v28.16b .long 0x4e3bcebd // fmla v29.4s, v21.4s, v27.4s .long 0x4ebc1f9b // mov v27.16b, v28.16b .long 0x4eb2d6da // fsub v26.4s, v22.4s, v18.4s .long 0x4e20cebb // fmla v27.4s, v21.4s, v0.4s .long 0x4ebc1f80 // mov v0.16b, v28.16b .long 0x4e3acea0 // fmla v0.4s, v21.4s, v26.4s .long 0x4ebc1f9a // mov v26.16b, v28.16b .long 0x4eb3d6d6 // fsub v22.4s, v22.4s, v19.4s .long 0x4e32ceba // fmla v26.4s, v21.4s, v18.4s .long 0x4ebc1f92 // mov v18.16b, v28.16b .long 0x52a7c548 // mov w8, #0x3e2a0000 .long 0x4e36ceb2 // fmla v18.4s, v21.4s, v22.4s .long 0x6e37e436 // fcmge v22.4s, v1.4s, v23.4s .long 0x72955568 // movk w8, #0xaaab .long 0x6e7d1f96 // bsl v22.16b, v28.16b, v29.16b .long 0x6e37e73d // fcmge v29.4s, v25.4s, v23.4s .long 0x6e37e717 // fcmge v23.4s, v24.4s, v23.4s .long 0x6e601f9d // bsl v29.16b, v28.16b, v0.16b .long 0x4e040d1e // dup v30.4s, w8 .long 0x6e721f97 // bsl v23.16b, v28.16b, v18.16b .long 0x4e33cebc // fmla v28.4s, v21.4s, v19.4s .long 0x6e31e732 // fcmge v18.4s, v25.4s, v17.4s .long 0x6e31e435 // fcmge v21.4s, v1.4s, v17.4s .long 0x6e31e711 // fcmge v17.4s, v24.4s, v17.4s .long 0x6e3ee718 // fcmge v24.4s, v24.4s, v30.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e741ef1 // bsl v17.16b, v23.16b, v20.16b .long 0x6e3ee733 // fcmge v19.4s, v25.4s, v30.4s .long 0x6e3ee439 // fcmge v25.4s, v1.4s, v30.4s .long 0x6e741ed5 // bsl v21.16b, v22.16b, v20.16b .long 0x6e741fb2 // bsl v18.16b, v29.16b, v20.16b .long 0x6e7c1e38 // bsl v24.16b, v17.16b, v28.16b .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb01e01 // mov v1.16b, v16.16b .long 0x6e7b1eb9 // bsl v25.16b, v21.16b, v27.16b .long 0x6e7a1e53 // bsl v19.16b, v18.16b, v26.16b .long 0x6e781c50 // bsl v16.16b, v2.16b, v24.16b .long 0x6e791c40 // bsl v0.16b, v2.16b, v25.16b .long 0x6e731c41 // bsl v1.16b, v2.16b, v19.16b .long 0x4eb01e02 // mov v2.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_scale_1_float_aarch64 .globl _sk_scale_1_float_aarch64 FUNCTION(_sk_scale_1_float_aarch64) _sk_scale_1_float_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xbd400110 // ldr s16, [x8] .long 0x4f909000 // fmul v0.4s, v0.4s, v16.s[0] .long 0x4f909021 // fmul v1.4s, v1.4s, v16.s[0] .long 0x4f909042 // fmul v2.4s, v2.4s, v16.s[0] .long 0x4f909063 // fmul v3.4s, v3.4s, v16.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_scale_u8_aarch64 .globl _sk_scale_u8_aarch64 FUNCTION(_sk_scale_u8_aarch64) _sk_scale_u8_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50002e4 // cbnz x4, 1760 .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d30 // mov v16.h[0], w9 .long 0x4e061d50 // mov v16.h[1], w10 .long 0x4e0a1d70 // mov v16.h[2], w11 .long 0x4e0e1d10 // mov v16.h[3], w8 .long 0x2f07b7f0 // bic v16.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0x72901028 // movk w8, #0x8081 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x2f10a610 // uxtl v16.4s, v16.4h .long 0x4e040d11 // dup v17.4s, w8 .long 0x6e21da10 // ucvtf v16.4s, v16.4s .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 17ac // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e410 // movi d16, #0x0 .long 0x540000c0 // b.eq 178c // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd61 // b.ne 1728 // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020ff0 // dup v16.4h, wzr .long 0x4e0a1d30 // mov v16.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d31 // mov v17.s[0], w9 .long 0x4e0c1d11 // mov v17.s[1], w8 .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4 .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4 .long 0x17ffffe0 // b 1728 .long 0x39400108 // ldrb w8, [x8] .long 0x0e020ff0 // dup v16.4h, wzr .long 0x4e021d10 // mov v16.h[0], w8 .long 0x17ffffdc // b 1728 HIDDEN _sk_lerp_1_float_aarch64 .globl _sk_lerp_1_float_aarch64 FUNCTION(_sk_lerp_1_float_aarch64) _sk_lerp_1_float_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea4d411 // fsub v17.4s, v0.4s, v4.4s .long 0x4ea41c80 // mov v0.16b, v4.16b .long 0x4ea5d432 // fsub v18.4s, v1.4s, v5.4s .long 0xbd400110 // ldr s16, [x8] .long 0x4ea51ca1 // mov v1.16b, v5.16b .long 0x4f901220 // fmla v0.4s, v17.4s, v16.s[0] .long 0x4ea6d451 // fsub v17.4s, v2.4s, v6.4s .long 0x4f901241 // fmla v1.4s, v18.4s, v16.s[0] .long 0x4ea61cc2 // mov v2.16b, v6.16b .long 0x4ea7d472 // fsub v18.4s, v3.4s, v7.4s .long 0x4ea71ce3 // mov v3.16b, v7.16b .long 0x4f901222 // fmla v2.4s, v17.4s, v16.s[0] .long 0x4f901243 // fmla v3.4s, v18.4s, v16.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_lerp_u8_aarch64 .globl _sk_lerp_u8_aarch64 FUNCTION(_sk_lerp_u8_aarch64) _sk_lerp_u8_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50003e4 // cbnz x4, 1880 .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d30 // mov v16.h[0], w9 .long 0x4e061d50 // mov v16.h[1], w10 .long 0x4e0a1d70 // mov v16.h[2], w11 .long 0x4e0e1d10 // mov v16.h[3], w8 .long 0x2f07b7f0 // bic v16.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0x72901028 // movk w8, #0x8081 .long 0x4ea4d411 // fsub v17.4s, v0.4s, v4.4s .long 0x2f10a600 // uxtl v0.4s, v16.4h .long 0x4e040d10 // dup v16.4s, w8 .long 0x6e21d800 // ucvtf v0.4s, v0.4s .long 0xf9400425 // ldr x5, [x1, #8] .long 0x6e30dc10 // fmul v16.4s, v0.4s, v16.4s .long 0x4ea41c80 // mov v0.16b, v4.16b .long 0x4ea5d432 // fsub v18.4s, v1.4s, v5.4s .long 0x4ea51ca1 // mov v1.16b, v5.16b .long 0x4e31ce00 // fmla v0.4s, v16.4s, v17.4s .long 0x4ea6d451 // fsub v17.4s, v2.4s, v6.4s .long 0x4e32ce01 // fmla v1.4s, v16.4s, v18.4s .long 0x4ea61cc2 // mov v2.16b, v6.16b .long 0x4ea7d472 // fsub v18.4s, v3.4s, v7.4s .long 0x4ea71ce3 // mov v3.16b, v7.16b .long 0x4e31ce02 // fmla v2.4s, v16.4s, v17.4s .long 0x4e32ce03 // fmla v3.4s, v16.4s, v18.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 18cc // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e410 // movi d16, #0x0 .long 0x540000c0 // b.eq 18ac // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffc61 // b.ne 1828 // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020ff0 // dup v16.4h, wzr .long 0x4e0a1d30 // mov v16.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d31 // mov v17.s[0], w9 .long 0x4e0c1d11 // mov v17.s[1], w8 .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4 .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4 .long 0x17ffffd8 // b 1828 .long 0x39400108 // ldrb w8, [x8] .long 0x0e020ff0 // dup v16.4h, wzr .long 0x4e021d10 // mov v16.h[0], w8 .long 0x17ffffd4 // b 1828 HIDDEN _sk_lerp_565_aarch64 .globl _sk_lerp_565_aarch64 FUNCTION(_sk_lerp_565_aarch64) _sk_lerp_565_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0xb50005c4 // cbnz x4, 19a0 .long 0xfd400110 // ldr d16, [x8] .long 0x321b17e8 // orr w8, wzr, #0x7e0 .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a6f088 // mov w8, #0x37840000 .long 0x2f10a610 // uxtl v16.4s, v16.4h .long 0x4f072711 // movi v17.4s, #0xf8, lsl #8 .long 0x72842108 // movk w8, #0x2108 .long 0x4f0007f3 // movi v19.4s, #0x1f .long 0x4e311e11 // and v17.16b, v16.16b, v17.16b .long 0x4e331e13 // and v19.16b, v16.16b, v19.16b .long 0x4e321e10 // and v16.16b, v16.16b, v18.16b .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7a088 // mov w8, #0x3d040000 .long 0x72842108 // movk w8, #0x2108 .long 0x4e21da31 // scvtf v17.4s, v17.4s .long 0x6e32de31 // fmul v17.4s, v17.4s, v18.4s .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a74048 // mov w8, #0x3a020000 .long 0x72810428 // movk w8, #0x821 .long 0x4ea4d414 // fsub v20.4s, v0.4s, v4.4s .long 0x4e21da60 // scvtf v0.4s, v19.4s .long 0x6e32dc12 // fmul v18.4s, v0.4s, v18.4s .long 0x4e040d00 // dup v0.4s, w8 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e20de10 // fmul v16.4s, v16.4s, v0.4s .long 0x4ea41c80 // mov v0.16b, v4.16b .long 0x4e34ce20 // fmla v0.4s, v17.4s, v20.4s .long 0x4ea7d463 // fsub v3.4s, v3.4s, v7.4s .long 0x4ea71cf4 // mov v20.16b, v7.16b .long 0x4ea5d433 // fsub v19.4s, v1.4s, v5.4s .long 0x4ea6d441 // fsub v1.4s, v2.4s, v6.4s .long 0x4ea61cc2 // mov v2.16b, v6.16b .long 0x4e23ce34 // fmla v20.4s, v17.4s, v3.4s .long 0x4ea71cf1 // mov v17.16b, v7.16b .long 0x4e21ce42 // fmla v2.4s, v18.4s, v1.4s .long 0x4e23ce51 // fmla v17.4s, v18.4s, v3.4s .long 0x4ea71cf2 // mov v18.16b, v7.16b .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4e23ce12 // fmla v18.4s, v16.4s, v3.4s .long 0x4ea51ca1 // mov v1.16b, v5.16b .long 0x4e31f643 // fmax v3.4s, v18.4s, v17.4s .long 0x4e33ce01 // fmla v1.4s, v16.4s, v19.4s .long 0x4e23f683 // fmax v3.4s, v20.4s, v3.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 19ec // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e410 // movi d16, #0x0 .long 0x540000c0 // b.eq 19cc // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fff9a1 // b.ne 18f0 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0e020ff0 // dup v16.4h, wzr .long 0x0d405130 // ld1 {v16.h}[2], [x9] .long 0x79400109 // ldrh w9, [x8] .long 0x79400508 // ldrh w8, [x8, #2] .long 0x4e041d31 // mov v17.s[0], w9 .long 0x4e0c1d11 // mov v17.s[1], w8 .long 0x0e401a31 // uzp1 v17.4h, v17.4h, v0.4h .long 0x2e112210 // ext v16.8b, v16.8b, v17.8b, #4 .long 0x2e102210 // ext v16.8b, v16.8b, v16.8b, #4 .long 0x17ffffc2 // b 18f0 .long 0x0e020ff0 // dup v16.4h, wzr .long 0x0d404110 // ld1 {v16.h}[0], [x8] .long 0x17ffffbf // b 18f0 HIDDEN _sk_load_tables_aarch64 .globl _sk_load_tables_aarch64 FUNCTION(_sk_load_tables_aarch64) _sk_load_tables_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400109 // ldr x9, [x8] .long 0x8b020929 // add x9, x9, x2, lsl #2 .long 0xb50006e4 // cbnz x4, 1ae0 .long 0x3dc00122 // ldr q2, [x9] .long 0xa940a909 // ldp x9, x10, [x8, #8] .long 0x6f00e620 // movi v0.2d, #0xff000000ff .long 0x6f380441 // ushr v1.4s, v2.4s, #8 .long 0x4e201c50 // and v16.16b, v2.16b, v0.16b .long 0x4e201c21 // and v1.16b, v1.16b, v0.16b .long 0x1e26020e // fmov w14, s16 .long 0xf9400d08 // ldr x8, [x8, #24] .long 0x6f300443 // ushr v3.4s, v2.4s, #16 .long 0x1e260032 // fmov w18, s1 .long 0x8b2e492e // add x14, x9, w14, uxtw #2 .long 0x52a7700b // mov w11, #0x3b800000 .long 0x4e201c63 // and v3.16b, v3.16b, v0.16b .long 0x0d4081c0 // ld1 {v0.s}[0], [x14] .long 0x8b324952 // add x18, x10, w18, uxtw #2 .long 0x7290102b // movk w11, #0x8081 .long 0x0e0c3c2f // mov w15, v1.s[1] .long 0x0e143c30 // mov w16, v1.s[2] .long 0x0e1c3c31 // mov w17, v1.s[3] .long 0x0d408241 // ld1 {v1.s}[0], [x18] .long 0x4e040d71 // dup v17.4s, w11 .long 0x0e0c3e0b // mov w11, v16.s[1] .long 0x1e26006e // fmov w14, s3 .long 0x6f280442 // ushr v2.4s, v2.4s, #24 .long 0x0e143e0c // mov w12, v16.s[2] .long 0xbc705952 // ldr s18, [x10, w16, uxtw #2] .long 0x0e143c70 // mov w16, v3.s[2] .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x8b2e490e // add x14, x8, w14, uxtw #2 .long 0x8b2b492b // add x11, x9, w11, uxtw #2 .long 0x0e1c3e0d // mov w13, v16.s[3] .long 0xbc6c5930 // ldr s16, [x9, w12, uxtw #2] .long 0x0e0c3c6c // mov w12, v3.s[1] .long 0xbc705913 // ldr s19, [x8, w16, uxtw #2] .long 0x0e1c3c70 // mov w16, v3.s[3] .long 0x6e31dc43 // fmul v3.4s, v2.4s, v17.4s .long 0x0d4081c2 // ld1 {v2.s}[0], [x14] .long 0x0d409160 // ld1 {v0.s}[1], [x11] .long 0x8b2f494b // add x11, x10, w15, uxtw #2 .long 0x0d409161 // ld1 {v1.s}[1], [x11] .long 0x8b2c490b // add x11, x8, w12, uxtw #2 .long 0x0d409162 // ld1 {v2.s}[1], [x11] .long 0x6e140600 // mov v0.s[2], v16.s[0] .long 0xbc6d5930 // ldr s16, [x9, w13, uxtw #2] .long 0x6e140641 // mov v1.s[2], v18.s[0] .long 0xbc715951 // ldr s17, [x10, w17, uxtw #2] .long 0xbc705912 // ldr s18, [x8, w16, uxtw #2] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x6e140662 // mov v2.s[2], v19.s[0] .long 0x6e1c0600 // mov v0.s[3], v16.s[0] .long 0x6e1c0621 // mov v1.s[3], v17.s[0] .long 0x6e1c0642 // mov v2.s[3], v18.s[0] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x1200048a // and w10, w4, #0x3 .long 0x7100055f // cmp w10, #0x1 .long 0x540001a0 // b.eq 1b1c // b.none .long 0x7100095f // cmp w10, #0x2 .long 0x6f00e402 // movi v2.2d, #0x0 .long 0x540000c0 // b.eq 1b0c // b.none .long 0x71000d5f // cmp w10, #0x3 .long 0x54fff881 // b.ne 1a0c // b.any .long 0x9100212a // add x10, x9, #0x8 .long 0x4e040fe2 // dup v2.4s, wzr .long 0x4d408142 // ld1 {v2.s}[2], [x10] .long 0xfd400120 // ldr d0, [x9] .long 0x6e004040 // ext v0.16b, v2.16b, v0.16b, #8 .long 0x6e004002 // ext v2.16b, v0.16b, v0.16b, #8 .long 0x17ffffbd // b 1a0c .long 0x4e040fe2 // dup v2.4s, wzr .long 0x0d408122 // ld1 {v2.s}[0], [x9] .long 0x17ffffba // b 1a0c HIDDEN _sk_load_tables_u16_be_aarch64 .globl _sk_load_tables_u16_be_aarch64 FUNCTION(_sk_load_tables_u16_be_aarch64) _sk_load_tables_u16_be_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400109 // ldr x9, [x8] .long 0x8b020d29 // add x9, x9, x2, lsl #3 .long 0xb5000744 // cbnz x4, 1c1c .long 0x0c400520 // ld4 {v0.4h-v3.4h}, [x9] .long 0xa940a909 // ldp x9, x10, [x8, #8] .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x52a6f00b // mov w11, #0x37800000 .long 0x7280100b // movk w11, #0x80 .long 0x2f10a410 // uxtl v16.4s, v0.4h .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8 .long 0xf9400d08 // ldr x8, [x8, #24] .long 0x4e040d71 // dup v17.4s, w11 .long 0x0e0c3e0b // mov w11, v16.s[1] .long 0x0e143e0c // mov w12, v16.s[2] .long 0x0e1c3e0d // mov w13, v16.s[3] .long 0x1e26020e // fmov w14, s16 .long 0x2f10a430 // uxtl v16.4s, v1.4h .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0x0e0c3e0f // mov w15, v16.s[1] .long 0xbc6c5932 // ldr s18, [x9, w12, uxtw #2] .long 0x0e143e0c // mov w12, v16.s[2] .long 0xbc6d5933 // ldr s19, [x9, w13, uxtw #2] .long 0x0e1c3e0d // mov w13, v16.s[3] .long 0x8b2e492e // add x14, x9, w14, uxtw #2 .long 0x8b2b4929 // add x9, x9, w11, uxtw #2 .long 0x1e26020b // fmov w11, s16 .long 0x2f10a450 // uxtl v16.4s, v2.4h .long 0x0f185474 // shl v20.4h, v3.4h, #8 .long 0x2f180462 // ushr v2.4h, v3.4h, #8 .long 0x0ea21e82 // orr v2.8b, v20.8b, v2.8b .long 0x8b2b494b // add x11, x10, w11, uxtw #2 .long 0x0d4081c0 // ld1 {v0.s}[0], [x14] .long 0x1e26020e // fmov w14, s16 .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x0d408161 // ld1 {v1.s}[0], [x11] .long 0x8b2e490b // add x11, x8, w14, uxtw #2 .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6e31dc43 // fmul v3.4s, v2.4s, v17.4s .long 0x0d408162 // ld1 {v2.s}[0], [x11] .long 0x8b2f494f // add x15, x10, w15, uxtw #2 .long 0xbc6c5955 // ldr s21, [x10, w12, uxtw #2] .long 0xbc6d5956 // ldr s22, [x10, w13, uxtw #2] .long 0x0e0c3e0a // mov w10, v16.s[1] .long 0x0e143e0c // mov w12, v16.s[2] .long 0x0d409120 // ld1 {v0.s}[1], [x9] .long 0x8b2a4909 // add x9, x8, w10, uxtw #2 .long 0x0e1c3e0d // mov w13, v16.s[3] .long 0xbc6c5910 // ldr s16, [x8, w12, uxtw #2] .long 0x0d4091e1 // ld1 {v1.s}[1], [x15] .long 0x0d409122 // ld1 {v2.s}[1], [x9] .long 0xbc6d5911 // ldr s17, [x8, w13, uxtw #2] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x6e140640 // mov v0.s[2], v18.s[0] .long 0x6e1406a1 // mov v1.s[2], v21.s[0] .long 0x6e140602 // mov v2.s[2], v16.s[0] .long 0x6e1c0660 // mov v0.s[3], v19.s[0] .long 0x6e1c06c1 // mov v1.s[3], v22.s[0] .long 0x6e1c0622 // mov v2.s[3], v17.s[0] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d606120 // ld4 {v0.h-v3.h}[0], [x9] .long 0xf100049f // cmp x4, #0x1 .long 0x54fff8c0 // b.eq 1b3c // b.none .long 0x9100212a // add x10, x9, #0x8 .long 0x0d606940 // ld4 {v0.h-v3.h}[1], [x10] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fff843 // b.cc 1b3c // b.lo, b.ul, b.last .long 0x91004129 // add x9, x9, #0x10 .long 0x0d607120 // ld4 {v0.h-v3.h}[2], [x9] .long 0x17ffffbf // b 1b3c HIDDEN _sk_load_tables_rgb_u16_be_aarch64 .globl _sk_load_tables_rgb_u16_be_aarch64 FUNCTION(_sk_load_tables_rgb_u16_be_aarch64) _sk_load_tables_rgb_u16_be_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x321f07ea // orr w10, wzr, #0x6 .long 0xf9400109 // ldr x9, [x8] .long 0x9b0a2449 // madd x9, x2, x10, x9 .long 0xb5000664 // cbnz x4, 1d20 .long 0x0c404520 // ld3 {v0.4h-v2.4h}, [x9] .long 0xa940a909 // ldp x9, x10, [x8, #8] .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x2f10a403 // uxtl v3.4s, v0.4h .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8 .long 0xf9400d0b // ldr x11, [x8, #24] .long 0x0e0c3c68 // mov w8, v3.s[1] .long 0x0e143c6c // mov w12, v3.s[2] .long 0x0e1c3c6d // mov w13, v3.s[3] .long 0x1e26006e // fmov w14, s3 .long 0x2f10a423 // uxtl v3.4s, v1.4h .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0xbc6c5930 // ldr s16, [x9, w12, uxtw #2] .long 0xbc6d5931 // ldr s17, [x9, w13, uxtw #2] .long 0x8b2e492e // add x14, x9, w14, uxtw #2 .long 0x8b284928 // add x8, x9, w8, uxtw #2 .long 0x1e260069 // fmov w9, s3 .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x8b294949 // add x9, x10, w9, uxtw #2 .long 0x0d4081c0 // ld1 {v0.s}[0], [x14] .long 0x0e143c4e // mov w14, v2.s[2] .long 0x0d408121 // ld1 {v1.s}[0], [x9] .long 0xbc6e5972 // ldr s18, [x11, w14, uxtw #2] .long 0x1e26004e // fmov w14, s2 .long 0x0e0c3c6f // mov w15, v3.s[1] .long 0x0e143c6c // mov w12, v3.s[2] .long 0x8b2e496e // add x14, x11, w14, uxtw #2 .long 0x0e1c3c6d // mov w13, v3.s[3] .long 0xbc6c5943 // ldr s3, [x10, w12, uxtw #2] .long 0x0e0c3c4c // mov w12, v2.s[1] .long 0x0e1c3c49 // mov w9, v2.s[3] .long 0x0d4081c2 // ld1 {v2.s}[0], [x14] .long 0x0d409100 // ld1 {v0.s}[1], [x8] .long 0x8b2f4948 // add x8, x10, w15, uxtw #2 .long 0x0d409101 // ld1 {v1.s}[1], [x8] .long 0x8b2c4968 // add x8, x11, w12, uxtw #2 .long 0x0d409102 // ld1 {v2.s}[1], [x8] .long 0x6e140600 // mov v0.s[2], v16.s[0] .long 0xbc6d5950 // ldr s16, [x10, w13, uxtw #2] .long 0x6e140461 // mov v1.s[2], v3.s[0] .long 0xbc695963 // ldr s3, [x11, w9, uxtw #2] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004028 // add x8, x1, #0x10 .long 0x6e140642 // mov v2.s[2], v18.s[0] .long 0x6e1c0620 // mov v0.s[3], v17.s[0] .long 0x6e1c0601 // mov v1.s[3], v16.s[0] .long 0x6e1c0462 // mov v2.s[3], v3.s[0] .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x0d406120 // ld3 {v0.h-v2.h}[0], [x9] .long 0xf100049f // cmp x4, #0x1 .long 0x54fff9a0 // b.eq 1c5c // b.none .long 0x9100192a // add x10, x9, #0x6 .long 0x0d406940 // ld3 {v0.h-v2.h}[1], [x10] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fff923 // b.cc 1c5c // b.lo, b.ul, b.last .long 0x91003129 // add x9, x9, #0xc .long 0x0d407120 // ld3 {v0.h-v2.h}[2], [x9] .long 0x17ffffc6 // b 1c5c HIDDEN _sk_byte_tables_aarch64 .globl _sk_byte_tables_aarch64 FUNCTION(_sk_byte_tables_aarch64) _sk_byte_tables_aarch64: .long 0xd100c3ff // sub sp, sp, #0x30 .long 0xaa0103e8 // mov x8, x1 .long 0x91002109 // add x9, x8, #0x8 .long 0xa90157f6 // stp x22, x21, [sp, #16] .long 0xa9024ff4 // stp x20, x19, [sp, #32] .long 0xf90007e9 // str x9, [sp, #8] .long 0xf8410429 // ldr x9, [x1], #16 .long 0x52a86fea // mov w10, #0x437f0000 .long 0x4e040d51 // dup v17.4s, w10 .long 0x52a7700b // mov w11, #0x3b800000 .long 0xa9405933 // ldp x19, x22, [x9] .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s .long 0x7290102b // movk w11, #0x8081 .long 0x6e21a800 // fcvtnu v0.4s, v0.4s .long 0x4e040d70 // dup v16.4s, w11 .long 0x0e0c3c0a // mov w10, v0.s[1] .long 0x0e143c0b // mov w11, v0.s[2] .long 0x0e1c3c0c // mov w12, v0.s[3] .long 0x1e26000d // fmov w13, s0 .long 0x386d4a6d // ldrb w13, [x19, w13, uxtw] .long 0x386a4a6a // ldrb w10, [x19, w10, uxtw] .long 0x386b4a6b // ldrb w11, [x19, w11, uxtw] .long 0x386c4a6c // ldrb w12, [x19, w12, uxtw] .long 0xa9412533 // ldp x19, x9, [x9, #16] .long 0x6e31dc42 // fmul v2.4s, v2.4s, v17.4s .long 0x6e31dc21 // fmul v1.4s, v1.4s, v17.4s .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s .long 0x6e21a842 // fcvtnu v2.4s, v2.4s .long 0x6e21a821 // fcvtnu v1.4s, v1.4s .long 0x6e21a863 // fcvtnu v3.4s, v3.4s .long 0x0e0c3c52 // mov w18, v2.s[1] .long 0x0e143c45 // mov w5, v2.s[2] .long 0x0e1c3c46 // mov w6, v2.s[3] .long 0x1e260047 // fmov w7, s2 .long 0x1e260031 // fmov w17, s1 .long 0x38674a67 // ldrb w7, [x19, w7, uxtw] .long 0x38724a72 // ldrb w18, [x19, w18, uxtw] .long 0x38654a65 // ldrb w5, [x19, w5, uxtw] .long 0x38664a66 // ldrb w6, [x19, w6, uxtw] .long 0x1e260073 // fmov w19, s3 .long 0x0e0c3c2e // mov w14, v1.s[1] .long 0x0e0c3c74 // mov w20, v3.s[1] .long 0x38714ad1 // ldrb w17, [x22, w17, uxtw] .long 0x38734933 // ldrb w19, [x9, w19, uxtw] .long 0x0e143c2f // mov w15, v1.s[2] .long 0x0e1c3c30 // mov w16, v1.s[3] .long 0x0e143c75 // mov w21, v3.s[2] .long 0x386e4ace // ldrb w14, [x22, w14, uxtw] .long 0x38744934 // ldrb w20, [x9, w20, uxtw] .long 0x386f4acf // ldrb w15, [x22, w15, uxtw] .long 0x38704ad0 // ldrb w16, [x22, w16, uxtw] .long 0x0e1c3c76 // mov w22, v3.s[3] .long 0x38754935 // ldrb w21, [x9, w21, uxtw] .long 0x38764929 // ldrb w9, [x9, w22, uxtw] .long 0x4e021da0 // mov v0.h[0], w13 .long 0x4e021e21 // mov v1.h[0], w17 .long 0x4e021ce2 // mov v2.h[0], w7 .long 0x4e021e63 // mov v3.h[0], w19 .long 0x4e061d40 // mov v0.h[1], w10 .long 0x4e061dc1 // mov v1.h[1], w14 .long 0x4e061e42 // mov v2.h[1], w18 .long 0x4e061e83 // mov v3.h[1], w20 .long 0x4e0a1d60 // mov v0.h[2], w11 .long 0x4e0a1de1 // mov v1.h[2], w15 .long 0x4e0a1ca2 // mov v2.h[2], w5 .long 0x4e0a1ea3 // mov v3.h[2], w21 .long 0x4e0e1d80 // mov v0.h[3], w12 .long 0x4e0e1e01 // mov v1.h[3], w16 .long 0x4e0e1cc2 // mov v2.h[3], w6 .long 0x4e0e1d23 // mov v3.h[3], w9 .long 0xf9400507 // ldr x7, [x8, #8] .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8 .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0x2f07b7e3 // bic v3.4h, #0xff, lsl #8 .long 0xa9424ff4 // ldp x20, x19, [sp, #32] .long 0xa94157f6 // ldp x22, x21, [sp, #16] .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x2f10a421 // uxtl v1.4s, v1.4h .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x2f10a463 // uxtl v3.4s, v3.4h .long 0x6e21d800 // ucvtf v0.4s, v0.4s .long 0x6e21d821 // ucvtf v1.4s, v1.4s .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6e21d863 // ucvtf v3.4s, v3.4s .long 0x6e30dc00 // fmul v0.4s, v0.4s, v16.4s .long 0x6e30dc21 // fmul v1.4s, v1.4s, v16.4s .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s .long 0x6e30dc63 // fmul v3.4s, v3.4s, v16.4s .long 0x9100c3ff // add sp, sp, #0x30 .long 0xd61f00e0 // br x7 HIDDEN _sk_byte_tables_rgb_aarch64 .globl _sk_byte_tables_rgb_aarch64 FUNCTION(_sk_byte_tables_rgb_aarch64) _sk_byte_tables_rgb_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x52a77009 // mov w9, #0x3b800000 .long 0x72901029 // movk w9, #0x8081 .long 0x4e040d30 // dup v16.4s, w9 .long 0xb9401909 // ldr w9, [x8, #24] .long 0xa9402d0a // ldp x10, x11, [x8] .long 0xf9400908 // ldr x8, [x8, #16] .long 0x51000529 // sub w9, w9, #0x1 .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e21da31 // scvtf v17.4s, v17.4s .long 0x6e21de21 // fmul v1.4s, v17.4s, v1.4s .long 0x6e20de20 // fmul v0.4s, v17.4s, v0.4s .long 0x6e22de22 // fmul v2.4s, v17.4s, v2.4s .long 0x6e21a821 // fcvtnu v1.4s, v1.4s .long 0x6e21a800 // fcvtnu v0.4s, v0.4s .long 0x6e21a842 // fcvtnu v2.4s, v2.4s .long 0x0e0c3c2f // mov w15, v1.s[1] .long 0x0e143c30 // mov w16, v1.s[2] .long 0x0e1c3c31 // mov w17, v1.s[3] .long 0x1e260032 // fmov w18, s1 .long 0x1e26000e // fmov w14, s0 .long 0x38724972 // ldrb w18, [x11, w18, uxtw] .long 0x386f496f // ldrb w15, [x11, w15, uxtw] .long 0x38704970 // ldrb w16, [x11, w16, uxtw] .long 0x3871496b // ldrb w11, [x11, w17, uxtw] .long 0x1e260051 // fmov w17, s2 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x386e494e // ldrb w14, [x10, w14, uxtw] .long 0x0e0c3c46 // mov w6, v2.s[1] .long 0x38714911 // ldrb w17, [x8, w17, uxtw] .long 0x0e143c0c // mov w12, v0.s[2] .long 0x0e1c3c0d // mov w13, v0.s[3] .long 0x0e143c47 // mov w7, v2.s[2] .long 0x38694949 // ldrb w9, [x10, w9, uxtw] .long 0x38664906 // ldrb w6, [x8, w6, uxtw] .long 0x386c494c // ldrb w12, [x10, w12, uxtw] .long 0x386d494a // ldrb w10, [x10, w13, uxtw] .long 0x0e1c3c4d // mov w13, v2.s[3] .long 0x38674907 // ldrb w7, [x8, w7, uxtw] .long 0x386d4908 // ldrb w8, [x8, w13, uxtw] .long 0x4e021dc0 // mov v0.h[0], w14 .long 0x4e021e41 // mov v1.h[0], w18 .long 0x4e021e22 // mov v2.h[0], w17 .long 0x4e061d20 // mov v0.h[1], w9 .long 0x4e061de1 // mov v1.h[1], w15 .long 0x4e061cc2 // mov v2.h[1], w6 .long 0x4e0a1d80 // mov v0.h[2], w12 .long 0x4e0a1e01 // mov v1.h[2], w16 .long 0x4e0a1ce2 // mov v2.h[2], w7 .long 0x4e0e1d40 // mov v0.h[3], w10 .long 0x4e0e1d61 // mov v1.h[3], w11 .long 0x4e0e1d02 // mov v2.h[3], w8 .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x2f07b7e1 // bic v1.4h, #0xff, lsl #8 .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x2f10a421 // uxtl v1.4s, v1.4h .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x6e21d800 // ucvtf v0.4s, v0.4s .long 0x6e21d821 // ucvtf v1.4s, v1.4s .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6e30dc00 // fmul v0.4s, v0.4s, v16.4s .long 0x6e30dc21 // fmul v1.4s, v1.4s, v16.4s .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_table_r_aarch64 .globl _sk_table_r_aarch64 FUNCTION(_sk_table_r_aarch64) _sk_table_r_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xb9400909 // ldr w9, [x8, #8] .long 0xf9400108 // ldr x8, [x8] .long 0x51000529 // sub w9, w9, #0x1 .long 0x4e040d30 // dup v16.4s, w9 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e20de00 // fmul v0.4s, v16.4s, v0.4s .long 0x6e21a810 // fcvtnu v16.4s, v0.4s .long 0x1e26020b // fmov w11, s16 .long 0x8b2b490b // add x11, x8, w11, uxtw #2 .long 0x0d408160 // ld1 {v0.s}[0], [x11] .long 0x0e0c3e09 // mov w9, v16.s[1] .long 0x0e143e0a // mov w10, v16.s[2] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0x0e1c3e0b // mov w11, v16.s[3] .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2] .long 0x0d409120 // ld1 {v0.s}[1], [x9] .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2] .long 0x6e140600 // mov v0.s[2], v16.s[0] .long 0x6e1c0620 // mov v0.s[3], v17.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_table_g_aarch64 .globl _sk_table_g_aarch64 FUNCTION(_sk_table_g_aarch64) _sk_table_g_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xb9400909 // ldr w9, [x8, #8] .long 0xf9400108 // ldr x8, [x8] .long 0x51000529 // sub w9, w9, #0x1 .long 0x4e040d30 // dup v16.4s, w9 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e21de01 // fmul v1.4s, v16.4s, v1.4s .long 0x6e21a830 // fcvtnu v16.4s, v1.4s .long 0x1e26020b // fmov w11, s16 .long 0x8b2b490b // add x11, x8, w11, uxtw #2 .long 0x0d408161 // ld1 {v1.s}[0], [x11] .long 0x0e0c3e09 // mov w9, v16.s[1] .long 0x0e143e0a // mov w10, v16.s[2] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0x0e1c3e0b // mov w11, v16.s[3] .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2] .long 0x0d409121 // ld1 {v1.s}[1], [x9] .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2] .long 0x6e140601 // mov v1.s[2], v16.s[0] .long 0x6e1c0621 // mov v1.s[3], v17.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_table_b_aarch64 .globl _sk_table_b_aarch64 FUNCTION(_sk_table_b_aarch64) _sk_table_b_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xb9400909 // ldr w9, [x8, #8] .long 0xf9400108 // ldr x8, [x8] .long 0x51000529 // sub w9, w9, #0x1 .long 0x4e040d30 // dup v16.4s, w9 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x6e21a850 // fcvtnu v16.4s, v2.4s .long 0x1e26020b // fmov w11, s16 .long 0x8b2b490b // add x11, x8, w11, uxtw #2 .long 0x0d408162 // ld1 {v2.s}[0], [x11] .long 0x0e0c3e09 // mov w9, v16.s[1] .long 0x0e143e0a // mov w10, v16.s[2] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0x0e1c3e0b // mov w11, v16.s[3] .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2] .long 0x0d409122 // ld1 {v2.s}[1], [x9] .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2] .long 0x6e140602 // mov v2.s[2], v16.s[0] .long 0x6e1c0622 // mov v2.s[3], v17.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_table_a_aarch64 .globl _sk_table_a_aarch64 FUNCTION(_sk_table_a_aarch64) _sk_table_a_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xb9400909 // ldr w9, [x8, #8] .long 0xf9400108 // ldr x8, [x8] .long 0x51000529 // sub w9, w9, #0x1 .long 0x4e040d30 // dup v16.4s, w9 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s .long 0x6e21a870 // fcvtnu v16.4s, v3.4s .long 0x1e26020b // fmov w11, s16 .long 0x8b2b490b // add x11, x8, w11, uxtw #2 .long 0x0d408163 // ld1 {v3.s}[0], [x11] .long 0x0e0c3e09 // mov w9, v16.s[1] .long 0x0e143e0a // mov w10, v16.s[2] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0x0e1c3e0b // mov w11, v16.s[3] .long 0xbc6a5910 // ldr s16, [x8, w10, uxtw #2] .long 0x0d409123 // ld1 {v3.s}[1], [x9] .long 0xbc6b5911 // ldr s17, [x8, w11, uxtw #2] .long 0x6e140603 // mov v3.s[2], v16.s[0] .long 0x6e1c0623 // mov v3.s[3], v17.s[0] .long 0xd61f00a0 // br x5 HIDDEN _sk_parametric_r_aarch64 .globl _sk_parametric_r_aarch64 FUNCTION(_sk_parametric_r_aarch64) _sk_parametric_r_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f016696 // movi v22.4s, #0x34, lsl #24 .long 0x91004109 // add x9, x8, #0x10 .long 0x9100610a // add x10, x8, #0x18 .long 0x4d40c932 // ld1r {v18.4s}, [x9] .long 0xaa0803e9 // mov x9, x8 .long 0xbd400d11 // ldr s17, [x8, #12] .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4 .long 0x9100210a // add x10, x8, #0x8 .long 0x4d40c954 // ld1r {v20.4s}, [x10] .long 0x4f911010 // fmla v16.4s, v0.4s, v17.s[0] .long 0xbd400135 // ldr s21, [x9] .long 0x52b85f09 // mov w9, #0xc2f80000 .long 0x728e6ee9 // movk w9, #0x7377 .long 0x4e040d37 // dup v23.4s, w9 .long 0x52a7f7e9 // mov w9, #0x3fbf0000 .long 0x7297eea9 // movk w9, #0xbf75 .long 0x4f951014 // fmla v20.4s, v0.4s, v21.s[0] .long 0x6e20e640 // fcmge v0.4s, v18.4s, v0.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a7d689 // mov w9, #0x3eb40000 .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16 .long 0x72889f29 // movk w9, #0x44f9 .long 0x4e21da95 // scvtf v21.4s, v20.4s .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7fb89 // mov w9, #0x3fdc0000 .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s .long 0x729d3469 // movk w9, #0xe9a3 .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24 .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a85e49 // mov w9, #0x42f20000 .long 0x72918a29 // movk w9, #0x8c51 .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7f7c9 // mov w9, #0x3fbe0000 .long 0x729791a9 // movk w9, #0xbc8d .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a81349 // mov w9, #0x409a0000 .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s .long 0x729ebf09 // movk w9, #0xf5f8 .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x52a83ba9 // mov w9, #0x41dd0000 .long 0x4e219a33 // frintm v19.4s, v17.4s .long 0x729a5fc9 // movk w9, #0xd2fe .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x91005108 // add x8, x8, #0x14 .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s .long 0x4d40c914 // ld1r {v20.4s}, [x8] .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24 .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x6f00e412 // movi v18.2d, #0x0 .long 0x6e711e00 // bsl v0.16b, v16.16b, v17.16b .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00 .long 0x4e32f400 // fmax v0.4s, v0.4s, v18.4s .long 0x4eb5f400 // fmin v0.4s, v0.4s, v21.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_parametric_g_aarch64 .globl _sk_parametric_g_aarch64 FUNCTION(_sk_parametric_g_aarch64) _sk_parametric_g_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f016696 // movi v22.4s, #0x34, lsl #24 .long 0x91004109 // add x9, x8, #0x10 .long 0x9100610a // add x10, x8, #0x18 .long 0x4d40c932 // ld1r {v18.4s}, [x9] .long 0xaa0803e9 // mov x9, x8 .long 0xbd400d11 // ldr s17, [x8, #12] .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4 .long 0x9100210a // add x10, x8, #0x8 .long 0x4d40c954 // ld1r {v20.4s}, [x10] .long 0x4f911030 // fmla v16.4s, v1.4s, v17.s[0] .long 0xbd400135 // ldr s21, [x9] .long 0x52b85f09 // mov w9, #0xc2f80000 .long 0x728e6ee9 // movk w9, #0x7377 .long 0x4e040d37 // dup v23.4s, w9 .long 0x52a7f7e9 // mov w9, #0x3fbf0000 .long 0x7297eea9 // movk w9, #0xbf75 .long 0x4f951034 // fmla v20.4s, v1.4s, v21.s[0] .long 0x6e21e641 // fcmge v1.4s, v18.4s, v1.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a7d689 // mov w9, #0x3eb40000 .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16 .long 0x72889f29 // movk w9, #0x44f9 .long 0x4e21da95 // scvtf v21.4s, v20.4s .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7fb89 // mov w9, #0x3fdc0000 .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s .long 0x729d3469 // movk w9, #0xe9a3 .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24 .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a85e49 // mov w9, #0x42f20000 .long 0x72918a29 // movk w9, #0x8c51 .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7f7c9 // mov w9, #0x3fbe0000 .long 0x729791a9 // movk w9, #0xbc8d .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a81349 // mov w9, #0x409a0000 .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s .long 0x729ebf09 // movk w9, #0xf5f8 .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x52a83ba9 // mov w9, #0x41dd0000 .long 0x4e219a33 // frintm v19.4s, v17.4s .long 0x729a5fc9 // movk w9, #0xd2fe .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x91005108 // add x8, x8, #0x14 .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s .long 0x4d40c914 // ld1r {v20.4s}, [x8] .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24 .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x6f00e412 // movi v18.2d, #0x0 .long 0x6e711e01 // bsl v1.16b, v16.16b, v17.16b .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00 .long 0x4e32f421 // fmax v1.4s, v1.4s, v18.4s .long 0x4eb5f421 // fmin v1.4s, v1.4s, v21.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_parametric_b_aarch64 .globl _sk_parametric_b_aarch64 FUNCTION(_sk_parametric_b_aarch64) _sk_parametric_b_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f016696 // movi v22.4s, #0x34, lsl #24 .long 0x91004109 // add x9, x8, #0x10 .long 0x9100610a // add x10, x8, #0x18 .long 0x4d40c932 // ld1r {v18.4s}, [x9] .long 0xaa0803e9 // mov x9, x8 .long 0xbd400d11 // ldr s17, [x8, #12] .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4 .long 0x9100210a // add x10, x8, #0x8 .long 0x4d40c954 // ld1r {v20.4s}, [x10] .long 0x4f911050 // fmla v16.4s, v2.4s, v17.s[0] .long 0xbd400135 // ldr s21, [x9] .long 0x52b85f09 // mov w9, #0xc2f80000 .long 0x728e6ee9 // movk w9, #0x7377 .long 0x4e040d37 // dup v23.4s, w9 .long 0x52a7f7e9 // mov w9, #0x3fbf0000 .long 0x7297eea9 // movk w9, #0xbf75 .long 0x4f951054 // fmla v20.4s, v2.4s, v21.s[0] .long 0x6e22e642 // fcmge v2.4s, v18.4s, v2.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a7d689 // mov w9, #0x3eb40000 .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16 .long 0x72889f29 // movk w9, #0x44f9 .long 0x4e21da95 // scvtf v21.4s, v20.4s .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7fb89 // mov w9, #0x3fdc0000 .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s .long 0x729d3469 // movk w9, #0xe9a3 .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24 .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a85e49 // mov w9, #0x42f20000 .long 0x72918a29 // movk w9, #0x8c51 .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7f7c9 // mov w9, #0x3fbe0000 .long 0x729791a9 // movk w9, #0xbc8d .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a81349 // mov w9, #0x409a0000 .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s .long 0x729ebf09 // movk w9, #0xf5f8 .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x52a83ba9 // mov w9, #0x41dd0000 .long 0x4e219a33 // frintm v19.4s, v17.4s .long 0x729a5fc9 // movk w9, #0xd2fe .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x91005108 // add x8, x8, #0x14 .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s .long 0x4d40c914 // ld1r {v20.4s}, [x8] .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24 .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x6f00e412 // movi v18.2d, #0x0 .long 0x6e711e02 // bsl v2.16b, v16.16b, v17.16b .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00 .long 0x4e32f442 // fmax v2.4s, v2.4s, v18.4s .long 0x4eb5f442 // fmin v2.4s, v2.4s, v21.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_parametric_a_aarch64 .globl _sk_parametric_a_aarch64 FUNCTION(_sk_parametric_a_aarch64) _sk_parametric_a_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f016696 // movi v22.4s, #0x34, lsl #24 .long 0x91004109 // add x9, x8, #0x10 .long 0x9100610a // add x10, x8, #0x18 .long 0x4d40c932 // ld1r {v18.4s}, [x9] .long 0xaa0803e9 // mov x9, x8 .long 0xbd400d11 // ldr s17, [x8, #12] .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4 .long 0x9100210a // add x10, x8, #0x8 .long 0x4d40c954 // ld1r {v20.4s}, [x10] .long 0x4f911070 // fmla v16.4s, v3.4s, v17.s[0] .long 0xbd400135 // ldr s21, [x9] .long 0x52b85f09 // mov w9, #0xc2f80000 .long 0x728e6ee9 // movk w9, #0x7377 .long 0x4e040d37 // dup v23.4s, w9 .long 0x52a7f7e9 // mov w9, #0x3fbf0000 .long 0x7297eea9 // movk w9, #0xbf75 .long 0x4f951074 // fmla v20.4s, v3.4s, v21.s[0] .long 0x6e23e643 // fcmge v3.4s, v18.4s, v3.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a7d689 // mov w9, #0x3eb40000 .long 0x4f03d7f1 // movi v17.4s, #0x7f, msl #16 .long 0x72889f29 // movk w9, #0x44f9 .long 0x4e21da95 // scvtf v21.4s, v20.4s .long 0x4e311e91 // and v17.16b, v20.16b, v17.16b .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7fb89 // mov w9, #0x3fdc0000 .long 0x4e35ced7 // fmla v23.4s, v22.4s, v21.4s .long 0x729d3469 // movk w9, #0xe9a3 .long 0x4f0177f1 // orr v17.4s, #0x3f, lsl #24 .long 0x4eb2ce37 // fmls v23.4s, v17.4s, v18.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a85e49 // mov w9, #0x42f20000 .long 0x72918a29 // movk w9, #0x8c51 .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x4e040d34 // dup v20.4s, w9 .long 0x52a7f7c9 // mov w9, #0x3fbe0000 .long 0x729791a9 // movk w9, #0xbc8d .long 0x6e31fe51 // fdiv v17.4s, v18.4s, v17.4s .long 0x4e040d32 // dup v18.4s, w9 .long 0x52a81349 // mov w9, #0x409a0000 .long 0x4eb1d6f1 // fsub v17.4s, v23.4s, v17.4s .long 0x729ebf09 // movk w9, #0xf5f8 .long 0x6e31de71 // fmul v17.4s, v19.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x52a83ba9 // mov w9, #0x41dd0000 .long 0x4e219a33 // frintm v19.4s, v17.4s .long 0x729a5fc9 // movk w9, #0xd2fe .long 0x4e34d634 // fadd v20.4s, v17.4s, v20.4s .long 0x4eb3d631 // fsub v17.4s, v17.4s, v19.4s .long 0x4eb2ce34 // fmls v20.4s, v17.4s, v18.4s .long 0x4eb1d6b1 // fsub v17.4s, v21.4s, v17.4s .long 0x4e040d35 // dup v21.4s, w9 .long 0x91005108 // add x8, x8, #0x14 .long 0x6e31feb1 // fdiv v17.4s, v21.4s, v17.4s .long 0x4e31d691 // fadd v17.4s, v20.4s, v17.4s .long 0x4d40c914 // ld1r {v20.4s}, [x8] .long 0x4f026573 // movi v19.4s, #0x4b, lsl #24 .long 0x6e33de31 // fmul v17.4s, v17.4s, v19.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4e34d631 // fadd v17.4s, v17.4s, v20.4s .long 0x6f00e412 // movi v18.2d, #0x0 .long 0x6e711e03 // bsl v3.16b, v16.16b, v17.16b .long 0x4f03f615 // fmov v21.4s, #1.000000000000000000e+00 .long 0x4e32f463 // fmax v3.4s, v3.4s, v18.4s .long 0x4eb5f463 // fmin v3.4s, v3.4s, v21.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_lab_to_xyz_aarch64 .globl _sk_lab_to_xyz_aarch64 FUNCTION(_sk_lab_to_xyz_aarch64) _sk_lab_to_xyz_aarch64: .long 0x52a85908 // mov w8, #0x42c80000 .long 0x4e040d10 // dup v16.4s, w8 .long 0x52a86fe8 // mov w8, #0x437f0000 .long 0x4f066471 // movi v17.4s, #0xc3, lsl #24 .long 0x4e040d13 // dup v19.4s, w8 .long 0x52a781a8 // mov w8, #0x3c0d0000 .long 0x7287b968 // movk w8, #0x3dcb .long 0x4eb11e34 // mov v20.16b, v17.16b .long 0x4e21ce74 // fmla v20.4s, v19.4s, v1.4s .long 0x4e040d01 // dup v1.4s, w8 .long 0x52a76068 // mov w8, #0x3b030000 .long 0x72824de8 // movk w8, #0x126f .long 0x4e22ce71 // fmla v17.4s, v19.4s, v2.4s .long 0x4e040d02 // dup v2.4s, w8 .long 0x52a77468 // mov w8, #0x3ba30000 .long 0x729ae148 // movk w8, #0xd70a .long 0x4e040d13 // dup v19.4s, w8 .long 0x52a78228 // mov w8, #0x3c110000 .long 0x4f01f612 // fmov v18.4s, #1.600000000000000000e+01 .long 0x72831848 // movk w8, #0x18c2 .long 0x4e20ce12 // fmla v18.4s, v16.4s, v0.4s .long 0x4e040d00 // dup v0.4s, w8 .long 0x52b7c1a8 // mov w8, #0xbe0d0000 .long 0x7287b968 // movk w8, #0x3dcb .long 0x6e21de41 // fmul v1.4s, v18.4s, v1.4s .long 0x4e040d10 // dup v16.4s, w8 .long 0x52a7c068 // mov w8, #0x3e030000 .long 0x4ea11c32 // mov v18.16b, v1.16b .long 0x72900a08 // movk w8, #0x8050 .long 0x4eb3ce32 // fmls v18.4s, v17.4s, v19.4s .long 0x6e21dc31 // fmul v17.4s, v1.4s, v1.4s .long 0x4ea11c35 // mov v21.16b, v1.16b .long 0x4e30d433 // fadd v19.4s, v1.4s, v16.4s .long 0x6e31dc31 // fmul v17.4s, v1.4s, v17.4s .long 0x4e34cc55 // fmla v21.4s, v2.4s, v20.4s .long 0x4e040d02 // dup v2.4s, w8 .long 0x6e22de73 // fmul v19.4s, v19.4s, v2.4s .long 0x6ea0e621 // fcmgt v1.4s, v17.4s, v0.4s .long 0x6e731e21 // bsl v1.16b, v17.16b, v19.16b .long 0x6e32de51 // fmul v17.4s, v18.4s, v18.4s .long 0x4e30d653 // fadd v19.4s, v18.4s, v16.4s .long 0x6e31de51 // fmul v17.4s, v18.4s, v17.4s .long 0x52a7eec8 // mov w8, #0x3f760000 .long 0x6e22de72 // fmul v18.4s, v19.4s, v2.4s .long 0x6ea0e633 // fcmgt v19.4s, v17.4s, v0.4s .long 0x729ae3e8 // movk w8, #0xd71f .long 0x6e721e33 // bsl v19.16b, v17.16b, v18.16b .long 0x6e35deb2 // fmul v18.4s, v21.4s, v21.4s .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a7ea68 // mov w8, #0x3f530000 .long 0x4e30d6b0 // fadd v16.4s, v21.4s, v16.4s .long 0x6e32deb2 // fmul v18.4s, v21.4s, v18.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x72881ec8 // movk w8, #0x40f6 .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x6ea0e640 // fcmgt v0.4s, v18.4s, v0.4s .long 0x4e040d14 // dup v20.4s, w8 .long 0x6e621e40 // bsl v0.16b, v18.16b, v2.16b .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s .long 0x6e34de62 // fmul v2.4s, v19.4s, v20.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_load_a8_aarch64 .globl _sk_load_a8_aarch64 FUNCTION(_sk_load_a8_aarch64) _sk_load_a8_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50002e4 // cbnz x4, 26c4 .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d22 // mov v2.h[0], w9 .long 0x4e061d42 // mov v2.h[1], w10 .long 0x4e0a1d62 // mov v2.h[2], w11 .long 0x4e0e1d02 // mov v2.h[3], w8 .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x4e040d03 // dup v3.4s, w8 .long 0x91004028 // add x8, x1, #0x10 .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x6e23dc43 // fmul v3.4s, v2.4s, v3.4s .long 0x6f00e402 // movi v2.2d, #0x0 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 2710 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e402 // movi d2, #0x0 .long 0x540000c0 // b.eq 26f0 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd61 // b.ne 268c // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020fe2 // dup v2.4h, wzr .long 0x4e0a1d22 // mov v2.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d20 // mov v0.s[0], w9 .long 0x4e0c1d00 // mov v0.s[1], w8 .long 0x0e401800 // uzp1 v0.4h, v0.4h, v0.4h .long 0x2e002040 // ext v0.8b, v2.8b, v0.8b, #4 .long 0x2e002002 // ext v2.8b, v0.8b, v0.8b, #4 .long 0x17ffffe0 // b 268c .long 0x39400108 // ldrb w8, [x8] .long 0x0e020fe2 // dup v2.4h, wzr .long 0x4e021d02 // mov v2.h[0], w8 .long 0x17ffffdc // b 268c HIDDEN _sk_load_a8_dst_aarch64 .globl _sk_load_a8_dst_aarch64 FUNCTION(_sk_load_a8_dst_aarch64) _sk_load_a8_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50002e4 // cbnz x4, 2788 .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d26 // mov v6.h[0], w9 .long 0x4e061d46 // mov v6.h[1], w10 .long 0x4e0a1d66 // mov v6.h[2], w11 .long 0x4e0e1d06 // mov v6.h[3], w8 .long 0x2f07b7e6 // bic v6.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x2f10a4c6 // uxtl v6.4s, v6.4h .long 0x4e040d07 // dup v7.4s, w8 .long 0x91004028 // add x8, x1, #0x10 .long 0x6e21d8c6 // ucvtf v6.4s, v6.4s .long 0x6f00e404 // movi v4.2d, #0x0 .long 0x6f00e405 // movi v5.2d, #0x0 .long 0x6e27dcc7 // fmul v7.4s, v6.4s, v7.4s .long 0x6f00e406 // movi v6.2d, #0x0 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 27d4 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e406 // movi d6, #0x0 .long 0x540000c0 // b.eq 27b4 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd61 // b.ne 2750 // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020fe6 // dup v6.4h, wzr .long 0x4e0a1d26 // mov v6.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d24 // mov v4.s[0], w9 .long 0x4e0c1d04 // mov v4.s[1], w8 .long 0x0e401884 // uzp1 v4.4h, v4.4h, v0.4h .long 0x2e0420c4 // ext v4.8b, v6.8b, v4.8b, #4 .long 0x2e042086 // ext v6.8b, v4.8b, v4.8b, #4 .long 0x17ffffe0 // b 2750 .long 0x39400108 // ldrb w8, [x8] .long 0x0e020fe6 // dup v6.4h, wzr .long 0x4e021d06 // mov v6.h[0], w8 .long 0x17ffffdc // b 2750 HIDDEN _sk_gather_a8_aarch64 .globl _sk_gather_a8_aarch64 FUNCTION(_sk_gather_a8_aarch64) _sk_gather_a8_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x52a77009 // mov w9, #0x3b800000 .long 0x72901029 // movk w9, #0x8081 .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x4e040d23 // dup v3.4s, w9 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x386c490c // ldrb w12, [x8, w12, uxtw] .long 0x0e143c0a // mov w10, v0.s[2] .long 0x38694909 // ldrb w9, [x8, w9, uxtw] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x386a490a // ldrb w10, [x8, w10, uxtw] .long 0x386b4908 // ldrb w8, [x8, w11, uxtw] .long 0x4e021d82 // mov v2.h[0], w12 .long 0x4e061d22 // mov v2.h[1], w9 .long 0x4e0a1d42 // mov v2.h[2], w10 .long 0x4e0e1d02 // mov v2.h[3], w8 .long 0x2f07b7e2 // bic v2.4h, #0xff, lsl #8 .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x6e23dc43 // fmul v3.4s, v2.4s, v3.4s .long 0x6f00e402 // movi v2.2d, #0x0 .long 0xd61f00a0 // br x5 HIDDEN _sk_store_a8_aarch64 .globl _sk_store_a8_aarch64 FUNCTION(_sk_store_a8_aarch64) _sk_store_a8_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a86fe9 // mov w9, #0x437f0000 .long 0x4e040d30 // dup v16.4s, w9 .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0x0e612a10 // xtn v16.4h, v16.4s .long 0x8b020108 // add x8, x8, x2 .long 0xb5000184 // cbnz x4, 28ac .long 0x0e0e3e09 // umov w9, v16.h[3] .long 0x0e0a3e0a // umov w10, v16.h[2] .long 0x0e063e0b // umov w11, v16.h[1] .long 0x0e023e0c // umov w12, v16.h[0] .long 0x39000d09 // strb w9, [x8, #3] .long 0x3900090a // strb w10, [x8, #2] .long 0x3900050b // strb w11, [x8, #1] .long 0x3900010c // strb w12, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000180 // b.eq 28e4 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 28d0 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffee1 // b.ne 28a0 // b.any .long 0x0e0a3e09 // umov w9, v16.h[2] .long 0x39000909 // strb w9, [x8, #2] .long 0x0e023e09 // umov w9, v16.h[0] .long 0x0e063e0a // umov w10, v16.h[1] .long 0x3900050a // strb w10, [x8, #1] .long 0x39000109 // strb w9, [x8] .long 0x17fffff0 // b 28a0 .long 0x0e023e09 // umov w9, v16.h[0] .long 0x39000109 // strb w9, [x8] .long 0x17ffffed // b 28a0 HIDDEN _sk_load_g8_aarch64 .globl _sk_load_g8_aarch64 FUNCTION(_sk_load_g8_aarch64) _sk_load_g8_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50002e4 // cbnz x4, 2958 .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d20 // mov v0.h[0], w9 .long 0x4e061d40 // mov v0.h[1], w10 .long 0x4e0a1d60 // mov v0.h[2], w11 .long 0x4e0e1d00 // mov v0.h[3], w8 .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0x72901028 // movk w8, #0x8081 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4e040d01 // dup v1.4s, w8 .long 0x6e21d800 // ucvtf v0.4s, v0.4s .long 0x91004028 // add x8, x1, #0x10 .long 0x6e21dc00 // fmul v0.4s, v0.4s, v1.4s .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0x4ea01c01 // mov v1.16b, v0.16b .long 0x4ea01c02 // mov v2.16b, v0.16b .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 29a4 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e400 // movi d0, #0x0 .long 0x540000c0 // b.eq 2984 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd61 // b.ne 2920 // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020fe0 // dup v0.4h, wzr .long 0x4e0a1d20 // mov v0.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d21 // mov v1.s[0], w9 .long 0x4e0c1d01 // mov v1.s[1], w8 .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4 .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4 .long 0x17ffffe0 // b 2920 .long 0x39400108 // ldrb w8, [x8] .long 0x0e020fe0 // dup v0.4h, wzr .long 0x4e021d00 // mov v0.h[0], w8 .long 0x17ffffdc // b 2920 HIDDEN _sk_load_g8_dst_aarch64 .globl _sk_load_g8_dst_aarch64 FUNCTION(_sk_load_g8_dst_aarch64) _sk_load_g8_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020108 // add x8, x8, x2 .long 0xb50002e4 // cbnz x4, 2a1c .long 0x39400109 // ldrb w9, [x8] .long 0x3940050a // ldrb w10, [x8, #1] .long 0x3940090b // ldrb w11, [x8, #2] .long 0x39400d08 // ldrb w8, [x8, #3] .long 0x4e021d24 // mov v4.h[0], w9 .long 0x4e061d44 // mov v4.h[1], w10 .long 0x4e0a1d64 // mov v4.h[2], w11 .long 0x4e0e1d04 // mov v4.h[3], w8 .long 0x2f07b7e4 // bic v4.4h, #0xff, lsl #8 .long 0x52a77008 // mov w8, #0x3b800000 .long 0x72901028 // movk w8, #0x8081 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x2f10a484 // uxtl v4.4s, v4.4h .long 0x4e040d05 // dup v5.4s, w8 .long 0x6e21d884 // ucvtf v4.4s, v4.4s .long 0x91004028 // add x8, x1, #0x10 .long 0x6e25dc84 // fmul v4.4s, v4.4s, v5.4s .long 0x4f03f607 // fmov v7.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0x4ea41c85 // mov v5.16b, v4.16b .long 0x4ea41c86 // mov v6.16b, v4.16b .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 2a68 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e404 // movi d4, #0x0 .long 0x540000c0 // b.eq 2a48 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffd61 // b.ne 29e4 // b.any .long 0x39400909 // ldrb w9, [x8, #2] .long 0x0e020fe4 // dup v4.4h, wzr .long 0x4e0a1d24 // mov v4.h[2], w9 .long 0x39400109 // ldrb w9, [x8] .long 0x39400508 // ldrb w8, [x8, #1] .long 0x4e041d25 // mov v5.s[0], w9 .long 0x4e0c1d05 // mov v5.s[1], w8 .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4 .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4 .long 0x17ffffe0 // b 29e4 .long 0x39400108 // ldrb w8, [x8] .long 0x0e020fe4 // dup v4.4h, wzr .long 0x4e021d04 // mov v4.h[0], w8 .long 0x17ffffdc // b 29e4 HIDDEN _sk_gather_g8_aarch64 .globl _sk_gather_g8_aarch64 FUNCTION(_sk_gather_g8_aarch64) _sk_gather_g8_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x52a77009 // mov w9, #0x3b800000 .long 0x72901029 // movk w9, #0x8081 .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x4e040d23 // dup v3.4s, w9 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x386c490c // ldrb w12, [x8, w12, uxtw] .long 0x0e143c0a // mov w10, v0.s[2] .long 0x38694909 // ldrb w9, [x8, w9, uxtw] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x386a490a // ldrb w10, [x8, w10, uxtw] .long 0x386b4908 // ldrb w8, [x8, w11, uxtw] .long 0x4e021d80 // mov v0.h[0], w12 .long 0x4e061d20 // mov v0.h[1], w9 .long 0x4e0a1d40 // mov v0.h[2], w10 .long 0x4e0e1d00 // mov v0.h[3], w8 .long 0x2f07b7e0 // bic v0.4h, #0xff, lsl #8 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x6e21d800 // ucvtf v0.4s, v0.4s .long 0x6e23dc00 // fmul v0.4s, v0.4s, v3.4s .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0x4ea01c01 // mov v1.16b, v0.16b .long 0x4ea01c02 // mov v2.16b, v0.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_gather_i8_aarch64 .globl _sk_gather_i8_aarch64 FUNCTION(_sk_gather_i8_aarch64) _sk_gather_i8_aarch64: .long 0xaa0103e8 // mov x8, x1 .long 0xf8408429 // ldr x9, [x1], #8 .long 0xb4000069 // cbz x9, 2b04 .long 0xaa0903ea // mov x10, x9 .long 0x14000003 // b 2b0c .long 0xf940050a // ldr x10, [x8, #8] .long 0x91004101 // add x1, x8, #0x10 .long 0xf8410548 // ldr x8, [x10], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0xf9400529 // ldr x9, [x9, #8] .long 0x4d40c942 // ld1r {v2.4s}, [x10] .long 0x6f00e623 // movi v3.2d, #0xff000000ff .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000d // fmov w13, s0 .long 0x0e0c3c0a // mov w10, v0.s[1] .long 0x386d490d // ldrb w13, [x8, w13, uxtw] .long 0x0e143c0b // mov w11, v0.s[2] .long 0x386a490a // ldrb w10, [x8, w10, uxtw] .long 0x0e1c3c0c // mov w12, v0.s[3] .long 0x386b490b // ldrb w11, [x8, w11, uxtw] .long 0x386c4908 // ldrb w8, [x8, w12, uxtw] .long 0x4e021da0 // mov v0.h[0], w13 .long 0x4e061d40 // mov v0.h[1], w10 .long 0x4e0a1d60 // mov v0.h[2], w11 .long 0x4e0e1d00 // mov v0.h[3], w8 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4e231c00 // and v0.16b, v0.16b, v3.16b .long 0x1e26000c // fmov w12, s0 .long 0x8b2c492c // add x12, x9, w12, uxtw #2 .long 0x0e0c3c08 // mov w8, v0.s[1] .long 0x0e143c0a // mov w10, v0.s[2] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d408180 // ld1 {v0.s}[0], [x12] .long 0x8b284928 // add x8, x9, w8, uxtw #2 .long 0xb86a592a // ldr w10, [x9, w10, uxtw #2] .long 0x52a7700c // mov w12, #0x3b800000 .long 0x0d409100 // ld1 {v0.s}[1], [x8] .long 0xb86b5928 // ldr w8, [x9, w11, uxtw #2] .long 0x7290102c // movk w12, #0x8081 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e141d40 // mov v0.s[2], w10 .long 0x4e1c1d00 // mov v0.s[3], w8 .long 0x4e231c01 // and v1.16b, v0.16b, v3.16b .long 0x6f380402 // ushr v2.4s, v0.4s, #8 .long 0x6f300411 // ushr v17.4s, v0.4s, #16 .long 0x4e040d90 // dup v16.4s, w12 .long 0x6f280400 // ushr v0.4s, v0.4s, #24 .long 0x4e21d821 // scvtf v1.4s, v1.4s .long 0x4e231c42 // and v2.16b, v2.16b, v3.16b .long 0x4e231e23 // and v3.16b, v17.16b, v3.16b .long 0x4e21d811 // scvtf v17.4s, v0.4s .long 0x6e30dc20 // fmul v0.4s, v1.4s, v16.4s .long 0x4e21d841 // scvtf v1.4s, v2.4s .long 0x4e21d862 // scvtf v2.4s, v3.4s .long 0x6e30dc21 // fmul v1.4s, v1.4s, v16.4s .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s .long 0x6e30de23 // fmul v3.4s, v17.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_load_565_aarch64 .globl _sk_load_565_aarch64 FUNCTION(_sk_load_565_aarch64) _sk_load_565_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0xb50003c4 // cbnz x4, 2c60 .long 0xfd400100 // ldr d0, [x8] .long 0x321b17e8 // orr w8, wzr, #0x7e0 .long 0x4e040d02 // dup v2.4s, w8 .long 0x52a6f088 // mov w8, #0x37840000 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4f072701 // movi v1.4s, #0xf8, lsl #8 .long 0x72842108 // movk w8, #0x2108 .long 0x4f0007e3 // movi v3.4s, #0x1f .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b .long 0x4e221c10 // and v16.16b, v0.16b, v2.16b .long 0x4e040d00 // dup v0.4s, w8 .long 0x52a7a088 // mov w8, #0x3d040000 .long 0x72842108 // movk w8, #0x2108 .long 0x4e21d821 // scvtf v1.4s, v1.4s .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s .long 0x4e040d01 // dup v1.4s, w8 .long 0x52a74048 // mov w8, #0x3a020000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72810428 // movk w8, #0x821 .long 0x4e21d862 // scvtf v2.4s, v3.4s .long 0x6e21dc42 // fmul v2.4s, v2.4s, v1.4s .long 0x4e040d01 // dup v1.4s, w8 .long 0x91004028 // add x8, x1, #0x10 .long 0x4e21da03 // scvtf v3.4s, v16.4s .long 0x6e21dc61 // fmul v1.4s, v3.4s, v1.4s .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 2cac // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e400 // movi d0, #0x0 .long 0x540000c0 // b.eq 2c8c // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffba1 // b.ne 2bf0 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0e020fe0 // dup v0.4h, wzr .long 0x0d405120 // ld1 {v0.h}[2], [x9] .long 0x79400109 // ldrh w9, [x8] .long 0x79400508 // ldrh w8, [x8, #2] .long 0x4e041d21 // mov v1.s[0], w9 .long 0x4e0c1d01 // mov v1.s[1], w8 .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4 .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4 .long 0x17ffffd2 // b 2bf0 .long 0x0e020fe0 // dup v0.4h, wzr .long 0x0d404100 // ld1 {v0.h}[0], [x8] .long 0x17ffffcf // b 2bf0 HIDDEN _sk_load_565_dst_aarch64 .globl _sk_load_565_dst_aarch64 FUNCTION(_sk_load_565_dst_aarch64) _sk_load_565_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0xb50003c4 // cbnz x4, 2d3c .long 0xfd400104 // ldr d4, [x8] .long 0x321b17e8 // orr w8, wzr, #0x7e0 .long 0x4e040d06 // dup v6.4s, w8 .long 0x52a6f088 // mov w8, #0x37840000 .long 0x2f10a484 // uxtl v4.4s, v4.4h .long 0x4f072705 // movi v5.4s, #0xf8, lsl #8 .long 0x72842108 // movk w8, #0x2108 .long 0x4f0007e7 // movi v7.4s, #0x1f .long 0x4e251c85 // and v5.16b, v4.16b, v5.16b .long 0x4e271c87 // and v7.16b, v4.16b, v7.16b .long 0x4e261c90 // and v16.16b, v4.16b, v6.16b .long 0x4e040d04 // dup v4.4s, w8 .long 0x52a7a088 // mov w8, #0x3d040000 .long 0x72842108 // movk w8, #0x2108 .long 0x4e21d8a5 // scvtf v5.4s, v5.4s .long 0x6e24dca4 // fmul v4.4s, v5.4s, v4.4s .long 0x4e040d05 // dup v5.4s, w8 .long 0x52a74048 // mov w8, #0x3a020000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72810428 // movk w8, #0x821 .long 0x4e21d8e6 // scvtf v6.4s, v7.4s .long 0x6e25dcc6 // fmul v6.4s, v6.4s, v5.4s .long 0x4e040d05 // dup v5.4s, w8 .long 0x91004028 // add x8, x1, #0x10 .long 0x4e21da07 // scvtf v7.4s, v16.4s .long 0x6e25dce5 // fmul v5.4s, v7.4s, v5.4s .long 0x4f03f607 // fmov v7.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 2d88 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e404 // movi d4, #0x0 .long 0x540000c0 // b.eq 2d68 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffba1 // b.ne 2ccc // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0e020fe4 // dup v4.4h, wzr .long 0x0d405124 // ld1 {v4.h}[2], [x9] .long 0x79400109 // ldrh w9, [x8] .long 0x79400508 // ldrh w8, [x8, #2] .long 0x4e041d25 // mov v5.s[0], w9 .long 0x4e0c1d05 // mov v5.s[1], w8 .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4 .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4 .long 0x17ffffd2 // b 2ccc .long 0x0e020fe4 // dup v4.4h, wzr .long 0x0d404104 // ld1 {v4.h}[0], [x8] .long 0x17ffffcf // b 2ccc HIDDEN _sk_gather_565_aarch64 .globl _sk_gather_565_aarch64 FUNCTION(_sk_gather_565_aarch64) _sk_gather_565_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x321b17e9 // orr w9, wzr, #0x7e0 .long 0x4e040d23 // dup v3.4s, w9 .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x8b2c450c // add x12, x8, w12, uxtw #1 .long 0x0e143c0a // mov w10, v0.s[2] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d404180 // ld1 {v0.h}[0], [x12] .long 0x78695909 // ldrh w9, [x8, w9, uxtw #1] .long 0x786a590a // ldrh w10, [x8, w10, uxtw #1] .long 0x786b5908 // ldrh w8, [x8, w11, uxtw #1] .long 0x4f072701 // movi v1.4s, #0xf8, lsl #8 .long 0x4e061d20 // mov v0.h[1], w9 .long 0x4e0a1d40 // mov v0.h[2], w10 .long 0x4e0e1d00 // mov v0.h[3], w8 .long 0x52a6f08b // mov w11, #0x37840000 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x7284210b // movk w11, #0x2108 .long 0x52a74049 // mov w9, #0x3a020000 .long 0x4f0007e2 // movi v2.4s, #0x1f .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b .long 0x72810429 // movk w9, #0x821 .long 0x52a7a08a // mov w10, #0x3d040000 .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b .long 0x4e040d60 // dup v0.4s, w11 .long 0x4e21d821 // scvtf v1.4s, v1.4s .long 0x7284210a // movk w10, #0x2108 .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s .long 0x4e040d21 // dup v1.4s, w9 .long 0x4e21d863 // scvtf v3.4s, v3.4s .long 0x6e21dc61 // fmul v1.4s, v3.4s, v1.4s .long 0x4e040d43 // dup v3.4s, w10 .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x6e23dc42 // fmul v2.4s, v2.4s, v3.4s .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0xd61f00a0 // br x5 HIDDEN _sk_store_565_aarch64 .globl _sk_store_565_aarch64 FUNCTION(_sk_store_565_aarch64) _sk_store_565_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a84f89 // mov w9, #0x427c0000 .long 0x4f01f7f0 // fmov v16.4s, #3.100000000000000000e+01 .long 0x4e040d32 // dup v18.4s, w9 .long 0x6e30dc11 // fmul v17.4s, v0.4s, v16.4s .long 0x6e32dc32 // fmul v18.4s, v1.4s, v18.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e30dc50 // fmul v16.4s, v2.4s, v16.4s .long 0x4f2b5631 // shl v17.4s, v17.4s, #11 .long 0x4f255652 // shl v18.4s, v18.4s, #5 .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0x0e612a10 // xtn v16.4h, v16.4s .long 0xb50000a4 // cbnz x4, 2e9c .long 0xfd000110 // str d16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000120 // b.eq 2ec8 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 2ec0 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffee1 // b.ne 2e90 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0d005130 // st1 {v16.h}[2], [x9] .long 0x91000909 // add x9, x8, #0x2 .long 0x0d004930 // st1 {v16.h}[1], [x9] .long 0x0d004110 // st1 {v16.h}[0], [x8] .long 0x17fffff1 // b 2e90 HIDDEN _sk_load_4444_aarch64 .globl _sk_load_4444_aarch64 FUNCTION(_sk_load_4444_aarch64) _sk_load_4444_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0xb5000444 // cbnz x4, 2f64 .long 0xfd400100 // ldr d0, [x8] .long 0x52a6f108 // mov w8, #0x37880000 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4f072601 // movi v1.4s, #0xf0, lsl #8 .long 0x72911128 // movk w8, #0x8889 .long 0x4f0025e2 // movi v2.4s, #0xf, lsl #8 .long 0x4f070603 // movi v3.4s, #0xf0 .long 0x4f0005f0 // movi v16.4s, #0xf .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b .long 0x4e301c10 // and v16.16b, v0.16b, v16.16b .long 0x4e040d00 // dup v0.4s, w8 .long 0x52a73108 // mov w8, #0x39880000 .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d821 // scvtf v1.4s, v1.4s .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s .long 0x4e040d01 // dup v1.4s, w8 .long 0x52a77108 // mov w8, #0x3b880000 .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x6e21dc41 // fmul v1.4s, v2.4s, v1.4s .long 0x4e040d02 // dup v2.4s, w8 .long 0x52a7b108 // mov w8, #0x3d880000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d863 // scvtf v3.4s, v3.4s .long 0x6e22dc62 // fmul v2.4s, v3.4s, v2.4s .long 0x4e040d03 // dup v3.4s, w8 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 2fb0 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e400 // movi d0, #0x0 .long 0x540000c0 // b.eq 2f90 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffb21 // b.ne 2ee4 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0e020fe0 // dup v0.4h, wzr .long 0x0d405120 // ld1 {v0.h}[2], [x9] .long 0x79400109 // ldrh w9, [x8] .long 0x79400508 // ldrh w8, [x8, #2] .long 0x4e041d21 // mov v1.s[0], w9 .long 0x4e0c1d01 // mov v1.s[1], w8 .long 0x0e401821 // uzp1 v1.4h, v1.4h, v0.4h .long 0x2e012000 // ext v0.8b, v0.8b, v1.8b, #4 .long 0x2e002000 // ext v0.8b, v0.8b, v0.8b, #4 .long 0x17ffffce // b 2ee4 .long 0x0e020fe0 // dup v0.4h, wzr .long 0x0d404100 // ld1 {v0.h}[0], [x8] .long 0x17ffffcb // b 2ee4 HIDDEN _sk_load_4444_dst_aarch64 .globl _sk_load_4444_dst_aarch64 FUNCTION(_sk_load_4444_dst_aarch64) _sk_load_4444_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0xb5000444 // cbnz x4, 3050 .long 0xfd400104 // ldr d4, [x8] .long 0x52a6f108 // mov w8, #0x37880000 .long 0x2f10a484 // uxtl v4.4s, v4.4h .long 0x4f072605 // movi v5.4s, #0xf0, lsl #8 .long 0x72911128 // movk w8, #0x8889 .long 0x4f0025e6 // movi v6.4s, #0xf, lsl #8 .long 0x4f070607 // movi v7.4s, #0xf0 .long 0x4f0005f0 // movi v16.4s, #0xf .long 0x4e251c85 // and v5.16b, v4.16b, v5.16b .long 0x4e261c86 // and v6.16b, v4.16b, v6.16b .long 0x4e271c87 // and v7.16b, v4.16b, v7.16b .long 0x4e301c90 // and v16.16b, v4.16b, v16.16b .long 0x4e040d04 // dup v4.4s, w8 .long 0x52a73108 // mov w8, #0x39880000 .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d8a5 // scvtf v5.4s, v5.4s .long 0x6e24dca4 // fmul v4.4s, v5.4s, v4.4s .long 0x4e040d05 // dup v5.4s, w8 .long 0x52a77108 // mov w8, #0x3b880000 .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d8c6 // scvtf v6.4s, v6.4s .long 0x6e25dcc5 // fmul v5.4s, v6.4s, v5.4s .long 0x4e040d06 // dup v6.4s, w8 .long 0x52a7b108 // mov w8, #0x3d880000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72911128 // movk w8, #0x8889 .long 0x4e21d8e7 // scvtf v7.4s, v7.4s .long 0x6e26dce6 // fmul v6.4s, v7.4s, v6.4s .long 0x4e040d07 // dup v7.4s, w8 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e27de07 // fmul v7.4s, v16.4s, v7.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000220 // b.eq 309c // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x2f00e404 // movi d4, #0x0 .long 0x540000c0 // b.eq 307c // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffb21 // b.ne 2fd0 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0e020fe4 // dup v4.4h, wzr .long 0x0d405124 // ld1 {v4.h}[2], [x9] .long 0x79400109 // ldrh w9, [x8] .long 0x79400508 // ldrh w8, [x8, #2] .long 0x4e041d25 // mov v5.s[0], w9 .long 0x4e0c1d05 // mov v5.s[1], w8 .long 0x0e4018a5 // uzp1 v5.4h, v5.4h, v0.4h .long 0x2e052084 // ext v4.8b, v4.8b, v5.8b, #4 .long 0x2e042084 // ext v4.8b, v4.8b, v4.8b, #4 .long 0x17ffffce // b 2fd0 .long 0x0e020fe4 // dup v4.4h, wzr .long 0x0d404104 // ld1 {v4.h}[0], [x8] .long 0x17ffffcb // b 2fd0 HIDDEN _sk_gather_4444_aarch64 .globl _sk_gather_4444_aarch64 FUNCTION(_sk_gather_4444_aarch64) _sk_gather_4444_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x4f070603 // movi v3.4s, #0xf0 .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x4f0005f0 // movi v16.4s, #0xf .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x8b2c450c // add x12, x8, w12, uxtw #1 .long 0x0e143c0a // mov w10, v0.s[2] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d404180 // ld1 {v0.h}[0], [x12] .long 0x78695909 // ldrh w9, [x8, w9, uxtw #1] .long 0x786a590a // ldrh w10, [x8, w10, uxtw #1] .long 0x786b5908 // ldrh w8, [x8, w11, uxtw #1] .long 0x4f072601 // movi v1.4s, #0xf0, lsl #8 .long 0x4e061d20 // mov v0.h[1], w9 .long 0x4e0a1d40 // mov v0.h[2], w10 .long 0x4e0e1d00 // mov v0.h[3], w8 .long 0x52a6f10b // mov w11, #0x37880000 .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x7291112b // movk w11, #0x8889 .long 0x4f0025e2 // movi v2.4s, #0xf, lsl #8 .long 0x52a73109 // mov w9, #0x39880000 .long 0x4e211c01 // and v1.16b, v0.16b, v1.16b .long 0x72911129 // movk w9, #0x8889 .long 0x52a7710a // mov w10, #0x3b880000 .long 0x4e221c02 // and v2.16b, v0.16b, v2.16b .long 0x4e231c03 // and v3.16b, v0.16b, v3.16b .long 0x4e301c10 // and v16.16b, v0.16b, v16.16b .long 0x4e040d60 // dup v0.4s, w11 .long 0x4e21d821 // scvtf v1.4s, v1.4s .long 0x7291112a // movk w10, #0x8889 .long 0x52a7b108 // mov w8, #0x3d880000 .long 0x6e20dc20 // fmul v0.4s, v1.4s, v0.4s .long 0x4e040d21 // dup v1.4s, w9 .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x72911128 // movk w8, #0x8889 .long 0x6e21dc41 // fmul v1.4s, v2.4s, v1.4s .long 0x4e040d42 // dup v2.4s, w10 .long 0x4e21d863 // scvtf v3.4s, v3.4s .long 0x6e22dc62 // fmul v2.4s, v3.4s, v2.4s .long 0x4e040d03 // dup v3.4s, w8 .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x6e23de03 // fmul v3.4s, v16.4s, v3.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_store_4444_aarch64 .globl _sk_store_4444_aarch64 FUNCTION(_sk_store_4444_aarch64) _sk_store_4444_aarch64: .long 0x4f01f5d0 // fmov v16.4s, #1.500000000000000000e+01 .long 0xf9400028 // ldr x8, [x1] .long 0x6e30dc11 // fmul v17.4s, v0.4s, v16.4s .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0x4f2c5631 // shl v17.4s, v17.4s, #12 .long 0x4f285652 // shl v18.4s, v18.4s, #8 .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b .long 0x6e30dc52 // fmul v18.4s, v2.4s, v16.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s .long 0x4f245652 // shl v18.4s, v18.4s, #4 .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b .long 0x8b020508 // add x8, x8, x2, lsl #1 .long 0x0e612a10 // xtn v16.4h, v16.4s .long 0xb50000a4 // cbnz x4, 31cc .long 0xfd000110 // str d16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000120 // b.eq 31f8 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 31f0 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffee1 // b.ne 31c0 // b.any .long 0x91001109 // add x9, x8, #0x4 .long 0x0d005130 // st1 {v16.h}[2], [x9] .long 0x91000909 // add x9, x8, #0x2 .long 0x0d004930 // st1 {v16.h}[1], [x9] .long 0x0d004110 // st1 {v16.h}[0], [x8] .long 0x17fffff1 // b 31c0 HIDDEN _sk_load_8888_aarch64 .globl _sk_load_8888_aarch64 FUNCTION(_sk_load_8888_aarch64) _sk_load_8888_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0xb50002e4 // cbnz x4, 3268 .long 0x3dc00100 // ldr q0, [x8] .long 0x6f00e621 // movi v1.2d, #0xff000000ff .long 0x52a77008 // mov w8, #0x3b800000 .long 0x6f380402 // ushr v2.4s, v0.4s, #8 .long 0x6f300403 // ushr v3.4s, v0.4s, #16 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x6f280410 // ushr v16.4s, v0.4s, #24 .long 0x4e211c00 // and v0.16b, v0.16b, v1.16b .long 0x4e211c42 // and v2.16b, v2.16b, v1.16b .long 0x4e211c61 // and v1.16b, v3.16b, v1.16b .long 0x4e040d11 // dup v17.4s, w8 .long 0x4e21da03 // scvtf v3.4s, v16.4s .long 0x4e21d800 // scvtf v0.4s, v0.4s .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x4e21d830 // scvtf v16.4s, v1.4s .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s .long 0x6e31dc41 // fmul v1.4s, v2.4s, v17.4s .long 0x6e31de02 // fmul v2.4s, v16.4s, v17.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x540001a0 // b.eq 32a4 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x540000c0 // b.eq 3294 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffc81 // b.ne 3214 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4e040fe0 // dup v0.4s, wzr .long 0x4d408120 // ld1 {v0.s}[2], [x9] .long 0xfd400101 // ldr d1, [x8] .long 0x6e014000 // ext v0.16b, v0.16b, v1.16b, #8 .long 0x6e004000 // ext v0.16b, v0.16b, v0.16b, #8 .long 0x17ffffdd // b 3214 .long 0x4e040fe0 // dup v0.4s, wzr .long 0x0d408100 // ld1 {v0.s}[0], [x8] .long 0x17ffffda // b 3214 HIDDEN _sk_load_8888_dst_aarch64 .globl _sk_load_8888_dst_aarch64 FUNCTION(_sk_load_8888_dst_aarch64) _sk_load_8888_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0xb50002e4 // cbnz x4, 3318 .long 0x3dc00104 // ldr q4, [x8] .long 0x6f00e625 // movi v5.2d, #0xff000000ff .long 0x52a77008 // mov w8, #0x3b800000 .long 0x6f380486 // ushr v6.4s, v4.4s, #8 .long 0x6f300487 // ushr v7.4s, v4.4s, #16 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x6f280490 // ushr v16.4s, v4.4s, #24 .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b .long 0x4e251ce5 // and v5.16b, v7.16b, v5.16b .long 0x4e040d11 // dup v17.4s, w8 .long 0x4e21da07 // scvtf v7.4s, v16.4s .long 0x4e21d884 // scvtf v4.4s, v4.4s .long 0x4e21d8c6 // scvtf v6.4s, v6.4s .long 0x4e21d8b0 // scvtf v16.4s, v5.4s .long 0x6e31dce7 // fmul v7.4s, v7.4s, v17.4s .long 0x6e31dc84 // fmul v4.4s, v4.4s, v17.4s .long 0x6e31dcc5 // fmul v5.4s, v6.4s, v17.4s .long 0x6e31de06 // fmul v6.4s, v16.4s, v17.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x540001a0 // b.eq 3354 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x6f00e404 // movi v4.2d, #0x0 .long 0x540000c0 // b.eq 3344 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffc81 // b.ne 32c4 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x4d408124 // ld1 {v4.s}[2], [x9] .long 0xfd400105 // ldr d5, [x8] .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8 .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8 .long 0x17ffffdd // b 32c4 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x0d408104 // ld1 {v4.s}[0], [x8] .long 0x17ffffda // b 32c4 HIDDEN _sk_gather_8888_aarch64 .globl _sk_gather_8888_aarch64 FUNCTION(_sk_gather_8888_aarch64) _sk_gather_8888_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x8b2c490c // add x12, x8, w12, uxtw #2 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x0e143c0a // mov w10, v0.s[2] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d408180 // ld1 {v0.s}[0], [x12] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0xb86a590a // ldr w10, [x8, w10, uxtw #2] .long 0xb86b5908 // ldr w8, [x8, w11, uxtw #2] .long 0x0d409120 // ld1 {v0.s}[1], [x9] .long 0x6f00e621 // movi v1.2d, #0xff000000ff .long 0x52a77009 // mov w9, #0x3b800000 .long 0x72901029 // movk w9, #0x8081 .long 0x4e141d40 // mov v0.s[2], w10 .long 0x4e1c1d00 // mov v0.s[3], w8 .long 0x6f380410 // ushr v16.4s, v0.4s, #8 .long 0x6f300411 // ushr v17.4s, v0.4s, #16 .long 0x4e211c03 // and v3.16b, v0.16b, v1.16b .long 0x6f280400 // ushr v0.4s, v0.4s, #24 .long 0x4e211e10 // and v16.16b, v16.16b, v1.16b .long 0x4e211e21 // and v1.16b, v17.16b, v1.16b .long 0x4e040d22 // dup v2.4s, w9 .long 0x4e21d863 // scvtf v3.4s, v3.4s .long 0x4e21d811 // scvtf v17.4s, v0.4s .long 0x4e21da10 // scvtf v16.4s, v16.4s .long 0x4e21d832 // scvtf v18.4s, v1.4s .long 0x6e22dc60 // fmul v0.4s, v3.4s, v2.4s .long 0x6e22de23 // fmul v3.4s, v17.4s, v2.4s .long 0x6e22de01 // fmul v1.4s, v16.4s, v2.4s .long 0x6e22de42 // fmul v2.4s, v18.4s, v2.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_store_8888_aarch64 .globl _sk_store_8888_aarch64 FUNCTION(_sk_store_8888_aarch64) _sk_store_8888_aarch64: .long 0x52a86fe9 // mov w9, #0x437f0000 .long 0xf9400028 // ldr x8, [x1] .long 0x4e040d30 // dup v16.4s, w9 .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s .long 0x6e30dc11 // fmul v17.4s, v0.4s, v16.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0x4f285652 // shl v18.4s, v18.4s, #8 .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b .long 0x6e30dc52 // fmul v18.4s, v2.4s, v16.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0x4f305652 // shl v18.4s, v18.4s, #16 .long 0x4f385610 // shl v16.4s, v16.4s, #24 .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b .long 0xb50000a4 // cbnz x4, 3458 .long 0x3d800110 // str q16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000120 // b.eq 3484 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 347c // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffee1 // b.ne 344c // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4d008130 // st1 {v16.s}[2], [x9] .long 0xfd000110 // str d16, [x8] .long 0x17fffff3 // b 344c .long 0x0d008110 // st1 {v16.s}[0], [x8] .long 0x17fffff1 // b 344c HIDDEN _sk_load_bgra_aarch64 .globl _sk_load_bgra_aarch64 FUNCTION(_sk_load_bgra_aarch64) _sk_load_bgra_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0xb50002e4 // cbnz x4, 34f4 .long 0x3dc00100 // ldr q0, [x8] .long 0x6f00e621 // movi v1.2d, #0xff000000ff .long 0x52a77008 // mov w8, #0x3b800000 .long 0x6f380402 // ushr v2.4s, v0.4s, #8 .long 0x6f300403 // ushr v3.4s, v0.4s, #16 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x6f280410 // ushr v16.4s, v0.4s, #24 .long 0x4e211c00 // and v0.16b, v0.16b, v1.16b .long 0x4e211c42 // and v2.16b, v2.16b, v1.16b .long 0x4e211c61 // and v1.16b, v3.16b, v1.16b .long 0x4e040d11 // dup v17.4s, w8 .long 0x4e21da03 // scvtf v3.4s, v16.4s .long 0x4e21d800 // scvtf v0.4s, v0.4s .long 0x4e21d850 // scvtf v16.4s, v2.4s .long 0x4e21d832 // scvtf v18.4s, v1.4s .long 0x6e31dc63 // fmul v3.4s, v3.4s, v17.4s .long 0x6e31dc02 // fmul v2.4s, v0.4s, v17.4s .long 0x6e31de01 // fmul v1.4s, v16.4s, v17.4s .long 0x6e31de40 // fmul v0.4s, v18.4s, v17.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x540001a0 // b.eq 3530 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x540000c0 // b.eq 3520 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffc81 // b.ne 34a0 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4e040fe0 // dup v0.4s, wzr .long 0x4d408120 // ld1 {v0.s}[2], [x9] .long 0xfd400101 // ldr d1, [x8] .long 0x6e014000 // ext v0.16b, v0.16b, v1.16b, #8 .long 0x6e004000 // ext v0.16b, v0.16b, v0.16b, #8 .long 0x17ffffdd // b 34a0 .long 0x4e040fe0 // dup v0.4s, wzr .long 0x0d408100 // ld1 {v0.s}[0], [x8] .long 0x17ffffda // b 34a0 HIDDEN _sk_load_bgra_dst_aarch64 .globl _sk_load_bgra_dst_aarch64 FUNCTION(_sk_load_bgra_dst_aarch64) _sk_load_bgra_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0xb50002e4 // cbnz x4, 35a4 .long 0x3dc00104 // ldr q4, [x8] .long 0x6f00e625 // movi v5.2d, #0xff000000ff .long 0x52a77008 // mov w8, #0x3b800000 .long 0x6f380486 // ushr v6.4s, v4.4s, #8 .long 0x6f300487 // ushr v7.4s, v4.4s, #16 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x72901028 // movk w8, #0x8081 .long 0x6f280490 // ushr v16.4s, v4.4s, #24 .long 0x4e251c84 // and v4.16b, v4.16b, v5.16b .long 0x4e251cc6 // and v6.16b, v6.16b, v5.16b .long 0x4e251ce5 // and v5.16b, v7.16b, v5.16b .long 0x4e040d11 // dup v17.4s, w8 .long 0x4e21da07 // scvtf v7.4s, v16.4s .long 0x4e21d884 // scvtf v4.4s, v4.4s .long 0x4e21d8d0 // scvtf v16.4s, v6.4s .long 0x4e21d8b2 // scvtf v18.4s, v5.4s .long 0x6e31dce7 // fmul v7.4s, v7.4s, v17.4s .long 0x6e31dc86 // fmul v6.4s, v4.4s, v17.4s .long 0x6e31de05 // fmul v5.4s, v16.4s, v17.4s .long 0x6e31de44 // fmul v4.4s, v18.4s, v17.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x540001a0 // b.eq 35e0 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x6f00e404 // movi v4.2d, #0x0 .long 0x540000c0 // b.eq 35d0 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffc81 // b.ne 3550 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x4d408124 // ld1 {v4.s}[2], [x9] .long 0xfd400105 // ldr d5, [x8] .long 0x6e054084 // ext v4.16b, v4.16b, v5.16b, #8 .long 0x6e044084 // ext v4.16b, v4.16b, v4.16b, #8 .long 0x17ffffdd // b 3550 .long 0x4e040fe4 // dup v4.4s, wzr .long 0x0d408104 // ld1 {v4.s}[0], [x8] .long 0x17ffffda // b 3550 HIDDEN _sk_gather_bgra_aarch64 .globl _sk_gather_bgra_aarch64 FUNCTION(_sk_gather_bgra_aarch64) _sk_gather_bgra_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x1e26000c // fmov w12, s0 .long 0x8b2c490c // add x12, x8, w12, uxtw #2 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x0e143c0a // mov w10, v0.s[2] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d408180 // ld1 {v0.s}[0], [x12] .long 0x8b294909 // add x9, x8, w9, uxtw #2 .long 0xb86a590a // ldr w10, [x8, w10, uxtw #2] .long 0xb86b5908 // ldr w8, [x8, w11, uxtw #2] .long 0x0d409120 // ld1 {v0.s}[1], [x9] .long 0x6f00e621 // movi v1.2d, #0xff000000ff .long 0x52a77009 // mov w9, #0x3b800000 .long 0x72901029 // movk w9, #0x8081 .long 0x4e141d40 // mov v0.s[2], w10 .long 0x4e1c1d00 // mov v0.s[3], w8 .long 0x6f380403 // ushr v3.4s, v0.4s, #8 .long 0x6f300411 // ushr v17.4s, v0.4s, #16 .long 0x4e211c02 // and v2.16b, v0.16b, v1.16b .long 0x6f280400 // ushr v0.4s, v0.4s, #24 .long 0x4e211c63 // and v3.16b, v3.16b, v1.16b .long 0x4e211e21 // and v1.16b, v17.16b, v1.16b .long 0x4e040d30 // dup v16.4s, w9 .long 0x4e21d842 // scvtf v2.4s, v2.4s .long 0x4e21d800 // scvtf v0.4s, v0.4s .long 0x4e21d871 // scvtf v17.4s, v3.4s .long 0x4e21d832 // scvtf v18.4s, v1.4s .long 0x6e30dc42 // fmul v2.4s, v2.4s, v16.4s .long 0x6e30dc03 // fmul v3.4s, v0.4s, v16.4s .long 0x6e30de21 // fmul v1.4s, v17.4s, v16.4s .long 0x6e30de40 // fmul v0.4s, v18.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_store_bgra_aarch64 .globl _sk_store_bgra_aarch64 FUNCTION(_sk_store_bgra_aarch64) _sk_store_bgra_aarch64: .long 0x52a86fe9 // mov w9, #0x437f0000 .long 0xf9400028 // ldr x8, [x1] .long 0x4e040d30 // dup v16.4s, w9 .long 0x6e30dc32 // fmul v18.4s, v1.4s, v16.4s .long 0x6e30dc51 // fmul v17.4s, v2.4s, v16.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0x4f285652 // shl v18.4s, v18.4s, #8 .long 0x4eb11e51 // orr v17.16b, v18.16b, v17.16b .long 0x6e30dc12 // fmul v18.4s, v0.4s, v16.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e30dc70 // fmul v16.4s, v3.4s, v16.4s .long 0x6e21aa52 // fcvtnu v18.4s, v18.4s .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0x4f305652 // shl v18.4s, v18.4s, #16 .long 0x4f385610 // shl v16.4s, v16.4s, #24 .long 0x4eb21e31 // orr v17.16b, v17.16b, v18.16b .long 0x8b020908 // add x8, x8, x2, lsl #2 .long 0x4eb01e30 // orr v16.16b, v17.16b, v16.16b .long 0xb50000a4 // cbnz x4, 36e4 .long 0x3d800110 // str q16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x12000489 // and w9, w4, #0x3 .long 0x7100053f // cmp w9, #0x1 .long 0x54000120 // b.eq 3710 // b.none .long 0x7100093f // cmp w9, #0x2 .long 0x540000a0 // b.eq 3708 // b.none .long 0x71000d3f // cmp w9, #0x3 .long 0x54fffee1 // b.ne 36d8 // b.any .long 0x91002109 // add x9, x8, #0x8 .long 0x4d008130 // st1 {v16.s}[2], [x9] .long 0xfd000110 // str d16, [x8] .long 0x17fffff3 // b 36d8 .long 0x0d008110 // st1 {v16.s}[0], [x8] .long 0x17fffff1 // b 36d8 HIDDEN _sk_load_f16_aarch64 .globl _sk_load_f16_aarch64 FUNCTION(_sk_load_f16_aarch64) _sk_load_f16_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020d08 // add x8, x8, x2, lsl #3 .long 0xb5000124 // cbnz x4, 3748 .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x0e217a00 // fcvtl v0.4s, v16.4h .long 0x0e217a21 // fcvtl v1.4s, v17.4h .long 0x0e217a42 // fcvtl v2.4s, v18.4h .long 0x0e217a63 // fcvtl v3.4s, v19.4h .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d606110 // ld4 {v16.h-v19.h}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54fffee0 // b.eq 372c // b.none .long 0x91002109 // add x9, x8, #0x8 .long 0x0d606930 // ld4 {v16.h-v19.h}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffe63 // b.cc 372c // b.lo, b.ul, b.last .long 0x91004108 // add x8, x8, #0x10 .long 0x0d607110 // ld4 {v16.h-v19.h}[2], [x8] .long 0x17fffff0 // b 372c HIDDEN _sk_load_f16_dst_aarch64 .globl _sk_load_f16_dst_aarch64 FUNCTION(_sk_load_f16_dst_aarch64) _sk_load_f16_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020d08 // add x8, x8, x2, lsl #3 .long 0xb5000124 // cbnz x4, 37a0 .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x0e217a04 // fcvtl v4.4s, v16.4h .long 0x0e217a25 // fcvtl v5.4s, v17.4h .long 0x0e217a46 // fcvtl v6.4s, v18.4h .long 0x0e217a67 // fcvtl v7.4s, v19.4h .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d606110 // ld4 {v16.h-v19.h}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54fffee0 // b.eq 3784 // b.none .long 0x91002109 // add x9, x8, #0x8 .long 0x0d606930 // ld4 {v16.h-v19.h}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffe63 // b.cc 3784 // b.lo, b.ul, b.last .long 0x91004108 // add x8, x8, #0x10 .long 0x0d607110 // ld4 {v16.h-v19.h}[2], [x8] .long 0x17fffff0 // b 3784 HIDDEN _sk_gather_f16_aarch64 .globl _sk_gather_f16_aarch64 FUNCTION(_sk_gather_f16_aarch64) _sk_gather_f16_aarch64: .long 0xa9bf7bfd // stp x29, x30, [sp, #-16]! .long 0xd100c3e9 // sub x9, sp, #0x30 .long 0x910003fd // mov x29, sp .long 0x927be93f // and sp, x9, #0xffffffffffffffe0 .long 0xf9400028 // ldr x8, [x1] .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x4ea1b800 // fcvtzs v0.4s, v0.4s .long 0x91004109 // add x9, x8, #0x10 .long 0x4d40c922 // ld1r {v2.4s}, [x9] .long 0xf9400108 // ldr x8, [x8] .long 0x4ea19440 // mla v0.4s, v2.4s, v1.4s .long 0x0e143c0a // mov w10, v0.s[2] .long 0x1e26000c // fmov w12, s0 .long 0x8b2c4d0c // add x12, x8, w12, uxtw #3 .long 0x8b2a4d0a // add x10, x8, w10, uxtw #3 .long 0x0e0c3c09 // mov w9, v0.s[1] .long 0x0e1c3c0b // mov w11, v0.s[3] .long 0x0d408540 // ld1 {v0.d}[0], [x10] .long 0x0d408581 // ld1 {v1.d}[0], [x12] .long 0x8b294d09 // add x9, x8, w9, uxtw #3 .long 0x8b2b4d08 // add x8, x8, w11, uxtw #3 .long 0x4d408500 // ld1 {v0.d}[1], [x8] .long 0x4d408521 // ld1 {v1.d}[1], [x9] .long 0x910003e8 // mov x8, sp .long 0xad0003e1 // stp q1, q0, [sp] .long 0x0c400510 // ld4 {v16.4h-v19.4h}, [x8] .long 0xf9400428 // ldr x8, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0x0e217a00 // fcvtl v0.4s, v16.4h .long 0x0e217a21 // fcvtl v1.4s, v17.4h .long 0x0e217a42 // fcvtl v2.4s, v18.4h .long 0x0e217a63 // fcvtl v3.4s, v19.4h .long 0xd63f0100 // blr x8 .long 0x910003bf // mov sp, x29 .long 0xa8c17bfd // ldp x29, x30, [sp], #16 .long 0xd65f03c0 // ret HIDDEN _sk_store_f16_aarch64 .globl _sk_store_f16_aarch64 FUNCTION(_sk_store_f16_aarch64) _sk_store_f16_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x0e216810 // fcvtn v16.4h, v0.4s .long 0x0e216831 // fcvtn v17.4h, v1.4s .long 0x0e216852 // fcvtn v18.4h, v2.4s .long 0xf9400108 // ldr x8, [x8] .long 0x0e216873 // fcvtn v19.4h, v3.4s .long 0x8b020d08 // add x8, x8, x2, lsl #3 .long 0xb50000a4 // cbnz x4, 3888 .long 0x0c000510 // st4 {v16.4h-v19.4h}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0xf100049f // cmp x4, #0x1 .long 0x0d206110 // st4 {v16.h-v19.h}[0], [x8] .long 0x54ffff60 // b.eq 387c // b.none .long 0x91002109 // add x9, x8, #0x8 .long 0xf1000c9f // cmp x4, #0x3 .long 0x0d206930 // st4 {v16.h-v19.h}[1], [x9] .long 0x54fffee3 // b.cc 387c // b.lo, b.ul, b.last .long 0x91004108 // add x8, x8, #0x10 .long 0x0d207110 // st4 {v16.h-v19.h}[2], [x8] .long 0x17fffff4 // b 387c HIDDEN _sk_load_u16_be_aarch64 .globl _sk_load_u16_be_aarch64 FUNCTION(_sk_load_u16_be_aarch64) _sk_load_u16_be_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b020d08 // add x8, x8, x2, lsl #3 .long 0xb5000404 // cbnz x4, 393c .long 0x0c400500 // ld4 {v0.4h-v3.4h}, [x8] .long 0x0f185410 // shl v16.4h, v0.4h, #8 .long 0x2f180411 // ushr v17.4h, v0.4h, #8 .long 0x0f185432 // shl v18.4h, v1.4h, #8 .long 0x2f180433 // ushr v19.4h, v1.4h, #8 .long 0x0f185454 // shl v20.4h, v2.4h, #8 .long 0x2f180455 // ushr v21.4h, v2.4h, #8 .long 0x0f185476 // shl v22.4h, v3.4h, #8 .long 0x2f180460 // ushr v0.4h, v3.4h, #8 .long 0x52a6f008 // mov w8, #0x37800000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x0eb11e01 // orr v1.8b, v16.8b, v17.8b .long 0x0eb31e42 // orr v2.8b, v18.8b, v19.8b .long 0x0eb51e90 // orr v16.8b, v20.8b, v21.8b .long 0x0ea01ec0 // orr v0.8b, v22.8b, v0.8b .long 0x72801008 // movk w8, #0x80 .long 0x2f10a421 // uxtl v1.4s, v1.4h .long 0x2f10a442 // uxtl v2.4s, v2.4h .long 0x2f10a610 // uxtl v16.4s, v16.4h .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4e040d03 // dup v3.4s, w8 .long 0x6e21d821 // ucvtf v1.4s, v1.4s .long 0x6e21d842 // ucvtf v2.4s, v2.4s .long 0x6e21da10 // ucvtf v16.4s, v16.4s .long 0x6e21d811 // ucvtf v17.4s, v0.4s .long 0x6e23dc20 // fmul v0.4s, v1.4s, v3.4s .long 0x6e23dc41 // fmul v1.4s, v2.4s, v3.4s .long 0x6e23de02 // fmul v2.4s, v16.4s, v3.4s .long 0x6e23de23 // fmul v3.4s, v17.4s, v3.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d606100 // ld4 {v0.h-v3.h}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54fffc00 // b.eq 38c4 // b.none .long 0x91002109 // add x9, x8, #0x8 .long 0x0d606920 // ld4 {v0.h-v3.h}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffb83 // b.cc 38c4 // b.lo, b.ul, b.last .long 0x91004108 // add x8, x8, #0x10 .long 0x0d607100 // ld4 {v0.h-v3.h}[2], [x8] .long 0x17ffffd9 // b 38c4 HIDDEN _sk_load_rgb_u16_be_aarch64 .globl _sk_load_rgb_u16_be_aarch64 FUNCTION(_sk_load_rgb_u16_be_aarch64) _sk_load_rgb_u16_be_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x321f07e9 // orr w9, wzr, #0x6 .long 0xf9400108 // ldr x8, [x8] .long 0x9b092048 // madd x8, x2, x9, x8 .long 0xb5000384 // cbnz x4, 39e4 .long 0x0c404500 // ld3 {v0.4h-v2.4h}, [x8] .long 0x0f185403 // shl v3.4h, v0.4h, #8 .long 0x2f180410 // ushr v16.4h, v0.4h, #8 .long 0x0f185431 // shl v17.4h, v1.4h, #8 .long 0x2f180432 // ushr v18.4h, v1.4h, #8 .long 0x0f185453 // shl v19.4h, v2.4h, #8 .long 0x2f180440 // ushr v0.4h, v2.4h, #8 .long 0x52a6f008 // mov w8, #0x37800000 .long 0xf9400425 // ldr x5, [x1, #8] .long 0x0eb01c61 // orr v1.8b, v3.8b, v16.8b .long 0x0eb21e23 // orr v3.8b, v17.8b, v18.8b .long 0x0ea01e60 // orr v0.8b, v19.8b, v0.8b .long 0x72801008 // movk w8, #0x80 .long 0x2f10a421 // uxtl v1.4s, v1.4h .long 0x2f10a463 // uxtl v3.4s, v3.4h .long 0x2f10a400 // uxtl v0.4s, v0.4h .long 0x4e040d02 // dup v2.4s, w8 .long 0x91004028 // add x8, x1, #0x10 .long 0x6e21d821 // ucvtf v1.4s, v1.4s .long 0x6e21d863 // ucvtf v3.4s, v3.4s .long 0x6e21d810 // ucvtf v16.4s, v0.4s .long 0x6e22dc20 // fmul v0.4s, v1.4s, v2.4s .long 0x6e22dc61 // fmul v1.4s, v3.4s, v2.4s .long 0x6e22de02 // fmul v2.4s, v16.4s, v2.4s .long 0x4f03f603 // fmov v3.4s, #1.000000000000000000e+00 .long 0xaa0803e1 // mov x1, x8 .long 0xd61f00a0 // br x5 .long 0x0d406100 // ld3 {v0.h-v2.h}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54fffc80 // b.eq 397c // b.none .long 0x91001909 // add x9, x8, #0x6 .long 0x0d406920 // ld3 {v0.h-v2.h}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffc03 // b.cc 397c // b.lo, b.ul, b.last .long 0x91003108 // add x8, x8, #0xc .long 0x0d407100 // ld3 {v0.h-v2.h}[2], [x8] .long 0x17ffffdd // b 397c HIDDEN _sk_store_u16_be_aarch64 .globl _sk_store_u16_be_aarch64 FUNCTION(_sk_store_u16_be_aarch64) _sk_store_u16_be_aarch64: .long 0x52a8efe9 // mov w9, #0x477f0000 .long 0x729fe009 // movk w9, #0xff00 .long 0x4e040d34 // dup v20.4s, w9 .long 0x6e34dc10 // fmul v16.4s, v0.4s, v20.4s .long 0x6e34dc31 // fmul v17.4s, v1.4s, v20.4s .long 0x6e21aa10 // fcvtnu v16.4s, v16.4s .long 0xf9400028 // ldr x8, [x1] .long 0x6e21aa31 // fcvtnu v17.4s, v17.4s .long 0x0e612a10 // xtn v16.4h, v16.4s .long 0x0e612a31 // xtn v17.4h, v17.4s .long 0x0f185612 // shl v18.4h, v16.4h, #8 .long 0x2f180610 // ushr v16.4h, v16.4h, #8 .long 0x0f185635 // shl v21.4h, v17.4h, #8 .long 0x2f180636 // ushr v22.4h, v17.4h, #8 .long 0x0eb01e50 // orr v16.8b, v18.8b, v16.8b .long 0x0eb61eb1 // orr v17.8b, v21.8b, v22.8b .long 0x6e34dc55 // fmul v21.4s, v2.4s, v20.4s .long 0x6e34dc74 // fmul v20.4s, v3.4s, v20.4s .long 0x6e21aab5 // fcvtnu v21.4s, v21.4s .long 0xf9400108 // ldr x8, [x8] .long 0x6e21aa94 // fcvtnu v20.4s, v20.4s .long 0x0e612ab5 // xtn v21.4h, v21.4s .long 0x0e612a94 // xtn v20.4h, v20.4s .long 0x0f1856b6 // shl v22.4h, v21.4h, #8 .long 0x2f1806b5 // ushr v21.4h, v21.4h, #8 .long 0x0eb51ed2 // orr v18.8b, v22.8b, v21.8b .long 0x0f185695 // shl v21.4h, v20.4h, #8 .long 0x2f180694 // ushr v20.4h, v20.4h, #8 .long 0x8b020d08 // add x8, x8, x2, lsl #3 .long 0x0eb41eb3 // orr v19.8b, v21.8b, v20.8b .long 0xb50000a4 // cbnz x4, 3a98 .long 0x0c000510 // st4 {v16.4h-v19.4h}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0xf100049f // cmp x4, #0x1 .long 0x0d206110 // st4 {v16.h-v19.h}[0], [x8] .long 0x54ffff60 // b.eq 3a8c // b.none .long 0x91002109 // add x9, x8, #0x8 .long 0xf1000c9f // cmp x4, #0x3 .long 0x0d206930 // st4 {v16.h-v19.h}[1], [x9] .long 0x54fffee3 // b.cc 3a8c // b.lo, b.ul, b.last .long 0x91004108 // add x8, x8, #0x10 .long 0x0d207110 // st4 {v16.h-v19.h}[2], [x8] .long 0x17fffff4 // b 3a8c HIDDEN _sk_load_f32_aarch64 .globl _sk_load_f32_aarch64 FUNCTION(_sk_load_f32_aarch64) _sk_load_f32_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b021108 // add x8, x8, x2, lsl #4 .long 0xb50000a4 // cbnz x4, 3ae0 .long 0x4c400900 // ld4 {v0.4s-v3.4s}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d60a100 // ld4 {v0.s-v3.s}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54ffff60 // b.eq 3ad4 // b.none .long 0x91004109 // add x9, x8, #0x10 .long 0x0d60b120 // ld4 {v0.s-v3.s}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffee3 // b.cc 3ad4 // b.lo, b.ul, b.last .long 0x91008108 // add x8, x8, #0x20 .long 0x4d60a100 // ld4 {v0.s-v3.s}[2], [x8] .long 0x17fffff4 // b 3ad4 HIDDEN _sk_load_f32_dst_aarch64 .globl _sk_load_f32_dst_aarch64 FUNCTION(_sk_load_f32_dst_aarch64) _sk_load_f32_dst_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b021108 // add x8, x8, x2, lsl #4 .long 0xb50000a4 // cbnz x4, 3b28 .long 0x4c400904 // ld4 {v4.4s-v7.4s}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0x0d60a104 // ld4 {v4.s-v7.s}[0], [x8] .long 0xf100049f // cmp x4, #0x1 .long 0x54ffff60 // b.eq 3b1c // b.none .long 0x91004109 // add x9, x8, #0x10 .long 0x0d60b124 // ld4 {v4.s-v7.s}[1], [x9] .long 0xf1000c9f // cmp x4, #0x3 .long 0x54fffee3 // b.cc 3b1c // b.lo, b.ul, b.last .long 0x91008108 // add x8, x8, #0x20 .long 0x4d60a104 // ld4 {v4.s-v7.s}[2], [x8] .long 0x17fffff4 // b 3b1c HIDDEN _sk_store_f32_aarch64 .globl _sk_store_f32_aarch64 FUNCTION(_sk_store_f32_aarch64) _sk_store_f32_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xf9400108 // ldr x8, [x8] .long 0x8b021108 // add x8, x8, x2, lsl #4 .long 0xb50000a4 // cbnz x4, 3b70 .long 0x4c000900 // st4 {v0.4s-v3.4s}, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 .long 0xf100049f // cmp x4, #0x1 .long 0x0d20a100 // st4 {v0.s-v3.s}[0], [x8] .long 0x54ffff60 // b.eq 3b64 // b.none .long 0x91004109 // add x9, x8, #0x10 .long 0xf1000c9f // cmp x4, #0x3 .long 0x0d20b120 // st4 {v0.s-v3.s}[1], [x9] .long 0x54fffee3 // b.cc 3b64 // b.lo, b.ul, b.last .long 0x91008108 // add x8, x8, #0x20 .long 0x4d20a100 // st4 {v0.s-v3.s}[2], [x8] .long 0x17fffff4 // b 3b64 HIDDEN _sk_clamp_x_aarch64 .globl _sk_clamp_x_aarch64 FUNCTION(_sk_clamp_x_aarch64) _sk_clamp_x_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x6f00e411 // movi v17.2d, #0x0 .long 0x4e20f620 // fmax v0.4s, v17.4s, v0.4s .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff .long 0x4d40c910 // ld1r {v16.4s}, [x8] .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_clamp_y_aarch64 .globl _sk_clamp_y_aarch64 FUNCTION(_sk_clamp_y_aarch64) _sk_clamp_y_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x6f00e411 // movi v17.2d, #0x0 .long 0x4e21f621 // fmax v1.4s, v17.4s, v1.4s .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff .long 0x4d40c910 // ld1r {v16.4s}, [x8] .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_repeat_x_aarch64 .globl _sk_repeat_x_aarch64 FUNCTION(_sk_repeat_x_aarch64) _sk_repeat_x_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4 .long 0xbd400111 // ldr s17, [x8] .long 0x4f919011 // fmul v17.4s, v0.4s, v17.s[0] .long 0x4e219a31 // frintm v17.4s, v17.4s .long 0x4eb1ce00 // fmls v0.4s, v16.4s, v17.4s .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_repeat_y_aarch64 .globl _sk_repeat_y_aarch64 FUNCTION(_sk_repeat_y_aarch64) _sk_repeat_y_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4 .long 0xbd400111 // ldr s17, [x8] .long 0x4f919031 // fmul v17.4s, v1.4s, v17.s[0] .long 0x4e219a31 // frintm v17.4s, v17.4s .long 0x4eb1ce01 // fmls v1.4s, v16.4s, v17.4s .long 0x6f07e7f1 // movi v17.2d, #0xffffffffffffffff .long 0x4eb18610 // add v16.4s, v16.4s, v17.4s .long 0x4eb0f421 // fmin v1.4s, v1.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_mirror_x_aarch64 .globl _sk_mirror_x_aarch64 FUNCTION(_sk_mirror_x_aarch64) _sk_mirror_x_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x1e2c1012 // fmov s18, #5.000000000000000000e-01 .long 0x6f07e7f3 // movi v19.2d, #0xffffffffffffffff .long 0x2d404111 // ldp s17, s16, [x8] .long 0x1e320a10 // fmul s16, s16, s18 .long 0x4e040632 // dup v18.4s, v17.s[0] .long 0x4eb2d400 // fsub v0.4s, v0.4s, v18.4s .long 0x4f909010 // fmul v16.4s, v0.4s, v16.s[0] .long 0x1e312a31 // fadd s17, s17, s17 .long 0x4e219a10 // frintm v16.4s, v16.4s .long 0x4f915200 // fmls v0.4s, v16.4s, v17.s[0] .long 0x4eb2d400 // fsub v0.4s, v0.4s, v18.4s .long 0x4eb38653 // add v19.4s, v18.4s, v19.4s .long 0x4ea0f800 // fabs v0.4s, v0.4s .long 0x4eb3f400 // fmin v0.4s, v0.4s, v19.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_mirror_y_aarch64 .globl _sk_mirror_y_aarch64 FUNCTION(_sk_mirror_y_aarch64) _sk_mirror_y_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x1e2c1012 // fmov s18, #5.000000000000000000e-01 .long 0x6f07e7f3 // movi v19.2d, #0xffffffffffffffff .long 0x2d404111 // ldp s17, s16, [x8] .long 0x1e320a10 // fmul s16, s16, s18 .long 0x4e040632 // dup v18.4s, v17.s[0] .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s .long 0x4f909030 // fmul v16.4s, v1.4s, v16.s[0] .long 0x1e312a31 // fadd s17, s17, s17 .long 0x4e219a10 // frintm v16.4s, v16.4s .long 0x4f915201 // fmls v1.4s, v16.4s, v17.s[0] .long 0x4eb2d421 // fsub v1.4s, v1.4s, v18.4s .long 0x4eb38653 // add v19.4s, v18.4s, v19.4s .long 0x4ea0f821 // fabs v1.4s, v1.4s .long 0x4eb3f421 // fmin v1.4s, v1.4s, v19.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_clamp_x_1_aarch64 .globl _sk_clamp_x_1_aarch64 FUNCTION(_sk_clamp_x_1_aarch64) _sk_clamp_x_1_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6f00e410 // movi v16.2d, #0x0 .long 0x4e20f600 // fmax v0.4s, v16.4s, v0.4s .long 0x4f03f610 // fmov v16.4s, #1.000000000000000000e+00 .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_repeat_x_1_aarch64 .globl _sk_repeat_x_1_aarch64 FUNCTION(_sk_repeat_x_1_aarch64) _sk_repeat_x_1_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e219810 // frintm v16.4s, v0.4s .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_mirror_x_1_aarch64 .globl _sk_mirror_x_1_aarch64 FUNCTION(_sk_mirror_x_1_aarch64) _sk_mirror_x_1_aarch64: .long 0x4f07f610 // fmov v16.4s, #-1.000000000000000000e+00 .long 0x4f0167f1 // movi v17.4s, #0x3f, lsl #24 .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s .long 0x6e31dc11 // fmul v17.4s, v0.4s, v17.4s .long 0x4e219a31 // frintm v17.4s, v17.4s .long 0x4e31d631 // fadd v17.4s, v17.4s, v17.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4eb1d400 // fsub v0.4s, v0.4s, v17.4s .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s .long 0x4ea0f800 // fabs v0.4s, v0.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_luminance_to_alpha_aarch64 .globl _sk_luminance_to_alpha_aarch64 FUNCTION(_sk_luminance_to_alpha_aarch64) _sk_luminance_to_alpha_aarch64: .long 0x52a7cb28 // mov w8, #0x3e590000 .long 0x72967a08 // movk w8, #0xb3d0 .long 0x4e040d11 // dup v17.4s, w8 .long 0x52a7e6e8 // mov w8, #0x3f370000 .long 0x7282eb28 // movk w8, #0x1759 .long 0x4ea01c10 // mov v16.16b, v0.16b .long 0x4e040d00 // dup v0.4s, w8 .long 0x52a7b268 // mov w8, #0x3d930000 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x729bb308 // movk w8, #0xdd98 .long 0x6e20dc23 // fmul v3.4s, v1.4s, v0.4s .long 0x4e30ce23 // fmla v3.4s, v17.4s, v16.4s .long 0x4e040d10 // dup v16.4s, w8 .long 0x6f00e400 // movi v0.2d, #0x0 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x4e22ce03 // fmla v3.4s, v16.4s, v2.4s .long 0x6f00e402 // movi v2.2d, #0x0 .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_translate_aarch64 .globl _sk_matrix_translate_aarch64 FUNCTION(_sk_matrix_translate_aarch64) _sk_matrix_translate_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4ddfc910 // ld1r {v16.4s}, [x8], #4 .long 0x4d40c911 // ld1r {v17.4s}, [x8] .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s .long 0x4e21d621 // fadd v1.4s, v17.4s, v1.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_scale_translate_aarch64 .globl _sk_matrix_scale_translate_aarch64 FUNCTION(_sk_matrix_scale_translate_aarch64) _sk_matrix_scale_translate_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x2d414d12 // ldp s18, s19, [x8, #8] .long 0x4ddfc930 // ld1r {v16.4s}, [x9], #4 .long 0x4d40c931 // ld1r {v17.4s}, [x9] .long 0x4f921010 // fmla v16.4s, v0.4s, v18.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4f931031 // fmla v17.4s, v1.4s, v19.s[0] .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_2x3_aarch64 .globl _sk_matrix_2x3_aarch64 FUNCTION(_sk_matrix_2x3_aarch64) _sk_matrix_2x3_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x9100410a // add x10, x8, #0x10 .long 0x4ddfc932 // ld1r {v18.4s}, [x9], #4 .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x2d415113 // ldp s19, s20, [x8, #8] .long 0x9100510a // add x10, x8, #0x14 .long 0x4d40c951 // ld1r {v17.4s}, [x10] .long 0x4f931030 // fmla v16.4s, v1.4s, v19.s[0] .long 0xbd400133 // ldr s19, [x9] .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0] .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s .long 0x4f931011 // fmla v17.4s, v0.4s, v19.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_3x4_aarch64 .globl _sk_matrix_3x4_aarch64 FUNCTION(_sk_matrix_3x4_aarch64) _sk_matrix_3x4_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x9100910a // add x10, x8, #0x24 .long 0x4ddfc933 // ld1r {v19.4s}, [x9], #4 .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x9100a10a // add x10, x8, #0x28 .long 0x4d40c951 // ld1r {v17.4s}, [x10] .long 0x9100b10a // add x10, x8, #0x2c .long 0x2d435514 // ldp s20, s21, [x8, #24] .long 0xbd402116 // ldr s22, [x8, #32] .long 0x4d40c952 // ld1r {v18.4s}, [x10] .long 0x4f941050 // fmla v16.4s, v2.4s, v20.s[0] .long 0x4f951051 // fmla v17.4s, v2.4s, v21.s[0] .long 0x4f961052 // fmla v18.4s, v2.4s, v22.s[0] .long 0x2d425502 // ldp s2, s21, [x8, #16] .long 0x2d415d14 // ldp s20, s23, [x8, #8] .long 0x4f821031 // fmla v17.4s, v1.4s, v2.s[0] .long 0xbd400122 // ldr s2, [x9] .long 0x4f971030 // fmla v16.4s, v1.4s, v23.s[0] .long 0x4f951032 // fmla v18.4s, v1.4s, v21.s[0] .long 0x4e20ce70 // fmla v16.4s, v19.4s, v0.4s .long 0x4f941012 // fmla v18.4s, v0.4s, v20.s[0] .long 0x4f821011 // fmla v17.4s, v0.4s, v2.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0x4eb21e42 // mov v2.16b, v18.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_4x5_aarch64 .globl _sk_matrix_4x5_aarch64 FUNCTION(_sk_matrix_4x5_aarch64) _sk_matrix_4x5_aarch64: .long 0xf9400029 // ldr x9, [x1] .long 0xaa0903e8 // mov x8, x9 .long 0x9101012a // add x10, x9, #0x40 .long 0x4ddfc914 // ld1r {v20.4s}, [x8], #4 .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x9101112a // add x10, x9, #0x44 .long 0x4d40c951 // ld1r {v17.4s}, [x10] .long 0x9101212a // add x10, x9, #0x48 .long 0x4d40c952 // ld1r {v18.4s}, [x10] .long 0x2d465533 // ldp s19, s21, [x9, #48] .long 0x2d475d36 // ldp s22, s23, [x9, #56] .long 0x9101312a // add x10, x9, #0x4c .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f931070 // fmla v16.4s, v3.4s, v19.s[0] .long 0x4d40c953 // ld1r {v19.4s}, [x10] .long 0x4f951071 // fmla v17.4s, v3.4s, v21.s[0] .long 0x4f961072 // fmla v18.4s, v3.4s, v22.s[0] .long 0x2d445935 // ldp s21, s22, [x9, #32] .long 0x4f971073 // fmla v19.4s, v3.4s, v23.s[0] .long 0x2d455d23 // ldp s3, s23, [x9, #40] .long 0x91004021 // add x1, x1, #0x10 .long 0x4f951050 // fmla v16.4s, v2.4s, v21.s[0] .long 0x4f961051 // fmla v17.4s, v2.4s, v22.s[0] .long 0x2d425935 // ldp s21, s22, [x9, #16] .long 0x4f971053 // fmla v19.4s, v2.4s, v23.s[0] .long 0x4f831052 // fmla v18.4s, v2.4s, v3.s[0] .long 0x2d410d22 // ldp s2, s3, [x9, #8] .long 0x4f951030 // fmla v16.4s, v1.4s, v21.s[0] .long 0x2d435d35 // ldp s21, s23, [x9, #24] .long 0x4f961031 // fmla v17.4s, v1.4s, v22.s[0] .long 0xbd400116 // ldr s22, [x8] .long 0x4e20ce90 // fmla v16.4s, v20.4s, v0.4s .long 0x4f951032 // fmla v18.4s, v1.4s, v21.s[0] .long 0x4f971033 // fmla v19.4s, v1.4s, v23.s[0] .long 0x4f821012 // fmla v18.4s, v0.4s, v2.s[0] .long 0x4f831013 // fmla v19.4s, v0.4s, v3.s[0] .long 0x4f961011 // fmla v17.4s, v0.4s, v22.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0x4eb21e42 // mov v2.16b, v18.16b .long 0x4eb31e63 // mov v3.16b, v19.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_4x3_aarch64 .globl _sk_matrix_4x3_aarch64 FUNCTION(_sk_matrix_4x3_aarch64) _sk_matrix_4x3_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0xaa0803e9 // mov x9, x8 .long 0x9100810a // add x10, x8, #0x20 .long 0x4ddfc932 // ld1r {v18.4s}, [x9], #4 .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x9100910a // add x10, x8, #0x24 .long 0x4d40c951 // ld1r {v17.4s}, [x10] .long 0x9100a10a // add x10, x8, #0x28 .long 0x2d425113 // ldp s19, s20, [x8, #16] .long 0x4d40c942 // ld1r {v2.4s}, [x10] .long 0x9100b10a // add x10, x8, #0x2c .long 0x2d435915 // ldp s21, s22, [x8, #24] .long 0x4d40c943 // ld1r {v3.4s}, [x10] .long 0x4f931030 // fmla v16.4s, v1.4s, v19.s[0] .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s .long 0xbd400132 // ldr s18, [x9] .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0] .long 0x4f951022 // fmla v2.4s, v1.4s, v21.s[0] .long 0x4f961023 // fmla v3.4s, v1.4s, v22.s[0] .long 0x2d414d01 // ldp s1, s19, [x8, #8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f921011 // fmla v17.4s, v0.4s, v18.s[0] .long 0x91004021 // add x1, x1, #0x10 .long 0x4f811002 // fmla v2.4s, v0.4s, v1.s[0] .long 0x4f931003 // fmla v3.4s, v0.4s, v19.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x4eb11e21 // mov v1.16b, v17.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_matrix_perspective_aarch64 .globl _sk_matrix_perspective_aarch64 FUNCTION(_sk_matrix_perspective_aarch64) _sk_matrix_perspective_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x9100510a // add x10, x8, #0x14 .long 0x4ddfc930 // ld1r {v16.4s}, [x9], #4 .long 0x4d40c951 // ld1r {v17.4s}, [x10] .long 0x9100810a // add x10, x8, #0x20 .long 0x4d40c952 // ld1r {v18.4s}, [x10] .long 0x2d41d113 // ldp s19, s20, [x8, #12] .long 0x2d435915 // ldp s21, s22, [x8, #24] .long 0x91002108 // add x8, x8, #0x8 .long 0x4f941031 // fmla v17.4s, v1.4s, v20.s[0] .long 0x4d40c914 // ld1r {v20.4s}, [x8] .long 0x4f961032 // fmla v18.4s, v1.4s, v22.s[0] .long 0xbd400136 // ldr s22, [x9] .long 0x4f951012 // fmla v18.4s, v0.4s, v21.s[0] .long 0x4f931011 // fmla v17.4s, v0.4s, v19.s[0] .long 0x4f961034 // fmla v20.4s, v1.4s, v22.s[0] .long 0x4ea1da41 // frecpe v1.4s, v18.4s .long 0x4e21fe52 // frecps v18.4s, v18.4s, v1.4s .long 0x6e32dc32 // fmul v18.4s, v1.4s, v18.4s .long 0x4e20ce14 // fmla v20.4s, v16.4s, v0.4s .long 0x6e32de21 // fmul v1.4s, v17.4s, v18.4s .long 0x6e32de80 // fmul v0.4s, v20.4s, v18.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_evenly_spaced_gradient_aarch64 .globl _sk_evenly_spaced_gradient_aarch64 FUNCTION(_sk_evenly_spaced_gradient_aarch64) _sk_evenly_spaced_gradient_aarch64: .long 0xd10043ff // sub sp, sp, #0x10 .long 0xaa0103e8 // mov x8, x1 .long 0x91002109 // add x9, x8, #0x8 .long 0xf90007e9 // str x9, [sp, #8] .long 0xf841042a // ldr x10, [x1], #16 .long 0xa940254b // ldp x11, x9, [x10] .long 0xa942354c // ldp x12, x13, [x10, #32] .long 0xa9413d4e // ldp x14, x15, [x10, #16] .long 0xa9434550 // ldp x16, x17, [x10, #48] .long 0xd100056b // sub x11, x11, #0x1 .long 0x9e230161 // ucvtf s1, x11 .long 0xf940214a // ldr x10, [x10, #64] .long 0x4f819001 // fmul v1.4s, v0.4s, v1.s[0] .long 0x4ea1b821 // fcvtzs v1.4s, v1.4s .long 0x6f20a422 // uxtl2 v2.2d, v1.4s .long 0x2f20a421 // uxtl v1.2d, v1.2s .long 0x9e660032 // fmov x18, d1 .long 0x9e660046 // fmov x6, d2 .long 0x4e183c2b // mov x11, v1.d[1] .long 0x4e183c45 // mov x5, v2.d[1] .long 0xbc667921 // ldr s1, [x9, x6, lsl #2] .long 0xbc6679a2 // ldr s2, [x13, x6, lsl #2] .long 0xbc6679c3 // ldr s3, [x14, x6, lsl #2] .long 0xbc667a11 // ldr s17, [x16, x6, lsl #2] .long 0xbc6679f2 // ldr s18, [x15, x6, lsl #2] .long 0xbc667a33 // ldr s19, [x17, x6, lsl #2] .long 0xbc667994 // ldr s20, [x12, x6, lsl #2] .long 0xbc667955 // ldr s21, [x10, x6, lsl #2] .long 0x8b120926 // add x6, x9, x18, lsl #2 .long 0x0d4080d6 // ld1 {v22.s}[0], [x6] .long 0x8b1209a6 // add x6, x13, x18, lsl #2 .long 0x0d4080d0 // ld1 {v16.s}[0], [x6] .long 0x8b0b0926 // add x6, x9, x11, lsl #2 .long 0x0d4090d6 // ld1 {v22.s}[1], [x6] .long 0x8b1209c6 // add x6, x14, x18, lsl #2 .long 0x0d4080d7 // ld1 {v23.s}[0], [x6] .long 0x8b120a06 // add x6, x16, x18, lsl #2 .long 0x6e140436 // mov v22.s[2], v1.s[0] .long 0x0d4080c1 // ld1 {v1.s}[0], [x6] .long 0x8b0b09a6 // add x6, x13, x11, lsl #2 .long 0x0d4090d0 // ld1 {v16.s}[1], [x6] .long 0x8b0b09c6 // add x6, x14, x11, lsl #2 .long 0x0d4090d7 // ld1 {v23.s}[1], [x6] .long 0x8b1209e6 // add x6, x15, x18, lsl #2 .long 0x0d4080d8 // ld1 {v24.s}[0], [x6] .long 0x8b120a26 // add x6, x17, x18, lsl #2 .long 0x6e140450 // mov v16.s[2], v2.s[0] .long 0x0d4080c2 // ld1 {v2.s}[0], [x6] .long 0x8b0b0a06 // add x6, x16, x11, lsl #2 .long 0x0d4090c1 // ld1 {v1.s}[1], [x6] .long 0x8b0b09e6 // add x6, x15, x11, lsl #2 .long 0x0d4090d8 // ld1 {v24.s}[1], [x6] .long 0x8b120986 // add x6, x12, x18, lsl #2 .long 0x8b120952 // add x18, x10, x18, lsl #2 .long 0x6e140477 // mov v23.s[2], v3.s[0] .long 0x0d408243 // ld1 {v3.s}[0], [x18] .long 0x8b0b0a32 // add x18, x17, x11, lsl #2 .long 0x6e140621 // mov v1.s[2], v17.s[0] .long 0x0d4080d1 // ld1 {v17.s}[0], [x6] .long 0x0d409242 // ld1 {v2.s}[1], [x18] .long 0x8b0b0992 // add x18, x12, x11, lsl #2 .long 0x6e140658 // mov v24.s[2], v18.s[0] .long 0x0d409251 // ld1 {v17.s}[1], [x18] .long 0x6e140662 // mov v2.s[2], v19.s[0] .long 0xbc657932 // ldr s18, [x9, x5, lsl #2] .long 0xbc6579b3 // ldr s19, [x13, x5, lsl #2] .long 0x6e140691 // mov v17.s[2], v20.s[0] .long 0xbc6579d4 // ldr s20, [x14, x5, lsl #2] .long 0x6e1c0656 // mov v22.s[3], v18.s[0] .long 0xbc657a12 // ldr s18, [x16, x5, lsl #2] .long 0x6e1c0670 // mov v16.s[3], v19.s[0] .long 0xbc6579f3 // ldr s19, [x15, x5, lsl #2] .long 0x8b0b094b // add x11, x10, x11, lsl #2 .long 0x0d409163 // ld1 {v3.s}[1], [x11] .long 0x6e1c0697 // mov v23.s[3], v20.s[0] .long 0xbc657a34 // ldr s20, [x17, x5, lsl #2] .long 0x6e1c0641 // mov v1.s[3], v18.s[0] .long 0xbc657992 // ldr s18, [x12, x5, lsl #2] .long 0x6e1c0678 // mov v24.s[3], v19.s[0] .long 0xbc657953 // ldr s19, [x10, x5, lsl #2] .long 0xf9400505 // ldr x5, [x8, #8] .long 0x6e1406a3 // mov v3.s[2], v21.s[0] .long 0x6e1c0682 // mov v2.s[3], v20.s[0] .long 0x6e1c0651 // mov v17.s[3], v18.s[0] .long 0x6e1c0663 // mov v3.s[3], v19.s[0] .long 0x4e20ced0 // fmla v16.4s, v22.4s, v0.4s .long 0x4e20cee1 // fmla v1.4s, v23.4s, v0.4s .long 0x4e20cf02 // fmla v2.4s, v24.4s, v0.4s .long 0x4e20ce23 // fmla v3.4s, v17.4s, v0.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x910043ff // add sp, sp, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_gauss_a_to_rgba_aarch64 .globl _sk_gauss_a_to_rgba_aarch64 FUNCTION(_sk_gauss_a_to_rgba_aarch64) _sk_gauss_a_to_rgba_aarch64: .long 0x52b80228 // mov w8, #0xc0110000 .long 0x728205a8 // movk w8, #0x102d .long 0x52a80729 // mov w9, #0x40390000 .long 0x728f0249 // movk w9, #0x7812 .long 0x4e040d00 // dup v0.4s, w8 .long 0x52a7cb48 // mov w8, #0x3e5a0000 .long 0x72928408 // movk w8, #0x9420 .long 0x4e040d21 // dup v1.4s, w9 .long 0x52a7c3c9 // mov w9, #0x3e1e0000 .long 0x7293a089 // movk w9, #0x9d04 .long 0x4e040d02 // dup v2.4s, w8 .long 0x52a73428 // mov w8, #0x39a10000 .long 0x4e23cc01 // fmla v1.4s, v0.4s, v3.4s .long 0x72830008 // movk w8, #0x1800 .long 0x4e040d30 // dup v16.4s, w9 .long 0xf8408425 // ldr x5, [x1], #8 .long 0x4e23cc22 // fmla v2.4s, v1.4s, v3.4s .long 0x4e040d00 // dup v0.4s, w8 .long 0x4e23cc50 // fmla v16.4s, v2.4s, v3.4s .long 0x4e23ce00 // fmla v0.4s, v16.4s, v3.4s .long 0x4ea01c01 // mov v1.16b, v0.16b .long 0x4ea01c02 // mov v2.16b, v0.16b .long 0x4ea01c03 // mov v3.16b, v0.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_gradient_aarch64 .globl _sk_gradient_aarch64 FUNCTION(_sk_gradient_aarch64) _sk_gradient_aarch64: .long 0xd10043ff // sub sp, sp, #0x10 .long 0x91002028 // add x8, x1, #0x8 .long 0xf90007e8 // str x8, [sp, #8] .long 0xf9400028 // ldr x8, [x1] .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x6f00e411 // movi v17.2d, #0x0 .long 0xf9400109 // ldr x9, [x8] .long 0xf100093f // cmp x9, #0x2 .long 0x540001c3 // b.cc 41d0 // b.lo, b.ul, b.last .long 0xf940250a // ldr x10, [x8, #72] .long 0xd1000529 // sub x9, x9, #0x1 .long 0x6f00e401 // movi v1.2d, #0x0 .long 0x4f000422 // movi v2.4s, #0x1 .long 0x9100114a // add x10, x10, #0x4 .long 0x4ddfc943 // ld1r {v3.4s}, [x10], #4 .long 0xd1000529 // sub x9, x9, #0x1 .long 0x6e23e403 // fcmge v3.4s, v0.4s, v3.4s .long 0x4e221c63 // and v3.16b, v3.16b, v2.16b .long 0x4ea18461 // add v1.4s, v3.4s, v1.4s .long 0xb5ffff69 // cbnz x9, 41b0 .long 0x6f20a431 // uxtl2 v17.2d, v1.4s .long 0x2f20a421 // uxtl v1.2d, v1.2s .long 0xa940b10a // ldp x10, x12, [x8, #8] .long 0xa942b90d // ldp x13, x14, [x8, #40] .long 0x9e66002b // fmov x11, d1 .long 0xa941c10f // ldp x15, x16, [x8, #24] .long 0x8b0b0952 // add x18, x10, x11, lsl #2 .long 0xa943a111 // ldp x17, x8, [x8, #56] .long 0x0d408252 // ld1 {v18.s}[0], [x18] .long 0x8b0b09b2 // add x18, x13, x11, lsl #2 .long 0x0d408250 // ld1 {v16.s}[0], [x18] .long 0x8b0b0992 // add x18, x12, x11, lsl #2 .long 0x0d408253 // ld1 {v19.s}[0], [x18] .long 0x8b0b09d2 // add x18, x14, x11, lsl #2 .long 0x4e183c29 // mov x9, v1.d[1] .long 0x0d408241 // ld1 {v1.s}[0], [x18] .long 0x8b0b09f2 // add x18, x15, x11, lsl #2 .long 0x0d408254 // ld1 {v20.s}[0], [x18] .long 0x8b0b0a32 // add x18, x17, x11, lsl #2 .long 0x0d408242 // ld1 {v2.s}[0], [x18] .long 0x8b0b0a12 // add x18, x16, x11, lsl #2 .long 0x8b0b090b // add x11, x8, x11, lsl #2 .long 0x0d408163 // ld1 {v3.s}[0], [x11] .long 0x8b09094b // add x11, x10, x9, lsl #2 .long 0x0d409172 // ld1 {v18.s}[1], [x11] .long 0x8b0909ab // add x11, x13, x9, lsl #2 .long 0x0d409170 // ld1 {v16.s}[1], [x11] .long 0x8b09098b // add x11, x12, x9, lsl #2 .long 0x0d409173 // ld1 {v19.s}[1], [x11] .long 0x8b0909cb // add x11, x14, x9, lsl #2 .long 0x0d409161 // ld1 {v1.s}[1], [x11] .long 0x8b0909eb // add x11, x15, x9, lsl #2 .long 0x0d408255 // ld1 {v21.s}[0], [x18] .long 0x9e660232 // fmov x18, d17 .long 0x0d409174 // ld1 {v20.s}[1], [x11] .long 0x4e183e2b // mov x11, v17.d[1] .long 0xbc6b7951 // ldr s17, [x10, x11, lsl #2] .long 0x8b12094a // add x10, x10, x18, lsl #2 .long 0x4d408152 // ld1 {v18.s}[2], [x10] .long 0x8b1209aa // add x10, x13, x18, lsl #2 .long 0xbc6b79b6 // ldr s22, [x13, x11, lsl #2] .long 0x4d408150 // ld1 {v16.s}[2], [x10] .long 0x8b12098a // add x10, x12, x18, lsl #2 .long 0x4d408153 // ld1 {v19.s}[2], [x10] .long 0x8b1209ca // add x10, x14, x18, lsl #2 .long 0x4d408141 // ld1 {v1.s}[2], [x10] .long 0x8b090a2a // add x10, x17, x9, lsl #2 .long 0xbc6b7997 // ldr s23, [x12, x11, lsl #2] .long 0x8b1209ec // add x12, x15, x18, lsl #2 .long 0x0d409142 // ld1 {v2.s}[1], [x10] .long 0x8b090a0a // add x10, x16, x9, lsl #2 .long 0x8b090909 // add x9, x8, x9, lsl #2 .long 0x6e1c0632 // mov v18.s[3], v17.s[0] .long 0xbc6b79d1 // ldr s17, [x14, x11, lsl #2] .long 0x6e1c06d0 // mov v16.s[3], v22.s[0] .long 0xbc6b79f6 // ldr s22, [x15, x11, lsl #2] .long 0x0d409155 // ld1 {v21.s}[1], [x10] .long 0x4d408194 // ld1 {v20.s}[2], [x12] .long 0x0d409123 // ld1 {v3.s}[1], [x9] .long 0xf94007e1 // ldr x1, [sp, #8] .long 0x8b120a2d // add x13, x17, x18, lsl #2 .long 0x8b120a0e // add x14, x16, x18, lsl #2 .long 0x8b12090f // add x15, x8, x18, lsl #2 .long 0x6e1c06f3 // mov v19.s[3], v23.s[0] .long 0xbc6b7a37 // ldr s23, [x17, x11, lsl #2] .long 0x6e1c0621 // mov v1.s[3], v17.s[0] .long 0xbc6b7a11 // ldr s17, [x16, x11, lsl #2] .long 0x4d4081a2 // ld1 {v2.s}[2], [x13] .long 0x4d4081d5 // ld1 {v21.s}[2], [x14] .long 0x6e1c06d4 // mov v20.s[3], v22.s[0] .long 0xbc6b7916 // ldr s22, [x8, x11, lsl #2] .long 0x4d4081e3 // ld1 {v3.s}[2], [x15] .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e1c06e2 // mov v2.s[3], v23.s[0] .long 0x6e1c0635 // mov v21.s[3], v17.s[0] .long 0x6e1c06c3 // mov v3.s[3], v22.s[0] .long 0x4e20ce50 // fmla v16.4s, v18.4s, v0.4s .long 0x4e20ce61 // fmla v1.4s, v19.4s, v0.4s .long 0x4e20ce82 // fmla v2.4s, v20.4s, v0.4s .long 0x4e20cea3 // fmla v3.4s, v21.4s, v0.4s .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0x910043ff // add sp, sp, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_evenly_spaced_2_stop_gradient_aarch64 .globl _sk_evenly_spaced_2_stop_gradient_aarch64 FUNCTION(_sk_evenly_spaced_2_stop_gradient_aarch64) _sk_evenly_spaced_2_stop_gradient_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0xaa0803e9 // mov x9, x8 .long 0x9100410a // add x10, x8, #0x10 .long 0x4ddfc931 // ld1r {v17.4s}, [x9], #4 .long 0x4d40c950 // ld1r {v16.4s}, [x10] .long 0x9100510a // add x10, x8, #0x14 .long 0x4d40c941 // ld1r {v1.4s}, [x10] .long 0x9100610a // add x10, x8, #0x18 .long 0x4d40c942 // ld1r {v2.4s}, [x10] .long 0x9100710a // add x10, x8, #0x1c .long 0x2d414d12 // ldp s18, s19, [x8, #8] .long 0x4d40c943 // ld1r {v3.4s}, [x10] .long 0x4e20ce30 // fmla v16.4s, v17.4s, v0.4s .long 0xbd400131 // ldr s17, [x9] .long 0x4f921002 // fmla v2.4s, v0.4s, v18.s[0] .long 0x4f931003 // fmla v3.4s, v0.4s, v19.s[0] .long 0x4f911001 // fmla v1.4s, v0.4s, v17.s[0] .long 0x4eb01e00 // mov v0.16b, v16.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_xy_to_unit_angle_aarch64 .globl _sk_xy_to_unit_angle_aarch64 FUNCTION(_sk_xy_to_unit_angle_aarch64) _sk_xy_to_unit_angle_aarch64: .long 0x52b77ce8 // mov w8, #0xbbe70000 .long 0x72856de8 // movk w8, #0x2b6f .long 0x4ea0f810 // fabs v16.4s, v0.4s .long 0x4ea0f831 // fabs v17.4s, v1.4s .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a79948 // mov w8, #0x3cca0000 .long 0x729af3e8 // movk w8, #0xd79f .long 0x4eb1f614 // fmin v20.4s, v16.4s, v17.4s .long 0x4e31f615 // fmax v21.4s, v16.4s, v17.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x52b7aa88 // mov w8, #0xbd540000 .long 0x6e35fe94 // fdiv v20.4s, v20.4s, v21.4s .long 0x728c9a88 // movk w8, #0x64d4 .long 0x6e34de95 // fmul v21.4s, v20.4s, v20.4s .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s .long 0x4e040d12 // dup v18.4s, w8 .long 0x52a7c448 // mov w8, #0x3e220000 .long 0x729e1528 // movk w8, #0xf0a9 .long 0x4e35ce72 // fmla v18.4s, v19.4s, v21.4s .long 0x4e040d13 // dup v19.4s, w8 .long 0x4e35ce53 // fmla v19.4s, v18.4s, v21.4s .long 0x4f02f612 // fmov v18.4s, #2.500000000000000000e-01 .long 0x6e33de93 // fmul v19.4s, v20.4s, v19.4s .long 0x6eb0e630 // fcmgt v16.4s, v17.4s, v16.4s .long 0x4eb3d652 // fsub v18.4s, v18.4s, v19.4s .long 0x4f0167f5 // movi v21.4s, #0x3f, lsl #24 .long 0x6e731e50 // bsl v16.16b, v18.16b, v19.16b .long 0x4ea0e800 // fcmlt v0.4s, v0.4s, #0.0 .long 0x4eb0d6b2 // fsub v18.4s, v21.4s, v16.4s .long 0x4f03f614 // fmov v20.4s, #1.000000000000000000e+00 .long 0x6e701e40 // bsl v0.16b, v18.16b, v16.16b .long 0x4ea0e831 // fcmlt v17.4s, v1.4s, #0.0 .long 0x4ea0d690 // fsub v16.4s, v20.4s, v0.4s .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e601e11 // bsl v17.16b, v16.16b, v0.16b .long 0x6ea0ca20 // fcmge v0.4s, v17.4s, #0.0 .long 0x4ea0ea30 // fcmlt v16.4s, v17.4s, #0.0 .long 0x4ea01e00 // orr v0.16b, v16.16b, v0.16b .long 0x4e201e20 // and v0.16b, v17.16b, v0.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_xy_to_radius_aarch64 .globl _sk_xy_to_radius_aarch64 FUNCTION(_sk_xy_to_radius_aarch64) _sk_xy_to_radius_aarch64: .long 0xf8408425 // ldr x5, [x1], #8 .long 0x6e21dc30 // fmul v16.4s, v1.4s, v1.4s .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s .long 0x6ea1fa00 // fsqrt v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_xy_to_2pt_conical_quadratic_max_aarch64 .globl _sk_xy_to_2pt_conical_quadratic_max_aarch64 FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_aarch64) _sk_xy_to_2pt_conical_quadratic_max_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4f04f614 // fmov v20.4s, #-4.000000000000000000e+00 .long 0x2d444d10 // ldp s16, s19, [x8, #32] .long 0x2d454911 // ldp s17, s18, [x8, #40] .long 0x4f909290 // fmul v16.4s, v20.4s, v16.s[0] .long 0x4f0167f4 // movi v20.4s, #0x3f, lsl #24 .long 0x4f939293 // fmul v19.4s, v20.4s, v19.s[0] .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s .long 0x1e310a52 // fmul s18, s18, s17 .long 0x1e310a31 // fmul s17, s17, s17 .long 0x4e20cc14 // fmla v20.4s, v0.4s, v0.4s .long 0x4e040652 // dup v18.4s, v18.s[0] .long 0x4e040631 // dup v17.4s, v17.s[0] .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s .long 0x4f066412 // movi v18.4s, #0xc0, lsl #24 .long 0x6e32dc00 // fmul v0.4s, v0.4s, v18.4s .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s .long 0x6ea0f811 // fneg v17.4s, v0.4s .long 0x6ea1fa10 // fsqrt v16.4s, v16.4s .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s .long 0x4eb0d630 // fsub v16.4s, v17.4s, v16.4s .long 0x6e20de60 // fmul v0.4s, v19.4s, v0.4s .long 0x6e30de70 // fmul v16.4s, v19.4s, v16.4s .long 0x4e30f400 // fmax v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_xy_to_2pt_conical_quadratic_min_aarch64 .globl _sk_xy_to_2pt_conical_quadratic_min_aarch64 FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_aarch64) _sk_xy_to_2pt_conical_quadratic_min_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x4f04f614 // fmov v20.4s, #-4.000000000000000000e+00 .long 0x2d444d10 // ldp s16, s19, [x8, #32] .long 0x2d454911 // ldp s17, s18, [x8, #40] .long 0x4f909290 // fmul v16.4s, v20.4s, v16.s[0] .long 0x4f0167f4 // movi v20.4s, #0x3f, lsl #24 .long 0x4f939293 // fmul v19.4s, v20.4s, v19.s[0] .long 0x6e21dc34 // fmul v20.4s, v1.4s, v1.4s .long 0x1e310a52 // fmul s18, s18, s17 .long 0x1e310a31 // fmul s17, s17, s17 .long 0x4e20cc14 // fmla v20.4s, v0.4s, v0.4s .long 0x4e040652 // dup v18.4s, v18.s[0] .long 0x4e040631 // dup v17.4s, v17.s[0] .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s .long 0x4eb1d691 // fsub v17.4s, v20.4s, v17.4s .long 0x4f066412 // movi v18.4s, #0xc0, lsl #24 .long 0x6e32dc00 // fmul v0.4s, v0.4s, v18.4s .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s .long 0x4e20cc10 // fmla v16.4s, v0.4s, v0.4s .long 0x6ea0f811 // fneg v17.4s, v0.4s .long 0x6ea1fa10 // fsqrt v16.4s, v16.4s .long 0x4ea0d600 // fsub v0.4s, v16.4s, v0.4s .long 0x4eb0d630 // fsub v16.4s, v17.4s, v16.4s .long 0x6e20de60 // fmul v0.4s, v19.4s, v0.4s .long 0x6e30de70 // fmul v16.4s, v19.4s, v16.4s .long 0x4eb0f400 // fmin v0.4s, v0.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_xy_to_2pt_conical_linear_aarch64 .globl _sk_xy_to_2pt_conical_linear_aarch64 FUNCTION(_sk_xy_to_2pt_conical_linear_aarch64) _sk_xy_to_2pt_conical_linear_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x6e21dc32 // fmul v18.4s, v1.4s, v1.4s .long 0x4e20cc12 // fmla v18.4s, v0.4s, v0.4s .long 0x2d454510 // ldp s16, s17, [x8, #40] .long 0x1e300a31 // fmul s17, s17, s16 .long 0x1e300a10 // fmul s16, s16, s16 .long 0x4e040631 // dup v17.4s, v17.s[0] .long 0x4e040610 // dup v16.4s, v16.s[0] .long 0x4e20d620 // fadd v0.4s, v17.4s, v0.4s .long 0x4f066411 // movi v17.4s, #0xc0, lsl #24 .long 0x4eb0d650 // fsub v16.4s, v18.4s, v16.4s .long 0x6e31dc00 // fmul v0.4s, v0.4s, v17.4s .long 0x6ea0fa10 // fneg v16.4s, v16.4s .long 0x6e20fe00 // fdiv v0.4s, v16.4s, v0.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_mask_2pt_conical_degenerates_aarch64 .globl _sk_mask_2pt_conical_degenerates_aarch64 FUNCTION(_sk_mask_2pt_conical_degenerates_aarch64) _sk_mask_2pt_conical_degenerates_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x6ea0c812 // fcmge v18.4s, v0.4s, #0.0 .long 0x4ea0e813 // fcmlt v19.4s, v0.4s, #0.0 .long 0x4eb21e72 // orr v18.16b, v19.16b, v18.16b .long 0x9100a109 // add x9, x8, #0x28 .long 0xbd402d10 // ldr s16, [x8, #44] .long 0x4d40c931 // ld1r {v17.4s}, [x9] .long 0x4f901011 // fmla v17.4s, v0.4s, v16.s[0] .long 0x6ea0ca30 // fcmge v16.4s, v17.4s, #0.0 .long 0x0e612a10 // xtn v16.4h, v16.4s .long 0x0e612a51 // xtn v17.4h, v18.4s .long 0x0e311e10 // and v16.8b, v16.8b, v17.8b .long 0x2f10a610 // uxtl v16.4s, v16.4h .long 0x4f3f5610 // shl v16.4s, v16.4s, #31 .long 0x4f210610 // sshr v16.4s, v16.4s, #31 .long 0x3d800110 // str q16, [x8] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_apply_vector_mask_aarch64 .globl _sk_apply_vector_mask_aarch64 FUNCTION(_sk_apply_vector_mask_aarch64) _sk_apply_vector_mask_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x3dc00110 // ldr q16, [x8] .long 0x4e201e00 // and v0.16b, v16.16b, v0.16b .long 0x4e211e01 // and v1.16b, v16.16b, v1.16b .long 0x4e221e02 // and v2.16b, v16.16b, v2.16b .long 0x4e231e03 // and v3.16b, v16.16b, v3.16b .long 0xd61f00a0 // br x5 HIDDEN _sk_save_xy_aarch64 .globl _sk_save_xy_aarch64 FUNCTION(_sk_save_xy_aarch64) _sk_save_xy_aarch64: .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24 .long 0xf9400028 // ldr x8, [x1] .long 0x4e30d411 // fadd v17.4s, v0.4s, v16.4s .long 0x4e30d430 // fadd v16.4s, v1.4s, v16.4s .long 0x4e219a32 // frintm v18.4s, v17.4s .long 0x4eb2d631 // fsub v17.4s, v17.4s, v18.4s .long 0x4e219a12 // frintm v18.4s, v16.4s .long 0x4eb2d610 // fsub v16.4s, v16.4s, v18.4s .long 0x3d800100 // str q0, [x8] .long 0x3d800901 // str q1, [x8, #32] .long 0x3d801111 // str q17, [x8, #64] .long 0x3d801910 // str q16, [x8, #96] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_accumulate_aarch64 .globl _sk_accumulate_aarch64 FUNCTION(_sk_accumulate_aarch64) _sk_accumulate_aarch64: .long 0xa8c11428 // ldp x8, x5, [x1], #16 .long 0x3dc02110 // ldr q16, [x8, #128] .long 0x3dc02911 // ldr q17, [x8, #160] .long 0x6e31de10 // fmul v16.4s, v16.4s, v17.4s .long 0x4e30cc04 // fmla v4.4s, v0.4s, v16.4s .long 0x4e30cc25 // fmla v5.4s, v1.4s, v16.4s .long 0x4e30cc46 // fmla v6.4s, v2.4s, v16.4s .long 0x4e30cc67 // fmla v7.4s, v3.4s, v16.4s .long 0xd61f00a0 // br x5 HIDDEN _sk_bilinear_nx_aarch64 .globl _sk_bilinear_nx_aarch64 FUNCTION(_sk_bilinear_nx_aarch64) _sk_bilinear_nx_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0x3dc01100 // ldr q0, [x8, #64] .long 0x3dc00110 // ldr q16, [x8] .long 0x4ea0d620 // fsub v0.4s, v17.4s, v0.4s .long 0x3d802100 // str q0, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0567e0 // movi v0.4s, #0xbf, lsl #24 .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bilinear_px_aarch64 .globl _sk_bilinear_px_aarch64 FUNCTION(_sk_bilinear_px_aarch64) _sk_bilinear_px_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x3dc01100 // ldr q0, [x8, #64] .long 0x3dc00110 // ldr q16, [x8] .long 0x3d802100 // str q0, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0167e0 // movi v0.4s, #0x3f, lsl #24 .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bilinear_ny_aarch64 .globl _sk_bilinear_ny_aarch64 FUNCTION(_sk_bilinear_ny_aarch64) _sk_bilinear_ny_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x4f03f611 // fmov v17.4s, #1.000000000000000000e+00 .long 0x3dc01901 // ldr q1, [x8, #96] .long 0x3dc00910 // ldr q16, [x8, #32] .long 0x4ea1d621 // fsub v1.4s, v17.4s, v1.4s .long 0x3d802901 // str q1, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0567e1 // movi v1.4s, #0xbf, lsl #24 .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bilinear_py_aarch64 .globl _sk_bilinear_py_aarch64 FUNCTION(_sk_bilinear_py_aarch64) _sk_bilinear_py_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x3dc01901 // ldr q1, [x8, #96] .long 0x3dc00910 // ldr q16, [x8, #32] .long 0x3d802901 // str q1, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0167e1 // movi v1.4s, #0x3f, lsl #24 .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_n3x_aarch64 .globl _sk_bicubic_n3x_aarch64 FUNCTION(_sk_bicubic_n3x_aarch64) _sk_bicubic_n3x_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a7d8e9 // mov w9, #0x3ec70000 .long 0x72838e49 // movk w9, #0x1c72 .long 0x4e040d30 // dup v16.4s, w9 .long 0x3dc01111 // ldr q17, [x8, #64] .long 0x52b7d549 // mov w9, #0xbeaa0000 .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00 .long 0x72955569 // movk w9, #0xaaab .long 0x4e040d32 // dup v18.4s, w9 .long 0x4eb1d400 // fsub v0.4s, v0.4s, v17.4s .long 0x6e20dc11 // fmul v17.4s, v0.4s, v0.4s .long 0x4e20ce12 // fmla v18.4s, v16.4s, v0.4s .long 0x6e32de20 // fmul v0.4s, v17.4s, v18.4s .long 0x3dc00113 // ldr q19, [x8] .long 0x3d802100 // str q0, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f07f700 // fmov v0.4s, #-1.500000000000000000e+00 .long 0x4e20d660 // fadd v0.4s, v19.4s, v0.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_n1x_aarch64 .globl _sk_bicubic_n1x_aarch64 FUNCTION(_sk_bicubic_n1x_aarch64) _sk_bicubic_n1x_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52b7f2a9 // mov w9, #0xbf950000 .long 0x4f03f600 // fmov v0.4s, #1.000000000000000000e+00 .long 0x728aaaa9 // movk w9, #0x5555 .long 0x3dc01110 // ldr q16, [x8, #64] .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00 .long 0x4f0167f2 // movi v18.4s, #0x3f, lsl #24 .long 0x4eb0d400 // fsub v0.4s, v0.4s, v16.4s .long 0x4e040d30 // dup v16.4s, w9 .long 0x52a7ac69 // mov w9, #0x3d630000 .long 0x7291c729 // movk w9, #0x8e39 .long 0x4e20ce11 // fmla v17.4s, v16.4s, v0.4s .long 0x4e20ce32 // fmla v18.4s, v17.4s, v0.4s .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e20ce51 // fmla v17.4s, v18.4s, v0.4s .long 0x3dc00110 // ldr q16, [x8] .long 0x3d802111 // str q17, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0567e0 // movi v0.4s, #0xbf, lsl #24 .long 0x4e20d600 // fadd v0.4s, v16.4s, v0.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_p1x_aarch64 .globl _sk_bicubic_p1x_aarch64 FUNCTION(_sk_bicubic_p1x_aarch64) _sk_bicubic_p1x_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52b7f2a9 // mov w9, #0xbf950000 .long 0x728aaaa9 // movk w9, #0x5555 .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00 .long 0x3dc01112 // ldr q18, [x8, #64] .long 0x3dc00100 // ldr q0, [x8] .long 0x4e040d33 // dup v19.4s, w9 .long 0x52a7ac69 // mov w9, #0x3d630000 .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24 .long 0x7291c729 // movk w9, #0x8e39 .long 0x4e32ce71 // fmla v17.4s, v19.4s, v18.4s .long 0x4e30d400 // fadd v0.4s, v0.4s, v16.4s .long 0x4e32ce30 // fmla v16.4s, v17.4s, v18.4s .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e32ce11 // fmla v17.4s, v16.4s, v18.4s .long 0x3d802111 // str q17, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_p3x_aarch64 .globl _sk_bicubic_p3x_aarch64 FUNCTION(_sk_bicubic_p3x_aarch64) _sk_bicubic_p3x_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a7d8e9 // mov w9, #0x3ec70000 .long 0x72838e49 // movk w9, #0x1c72 .long 0x4e040d20 // dup v0.4s, w9 .long 0x3dc01110 // ldr q16, [x8, #64] .long 0x52b7d549 // mov w9, #0xbeaa0000 .long 0x72955569 // movk w9, #0xaaab .long 0x4e040d31 // dup v17.4s, w9 .long 0x6e30de13 // fmul v19.4s, v16.4s, v16.4s .long 0x4e30cc11 // fmla v17.4s, v0.4s, v16.4s .long 0x6e31de60 // fmul v0.4s, v19.4s, v17.4s .long 0x3dc00112 // ldr q18, [x8] .long 0x3d802100 // str q0, [x8, #128] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f03f700 // fmov v0.4s, #1.500000000000000000e+00 .long 0x4e20d640 // fadd v0.4s, v18.4s, v0.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_n3y_aarch64 .globl _sk_bicubic_n3y_aarch64 FUNCTION(_sk_bicubic_n3y_aarch64) _sk_bicubic_n3y_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a7d8e9 // mov w9, #0x3ec70000 .long 0x72838e49 // movk w9, #0x1c72 .long 0x4e040d30 // dup v16.4s, w9 .long 0x3dc01911 // ldr q17, [x8, #96] .long 0x52b7d549 // mov w9, #0xbeaa0000 .long 0x4f03f601 // fmov v1.4s, #1.000000000000000000e+00 .long 0x72955569 // movk w9, #0xaaab .long 0x4e040d32 // dup v18.4s, w9 .long 0x4eb1d421 // fsub v1.4s, v1.4s, v17.4s .long 0x6e21dc31 // fmul v17.4s, v1.4s, v1.4s .long 0x4e21ce12 // fmla v18.4s, v16.4s, v1.4s .long 0x6e32de21 // fmul v1.4s, v17.4s, v18.4s .long 0x3dc00913 // ldr q19, [x8, #32] .long 0x3d802901 // str q1, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f07f701 // fmov v1.4s, #-1.500000000000000000e+00 .long 0x4e21d661 // fadd v1.4s, v19.4s, v1.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_n1y_aarch64 .globl _sk_bicubic_n1y_aarch64 FUNCTION(_sk_bicubic_n1y_aarch64) _sk_bicubic_n1y_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52b7f2a9 // mov w9, #0xbf950000 .long 0x4f03f601 // fmov v1.4s, #1.000000000000000000e+00 .long 0x728aaaa9 // movk w9, #0x5555 .long 0x3dc01910 // ldr q16, [x8, #96] .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00 .long 0x4f0167f2 // movi v18.4s, #0x3f, lsl #24 .long 0x4eb0d421 // fsub v1.4s, v1.4s, v16.4s .long 0x4e040d30 // dup v16.4s, w9 .long 0x52a7ac69 // mov w9, #0x3d630000 .long 0x7291c729 // movk w9, #0x8e39 .long 0x4e21ce11 // fmla v17.4s, v16.4s, v1.4s .long 0x4e21ce32 // fmla v18.4s, v17.4s, v1.4s .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e21ce51 // fmla v17.4s, v18.4s, v1.4s .long 0x3dc00910 // ldr q16, [x8, #32] .long 0x3d802911 // str q17, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f0567e1 // movi v1.4s, #0xbf, lsl #24 .long 0x4e21d601 // fadd v1.4s, v16.4s, v1.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_p1y_aarch64 .globl _sk_bicubic_p1y_aarch64 FUNCTION(_sk_bicubic_p1y_aarch64) _sk_bicubic_p1y_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52b7f2a9 // mov w9, #0xbf950000 .long 0x728aaaa9 // movk w9, #0x5555 .long 0x4f03f711 // fmov v17.4s, #1.500000000000000000e+00 .long 0x3dc01912 // ldr q18, [x8, #96] .long 0x3dc00901 // ldr q1, [x8, #32] .long 0x4e040d33 // dup v19.4s, w9 .long 0x52a7ac69 // mov w9, #0x3d630000 .long 0x4f0167f0 // movi v16.4s, #0x3f, lsl #24 .long 0x7291c729 // movk w9, #0x8e39 .long 0x4e32ce71 // fmla v17.4s, v19.4s, v18.4s .long 0x4e30d421 // fadd v1.4s, v1.4s, v16.4s .long 0x4e32ce30 // fmla v16.4s, v17.4s, v18.4s .long 0x4e040d31 // dup v17.4s, w9 .long 0x4e32ce11 // fmla v17.4s, v16.4s, v18.4s .long 0x3d802911 // str q17, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_bicubic_p3y_aarch64 .globl _sk_bicubic_p3y_aarch64 FUNCTION(_sk_bicubic_p3y_aarch64) _sk_bicubic_p3y_aarch64: .long 0xf9400028 // ldr x8, [x1] .long 0x52a7d8e9 // mov w9, #0x3ec70000 .long 0x72838e49 // movk w9, #0x1c72 .long 0x4e040d21 // dup v1.4s, w9 .long 0x3dc01910 // ldr q16, [x8, #96] .long 0x52b7d549 // mov w9, #0xbeaa0000 .long 0x72955569 // movk w9, #0xaaab .long 0x4e040d31 // dup v17.4s, w9 .long 0x6e30de13 // fmul v19.4s, v16.4s, v16.4s .long 0x4e30cc31 // fmla v17.4s, v1.4s, v16.4s .long 0x6e31de61 // fmul v1.4s, v19.4s, v17.4s .long 0x3dc00912 // ldr q18, [x8, #32] .long 0x3d802901 // str q1, [x8, #160] .long 0xf9400425 // ldr x5, [x1, #8] .long 0x4f03f701 // fmov v1.4s, #1.500000000000000000e+00 .long 0x4e21d641 // fadd v1.4s, v18.4s, v1.4s .long 0x91004021 // add x1, x1, #0x10 .long 0xd61f00a0 // br x5 HIDDEN _sk_callback_aarch64 .globl _sk_callback_aarch64 FUNCTION(_sk_callback_aarch64) _sk_callback_aarch64: .long 0xd10203ff // sub sp, sp, #0x80 .long 0xa9045ff8 // stp x24, x23, [sp, #64] .long 0xa90557f6 // stp x22, x21, [sp, #80] .long 0xa9064ff4 // stp x20, x19, [sp, #96] .long 0xa9077bfd // stp x29, x30, [sp, #112] .long 0xad011fe6 // stp q6, q7, [sp, #32] .long 0xad0017e4 // stp q4, q5, [sp] .long 0xaa0103f6 // mov x22, x1 .long 0xf94002d8 // ldr x24, [x22] .long 0xaa0403f3 // mov x19, x4 .long 0xf100027f // cmp x19, #0x0 .long 0x321e03e9 // orr w9, wzr, #0x4 .long 0x91002308 // add x8, x24, #0x8 .long 0x4c000900 // st4 {v0.4s-v3.4s}, [x8] .long 0xf9400308 // ldr x8, [x24] .long 0xaa0003f7 // mov x23, x0 .long 0x1a891261 // csel w1, w19, w9, ne // ne = any .long 0xaa1803e0 // mov x0, x24 .long 0x9101c3fd // add x29, sp, #0x70 .long 0xaa0303f4 // mov x20, x3 .long 0xaa0203f5 // mov x21, x2 .long 0xd63f0100 // blr x8 .long 0xf9404708 // ldr x8, [x24, #136] .long 0xf94006c5 // ldr x5, [x22, #8] .long 0x910042c1 // add x1, x22, #0x10 .long 0xaa1703e0 // mov x0, x23 .long 0x4c400900 // ld4 {v0.4s-v3.4s}, [x8] .long 0xaa1503e2 // mov x2, x21 .long 0xaa1403e3 // mov x3, x20 .long 0xaa1303e4 // mov x4, x19 .long 0xad4017e4 // ldp q4, q5, [sp] .long 0xad411fe6 // ldp q6, q7, [sp, #32] .long 0xa9477bfd // ldp x29, x30, [sp, #112] .long 0xa9464ff4 // ldp x20, x19, [sp, #96] .long 0xa94557f6 // ldp x22, x21, [sp, #80] .long 0xa9445ff8 // ldp x24, x23, [sp, #64] .long 0x910203ff // add sp, sp, #0x80 .long 0xd61f00a0 // br x5 #elif defined(__arm__) BALIGN4 HIDDEN _sk_start_pipeline_vfp4 .globl _sk_start_pipeline_vfp4 FUNCTION(_sk_start_pipeline_vfp4) _sk_start_pipeline_vfp4: .long 0xe92d4ff0 // push {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe28db01c // add fp, sp, #28 .long 0xe24dd004 // sub sp, sp, #4 .long 0xe1a04003 // mov r4, r3 .long 0xe59b8008 // ldr r8, [fp, #8] .long 0xe4945004 // ldr r5, [r4], #4 .long 0xe1a06000 // mov r6, r0 .long 0xe2860002 // add r0, r6, #2 .long 0xe1a07002 // mov r7, r2 .long 0xe1a09001 // mov r9, r1 .long 0xe1500007 // cmp r0, r7 .long 0x8a00000a // bhi 5c .long 0xe3a0a000 // mov sl, #0 .long 0xe1a00008 // mov r0, r8 .long 0xe1a01004 // mov r1, r4 .long 0xe1a02006 // mov r2, r6 .long 0xe1a03009 // mov r3, r9 .long 0xe58da000 // str sl, [sp] .long 0xe12fff35 // blx r5 .long 0xe2860004 // add r0, r6, #4 .long 0xe2866002 // add r6, r6, #2 .long 0xe1500007 // cmp r0, r7 .long 0x9afffff5 // bls 34 .long 0xe0570006 // subs r0, r7, r6 .long 0x0a000005 // beq 7c .long 0xe58d0000 // str r0, [sp] .long 0xe1a00008 // mov r0, r8 .long 0xe1a01004 // mov r1, r4 .long 0xe1a02006 // mov r2, r6 .long 0xe1a03009 // mov r3, r9 .long 0xe12fff35 // blx r5 .long 0xe24bd01c // sub sp, fp, #28 .long 0xe8bd8ff0 // pop {r4, r5, r6, r7, r8, r9, sl, fp, pc} HIDDEN _sk_just_return_vfp4 .globl _sk_just_return_vfp4 FUNCTION(_sk_just_return_vfp4) _sk_just_return_vfp4: .long 0xe12fff1e // bx lr HIDDEN _sk_seed_shader_vfp4 .globl _sk_seed_shader_vfp4 FUNCTION(_sk_seed_shader_vfp4) _sk_seed_shader_vfp4: .long 0xee802b90 // vdup.32 d16, r2 .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xee823b90 // vdup.32 d18, r3 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xedd03b00 // vldr d19, [r0] .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2872f10 // vmov.f32 d2, #1 .long 0xf2803010 // vmov.i32 d3, #0 .long 0xf2400da1 // vadd.f32 d16, d16, d17 .long 0xf2021da1 // vadd.f32 d1, d18, d17 .long 0xf2804010 // vmov.i32 d4, #0 .long 0xf2805010 // vmov.i32 d5, #0 .long 0xf2000da3 // vadd.f32 d0, d16, d19 .long 0xf2806010 // vmov.i32 d6, #0 .long 0xf2807010 // vmov.i32 d7, #0 .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_dither_vfp4 .globl _sk_dither_vfp4 FUNCTION(_sk_dither_vfp4) _sk_dither_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xee802b90 // vdup.32 d16, r2 .long 0xf2c02011 // vmov.i32 d18, #1 .long 0xedd01b08 // vldr d17, [r0, #32] .long 0xf2c03014 // vmov.i32 d19, #4 .long 0xf26108a0 // vadd.i32 d16, d17, d16 .long 0xee853b90 // vdup.32 d21, r3 .long 0xf2c01012 // vmov.i32 d17, #2 .long 0xe3a0c5f2 // mov ip, #1015021568 .long 0xf24041b2 // vand d20, d16, d18 .long 0xe591e000 // ldr lr, [r1] .long 0xf24061b1 // vand d22, d16, d17 .long 0xf34551b0 // veor d21, d21, d16 .long 0xf24001b3 // vand d16, d16, d19 .long 0xf2e44534 // vshl.s32 d20, d20, #4 .long 0xf2e16536 // vshl.s32 d22, d22, #1 .long 0xf24521b2 // vand d18, d21, d18 .long 0xf3fe0030 // vshr.u32 d16, d16, #2 .long 0xf26641b4 // vorr d20, d22, d20 .long 0xf24511b1 // vand d17, d21, d17 .long 0xf2e52532 // vshl.s32 d18, d18, #5 .long 0xf26401b0 // vorr d16, d20, d16 .long 0xf24531b3 // vand d19, d21, d19 .long 0xf26001b2 // vorr d16, d16, d18 .long 0xf2e21531 // vshl.s32 d17, d17, #2 .long 0xf3ff2033 // vshr.u32 d18, d19, #1 .long 0xf26001b1 // vorr d16, d16, d17 .long 0xee81cb90 // vdup.32 d17, ip .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf26001b2 // vorr d16, d16, d18 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xeddf1b0e // vldr d17, [pc, #56] .long 0xf2400da1 // vadd.f32 d16, d16, d17 .long 0xf4ee1c9f // vld1.32 {d17[]}, [lr :32] .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2401d80 // vadd.f32 d17, d16, d0 .long 0xf2402d81 // vadd.f32 d18, d16, d1 .long 0xf2400d82 // vadd.f32 d16, d16, d2 .long 0xf2611f83 // vmin.f32 d17, d17, d3 .long 0xf2622f83 // vmin.f32 d18, d18, d3 .long 0xf2600f83 // vmin.f32 d16, d16, d3 .long 0xf2030fa1 // vmax.f32 d0, d19, d17 .long 0xf2031fa2 // vmax.f32 d1, d19, d18 .long 0xf2032fa0 // vmax.f32 d2, d19, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0xbefc0000 // .word 0xbefc0000 .long 0xbefc0000 // .word 0xbefc0000 HIDDEN _sk_uniform_color_vfp4 .globl _sk_uniform_color_vfp4 FUNCTION(_sk_uniform_color_vfp4) _sk_uniform_color_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e500c // add r5, lr, #12 .long 0xe1a0400e // mov r4, lr .long 0xf4a40c9d // vld1.32 {d0[]}, [r4 :32]! .long 0xf4a53c9f // vld1.32 {d3[]}, [r5 :32] .long 0xe28e5008 // add r5, lr, #8 .long 0xf4a52c9f // vld1.32 {d2[]}, [r5 :32] .long 0xf4a41c9f // vld1.32 {d1[]}, [r4 :32] .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_black_color_vfp4 .globl _sk_black_color_vfp4 FUNCTION(_sk_black_color_vfp4) _sk_black_color_vfp4: .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2800010 // vmov.i32 d0, #0 .long 0xf2801010 // vmov.i32 d1, #0 .long 0xf2802010 // vmov.i32 d2, #0 .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xe12fff1c // bx ip HIDDEN _sk_white_color_vfp4 .globl _sk_white_color_vfp4 FUNCTION(_sk_white_color_vfp4) _sk_white_color_vfp4: .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2870f10 // vmov.f32 d0, #1 .long 0xf2871f10 // vmov.f32 d1, #1 .long 0xf2872f10 // vmov.f32 d2, #1 .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xe12fff1c // bx ip HIDDEN _sk_load_rgba_vfp4 .globl _sk_load_rgba_vfp4 FUNCTION(_sk_load_rgba_vfp4) _sk_load_rgba_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe1a0400e // mov r4, lr .long 0xed9e2b04 // vldr d2, [lr, #16] .long 0xf424078d // vld1.32 {d0}, [r4]! .long 0xed9e3b06 // vldr d3, [lr, #24] .long 0xed941b00 // vldr d1, [r4] .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_store_rgba_vfp4 .globl _sk_store_rgba_vfp4 FUNCTION(_sk_store_rgba_vfp4) _sk_store_rgba_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe1a0e00c // mov lr, ip .long 0xf40e078d // vst1.32 {d0}, [lr]! .long 0xed8e1b00 // vstr d1, [lr] .long 0xed8c2b04 // vstr d2, [ip, #16] .long 0xed8c3b06 // vstr d3, [ip, #24] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_clear_vfp4 .globl _sk_clear_vfp4 FUNCTION(_sk_clear_vfp4) _sk_clear_vfp4: .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2800010 // vmov.i32 d0, #0 .long 0xf2801010 // vmov.i32 d1, #0 .long 0xf2802010 // vmov.i32 d2, #0 .long 0xf2803010 // vmov.i32 d3, #0 .long 0xe12fff1c // bx ip HIDDEN _sk_srcatop_vfp4 .globl _sk_srcatop_vfp4 FUNCTION(_sk_srcatop_vfp4) _sk_srcatop_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2603d83 // vsub.f32 d19, d16, d3 .long 0xf3033d17 // vmul.f32 d3, d3, d7 .long 0xf3430d94 // vmul.f32 d16, d19, d4 .long 0xf3431d95 // vmul.f32 d17, d19, d5 .long 0xf3432d96 // vmul.f32 d18, d19, d6 .long 0xf2400c17 // vfma.f32 d16, d0, d7 .long 0xf2411c17 // vfma.f32 d17, d1, d7 .long 0xf2422c17 // vfma.f32 d18, d2, d7 .long 0xf2033c97 // vfma.f32 d3, d19, d7 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xe12fff1c // bx ip HIDDEN _sk_dstatop_vfp4 .globl _sk_dstatop_vfp4 FUNCTION(_sk_dstatop_vfp4) _sk_dstatop_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3431d15 // vmul.f32 d17, d3, d5 .long 0xf2604d87 // vsub.f32 d20, d16, d7 .long 0xf3430d14 // vmul.f32 d16, d3, d4 .long 0xf3432d16 // vmul.f32 d18, d3, d6 .long 0xf3433d17 // vmul.f32 d19, d3, d7 .long 0xf2440c90 // vfma.f32 d16, d20, d0 .long 0xf2441c91 // vfma.f32 d17, d20, d1 .long 0xf2442c92 // vfma.f32 d18, d20, d2 .long 0xf2443c93 // vfma.f32 d19, d20, d3 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xf22331b3 // vorr d3, d19, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_srcin_vfp4 .globl _sk_srcin_vfp4 FUNCTION(_sk_srcin_vfp4) _sk_srcin_vfp4: .long 0xf3000d17 // vmul.f32 d0, d0, d7 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3011d17 // vmul.f32 d1, d1, d7 .long 0xf3022d17 // vmul.f32 d2, d2, d7 .long 0xf3033d17 // vmul.f32 d3, d3, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_dstin_vfp4 .globl _sk_dstin_vfp4 FUNCTION(_sk_dstin_vfp4) _sk_dstin_vfp4: .long 0xf3030d14 // vmul.f32 d0, d3, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3031d15 // vmul.f32 d1, d3, d5 .long 0xf3032d16 // vmul.f32 d2, d3, d6 .long 0xf3033d17 // vmul.f32 d3, d3, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_srcout_vfp4 .globl _sk_srcout_vfp4 FUNCTION(_sk_srcout_vfp4) _sk_srcout_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2600d87 // vsub.f32 d16, d16, d7 .long 0xf3000d90 // vmul.f32 d0, d16, d0 .long 0xf3001d91 // vmul.f32 d1, d16, d1 .long 0xf3002d92 // vmul.f32 d2, d16, d2 .long 0xf3003d93 // vmul.f32 d3, d16, d3 .long 0xe12fff1c // bx ip HIDDEN _sk_dstout_vfp4 .globl _sk_dstout_vfp4 FUNCTION(_sk_dstout_vfp4) _sk_dstout_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf3000d94 // vmul.f32 d0, d16, d4 .long 0xf3001d95 // vmul.f32 d1, d16, d5 .long 0xf3002d96 // vmul.f32 d2, d16, d6 .long 0xf3003d97 // vmul.f32 d3, d16, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_srcover_vfp4 .globl _sk_srcover_vfp4 FUNCTION(_sk_srcover_vfp4) _sk_srcover_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf2040c30 // vfma.f32 d0, d4, d16 .long 0xf2051c30 // vfma.f32 d1, d5, d16 .long 0xf2062c30 // vfma.f32 d2, d6, d16 .long 0xf2073c30 // vfma.f32 d3, d7, d16 .long 0xe12fff1c // bx ip HIDDEN _sk_dstover_vfp4 .globl _sk_dstover_vfp4 FUNCTION(_sk_dstover_vfp4) _sk_dstover_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2651115 // vorr d17, d5, d5 .long 0xf2604d87 // vsub.f32 d20, d16, d7 .long 0xf2640114 // vorr d16, d4, d4 .long 0xf2662116 // vorr d18, d6, d6 .long 0xf2673117 // vorr d19, d7, d7 .long 0xf2400c34 // vfma.f32 d16, d0, d20 .long 0xf2411c34 // vfma.f32 d17, d1, d20 .long 0xf2422c34 // vfma.f32 d18, d2, d20 .long 0xf2433c34 // vfma.f32 d19, d3, d20 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xf22331b3 // vorr d3, d19, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_modulate_vfp4 .globl _sk_modulate_vfp4 FUNCTION(_sk_modulate_vfp4) _sk_modulate_vfp4: .long 0xf3000d14 // vmul.f32 d0, d0, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3011d15 // vmul.f32 d1, d1, d5 .long 0xf3022d16 // vmul.f32 d2, d2, d6 .long 0xf3033d17 // vmul.f32 d3, d3, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_multiply_vfp4 .globl _sk_multiply_vfp4 FUNCTION(_sk_multiply_vfp4) _sk_multiply_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2601d87 // vsub.f32 d17, d16, d7 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf3412d90 // vmul.f32 d18, d17, d0 .long 0xf3403d94 // vmul.f32 d19, d16, d4 .long 0xf3414d91 // vmul.f32 d20, d17, d1 .long 0xf3405d95 // vmul.f32 d21, d16, d5 .long 0xf3416d92 // vmul.f32 d22, d17, d2 .long 0xf3418d93 // vmul.f32 d24, d17, d3 .long 0xf3407d96 // vmul.f32 d23, d16, d6 .long 0xf3409d97 // vmul.f32 d25, d16, d7 .long 0xf2430da2 // vadd.f32 d16, d19, d18 .long 0xf2451da4 // vadd.f32 d17, d21, d20 .long 0xf2472da6 // vadd.f32 d18, d23, d22 .long 0xf2493da8 // vadd.f32 d19, d25, d24 .long 0xf2400c14 // vfma.f32 d16, d0, d4 .long 0xf2411c15 // vfma.f32 d17, d1, d5 .long 0xf2422c16 // vfma.f32 d18, d2, d6 .long 0xf2433c17 // vfma.f32 d19, d3, d7 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xf22331b3 // vorr d3, d19, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_plus__vfp4 .globl _sk_plus__vfp4 FUNCTION(_sk_plus__vfp4) _sk_plus__vfp4: .long 0xf2000d04 // vadd.f32 d0, d0, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2011d05 // vadd.f32 d1, d1, d5 .long 0xf2022d06 // vadd.f32 d2, d2, d6 .long 0xf2033d07 // vadd.f32 d3, d3, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_screen_vfp4 .globl _sk_screen_vfp4 FUNCTION(_sk_screen_vfp4) _sk_screen_vfp4: .long 0xf2400d04 // vadd.f32 d16, d0, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2411d05 // vadd.f32 d17, d1, d5 .long 0xf2422d06 // vadd.f32 d18, d2, d6 .long 0xf2433d07 // vadd.f32 d19, d3, d7 .long 0xf2600c14 // vfms.f32 d16, d0, d4 .long 0xf2611c15 // vfms.f32 d17, d1, d5 .long 0xf2622c16 // vfms.f32 d18, d2, d6 .long 0xf2633c17 // vfms.f32 d19, d3, d7 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xf22331b3 // vorr d3, d19, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_xor__vfp4 .globl _sk_xor__vfp4 FUNCTION(_sk_xor__vfp4) _sk_xor__vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2603d83 // vsub.f32 d19, d16, d3 .long 0xf2604d87 // vsub.f32 d20, d16, d7 .long 0xf3430d94 // vmul.f32 d16, d19, d4 .long 0xf3431d95 // vmul.f32 d17, d19, d5 .long 0xf3432d96 // vmul.f32 d18, d19, d6 .long 0xf3433d97 // vmul.f32 d19, d19, d7 .long 0xf2440c90 // vfma.f32 d16, d20, d0 .long 0xf2441c91 // vfma.f32 d17, d20, d1 .long 0xf2442c92 // vfma.f32 d18, d20, d2 .long 0xf2443c93 // vfma.f32 d19, d20, d3 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xf22331b3 // vorr d3, d19, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_darken_vfp4 .globl _sk_darken_vfp4 FUNCTION(_sk_darken_vfp4) _sk_darken_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3431d14 // vmul.f32 d17, d3, d4 .long 0xf3402d17 // vmul.f32 d18, d0, d7 .long 0xf3433d15 // vmul.f32 d19, d3, d5 .long 0xf3414d17 // vmul.f32 d20, d1, d7 .long 0xf3435d16 // vmul.f32 d21, d3, d6 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf3426d17 // vmul.f32 d22, d2, d7 .long 0xf2421fa1 // vmax.f32 d17, d18, d17 .long 0xf2407d04 // vadd.f32 d23, d0, d4 .long 0xf2443fa3 // vmax.f32 d19, d20, d19 .long 0xf2412d05 // vadd.f32 d18, d1, d5 .long 0xf2424d06 // vadd.f32 d20, d2, d6 .long 0xf2465fa5 // vmax.f32 d21, d22, d21 .long 0xf2073c30 // vfma.f32 d3, d7, d16 .long 0xf2270da1 // vsub.f32 d0, d23, d17 .long 0xf2221da3 // vsub.f32 d1, d18, d19 .long 0xf2242da5 // vsub.f32 d2, d20, d21 .long 0xe12fff1c // bx ip HIDDEN _sk_lighten_vfp4 .globl _sk_lighten_vfp4 FUNCTION(_sk_lighten_vfp4) _sk_lighten_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3431d14 // vmul.f32 d17, d3, d4 .long 0xf3402d17 // vmul.f32 d18, d0, d7 .long 0xf3433d15 // vmul.f32 d19, d3, d5 .long 0xf3414d17 // vmul.f32 d20, d1, d7 .long 0xf3435d16 // vmul.f32 d21, d3, d6 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf3426d17 // vmul.f32 d22, d2, d7 .long 0xf2621fa1 // vmin.f32 d17, d18, d17 .long 0xf2407d04 // vadd.f32 d23, d0, d4 .long 0xf2643fa3 // vmin.f32 d19, d20, d19 .long 0xf2412d05 // vadd.f32 d18, d1, d5 .long 0xf2424d06 // vadd.f32 d20, d2, d6 .long 0xf2665fa5 // vmin.f32 d21, d22, d21 .long 0xf2073c30 // vfma.f32 d3, d7, d16 .long 0xf2270da1 // vsub.f32 d0, d23, d17 .long 0xf2221da3 // vsub.f32 d1, d18, d19 .long 0xf2242da5 // vsub.f32 d2, d20, d21 .long 0xe12fff1c // bx ip HIDDEN _sk_difference_vfp4 .globl _sk_difference_vfp4 FUNCTION(_sk_difference_vfp4) _sk_difference_vfp4: .long 0xf3430d14 // vmul.f32 d16, d3, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3401d17 // vmul.f32 d17, d0, d7 .long 0xf3432d15 // vmul.f32 d18, d3, d5 .long 0xf3413d17 // vmul.f32 d19, d1, d7 .long 0xf3434d16 // vmul.f32 d20, d3, d6 .long 0xf3425d17 // vmul.f32 d21, d2, d7 .long 0xf2c76f10 // vmov.f32 d22, #1 .long 0xf2610fa0 // vmin.f32 d16, d17, d16 .long 0xf2631fa2 // vmin.f32 d17, d19, d18 .long 0xf2662d83 // vsub.f32 d18, d22, d3 .long 0xf2653fa4 // vmin.f32 d19, d21, d20 .long 0xf2404d04 // vadd.f32 d20, d0, d4 .long 0xf2400da0 // vadd.f32 d16, d16, d16 .long 0xf2073c32 // vfma.f32 d3, d7, d18 .long 0xf2415d05 // vadd.f32 d21, d1, d5 .long 0xf2411da1 // vadd.f32 d17, d17, d17 .long 0xf2426d06 // vadd.f32 d22, d2, d6 .long 0xf2432da3 // vadd.f32 d18, d19, d19 .long 0xf2240da0 // vsub.f32 d0, d20, d16 .long 0xf2251da1 // vsub.f32 d1, d21, d17 .long 0xf2262da2 // vsub.f32 d2, d22, d18 .long 0xe12fff1c // bx ip HIDDEN _sk_exclusion_vfp4 .globl _sk_exclusion_vfp4 FUNCTION(_sk_exclusion_vfp4) _sk_exclusion_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3401d14 // vmul.f32 d17, d0, d4 .long 0xf3412d15 // vmul.f32 d18, d1, d5 .long 0xf3423d16 // vmul.f32 d19, d2, d6 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf2404d04 // vadd.f32 d20, d0, d4 .long 0xf2411da1 // vadd.f32 d17, d17, d17 .long 0xf2415d05 // vadd.f32 d21, d1, d5 .long 0xf2422da2 // vadd.f32 d18, d18, d18 .long 0xf2426d06 // vadd.f32 d22, d2, d6 .long 0xf2433da3 // vadd.f32 d19, d19, d19 .long 0xf2073c30 // vfma.f32 d3, d7, d16 .long 0xf2240da1 // vsub.f32 d0, d20, d17 .long 0xf2251da2 // vsub.f32 d1, d21, d18 .long 0xf2262da3 // vsub.f32 d2, d22, d19 .long 0xe12fff1c // bx ip HIDDEN _sk_colorburn_vfp4 .globl _sk_colorburn_vfp4 FUNCTION(_sk_colorburn_vfp4) _sk_colorburn_vfp4: .long 0xed2d8b08 // vpush {d8-d11} .long 0xf2670d04 // vsub.f32 d16, d7, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2671d06 // vsub.f32 d17, d7, d6 .long 0xf2672d05 // vsub.f32 d18, d7, d5 .long 0xf3008d93 // vmul.f32 d8, d16, d3 .long 0xf3019d93 // vmul.f32 d9, d17, d3 .long 0xf302ad93 // vmul.f32 d10, d18, d3 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xeec8baa0 // vdiv.f32 s23, s17, s1 .long 0xee88ba00 // vdiv.f32 s22, s16, s0 .long 0xeec98aa2 // vdiv.f32 s17, s19, s5 .long 0xee898a02 // vdiv.f32 s16, s18, s4 .long 0xeeca9aa1 // vdiv.f32 s19, s21, s3 .long 0xee8a9a01 // vdiv.f32 s18, s20, s2 .long 0xf2672f08 // vmin.f32 d18, d7, d8 .long 0xf2673f09 // vmin.f32 d19, d7, d9 .long 0xf2670f0b // vmin.f32 d16, d7, d11 .long 0xf2614d87 // vsub.f32 d20, d17, d7 .long 0xf2672d22 // vsub.f32 d18, d7, d18 .long 0xf2673d23 // vsub.f32 d19, d7, d19 .long 0xf2611d83 // vsub.f32 d17, d17, d3 .long 0xf2670d20 // vsub.f32 d16, d7, d16 .long 0xf3445d90 // vmul.f32 d21, d20, d0 .long 0xf3446d92 // vmul.f32 d22, d20, d2 .long 0xf3422d93 // vmul.f32 d18, d18, d3 .long 0xf3444d91 // vmul.f32 d20, d20, d1 .long 0xf3433d93 // vmul.f32 d19, d19, d3 .long 0xf3400d93 // vmul.f32 d16, d16, d3 .long 0xf3417d95 // vmul.f32 d23, d17, d5 .long 0xf3418d94 // vmul.f32 d24, d17, d4 .long 0xf3419d96 // vmul.f32 d25, d17, d6 .long 0xf2443da3 // vadd.f32 d19, d20, d19 .long 0xf2462da2 // vadd.f32 d18, d22, d18 .long 0xf245ada0 // vadd.f32 d26, d21, d16 .long 0xf247bd81 // vadd.f32 d27, d23, d1 .long 0xf248cd80 // vadd.f32 d28, d24, d0 .long 0xf249dd82 // vadd.f32 d29, d25, d2 .long 0xf2073c31 // vfma.f32 d3, d7, d17 .long 0xf2499da2 // vadd.f32 d25, d25, d18 .long 0xf2473da3 // vadd.f32 d19, d23, d19 .long 0xf3f97501 // vceq.f32 d23, d1, #0 .long 0xf2455d84 // vadd.f32 d21, d21, d4 .long 0xf2444d85 // vadd.f32 d20, d20, d5 .long 0xf2440e07 // vceq.f32 d16, d4, d7 .long 0xf2466d86 // vadd.f32 d22, d22, d6 .long 0xf2451e07 // vceq.f32 d17, d5, d7 .long 0xf2462e07 // vceq.f32 d18, d6, d7 .long 0xf35b71b3 // vbsl d23, d27, d19 .long 0xf3f93500 // vceq.f32 d19, d0, #0 .long 0xf2488daa // vadd.f32 d24, d24, d26 .long 0xf35c31b8 // vbsl d19, d28, d24 .long 0xf3f98502 // vceq.f32 d24, d2, #0 .long 0xf35d81b9 // vbsl d24, d29, d25 .long 0xf35501b3 // vbsl d16, d21, d19 .long 0xf35411b7 // vbsl d17, d20, d23 .long 0xf35621b8 // vbsl d18, d22, d24 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff1c // bx ip HIDDEN _sk_colordodge_vfp4 .globl _sk_colordodge_vfp4 FUNCTION(_sk_colordodge_vfp4) _sk_colordodge_vfp4: .long 0xed2d8b0e // vpush {d8-d14} .long 0xf2238d02 // vsub.f32 d8, d3, d2 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3039d16 // vmul.f32 d9, d3, d6 .long 0xf223ad01 // vsub.f32 d10, d3, d1 .long 0xf303bd15 // vmul.f32 d11, d3, d5 .long 0xf223cd00 // vsub.f32 d12, d3, d0 .long 0xf303dd14 // vmul.f32 d13, d3, d4 .long 0xeec9eaa8 // vdiv.f32 s29, s19, s17 .long 0xee89ea08 // vdiv.f32 s28, s18, s16 .long 0xeecb8aaa // vdiv.f32 s17, s23, s21 .long 0xeecd9aac // vdiv.f32 s19, s27, s25 .long 0xee8b8a0a // vdiv.f32 s16, s22, s20 .long 0xee8d9a0c // vdiv.f32 s18, s26, s24 .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xf2672f0e // vmin.f32 d18, d7, d14 .long 0xf2601d87 // vsub.f32 d17, d16, d7 .long 0xf2673f08 // vmin.f32 d19, d7, d8 .long 0xf2674f09 // vmin.f32 d20, d7, d9 .long 0xf2600d83 // vsub.f32 d16, d16, d3 .long 0xf3415d92 // vmul.f32 d21, d17, d2 .long 0xf3422d93 // vmul.f32 d18, d18, d3 .long 0xf3416d91 // vmul.f32 d22, d17, d1 .long 0xf3433d93 // vmul.f32 d19, d19, d3 .long 0xf3411d90 // vmul.f32 d17, d17, d0 .long 0xf3444d93 // vmul.f32 d20, d20, d3 .long 0xf3407d95 // vmul.f32 d23, d16, d5 .long 0xf3408d94 // vmul.f32 d24, d16, d4 .long 0xf3409d96 // vmul.f32 d25, d16, d6 .long 0xf2452da2 // vadd.f32 d18, d21, d18 .long 0xf2463da3 // vadd.f32 d19, d22, d19 .long 0xf2414da4 // vadd.f32 d20, d17, d20 .long 0xf241ae03 // vceq.f32 d26, d1, d3 .long 0xf247bd81 // vadd.f32 d27, d23, d1 .long 0xf3b91505 // vceq.f32 d1, d5, #0 .long 0xf240ce03 // vceq.f32 d28, d0, d3 .long 0xf248dd80 // vadd.f32 d29, d24, d0 .long 0xf3b90504 // vceq.f32 d0, d4, #0 .long 0xf242ee03 // vceq.f32 d30, d2, d3 .long 0xf249fd82 // vadd.f32 d31, d25, d2 .long 0xf3b92506 // vceq.f32 d2, d6, #0 .long 0xf2073c30 // vfma.f32 d3, d7, d16 .long 0xf2410d84 // vadd.f32 d16, d17, d4 .long 0xf2491da2 // vadd.f32 d17, d25, d18 .long 0xf2462d85 // vadd.f32 d18, d22, d5 .long 0xf2455d86 // vadd.f32 d21, d21, d6 .long 0xf2473da3 // vadd.f32 d19, d23, d19 .long 0xf2484da4 // vadd.f32 d20, d24, d20 .long 0xf35fe1b1 // vbsl d30, d31, d17 .long 0xf35ba1b3 // vbsl d26, d27, d19 .long 0xf35dc1b4 // vbsl d28, d29, d20 .long 0xf31001bc // vbsl d0, d16, d28 .long 0xf31211ba // vbsl d1, d18, d26 .long 0xf31521be // vbsl d2, d21, d30 .long 0xecbd8b0e // vpop {d8-d14} .long 0xe12fff1c // bx ip HIDDEN _sk_hardlight_vfp4 .globl _sk_hardlight_vfp4 FUNCTION(_sk_hardlight_vfp4) _sk_hardlight_vfp4: .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2670d04 // vsub.f32 d16, d7, d4 .long 0xf2617d87 // vsub.f32 d23, d17, d7 .long 0xf2611d83 // vsub.f32 d17, d17, d3 .long 0xf2672d05 // vsub.f32 d18, d7, d5 .long 0xf2674d06 // vsub.f32 d20, d7, d6 .long 0xf2633d00 // vsub.f32 d19, d3, d0 .long 0xf2635d01 // vsub.f32 d21, d3, d1 .long 0xf2636d02 // vsub.f32 d22, d3, d2 .long 0xf347bd90 // vmul.f32 d27, d23, d0 .long 0xf341cd94 // vmul.f32 d28, d17, d4 .long 0xf3430db0 // vmul.f32 d16, d19, d16 .long 0xf3463db4 // vmul.f32 d19, d22, d20 .long 0xf3452db2 // vmul.f32 d18, d21, d18 .long 0xf2404d00 // vadd.f32 d20, d0, d0 .long 0xf3405d14 // vmul.f32 d21, d0, d4 .long 0xf2416d01 // vadd.f32 d22, d1, d1 .long 0xf3418d15 // vmul.f32 d24, d1, d5 .long 0xf2429d02 // vadd.f32 d25, d2, d2 .long 0xf342ad16 // vmul.f32 d26, d2, d6 .long 0xf347dd91 // vmul.f32 d29, d23, d1 .long 0xf341fd95 // vmul.f32 d31, d17, d5 .long 0xf24cbdab // vadd.f32 d27, d28, d27 .long 0xf3477d92 // vmul.f32 d23, d23, d2 .long 0xf341cd96 // vmul.f32 d28, d17, d6 .long 0xf2400da0 // vadd.f32 d16, d16, d16 .long 0xf343ed17 // vmul.f32 d30, d3, d7 .long 0xf2422da2 // vadd.f32 d18, d18, d18 .long 0xf2433da3 // vadd.f32 d19, d19, d19 .long 0xf3434e24 // vcge.f32 d20, d3, d20 .long 0xf2455da5 // vadd.f32 d21, d21, d21 .long 0xf3436e26 // vcge.f32 d22, d3, d22 .long 0xf3439e29 // vcge.f32 d25, d3, d25 .long 0xf2488da8 // vadd.f32 d24, d24, d24 .long 0xf24aadaa // vadd.f32 d26, d26, d26 .long 0xf2073c31 // vfma.f32 d3, d7, d17 .long 0xf24fddad // vadd.f32 d29, d31, d29 .long 0xf24c1da7 // vadd.f32 d17, d28, d23 .long 0xf26e0da0 // vsub.f32 d16, d30, d16 .long 0xf26e2da2 // vsub.f32 d18, d30, d18 .long 0xf26e3da3 // vsub.f32 d19, d30, d19 .long 0xf35541b0 // vbsl d20, d21, d16 .long 0xf35861b2 // vbsl d22, d24, d18 .long 0xf35a91b3 // vbsl d25, d26, d19 .long 0xf20b0da4 // vadd.f32 d0, d27, d20 .long 0xf20d1da6 // vadd.f32 d1, d29, d22 .long 0xf2012da9 // vadd.f32 d2, d17, d25 .long 0xe12fff1c // bx ip HIDDEN _sk_overlay_vfp4 .globl _sk_overlay_vfp4 FUNCTION(_sk_overlay_vfp4) _sk_overlay_vfp4: .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2670d04 // vsub.f32 d16, d7, d4 .long 0xf2617d87 // vsub.f32 d23, d17, d7 .long 0xf2611d83 // vsub.f32 d17, d17, d3 .long 0xf2672d05 // vsub.f32 d18, d7, d5 .long 0xf2674d06 // vsub.f32 d20, d7, d6 .long 0xf2633d00 // vsub.f32 d19, d3, d0 .long 0xf2635d01 // vsub.f32 d21, d3, d1 .long 0xf2636d02 // vsub.f32 d22, d3, d2 .long 0xf347bd90 // vmul.f32 d27, d23, d0 .long 0xf341cd94 // vmul.f32 d28, d17, d4 .long 0xf3430db0 // vmul.f32 d16, d19, d16 .long 0xf3463db4 // vmul.f32 d19, d22, d20 .long 0xf3452db2 // vmul.f32 d18, d21, d18 .long 0xf2444d04 // vadd.f32 d20, d4, d4 .long 0xf3405d14 // vmul.f32 d21, d0, d4 .long 0xf2456d05 // vadd.f32 d22, d5, d5 .long 0xf3418d15 // vmul.f32 d24, d1, d5 .long 0xf2469d06 // vadd.f32 d25, d6, d6 .long 0xf342ad16 // vmul.f32 d26, d2, d6 .long 0xf347dd91 // vmul.f32 d29, d23, d1 .long 0xf341fd95 // vmul.f32 d31, d17, d5 .long 0xf24cbdab // vadd.f32 d27, d28, d27 .long 0xf3477d92 // vmul.f32 d23, d23, d2 .long 0xf341cd96 // vmul.f32 d28, d17, d6 .long 0xf343ed17 // vmul.f32 d30, d3, d7 .long 0xf2400da0 // vadd.f32 d16, d16, d16 .long 0xf2422da2 // vadd.f32 d18, d18, d18 .long 0xf2433da3 // vadd.f32 d19, d19, d19 .long 0xf3474e24 // vcge.f32 d20, d7, d20 .long 0xf2455da5 // vadd.f32 d21, d21, d21 .long 0xf3476e26 // vcge.f32 d22, d7, d22 .long 0xf2488da8 // vadd.f32 d24, d24, d24 .long 0xf3479e29 // vcge.f32 d25, d7, d25 .long 0xf24aadaa // vadd.f32 d26, d26, d26 .long 0xf2073c31 // vfma.f32 d3, d7, d17 .long 0xf24fddad // vadd.f32 d29, d31, d29 .long 0xf24c1da7 // vadd.f32 d17, d28, d23 .long 0xf26e0da0 // vsub.f32 d16, d30, d16 .long 0xf26e2da2 // vsub.f32 d18, d30, d18 .long 0xf26e3da3 // vsub.f32 d19, d30, d19 .long 0xf35541b0 // vbsl d20, d21, d16 .long 0xf35861b2 // vbsl d22, d24, d18 .long 0xf35a91b3 // vbsl d25, d26, d19 .long 0xf20b0da4 // vadd.f32 d0, d27, d20 .long 0xf20d1da6 // vadd.f32 d1, d29, d22 .long 0xf2012da9 // vadd.f32 d2, d17, d25 .long 0xe12fff1c // bx ip HIDDEN _sk_softlight_vfp4 .globl _sk_softlight_vfp4 FUNCTION(_sk_softlight_vfp4) _sk_softlight_vfp4: .long 0xed2d8b06 // vpush {d8-d10} .long 0xeec58aa7 // vdiv.f32 s17, s11, s15 .long 0xf3f90407 // vcgt.f32 d16, d7, #0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeec49aa7 // vdiv.f32 s19, s9, s15 .long 0xeec6aaa7 // vdiv.f32 s21, s13, s15 .long 0xee858a07 // vdiv.f32 s16, s10, s14 .long 0xee849a07 // vdiv.f32 s18, s8, s14 .long 0xee86aa07 // vdiv.f32 s20, s12, s14 .long 0xf26021b0 // vorr d18, d16, d16 .long 0xf2c01010 // vmov.i32 d17, #0 .long 0xf3582131 // vbsl d18, d8, d17 .long 0xf26031b0 // vorr d19, d16, d16 .long 0xf3fb45a2 // vrsqrte.f32 d20, d18 .long 0xf3593131 // vbsl d19, d9, d17 .long 0xf35a0131 // vbsl d16, d10, d17 .long 0xf3fb15a3 // vrsqrte.f32 d17, d19 .long 0xf3fb55a0 // vrsqrte.f32 d21, d16 .long 0xf3446db4 // vmul.f32 d22, d20, d20 .long 0xf243ada3 // vadd.f32 d26, d19, d19 .long 0xf240bda0 // vadd.f32 d27, d16, d16 .long 0xf3417db1 // vmul.f32 d23, d17, d17 .long 0xf3458db5 // vmul.f32 d24, d21, d21 .long 0xf2626fb6 // vrsqrts.f32 d22, d18, d22 .long 0xf2429da2 // vadd.f32 d25, d18, d18 .long 0xf2637fb7 // vrsqrts.f32 d23, d19, d23 .long 0xf2608fb8 // vrsqrts.f32 d24, d16, d24 .long 0xf2818f1c // vmov.f32 d8, #7 .long 0xf2499da9 // vadd.f32 d25, d25, d25 .long 0xf3444db6 // vmul.f32 d20, d20, d22 .long 0xf24a6daa // vadd.f32 d22, d26, d26 .long 0xf24badab // vadd.f32 d26, d27, d27 .long 0xf3411db7 // vmul.f32 d17, d17, d23 .long 0xf3455db8 // vmul.f32 d21, d21, d24 .long 0xf3fb7524 // vrecpe.f32 d23, d20 .long 0xf3498db9 // vmul.f32 d24, d25, d25 .long 0xf3fbd521 // vrecpe.f32 d29, d17 .long 0xf34aedba // vmul.f32 d30, d26, d26 .long 0xf3fbf525 // vrecpe.f32 d31, d21 .long 0xf2444fb7 // vrecps.f32 d20, d20, d23 .long 0xf346cdb6 // vmul.f32 d28, d22, d22 .long 0xf2411fbd // vrecps.f32 d17, d17, d29 .long 0xf3c7bf10 // vmov.f32 d27, #-1 .long 0xf2455fbf // vrecps.f32 d21, d21, d31 .long 0xf24aadae // vadd.f32 d26, d26, d30 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf2429dab // vadd.f32 d25, d18, d27 .long 0xf2466dac // vadd.f32 d22, d22, d28 .long 0xf243cdab // vadd.f32 d28, d19, d27 .long 0xf240bdab // vadd.f32 d27, d16, d27 .long 0xf3474db4 // vmul.f32 d20, d23, d20 .long 0xf2c7ef10 // vmov.f32 d30, #1 .long 0xf34d1db1 // vmul.f32 d17, d29, d17 .long 0xf34badba // vmul.f32 d26, d27, d26 .long 0xf242bd02 // vadd.f32 d27, d2, d2 .long 0xf26edda0 // vsub.f32 d29, d30, d16 .long 0xf3498db8 // vmul.f32 d24, d25, d24 .long 0xf3429d98 // vmul.f32 d25, d18, d8 .long 0xf34f5db5 // vmul.f32 d21, d31, d21 .long 0xf26efda2 // vsub.f32 d31, d30, d18 .long 0xf2642da2 // vsub.f32 d18, d20, d18 .long 0xf26b4d83 // vsub.f32 d20, d27, d3 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf34c6db6 // vmul.f32 d22, d28, d22 .long 0xf3437d98 // vmul.f32 d23, d19, d8 .long 0xf3449dbd // vmul.f32 d25, d20, d29 .long 0xf245dd05 // vadd.f32 d29, d5, d5 .long 0xf340cd98 // vmul.f32 d28, d16, d8 .long 0xf2476da6 // vadd.f32 d22, d23, d22 .long 0xf2611da3 // vsub.f32 d17, d17, d19 .long 0xf24dddad // vadd.f32 d29, d29, d29 .long 0xf24c7daa // vadd.f32 d23, d28, d26 .long 0xf2650da0 // vsub.f32 d16, d21, d16 .long 0xf26e3da3 // vsub.f32 d19, d30, d19 .long 0xf347de2d // vcge.f32 d29, d7, d29 .long 0xf241ad01 // vadd.f32 d26, d1, d1 .long 0xf3444d97 // vmul.f32 d20, d20, d7 .long 0xf358d1b2 // vbsl d29, d24, d18 .long 0xf2448d04 // vadd.f32 d24, d4, d4 .long 0xf2462d06 // vadd.f32 d18, d6, d6 .long 0xf26a5d83 // vsub.f32 d21, d26, d3 .long 0xf2488da8 // vadd.f32 d24, d24, d24 .long 0xf2422da2 // vadd.f32 d18, d18, d18 .long 0xf345cdbf // vmul.f32 d28, d21, d31 .long 0xf3455d97 // vmul.f32 d21, d21, d7 .long 0xf3478e28 // vcge.f32 d24, d7, d24 .long 0xf3472e22 // vcge.f32 d18, d7, d18 .long 0xf343fd14 // vmul.f32 d31, d3, d4 .long 0xf3455dbd // vmul.f32 d21, d21, d29 .long 0xf35681b1 // vbsl d24, d22, d17 .long 0xf2401d00 // vadd.f32 d17, d0, d0 .long 0xf35721b0 // vbsl d18, d23, d16 .long 0xf24c0d83 // vadd.f32 d16, d28, d3 .long 0xf2496d83 // vadd.f32 d22, d25, d3 .long 0xf2617d83 // vsub.f32 d23, d17, d3 .long 0xf3442db2 // vmul.f32 d18, d20, d18 .long 0xf3434e2a // vcge.f32 d20, d3, d26 .long 0xf343ae2b // vcge.f32 d26, d3, d27 .long 0xf3473db3 // vmul.f32 d19, d23, d19 .long 0xf3477d97 // vmul.f32 d23, d23, d7 .long 0xf3431e21 // vcge.f32 d17, d3, d17 .long 0xf3400d95 // vmul.f32 d16, d16, d5 .long 0xf2433d83 // vadd.f32 d19, d19, d3 .long 0xf3477db8 // vmul.f32 d23, d23, d24 .long 0xf26e8d87 // vsub.f32 d24, d30, d7 .long 0xf26eed83 // vsub.f32 d30, d30, d3 .long 0xf3433d94 // vmul.f32 d19, d19, d4 .long 0xf24f7da7 // vadd.f32 d23, d31, d23 .long 0xf3489d91 // vmul.f32 d25, d24, d1 .long 0xf348cd90 // vmul.f32 d28, d24, d0 .long 0xf34edd94 // vmul.f32 d29, d30, d4 .long 0xf34ebd95 // vmul.f32 d27, d30, d5 .long 0xf3488d92 // vmul.f32 d24, d24, d2 .long 0xf34efd96 // vmul.f32 d31, d30, d6 .long 0xf24dcdac // vadd.f32 d28, d29, d28 .long 0xf343dd15 // vmul.f32 d29, d3, d5 .long 0xf24b9da9 // vadd.f32 d25, d27, d25 .long 0xf343bd16 // vmul.f32 d27, d3, d6 .long 0xf3466d96 // vmul.f32 d22, d22, d6 .long 0xf24f8da8 // vadd.f32 d24, d31, d24 .long 0xf24d5da5 // vadd.f32 d21, d29, d21 .long 0xf24b2da2 // vadd.f32 d18, d27, d18 .long 0xf35311b7 // vbsl d17, d19, d23 .long 0xf35041b5 // vbsl d20, d16, d21 .long 0xf356a1b2 // vbsl d26, d22, d18 .long 0xf2073c3e // vfma.f32 d3, d7, d30 .long 0xf20c0da1 // vadd.f32 d0, d28, d17 .long 0xf2091da4 // vadd.f32 d1, d25, d20 .long 0xf2082daa // vadd.f32 d2, d24, d26 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_hue_vfp4 .globl _sk_hue_vfp4 FUNCTION(_sk_hue_vfp4) _sk_hue_vfp4: .long 0xed2d8b0c // vpush {d8-d13} .long 0xf3420d13 // vmul.f32 d16, d2, d3 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3411d13 // vmul.f32 d17, d1, d3 .long 0xf2652f06 // vmin.f32 d18, d5, d6 .long 0xf2453f06 // vmax.f32 d19, d5, d6 .long 0xf3404d13 // vmul.f32 d20, d0, d3 .long 0xf2615fa0 // vmin.f32 d21, d17, d16 .long 0xf2642f22 // vmin.f32 d18, d4, d18 .long 0xf2443f23 // vmax.f32 d19, d4, d19 .long 0xf2416fa0 // vmax.f32 d22, d17, d16 .long 0xf2645fa5 // vmin.f32 d21, d20, d21 .long 0xf2632da2 // vsub.f32 d18, d19, d18 .long 0xf2443fa6 // vmax.f32 d19, d20, d22 .long 0xeddf6b76 // vldr d22, [pc, #472] .long 0xf2611da5 // vsub.f32 d17, d17, d21 .long 0xf2644da5 // vsub.f32 d20, d20, d21 .long 0xf3422d93 // vmul.f32 d18, d18, d3 .long 0xf2238da5 // vsub.f32 d8, d19, d21 .long 0xf2600da5 // vsub.f32 d16, d16, d21 .long 0xf3f97508 // vceq.f32 d23, d8, #0 .long 0xf26751b7 // vorr d21, d23, d23 .long 0xf3029db1 // vmul.f32 d9, d18, d17 .long 0xeddf1b69 // vldr d17, [pc, #420] .long 0xf302adb4 // vmul.f32 d10, d18, d20 .long 0xf3453d31 // vmul.f32 d19, d5, d17 .long 0xf302bdb0 // vmul.f32 d11, d18, d16 .long 0xeddf2b67 // vldr d18, [pc, #412] .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xeec9caa8 // vdiv.f32 s25, s19, s17 .long 0xee89ca08 // vdiv.f32 s24, s18, s16 .long 0xeeca9aa8 // vdiv.f32 s19, s21, s17 .long 0xee8a9a08 // vdiv.f32 s18, s20, s16 .long 0xeecbaaa8 // vdiv.f32 s21, s23, s17 .long 0xee8baa08 // vdiv.f32 s20, s22, s16 .long 0xf3444d32 // vmul.f32 d20, d4, d18 .long 0xf350519c // vbsl d21, d16, d12 .long 0xf3468d36 // vmul.f32 d24, d6, d22 .long 0xf3459db1 // vmul.f32 d25, d21, d17 .long 0xf2443da3 // vadd.f32 d19, d20, d19 .long 0xf26741b7 // vorr d20, d23, d23 .long 0xf350719a // vbsl d23, d16, d10 .long 0xf3504199 // vbsl d20, d16, d9 .long 0xf2433da8 // vadd.f32 d19, d19, d24 .long 0xf344adb2 // vmul.f32 d26, d20, d18 .long 0xf3478db6 // vmul.f32 d24, d23, d22 .long 0xf3433d93 // vmul.f32 d19, d19, d3 .long 0xf24a9da9 // vadd.f32 d25, d26, d25 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf2633da8 // vsub.f32 d19, d19, d24 .long 0xf2458da3 // vadd.f32 d24, d21, d19 .long 0xf2445da3 // vadd.f32 d21, d20, d19 .long 0xf2477da3 // vadd.f32 d23, d23, d19 .long 0xf3481db1 // vmul.f32 d17, d24, d17 .long 0xf3452db2 // vmul.f32 d18, d21, d18 .long 0xf3473db6 // vmul.f32 d19, d23, d22 .long 0xf2684fa7 // vmin.f32 d20, d24, d23 .long 0xf2486fa7 // vmax.f32 d22, d24, d23 .long 0xf2421da1 // vadd.f32 d17, d18, d17 .long 0xf2456fa6 // vmax.f32 d22, d21, d22 .long 0xf2432da1 // vadd.f32 d18, d19, d17 .long 0xf2653fa4 // vmin.f32 d19, d21, d20 .long 0xf3f944a3 // vcge.f32 d20, d19, #0 .long 0xf264a1b4 // vorr d26, d20, d20 .long 0xf2671da2 // vsub.f32 d17, d23, d18 .long 0xf2228da3 // vsub.f32 d8, d18, d19 .long 0xf26431b4 // vorr d19, d20, d20 .long 0xf3029db1 // vmul.f32 d9, d18, d17 .long 0xf3431d17 // vmul.f32 d17, d3, d7 .long 0xeec9aaa8 // vdiv.f32 s21, s19, s17 .long 0xee89aa08 // vdiv.f32 s20, s18, s16 .long 0xf2429d8a // vadd.f32 d25, d18, d10 .long 0xf35731b9 // vbsl d19, d23, d25 .long 0xf2619da2 // vsub.f32 d25, d17, d18 .long 0xf2637da2 // vsub.f32 d23, d19, d18 .long 0xf226ada2 // vsub.f32 d10, d22, d18 .long 0xf309bdb7 // vmul.f32 d11, d25, d23 .long 0xf2687da2 // vsub.f32 d23, d24, d18 .long 0xeecb9aaa // vdiv.f32 s19, s23, s21 .long 0xee8b9a0a // vdiv.f32 s18, s22, s20 .long 0xf302bdb7 // vmul.f32 d11, d18, d23 .long 0xeecbcaa8 // vdiv.f32 s25, s23, s17 .long 0xee8bca08 // vdiv.f32 s24, s22, s16 .long 0xf2427d8c // vadd.f32 d23, d18, d12 .long 0xf358a1b7 // vbsl d26, d24, d23 .long 0xf26a7da2 // vsub.f32 d23, d26, d18 .long 0xf309bdb7 // vmul.f32 d11, d25, d23 .long 0xf2657da2 // vsub.f32 d23, d21, d18 .long 0xeecbcaaa // vdiv.f32 s25, s23, s21 .long 0xee8bca0a // vdiv.f32 s24, s22, s20 .long 0xf302bdb7 // vmul.f32 d11, d18, d23 .long 0xf2428d8c // vadd.f32 d24, d18, d12 .long 0xeecbdaa8 // vdiv.f32 s27, s23, s17 .long 0xee8bda08 // vdiv.f32 s26, s22, s16 .long 0xf2427d8d // vadd.f32 d23, d18, d13 .long 0xf35541b7 // vbsl d20, d21, d23 .long 0xf2c77f10 // vmov.f32 d23, #1 .long 0xf2645da2 // vsub.f32 d21, d20, d18 .long 0xf3098db5 // vmul.f32 d8, d25, d21 .long 0xf3665ea1 // vcgt.f32 d21, d22, d17 .long 0xf2679d87 // vsub.f32 d25, d23, d7 .long 0xf2677d83 // vsub.f32 d23, d23, d3 .long 0xeec8baaa // vdiv.f32 s23, s17, s21 .long 0xee88ba0a // vdiv.f32 s22, s16, s20 .long 0xf2426d8b // vadd.f32 d22, d18, d11 .long 0xf265f1b5 // vorr d31, d21, d21 .long 0xf2422d89 // vadd.f32 d18, d18, d9 .long 0xf349bd90 // vmul.f32 d27, d25, d0 .long 0xf356f1b4 // vbsl d31, d22, d20 .long 0xf347cd94 // vmul.f32 d28, d23, d4 .long 0xf349dd91 // vmul.f32 d29, d25, d1 .long 0xf3494d92 // vmul.f32 d20, d25, d2 .long 0xf3476d96 // vmul.f32 d22, d23, d6 .long 0xf347ed95 // vmul.f32 d30, d23, d5 .long 0xf26571b5 // vorr d23, d21, d21 .long 0xf35251b3 // vbsl d21, d18, d19 .long 0xf35871ba // vbsl d23, d24, d26 .long 0xf2438d07 // vadd.f32 d24, d3, d7 .long 0xf24c9dab // vadd.f32 d25, d28, d27 .long 0xf24f2fa0 // vmax.f32 d18, d31, d16 .long 0xf2477fa0 // vmax.f32 d23, d23, d16 .long 0xf24e3dad // vadd.f32 d19, d30, d29 .long 0xf2464da4 // vadd.f32 d20, d22, d20 .long 0xf2450fa0 // vmax.f32 d16, d21, d16 .long 0xf2283da1 // vsub.f32 d3, d24, d17 .long 0xf2090da2 // vadd.f32 d0, d25, d18 .long 0xf2031da7 // vadd.f32 d1, d19, d23 .long 0xf2042da0 // vadd.f32 d2, d20, d16 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe12fff1c // bx ip .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_saturation_vfp4 .globl _sk_saturation_vfp4 FUNCTION(_sk_saturation_vfp4) _sk_saturation_vfp4: .long 0xed2d8b0c // vpush {d8-d13} .long 0xf3430d16 // vmul.f32 d16, d3, d6 .long 0xeddf7b82 // vldr d23, [pc, #520] .long 0xf3431d15 // vmul.f32 d17, d3, d5 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2612f02 // vmin.f32 d18, d1, d2 .long 0xf2413f02 // vmax.f32 d19, d1, d2 .long 0xf3434d14 // vmul.f32 d20, d3, d4 .long 0xf2615fa0 // vmin.f32 d21, d17, d16 .long 0xf2602f22 // vmin.f32 d18, d0, d18 .long 0xf2403f23 // vmax.f32 d19, d0, d19 .long 0xf2416fa0 // vmax.f32 d22, d17, d16 .long 0xf2645fa5 // vmin.f32 d21, d20, d21 .long 0xf3468d37 // vmul.f32 d24, d6, d23 .long 0xf2632da2 // vsub.f32 d18, d19, d18 .long 0xf2443fa6 // vmax.f32 d19, d20, d22 .long 0xf2611da5 // vsub.f32 d17, d17, d21 .long 0xf2644da5 // vsub.f32 d20, d20, d21 .long 0xf3422d97 // vmul.f32 d18, d18, d7 .long 0xf2238da5 // vsub.f32 d8, d19, d21 .long 0xf2600da5 // vsub.f32 d16, d16, d21 .long 0xf3f96508 // vceq.f32 d22, d8, #0 .long 0xf26651b6 // vorr d21, d22, d22 .long 0xf3029db1 // vmul.f32 d9, d18, d17 .long 0xeddf1b68 // vldr d17, [pc, #416] .long 0xf302adb4 // vmul.f32 d10, d18, d20 .long 0xf3453d31 // vmul.f32 d19, d5, d17 .long 0xf302bdb0 // vmul.f32 d11, d18, d16 .long 0xeddf2b66 // vldr d18, [pc, #408] .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xeec9caa8 // vdiv.f32 s25, s19, s17 .long 0xee89ca08 // vdiv.f32 s24, s18, s16 .long 0xeeca9aa8 // vdiv.f32 s19, s21, s17 .long 0xee8a9a08 // vdiv.f32 s18, s20, s16 .long 0xeecbaaa8 // vdiv.f32 s21, s23, s17 .long 0xee8baa08 // vdiv.f32 s20, s22, s16 .long 0xf3444d32 // vmul.f32 d20, d4, d18 .long 0xf350519c // vbsl d21, d16, d12 .long 0xf3459db1 // vmul.f32 d25, d21, d17 .long 0xf2443da3 // vadd.f32 d19, d20, d19 .long 0xf26641b6 // vorr d20, d22, d22 .long 0xf350619a // vbsl d22, d16, d10 .long 0xf3504199 // vbsl d20, d16, d9 .long 0xf2433da8 // vadd.f32 d19, d19, d24 .long 0xf344adb2 // vmul.f32 d26, d20, d18 .long 0xf3468db7 // vmul.f32 d24, d22, d23 .long 0xf3433d93 // vmul.f32 d19, d19, d3 .long 0xf24a9da9 // vadd.f32 d25, d26, d25 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf2633da8 // vsub.f32 d19, d19, d24 .long 0xf2458da3 // vadd.f32 d24, d21, d19 .long 0xf2445da3 // vadd.f32 d21, d20, d19 .long 0xf2466da3 // vadd.f32 d22, d22, d19 .long 0xf3481db1 // vmul.f32 d17, d24, d17 .long 0xf3452db2 // vmul.f32 d18, d21, d18 .long 0xf3463db7 // vmul.f32 d19, d22, d23 .long 0xf2684fa6 // vmin.f32 d20, d24, d22 .long 0xf2487fa6 // vmax.f32 d23, d24, d22 .long 0xf2421da1 // vadd.f32 d17, d18, d17 .long 0xf2457fa7 // vmax.f32 d23, d21, d23 .long 0xf2432da1 // vadd.f32 d18, d19, d17 .long 0xf2653fa4 // vmin.f32 d19, d21, d20 .long 0xf3f944a3 // vcge.f32 d20, d19, #0 .long 0xf264a1b4 // vorr d26, d20, d20 .long 0xf2661da2 // vsub.f32 d17, d22, d18 .long 0xf2228da3 // vsub.f32 d8, d18, d19 .long 0xf26431b4 // vorr d19, d20, d20 .long 0xf3029db1 // vmul.f32 d9, d18, d17 .long 0xf3431d17 // vmul.f32 d17, d3, d7 .long 0xeec9aaa8 // vdiv.f32 s21, s19, s17 .long 0xee89aa08 // vdiv.f32 s20, s18, s16 .long 0xf2429d8a // vadd.f32 d25, d18, d10 .long 0xf35631b9 // vbsl d19, d22, d25 .long 0xf2619da2 // vsub.f32 d25, d17, d18 .long 0xf2636da2 // vsub.f32 d22, d19, d18 .long 0xf227ada2 // vsub.f32 d10, d23, d18 .long 0xf309bdb6 // vmul.f32 d11, d25, d22 .long 0xf2686da2 // vsub.f32 d22, d24, d18 .long 0xeecb9aaa // vdiv.f32 s19, s23, s21 .long 0xee8b9a0a // vdiv.f32 s18, s22, s20 .long 0xf302bdb6 // vmul.f32 d11, d18, d22 .long 0xeecbcaa8 // vdiv.f32 s25, s23, s17 .long 0xee8bca08 // vdiv.f32 s24, s22, s16 .long 0xf2426d8c // vadd.f32 d22, d18, d12 .long 0xf358a1b6 // vbsl d26, d24, d22 .long 0xf26a6da2 // vsub.f32 d22, d26, d18 .long 0xf309bdb6 // vmul.f32 d11, d25, d22 .long 0xf2656da2 // vsub.f32 d22, d21, d18 .long 0xeecbcaaa // vdiv.f32 s25, s23, s21 .long 0xee8bca0a // vdiv.f32 s24, s22, s20 .long 0xf302bdb6 // vmul.f32 d11, d18, d22 .long 0xf2428d8c // vadd.f32 d24, d18, d12 .long 0xeecbdaa8 // vdiv.f32 s27, s23, s17 .long 0xee8bda08 // vdiv.f32 s26, s22, s16 .long 0xf2426d8d // vadd.f32 d22, d18, d13 .long 0xf35541b6 // vbsl d20, d21, d22 .long 0xf2645da2 // vsub.f32 d21, d20, d18 .long 0xf3098db5 // vmul.f32 d8, d25, d21 .long 0xf3675ea1 // vcgt.f32 d21, d23, d17 .long 0xf2c77f10 // vmov.f32 d23, #1 .long 0xf2679d87 // vsub.f32 d25, d23, d7 .long 0xeec8baaa // vdiv.f32 s23, s17, s21 .long 0xee88ba0a // vdiv.f32 s22, s16, s20 .long 0xf2677d83 // vsub.f32 d23, d23, d3 .long 0xf2426d8b // vadd.f32 d22, d18, d11 .long 0xf265f1b5 // vorr d31, d21, d21 .long 0xf2422d89 // vadd.f32 d18, d18, d9 .long 0xf349bd90 // vmul.f32 d27, d25, d0 .long 0xf356f1b4 // vbsl d31, d22, d20 .long 0xf347cd94 // vmul.f32 d28, d23, d4 .long 0xf349dd91 // vmul.f32 d29, d25, d1 .long 0xf3494d92 // vmul.f32 d20, d25, d2 .long 0xf3476d96 // vmul.f32 d22, d23, d6 .long 0xf347ed95 // vmul.f32 d30, d23, d5 .long 0xf26571b5 // vorr d23, d21, d21 .long 0xf35251b3 // vbsl d21, d18, d19 .long 0xf35871ba // vbsl d23, d24, d26 .long 0xf2438d07 // vadd.f32 d24, d3, d7 .long 0xf24c9dab // vadd.f32 d25, d28, d27 .long 0xf24f2fa0 // vmax.f32 d18, d31, d16 .long 0xf2477fa0 // vmax.f32 d23, d23, d16 .long 0xf24e3dad // vadd.f32 d19, d30, d29 .long 0xf2464da4 // vadd.f32 d20, d22, d20 .long 0xf2450fa0 // vmax.f32 d16, d21, d16 .long 0xf2283da1 // vsub.f32 d3, d24, d17 .long 0xf2090da2 // vadd.f32 d0, d25, d18 .long 0xf2031da7 // vadd.f32 d1, d19, d23 .long 0xf2042da0 // vadd.f32 d2, d20, d16 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe12fff1c // bx ip .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_color_vfp4 .globl _sk_color_vfp4 FUNCTION(_sk_color_vfp4) _sk_color_vfp4: .long 0xed2d8b0e // vpush {d8-d14} .long 0xeddf0b63 // vldr d16, [pc, #396] .long 0xf3412d17 // vmul.f32 d18, d1, d7 .long 0xeddf3b63 // vldr d19, [pc, #396] .long 0xf3401d17 // vmul.f32 d17, d0, d7 .long 0xf3454d30 // vmul.f32 d20, d5, d16 .long 0xeddf7b62 // vldr d23, [pc, #392] .long 0xf3446d33 // vmul.f32 d22, d4, d19 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3425d17 // vmul.f32 d21, d2, d7 .long 0xf3428db0 // vmul.f32 d24, d18, d16 .long 0xf3419db3 // vmul.f32 d25, d17, d19 .long 0xf2464da4 // vadd.f32 d20, d22, d20 .long 0xf346ad37 // vmul.f32 d26, d6, d23 .long 0xf3456db7 // vmul.f32 d22, d21, d23 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf2c0e010 // vmov.i32 d30, #0 .long 0xf2444daa // vadd.f32 d20, d20, d26 .long 0xf2466da8 // vadd.f32 d22, d22, d24 .long 0xf3444d93 // vmul.f32 d20, d20, d3 .long 0xf2646da6 // vsub.f32 d22, d20, d22 .long 0xf2414da6 // vadd.f32 d20, d17, d22 .long 0xf2428da6 // vadd.f32 d24, d18, d22 .long 0xf2455da6 // vadd.f32 d21, d21, d22 .long 0xf3441db3 // vmul.f32 d17, d20, d19 .long 0xf3480db0 // vmul.f32 d16, d24, d16 .long 0xf3452db7 // vmul.f32 d18, d21, d23 .long 0xf2683fa5 // vmin.f32 d19, d24, d21 .long 0xf2486fa5 // vmax.f32 d22, d24, d21 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf2421da0 // vadd.f32 d17, d18, d16 .long 0xf2642fa3 // vmin.f32 d18, d20, d19 .long 0xf3f934a2 // vcge.f32 d19, d18, #0 .long 0xf26391b3 // vorr d25, d19, d19 .long 0xf2650da1 // vsub.f32 d16, d21, d17 .long 0xf2219da2 // vsub.f32 d9, d17, d18 .long 0xf26321b3 // vorr d18, d19, d19 .long 0xf3018db0 // vmul.f32 d8, d17, d16 .long 0xf3430d17 // vmul.f32 d16, d3, d7 .long 0xeec8aaa9 // vdiv.f32 s21, s17, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2417d8a // vadd.f32 d23, d17, d10 .long 0xf35521b7 // vbsl d18, d21, d23 .long 0xf2445fa6 // vmax.f32 d21, d20, d22 .long 0xf2626da1 // vsub.f32 d22, d18, d17 .long 0xf2607da1 // vsub.f32 d23, d16, d17 .long 0xf225ada1 // vsub.f32 d10, d21, d17 .long 0xf307bdb6 // vmul.f32 d11, d23, d22 .long 0xf2686da1 // vsub.f32 d22, d24, d17 .long 0xeecb8aaa // vdiv.f32 s17, s23, s21 .long 0xf301cdb6 // vmul.f32 d12, d17, d22 .long 0xee8b8a0a // vdiv.f32 s16, s22, s20 .long 0xeeccdaa9 // vdiv.f32 s27, s25, s19 .long 0xee8cda09 // vdiv.f32 s26, s24, s18 .long 0xf2416d8d // vadd.f32 d22, d17, d13 .long 0xf35891b6 // vbsl d25, d24, d22 .long 0xf2696da1 // vsub.f32 d22, d25, d17 .long 0xf307ddb6 // vmul.f32 d13, d23, d22 .long 0xf2646da1 // vsub.f32 d22, d20, d17 .long 0xeecdcaaa // vdiv.f32 s25, s27, s21 .long 0xee8dca0a // vdiv.f32 s24, s26, s20 .long 0xf301ddb6 // vmul.f32 d13, d17, d22 .long 0xf2418d8c // vadd.f32 d24, d17, d12 .long 0xeecdeaa9 // vdiv.f32 s29, s27, s19 .long 0xee8dea09 // vdiv.f32 s28, s26, s18 .long 0xf2416d8e // vadd.f32 d22, d17, d14 .long 0xf35431b6 // vbsl d19, d20, d22 .long 0xf2634da1 // vsub.f32 d20, d19, d17 .long 0xf3079db4 // vmul.f32 d9, d23, d20 .long 0xf3654ea0 // vcgt.f32 d20, d21, d16 .long 0xf2c75f10 // vmov.f32 d21, #1 .long 0xf2657d83 // vsub.f32 d23, d21, d3 .long 0xeec9daaa // vdiv.f32 s27, s19, s21 .long 0xee89da0a // vdiv.f32 s26, s18, s20 .long 0xf2655d87 // vsub.f32 d21, d21, d7 .long 0xf2416d8d // vadd.f32 d22, d17, d13 .long 0xf264f1b4 // vorr d31, d20, d20 .long 0xf2411d88 // vadd.f32 d17, d17, d8 .long 0xf345ad90 // vmul.f32 d26, d21, d0 .long 0xf356f1b3 // vbsl d31, d22, d19 .long 0xf26461b4 // vorr d22, d20, d20 .long 0xf347bd94 // vmul.f32 d27, d23, d4 .long 0xf345cd91 // vmul.f32 d28, d21, d1 .long 0xf3453d92 // vmul.f32 d19, d21, d2 .long 0xf3475d96 // vmul.f32 d21, d23, d6 .long 0xf347dd95 // vmul.f32 d29, d23, d5 .long 0xf35141b2 // vbsl d20, d17, d18 .long 0xf35861b9 // vbsl d22, d24, d25 .long 0xf2437d07 // vadd.f32 d23, d3, d7 .long 0xf24b8daa // vadd.f32 d24, d27, d26 .long 0xf24f1fae // vmax.f32 d17, d31, d30 .long 0xf24d2dac // vadd.f32 d18, d29, d28 .long 0xf2466fae // vmax.f32 d22, d22, d30 .long 0xf2453da3 // vadd.f32 d19, d21, d19 .long 0xf2444fae // vmax.f32 d20, d20, d30 .long 0xf2273da0 // vsub.f32 d3, d23, d16 .long 0xf2080da1 // vadd.f32 d0, d24, d17 .long 0xf2021da6 // vadd.f32 d1, d18, d22 .long 0xf2032da4 // vadd.f32 d2, d19, d20 .long 0xecbd8b0e // vpop {d8-d14} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_luminosity_vfp4 .globl _sk_luminosity_vfp4 FUNCTION(_sk_luminosity_vfp4) _sk_luminosity_vfp4: .long 0xed2d8b0e // vpush {d8-d14} .long 0xeddf0b63 // vldr d16, [pc, #396] .long 0xf3432d15 // vmul.f32 d18, d3, d5 .long 0xeddf3b63 // vldr d19, [pc, #396] .long 0xf3431d14 // vmul.f32 d17, d3, d4 .long 0xf3414d30 // vmul.f32 d20, d1, d16 .long 0xeddf7b62 // vldr d23, [pc, #392] .long 0xf3406d33 // vmul.f32 d22, d0, d19 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3435d16 // vmul.f32 d21, d3, d6 .long 0xf3428db0 // vmul.f32 d24, d18, d16 .long 0xf3419db3 // vmul.f32 d25, d17, d19 .long 0xf2464da4 // vadd.f32 d20, d22, d20 .long 0xf342ad37 // vmul.f32 d26, d2, d23 .long 0xf3456db7 // vmul.f32 d22, d21, d23 .long 0xf2498da8 // vadd.f32 d24, d25, d24 .long 0xf2c0e010 // vmov.i32 d30, #0 .long 0xf2444daa // vadd.f32 d20, d20, d26 .long 0xf2486da6 // vadd.f32 d22, d24, d22 .long 0xf3444d97 // vmul.f32 d20, d20, d7 .long 0xf2646da6 // vsub.f32 d22, d20, d22 .long 0xf2414da6 // vadd.f32 d20, d17, d22 .long 0xf2428da6 // vadd.f32 d24, d18, d22 .long 0xf2455da6 // vadd.f32 d21, d21, d22 .long 0xf3441db3 // vmul.f32 d17, d20, d19 .long 0xf3480db0 // vmul.f32 d16, d24, d16 .long 0xf3452db7 // vmul.f32 d18, d21, d23 .long 0xf2683fa5 // vmin.f32 d19, d24, d21 .long 0xf2486fa5 // vmax.f32 d22, d24, d21 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf2421da0 // vadd.f32 d17, d18, d16 .long 0xf2642fa3 // vmin.f32 d18, d20, d19 .long 0xf3f934a2 // vcge.f32 d19, d18, #0 .long 0xf26391b3 // vorr d25, d19, d19 .long 0xf2650da1 // vsub.f32 d16, d21, d17 .long 0xf2219da2 // vsub.f32 d9, d17, d18 .long 0xf26321b3 // vorr d18, d19, d19 .long 0xf3018db0 // vmul.f32 d8, d17, d16 .long 0xf3430d17 // vmul.f32 d16, d3, d7 .long 0xeec8aaa9 // vdiv.f32 s21, s17, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2417d8a // vadd.f32 d23, d17, d10 .long 0xf35521b7 // vbsl d18, d21, d23 .long 0xf2445fa6 // vmax.f32 d21, d20, d22 .long 0xf2626da1 // vsub.f32 d22, d18, d17 .long 0xf2607da1 // vsub.f32 d23, d16, d17 .long 0xf225ada1 // vsub.f32 d10, d21, d17 .long 0xf307bdb6 // vmul.f32 d11, d23, d22 .long 0xf2686da1 // vsub.f32 d22, d24, d17 .long 0xeecb8aaa // vdiv.f32 s17, s23, s21 .long 0xf301cdb6 // vmul.f32 d12, d17, d22 .long 0xee8b8a0a // vdiv.f32 s16, s22, s20 .long 0xeeccdaa9 // vdiv.f32 s27, s25, s19 .long 0xee8cda09 // vdiv.f32 s26, s24, s18 .long 0xf2416d8d // vadd.f32 d22, d17, d13 .long 0xf35891b6 // vbsl d25, d24, d22 .long 0xf2696da1 // vsub.f32 d22, d25, d17 .long 0xf307ddb6 // vmul.f32 d13, d23, d22 .long 0xf2646da1 // vsub.f32 d22, d20, d17 .long 0xeecdcaaa // vdiv.f32 s25, s27, s21 .long 0xee8dca0a // vdiv.f32 s24, s26, s20 .long 0xf301ddb6 // vmul.f32 d13, d17, d22 .long 0xf2418d8c // vadd.f32 d24, d17, d12 .long 0xeecdeaa9 // vdiv.f32 s29, s27, s19 .long 0xee8dea09 // vdiv.f32 s28, s26, s18 .long 0xf2416d8e // vadd.f32 d22, d17, d14 .long 0xf35431b6 // vbsl d19, d20, d22 .long 0xf2634da1 // vsub.f32 d20, d19, d17 .long 0xf3079db4 // vmul.f32 d9, d23, d20 .long 0xf3654ea0 // vcgt.f32 d20, d21, d16 .long 0xf2c75f10 // vmov.f32 d21, #1 .long 0xf2657d83 // vsub.f32 d23, d21, d3 .long 0xeec9daaa // vdiv.f32 s27, s19, s21 .long 0xee89da0a // vdiv.f32 s26, s18, s20 .long 0xf2655d87 // vsub.f32 d21, d21, d7 .long 0xf2416d8d // vadd.f32 d22, d17, d13 .long 0xf264f1b4 // vorr d31, d20, d20 .long 0xf2411d88 // vadd.f32 d17, d17, d8 .long 0xf345ad90 // vmul.f32 d26, d21, d0 .long 0xf356f1b3 // vbsl d31, d22, d19 .long 0xf26461b4 // vorr d22, d20, d20 .long 0xf347bd94 // vmul.f32 d27, d23, d4 .long 0xf345cd91 // vmul.f32 d28, d21, d1 .long 0xf3453d92 // vmul.f32 d19, d21, d2 .long 0xf3475d96 // vmul.f32 d21, d23, d6 .long 0xf347dd95 // vmul.f32 d29, d23, d5 .long 0xf35141b2 // vbsl d20, d17, d18 .long 0xf35861b9 // vbsl d22, d24, d25 .long 0xf2437d07 // vadd.f32 d23, d3, d7 .long 0xf24b8daa // vadd.f32 d24, d27, d26 .long 0xf24f1fae // vmax.f32 d17, d31, d30 .long 0xf24d2dac // vadd.f32 d18, d29, d28 .long 0xf2466fae // vmax.f32 d22, d22, d30 .long 0xf2453da3 // vadd.f32 d19, d21, d19 .long 0xf2444fae // vmax.f32 d20, d20, d30 .long 0xf2273da0 // vsub.f32 d3, d23, d16 .long 0xf2080da1 // vadd.f32 d0, d24, d17 .long 0xf2021da6 // vadd.f32 d1, d18, d22 .long 0xf2032da4 // vadd.f32 d2, d19, d20 .long 0xecbd8b0e // vpop {d8-d14} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_srcover_rgba_8888_vfp4 .globl _sk_srcover_rgba_8888_vfp4 FUNCTION(_sk_srcover_rgba_8888_vfp4) _sk_srcover_rgba_8888_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0x0a00002c // beq 13f8 .long 0xed9c4b00 // vldr d4, [ip] .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xeddf6b2f // vldr d22, [pc, #188] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe35e0001 // cmp lr, #1 .long 0xf3f82014 // vshr.u32 d18, d4, #8 .long 0xf3e84014 // vshr.u32 d20, d4, #24 .long 0xf2611d83 // vsub.f32 d17, d17, d3 .long 0xf24221b0 // vand d18, d18, d16 .long 0xf3f03014 // vshr.u32 d19, d4, #16 .long 0xf3bb7624 // vcvt.f32.s32 d7, d20 .long 0xf2445130 // vand d21, d4, d16 .long 0xf3033d36 // vmul.f32 d3, d3, d22 .long 0xf24301b0 // vand d16, d19, d16 .long 0xf3bb5622 // vcvt.f32.s32 d5, d18 .long 0xf3011d36 // vmul.f32 d1, d1, d22 .long 0xf3bb4625 // vcvt.f32.s32 d4, d21 .long 0xf3000d36 // vmul.f32 d0, d0, d22 .long 0xf3bb6620 // vcvt.f32.s32 d6, d16 .long 0xf2073c31 // vfma.f32 d3, d7, d17 .long 0xf3022d36 // vmul.f32 d2, d2, d22 .long 0xf2051c31 // vfma.f32 d1, d5, d17 .long 0xf2040c31 // vfma.f32 d0, d4, d17 .long 0xf2062c31 // vfma.f32 d2, d6, d17 .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xf2431d20 // vadd.f32 d17, d3, d16 .long 0xf2413d20 // vadd.f32 d19, d1, d16 .long 0xf2402d20 // vadd.f32 d18, d0, d16 .long 0xf2420d20 // vadd.f32 d16, d2, d16 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf3fb37a3 // vcvt.u32.f32 d19, d19 .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf3fb07a0 // vcvt.u32.f32 d16, d16 .long 0xf2f81531 // vshl.s32 d17, d17, #24 .long 0xf26111b2 // vorr d17, d17, d18 .long 0xf2e82533 // vshl.s32 d18, d19, #8 .long 0xf2f00530 // vshl.s32 d16, d16, #16 .long 0xf26111b2 // vorr d17, d17, d18 .long 0xf26101b0 // vorr d16, d17, d16 .long 0x0a000007 // beq 1404 .long 0xedcc0b00 // vstr d16, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xeddf4a06 // vldr s9, [pc, #24] .long 0xed9c4a00 // vldr s8, [ip] .long 0xeaffffd0 // b 1348 .long 0xf4cc083f // vst1.32 {d16[0]}, [ip :32] .long 0xeafffff6 // b 13e8 .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x00000000 // .word 0x00000000 HIDDEN _sk_clamp_0_vfp4 .globl _sk_clamp_0_vfp4 FUNCTION(_sk_clamp_0_vfp4) _sk_clamp_0_vfp4: .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2000f20 // vmax.f32 d0, d0, d16 .long 0xf2011f20 // vmax.f32 d1, d1, d16 .long 0xf2022f20 // vmax.f32 d2, d2, d16 .long 0xf2033f20 // vmax.f32 d3, d3, d16 .long 0xe12fff1c // bx ip HIDDEN _sk_clamp_1_vfp4 .globl _sk_clamp_1_vfp4 FUNCTION(_sk_clamp_1_vfp4) _sk_clamp_1_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2200f20 // vmin.f32 d0, d0, d16 .long 0xf2211f20 // vmin.f32 d1, d1, d16 .long 0xf2222f20 // vmin.f32 d2, d2, d16 .long 0xf2233f20 // vmin.f32 d3, d3, d16 .long 0xe12fff1c // bx ip HIDDEN _sk_clamp_a_vfp4 .globl _sk_clamp_a_vfp4 FUNCTION(_sk_clamp_a_vfp4) _sk_clamp_a_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2233f20 // vmin.f32 d3, d3, d16 .long 0xf2200f03 // vmin.f32 d0, d0, d3 .long 0xf2211f03 // vmin.f32 d1, d1, d3 .long 0xf2222f03 // vmin.f32 d2, d2, d3 .long 0xe12fff1c // bx ip HIDDEN _sk_clamp_a_dst_vfp4 .globl _sk_clamp_a_dst_vfp4 FUNCTION(_sk_clamp_a_dst_vfp4) _sk_clamp_a_dst_vfp4: .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2277f20 // vmin.f32 d7, d7, d16 .long 0xf2244f07 // vmin.f32 d4, d4, d7 .long 0xf2255f07 // vmin.f32 d5, d5, d7 .long 0xf2266f07 // vmin.f32 d6, d6, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_set_rgb_vfp4 .globl _sk_set_rgb_vfp4 FUNCTION(_sk_set_rgb_vfp4) _sk_set_rgb_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e4008 // add r4, lr, #8 .long 0xf4ae0c9d // vld1.32 {d0[]}, [lr :32]! .long 0xf4a42c9f // vld1.32 {d2[]}, [r4 :32] .long 0xf4ae1c9f // vld1.32 {d1[]}, [lr :32] .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_swap_rb_vfp4 .globl _sk_swap_rb_vfp4 FUNCTION(_sk_swap_rb_vfp4) _sk_swap_rb_vfp4: .long 0xeef00b40 // vmov.f64 d16, d0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeeb00b42 // vmov.f64 d0, d2 .long 0xeeb02b60 // vmov.f64 d2, d16 .long 0xe12fff1c // bx ip HIDDEN _sk_move_src_dst_vfp4 .globl _sk_move_src_dst_vfp4 FUNCTION(_sk_move_src_dst_vfp4) _sk_move_src_dst_vfp4: .long 0xeeb04b40 // vmov.f64 d4, d0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeeb05b41 // vmov.f64 d5, d1 .long 0xeeb06b42 // vmov.f64 d6, d2 .long 0xeeb07b43 // vmov.f64 d7, d3 .long 0xe12fff1c // bx ip HIDDEN _sk_move_dst_src_vfp4 .globl _sk_move_dst_src_vfp4 FUNCTION(_sk_move_dst_src_vfp4) _sk_move_dst_src_vfp4: .long 0xeeb00b44 // vmov.f64 d0, d4 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeeb01b45 // vmov.f64 d1, d5 .long 0xeeb02b46 // vmov.f64 d2, d6 .long 0xeeb03b47 // vmov.f64 d3, d7 .long 0xe12fff1c // bx ip HIDDEN _sk_premul_vfp4 .globl _sk_premul_vfp4 FUNCTION(_sk_premul_vfp4) _sk_premul_vfp4: .long 0xf3000d13 // vmul.f32 d0, d0, d3 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3011d13 // vmul.f32 d1, d1, d3 .long 0xf3022d13 // vmul.f32 d2, d2, d3 .long 0xe12fff1c // bx ip HIDDEN _sk_unpremul_vfp4 .globl _sk_unpremul_vfp4 FUNCTION(_sk_unpremul_vfp4) _sk_unpremul_vfp4: .long 0xed2d8b04 // vpush {d8-d9} .long 0xeeb78a00 // vmov.f32 s16, #112 .long 0xf3f91503 // vceq.f32 d17, d3, #0 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeec89a23 // vdiv.f32 s19, s16, s7 .long 0xee889a03 // vdiv.f32 s18, s16, s6 .long 0xf3501199 // vbsl d17, d16, d9 .long 0xf3010d90 // vmul.f32 d0, d17, d0 .long 0xf3011d91 // vmul.f32 d1, d17, d1 .long 0xf3012d92 // vmul.f32 d2, d17, d2 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe12fff1c // bx ip HIDDEN _sk_from_srgb_vfp4 .globl _sk_from_srgb_vfp4 FUNCTION(_sk_from_srgb_vfp4) _sk_from_srgb_vfp4: .long 0xeddf3b20 // vldr d19, [pc, #128] .long 0xf3408d10 // vmul.f32 d24, d0, d0 .long 0xeddf0b1c // vldr d16, [pc, #112] .long 0xf26341b3 // vorr d20, d19, d19 .long 0xf26351b3 // vorr d21, d19, d19 .long 0xeddf9b1f // vldr d25, [pc, #124] .long 0xf2404c30 // vfma.f32 d20, d0, d16 .long 0xeddf2b1b // vldr d18, [pc, #108] .long 0xf2415c30 // vfma.f32 d21, d1, d16 .long 0xeddfcb1d // vldr d28, [pc, #116] .long 0xf2423c30 // vfma.f32 d19, d2, d16 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3426d12 // vmul.f32 d22, d2, d2 .long 0xf3417d11 // vmul.f32 d23, d1, d1 .long 0xf3620e80 // vcgt.f32 d16, d18, d0 .long 0xf3621e81 // vcgt.f32 d17, d18, d1 .long 0xf341ad39 // vmul.f32 d26, d1, d25 .long 0xf342bd39 // vmul.f32 d27, d2, d25 .long 0xf3622e82 // vcgt.f32 d18, d18, d2 .long 0xf3409d39 // vmul.f32 d25, d0, d25 .long 0xf26cd1bc // vorr d29, d28, d28 .long 0xf248dcb4 // vfma.f32 d29, d24, d20 .long 0xf26c41bc // vorr d20, d28, d28 .long 0xf2474cb5 // vfma.f32 d20, d23, d21 .long 0xf246ccb3 // vfma.f32 d28, d22, d19 .long 0xf35901bd // vbsl d16, d25, d29 .long 0xf35a11b4 // vbsl d17, d26, d20 .long 0xf35b21bc // vbsl d18, d27, d28 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xe12fff1c // bx ip .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a HIDDEN _sk_from_srgb_dst_vfp4 .globl _sk_from_srgb_dst_vfp4 FUNCTION(_sk_from_srgb_dst_vfp4) _sk_from_srgb_dst_vfp4: .long 0xeddf3b20 // vldr d19, [pc, #128] .long 0xf3448d14 // vmul.f32 d24, d4, d4 .long 0xeddf0b1c // vldr d16, [pc, #112] .long 0xf26341b3 // vorr d20, d19, d19 .long 0xf26351b3 // vorr d21, d19, d19 .long 0xeddf9b1f // vldr d25, [pc, #124] .long 0xf2444c30 // vfma.f32 d20, d4, d16 .long 0xeddf2b1b // vldr d18, [pc, #108] .long 0xf2455c30 // vfma.f32 d21, d5, d16 .long 0xeddfcb1d // vldr d28, [pc, #116] .long 0xf2463c30 // vfma.f32 d19, d6, d16 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3466d16 // vmul.f32 d22, d6, d6 .long 0xf3457d15 // vmul.f32 d23, d5, d5 .long 0xf3620e84 // vcgt.f32 d16, d18, d4 .long 0xf3621e85 // vcgt.f32 d17, d18, d5 .long 0xf345ad39 // vmul.f32 d26, d5, d25 .long 0xf346bd39 // vmul.f32 d27, d6, d25 .long 0xf3622e86 // vcgt.f32 d18, d18, d6 .long 0xf3449d39 // vmul.f32 d25, d4, d25 .long 0xf26cd1bc // vorr d29, d28, d28 .long 0xf248dcb4 // vfma.f32 d29, d24, d20 .long 0xf26c41bc // vorr d20, d28, d28 .long 0xf2474cb5 // vfma.f32 d20, d23, d21 .long 0xf246ccb3 // vfma.f32 d28, d22, d19 .long 0xf35901bd // vbsl d16, d25, d29 .long 0xf35a11b4 // vbsl d17, d26, d20 .long 0xf35b21bc // vbsl d18, d27, d28 .long 0xf22041b0 // vorr d4, d16, d16 .long 0xf22151b1 // vorr d5, d17, d17 .long 0xf22261b2 // vorr d6, d18, d18 .long 0xe12fff1c // bx ip .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a HIDDEN _sk_to_srgb_vfp4 .globl _sk_to_srgb_vfp4 FUNCTION(_sk_to_srgb_vfp4) _sk_to_srgb_vfp4: .long 0xf3fb0580 // vrsqrte.f32 d16, d0 .long 0xeddf9b3b // vldr d25, [pc, #236] .long 0xf3fb1581 // vrsqrte.f32 d17, d1 .long 0xeddf7b37 // vldr d23, [pc, #220] .long 0xf3fb2582 // vrsqrte.f32 d18, d2 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf269a1b9 // vorr d26, d25, d25 .long 0xf269c1b9 // vorr d28, d25, d25 .long 0xf3403db0 // vmul.f32 d19, d16, d16 .long 0xf3414db1 // vmul.f32 d20, d17, d17 .long 0xf3425db2 // vmul.f32 d21, d18, d18 .long 0xf2603f33 // vrsqrts.f32 d19, d0, d19 .long 0xf2614f34 // vrsqrts.f32 d20, d1, d20 .long 0xf2625f35 // vrsqrts.f32 d21, d2, d21 .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xeddf3b29 // vldr d19, [pc, #164] .long 0xf3411db4 // vmul.f32 d17, d17, d20 .long 0xf3422db5 // vmul.f32 d18, d18, d21 .long 0xf2404da3 // vadd.f32 d20, d16, d19 .long 0xf2415da3 // vadd.f32 d21, d17, d19 .long 0xf2423da3 // vadd.f32 d19, d18, d19 .long 0xf240acb7 // vfma.f32 d26, d16, d23 .long 0xf3fb6524 // vrecpe.f32 d22, d20 .long 0xf3fb8525 // vrecpe.f32 d24, d21 .long 0xf3fbb523 // vrecpe.f32 d27, d19 .long 0xf241ccb7 // vfma.f32 d28, d17, d23 .long 0xf2429cb7 // vfma.f32 d25, d18, d23 .long 0xeddf7b23 // vldr d23, [pc, #140] .long 0xf2455fb8 // vrecps.f32 d21, d21, d24 .long 0xf2444fb6 // vrecps.f32 d20, d20, d22 .long 0xf2433fbb // vrecps.f32 d19, d19, d27 .long 0xf267d1b7 // vorr d29, d23, d23 .long 0xf240dcba // vfma.f32 d29, d16, d26 .long 0xf267a1b7 // vorr d26, d23, d23 .long 0xf241acbc // vfma.f32 d26, d17, d28 .long 0xf2427cb9 // vfma.f32 d23, d18, d25 .long 0xeddf2b1e // vldr d18, [pc, #120] .long 0xf3620e80 // vcgt.f32 d16, d18, d0 .long 0xf3485db5 // vmul.f32 d21, d24, d21 .long 0xeddf8b19 // vldr d24, [pc, #100] .long 0xf3464db4 // vmul.f32 d20, d22, d20 .long 0xf34b3db3 // vmul.f32 d19, d27, d19 .long 0xf3621e81 // vcgt.f32 d17, d18, d1 .long 0xf3406d38 // vmul.f32 d22, d0, d24 .long 0xf3419d38 // vmul.f32 d25, d1, d24 .long 0xf3622e82 // vcgt.f32 d18, d18, d2 .long 0xf3428d38 // vmul.f32 d24, d2, d24 .long 0xf34d4db4 // vmul.f32 d20, d29, d20 .long 0xf34a5db5 // vmul.f32 d21, d26, d21 .long 0xf3473db3 // vmul.f32 d19, d23, d19 .long 0xf35601b4 // vbsl d16, d22, d20 .long 0xf35911b5 // vbsl d17, d25, d21 .long 0xf35821b3 // vbsl d18, d24, d19 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22221b2 // vorr d2, d18, d18 .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3e10c64c // .word 0x3e10c64c .long 0x3e10c64c // .word 0x3e10c64c .long 0xbb20d739 // .word 0xbb20d739 .long 0xbb20d739 // .word 0xbb20d739 .long 0x3c629fba // .word 0x3c629fba .long 0x3c629fba // .word 0x3c629fba .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x414eb852 // .word 0x414eb852 .long 0x414eb852 // .word 0x414eb852 .long 0x3b98b1a8 // .word 0x3b98b1a8 .long 0x3b98b1a8 // .word 0x3b98b1a8 HIDDEN _sk_rgb_to_hsl_vfp4 .globl _sk_rgb_to_hsl_vfp4 FUNCTION(_sk_rgb_to_hsl_vfp4) _sk_rgb_to_hsl_vfp4: .long 0xed2d8b08 // vpush {d8-d11} .long 0xf2401f01 // vmax.f32 d17, d0, d1 .long 0xeddf9b2c // vldr d25, [pc, #176] .long 0xf2600f01 // vmin.f32 d16, d0, d1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xeeb78a00 // vmov.f32 s16, #112 .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xf2411f82 // vmax.f32 d17, d17, d2 .long 0xf2602f82 // vmin.f32 d18, d16, d2 .long 0xf2c45610 // vmov.i32 d21, #1073741824 .long 0xf2607d01 // vsub.f32 d23, d0, d1 .long 0xf2656da1 // vsub.f32 d22, d21, d17 .long 0xf221ada2 // vsub.f32 d10, d17, d18 .long 0xf2413da2 // vadd.f32 d19, d17, d18 .long 0xf2c08010 // vmov.i32 d24, #0 .long 0xf2666da2 // vsub.f32 d22, d22, d18 .long 0xf241ae80 // vceq.f32 d26, d17, d0 .long 0xeec8ba2a // vdiv.f32 s23, s16, s21 .long 0xf3430db4 // vmul.f32 d16, d19, d20 .long 0xee88ba0a // vdiv.f32 s22, s16, s20 .long 0xf3209ea4 // vcgt.f32 d9, d16, d20 .long 0xf2614d02 // vsub.f32 d20, d1, d2 .long 0xf3477d9b // vmul.f32 d23, d23, d11 .long 0xf31691b3 // vbsl d9, d22, d19 .long 0xf2623d00 // vsub.f32 d19, d2, d0 .long 0xf3626e01 // vcgt.f32 d22, d2, d1 .long 0xeeca8aa9 // vdiv.f32 s17, s21, s19 .long 0xee8a8a09 // vdiv.f32 s16, s20, s18 .long 0xf3433d9b // vmul.f32 d19, d19, d11 .long 0xf3444d9b // vmul.f32 d20, d20, d11 .long 0xf35961b8 // vbsl d22, d25, d24 .long 0xf2419e81 // vceq.f32 d25, d17, d1 .long 0xf2011ea2 // vceq.f32 d1, d17, d18 .long 0xf2433da5 // vadd.f32 d19, d19, d21 .long 0xf2c15f10 // vmov.f32 d21, #4 .long 0xf2464da4 // vadd.f32 d20, d22, d20 .long 0xf2471da5 // vadd.f32 d17, d23, d21 .long 0xf35391b1 // vbsl d25, d19, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf2612111 // vorr d18, d1, d1 .long 0xf354a1b9 // vbsl d26, d20, d25 .long 0xf35821ba // vbsl d18, d24, d26 .long 0xf3181198 // vbsl d1, d24, d8 .long 0xf3020db1 // vmul.f32 d0, d18, d17 .long 0xf22021b0 // vorr d2, d16, d16 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x40c00000 // .word 0x40c00000 .long 0x40c00000 // .word 0x40c00000 .long 0x3e2aaaab // .word 0x3e2aaaab .long 0x3e2aaaab // .word 0x3e2aaaab HIDDEN _sk_hsl_to_rgb_vfp4 .globl _sk_hsl_to_rgb_vfp4 FUNCTION(_sk_hsl_to_rgb_vfp4) _sk_hsl_to_rgb_vfp4: .long 0xed2d8b02 // vpush {d8} .long 0xeddf0b51 // vldr d16, [pc, #324] .long 0xf3fb2700 // vcvt.s32.f32 d18, d0 .long 0xeddf1b51 // vldr d17, [pc, #324] .long 0xf2400d20 // vadd.f32 d16, d0, d16 .long 0xf2401d21 // vadd.f32 d17, d0, d17 .long 0xeddfab50 // vldr d26, [pc, #320] .long 0xf3416d12 // vmul.f32 d22, d1, d2 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb3720 // vcvt.s32.f32 d19, d16 .long 0xf3fb4721 // vcvt.s32.f32 d20, d17 .long 0xf2c3761f // vmov.i32 d23, #1056964608 .long 0xf3625e80 // vcgt.f32 d21, d18, d0 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3fb4624 // vcvt.f32.s32 d20, d20 .long 0xf2c08010 // vmov.i32 d24, #0 .long 0xf35a51b8 // vbsl d21, d26, d24 .long 0xf3639ea0 // vcgt.f32 d25, d19, d16 .long 0xf364bea1 // vcgt.f32 d27, d20, d17 .long 0xf342ce27 // vcge.f32 d28, d2, d23 .long 0xf261dd26 // vsub.f32 d29, d1, d22 .long 0xf35a91b8 // vbsl d25, d26, d24 .long 0xf35ab1b8 // vbsl d27, d26, d24 .long 0xf2622da5 // vsub.f32 d18, d18, d21 .long 0xf2633da9 // vsub.f32 d19, d19, d25 .long 0xf2644dab // vsub.f32 d20, d20, d27 .long 0xf35dc1b6 // vbsl d28, d29, d22 .long 0xeddfdb3c // vldr d29, [pc, #240] .long 0xf2602d22 // vsub.f32 d18, d0, d18 .long 0xf2600da3 // vsub.f32 d16, d16, d19 .long 0xf2c15f18 // vmov.f32 d21, #6 .long 0xf2426d02 // vadd.f32 d22, d2, d2 .long 0xf24c8d82 // vadd.f32 d24, d28, d2 .long 0xf2611da4 // vsub.f32 d17, d17, d20 .long 0xf3423db5 // vmul.f32 d19, d18, d21 .long 0xf3409db5 // vmul.f32 d25, d16, d21 .long 0xf2664da8 // vsub.f32 d20, d22, d24 .long 0xf3415db5 // vmul.f32 d21, d17, d21 .long 0xf2c16f10 // vmov.f32 d22, #4 .long 0xf342eead // vcge.f32 d30, d18, d29 .long 0xf266ada3 // vsub.f32 d26, d22, d19 .long 0xf268bda4 // vsub.f32 d27, d24, d20 .long 0xf266cda9 // vsub.f32 d28, d22, d25 .long 0xf2666da5 // vsub.f32 d22, d22, d21 .long 0xf340fead // vcge.f32 d31, d16, d29 .long 0xf34badba // vmul.f32 d26, d27, d26 .long 0xf341dead // vcge.f32 d29, d17, d29 .long 0xf34bcdbc // vmul.f32 d28, d27, d28 .long 0xf34b6db6 // vmul.f32 d22, d27, d22 .long 0xf244adaa // vadd.f32 d26, d20, d26 .long 0xf3020ea7 // vcge.f32 d0, d18, d23 .long 0xf3008ea7 // vcge.f32 d8, d16, d23 .long 0xf354e1ba // vbsl d30, d20, d26 .long 0xeddfab24 // vldr d26, [pc, #144] .long 0xf244cdac // vadd.f32 d28, d20, d28 .long 0xf2446da6 // vadd.f32 d22, d20, d22 .long 0xf34b3db3 // vmul.f32 d19, d27, d19 .long 0xf34b9db9 // vmul.f32 d25, d27, d25 .long 0xf3417ea7 // vcge.f32 d23, d17, d23 .long 0xf354d1b6 // vbsl d29, d20, d22 .long 0xf354f1bc // vbsl d31, d20, d28 .long 0xf3406eaa // vcge.f32 d22, d16, d26 .long 0xf3422eaa // vcge.f32 d18, d18, d26 .long 0xf34b5db5 // vmul.f32 d21, d27, d21 .long 0xf3411eaa // vcge.f32 d17, d17, d26 .long 0xf31e01b8 // vbsl d0, d30, d24 .long 0xf31f81b8 // vbsl d8, d31, d24 .long 0xf2440da3 // vadd.f32 d16, d20, d19 .long 0xf2443da9 // vadd.f32 d19, d20, d25 .long 0xf3502130 // vbsl d18, d0, d16 .long 0xf3f90501 // vceq.f32 d16, d1, #0 .long 0xf35d71b8 // vbsl d23, d29, d24 .long 0xf3586133 // vbsl d22, d8, d19 .long 0xf22011b0 // vorr d1, d16, d16 .long 0xf2444da5 // vadd.f32 d20, d20, d21 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf3520136 // vbsl d16, d2, d22 .long 0xf35711b4 // vbsl d17, d23, d20 .long 0xf3121132 // vbsl d1, d2, d18 .long 0xf3120131 // vbsl d0, d2, d17 .long 0xf22021b0 // vorr d2, d16, d16 .long 0xecbd8b02 // vpop {d8} .long 0xe12fff1c // bx ip .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3e2aaaab // .word 0x3e2aaaab .long 0x3e2aaaab // .word 0x3e2aaaab HIDDEN _sk_scale_1_float_vfp4 .globl _sk_scale_1_float_vfp4 FUNCTION(_sk_scale_1_float_vfp4) _sk_scale_1_float_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee0c9f // vld1.32 {d16[]}, [lr :32] .long 0xf3000d90 // vmul.f32 d0, d16, d0 .long 0xf3001d91 // vmul.f32 d1, d16, d1 .long 0xf3002d92 // vmul.f32 d2, d16, d2 .long 0xf3003d93 // vmul.f32 d3, d16, d3 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_scale_u8_vfp4 .globl _sk_scale_u8_vfp4 FUNCTION(_sk_scale_u8_vfp4) _sk_scale_u8_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b04 // vpush {d8-d9} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de020 // ldr lr, [sp, #32] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a000014 // beq 1a98 .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b4 // strh ip, [sp, #4] .long 0xe28dc004 // add ip, sp, #4 .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3908a30 // vmovl.u16 q4, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b10 // vldr d17, [pc, #64] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2480130 // vand d16, d8, d16 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf3000d90 // vmul.f32 d0, d16, d0 .long 0xf3001d91 // vmul.f32 d1, d16, d1 .long 0xf3002d92 // vmul.f32 d2, d16, d2 .long 0xf3003d93 // vmul.f32 d3, d16, d3 .long 0xe28dd008 // add sp, sp, #8 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf8a03 // vldr s17, [pc, #12] .long 0xee08ca10 // vmov s16, ip .long 0xeaffffec // b 1a5c .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 HIDDEN _sk_lerp_1_float_vfp4 .globl _sk_lerp_1_float_vfp4 FUNCTION(_sk_lerp_1_float_vfp4) _sk_lerp_1_float_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2600d04 // vsub.f32 d16, d0, d4 .long 0xf2611d05 // vsub.f32 d17, d1, d5 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2622d06 // vsub.f32 d18, d2, d6 .long 0xe2811008 // add r1, r1, #8 .long 0xf2633d07 // vsub.f32 d19, d3, d7 .long 0xf4ee4c9f // vld1.32 {d20[]}, [lr :32] .long 0xf2240114 // vorr d0, d4, d4 .long 0xf2251115 // vorr d1, d5, d5 .long 0xf2262116 // vorr d2, d6, d6 .long 0xf2273117 // vorr d3, d7, d7 .long 0xf2000cb4 // vfma.f32 d0, d16, d20 .long 0xf2011cb4 // vfma.f32 d1, d17, d20 .long 0xf2022cb4 // vfma.f32 d2, d18, d20 .long 0xf2033cb4 // vfma.f32 d3, d19, d20 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_lerp_u8_vfp4 .globl _sk_lerp_u8_vfp4 FUNCTION(_sk_lerp_u8_vfp4) _sk_lerp_u8_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b04 // vpush {d8-d9} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de020 // ldr lr, [sp, #32] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a00001e // beq 1ba0 .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b4 // strh ip, [sp, #4] .long 0xe28dc004 // add ip, sp, #4 .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3908a30 // vmovl.u16 q4, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b1a // vldr d17, [pc, #104] .long 0xf2602d04 // vsub.f32 d18, d0, d4 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xf2480130 // vand d16, d8, d16 .long 0xe281c008 // add ip, r1, #8 .long 0xf2623d06 // vsub.f32 d19, d2, d6 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xe1a0100c // mov r1, ip .long 0xf2634d07 // vsub.f32 d20, d3, d7 .long 0xe1a0c00e // mov ip, lr .long 0xf2240114 // vorr d0, d4, d4 .long 0xf2262116 // vorr d2, d6, d6 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf2611d05 // vsub.f32 d17, d1, d5 .long 0xf2251115 // vorr d1, d5, d5 .long 0xf2273117 // vorr d3, d7, d7 .long 0xf2020cb0 // vfma.f32 d0, d18, d16 .long 0xf2011cb0 // vfma.f32 d1, d17, d16 .long 0xf2032cb0 // vfma.f32 d2, d19, d16 .long 0xf2043cb0 // vfma.f32 d3, d20, d16 .long 0xe28dd008 // add sp, sp, #8 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf8a03 // vldr s17, [pc, #12] .long 0xee08ca10 // vmov s16, ip .long 0xeaffffe2 // b 1b3c .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_lerp_565_vfp4 .globl _sk_lerp_565_vfp4 FUNCTION(_sk_lerp_565_vfp4) _sk_lerp_565_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b04 // vpush {d8-d9} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de020 // ldr lr, [sp, #32] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0x0a00002e // beq 1ca0 .long 0xe59cc000 // ldr ip, [ip] .long 0xe58dc004 // str ip, [sp, #4] .long 0xe28dc004 // add ip, sp, #4 .long 0xf4ec083f // vld1.32 {d16[0]}, [ip :32] .long 0xf3908a30 // vmovl.u16 q4, d16 .long 0xf2c1001f // vmov.i32 d16, #31 .long 0xe3a0ce7e // mov ip, #2016 .long 0xee82cb90 // vdup.32 d18, ip .long 0xf3c71218 // vmov.i32 d17, #63488 .long 0xf2480130 // vand d16, d8, d16 .long 0xeddf3b27 // vldr d19, [pc, #156] .long 0xf2482132 // vand d18, d8, d18 .long 0xeddf4b27 // vldr d20, [pc, #156] .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xe281c008 // add ip, r1, #8 .long 0xf2481131 // vand d17, d8, d17 .long 0xf2635d07 // vsub.f32 d21, d3, d7 .long 0xe1a0100c // mov r1, ip .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xe1a0c00e // mov ip, lr .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xeddf3b1e // vldr d19, [pc, #120] .long 0xf3422db4 // vmul.f32 d18, d18, d20 .long 0xf2674117 // vorr d20, d7, d7 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf2673117 // vorr d19, d7, d7 .long 0xf2453cb0 // vfma.f32 d19, d21, d16 .long 0xf2454cb2 // vfma.f32 d20, d21, d18 .long 0xf2679117 // vorr d25, d7, d7 .long 0xf2628d06 // vsub.f32 d24, d2, d6 .long 0xf2459cb1 // vfma.f32 d25, d21, d17 .long 0xf2262116 // vorr d2, d6, d6 .long 0xf2606d04 // vsub.f32 d22, d0, d4 .long 0xf2617d05 // vsub.f32 d23, d1, d5 .long 0xf2082cb0 // vfma.f32 d2, d24, d16 .long 0xf2440fa3 // vmax.f32 d16, d20, d19 .long 0xf2240114 // vorr d0, d4, d4 .long 0xf2251115 // vorr d1, d5, d5 .long 0xf2060cb1 // vfma.f32 d0, d22, d17 .long 0xf2071cb2 // vfma.f32 d1, d23, d18 .long 0xf2093fa0 // vmax.f32 d3, d25, d16 .long 0xe28dd008 // add sp, sp, #8 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xeddf8a07 // vldr s17, [pc, #28] .long 0xee08ca10 // vmov s16, ip .long 0xeaffffd1 // b 1bf8 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_tables_vfp4 .globl _sk_load_tables_vfp4 FUNCTION(_sk_load_tables_vfp4) _sk_load_tables_vfp4: .long 0xe92d47f0 // push {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59d4020 // ldr r4, [sp, #32] .long 0xe59ce000 // ldr lr, [ip] .long 0xe3540001 // cmp r4, #1 .long 0xe08ee102 // add lr, lr, r2, lsl #2 .long 0x0a000023 // beq 1d7c .long 0xed9e0b00 // vldr d0, [lr] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe59c7004 // ldr r7, [ip, #4] .long 0xf3f01010 // vshr.u32 d17, d0, #16 .long 0xe59c6008 // ldr r6, [ip, #8] .long 0xf3f82010 // vshr.u32 d18, d0, #8 .long 0xe59c400c // ldr r4, [ip, #12] .long 0xf24111b0 // vand d17, d17, d16 .long 0xf24221b0 // vand d18, d18, d16 .long 0xf2400130 // vand d16, d0, d16 .long 0xee319b90 // vmov.32 r9, d17[1] .long 0xee32eb90 // vmov.32 lr, d18[1] .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xee108b90 // vmov.32 r8, d16[0] .long 0xf3e80010 // vshr.u32 d16, d0, #24 .long 0xee12cb90 // vmov.32 ip, d18[0] .long 0xee11ab90 // vmov.32 sl, d17[0] .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xeddf1b13 // vldr d17, [pc, #76] .long 0xf3003db1 // vmul.f32 d3, d16, d17 .long 0xe0849109 // add r9, r4, r9, lsl #2 .long 0xe086e10e // add lr, r6, lr, lsl #2 .long 0xe0875105 // add r5, r7, r5, lsl #2 .long 0xedd92a00 // vldr s5, [r9] .long 0xedde1a00 // vldr s3, [lr] .long 0xedd50a00 // vldr s1, [r5] .long 0xe0875108 // add r5, r7, r8, lsl #2 .long 0xe086710c // add r7, r6, ip, lsl #2 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xed950a00 // vldr s0, [r5] .long 0xe2811008 // add r1, r1, #8 .long 0xed971a00 // vldr s2, [r7] .long 0xe084710a // add r7, r4, sl, lsl #2 .long 0xed972a00 // vldr s4, [r7] .long 0xe8bd47f0 // pop {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe12fff1c // bx ip .long 0xeddf0a03 // vldr s1, [pc, #12] .long 0xed9e0a00 // vldr s0, [lr] .long 0xeaffffd9 // b 1cf0 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_tables_u16_be_vfp4 .globl _sk_load_tables_u16_be_vfp4 FUNCTION(_sk_load_tables_u16_be_vfp4) _sk_load_tables_u16_be_vfp4: .long 0xe92d47f0 // push {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59d4020 // ldr r4, [sp, #32] .long 0xe59ce000 // ldr lr, [ip] .long 0xe3540000 // cmp r4, #0 .long 0xe08ee182 // add lr, lr, r2, lsl #3 .long 0xf4ee070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [lr] .long 0x1a000001 // bne 1dc0 .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e4074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r4] .long 0xee924bb0 // vmov.u16 r4, d18[0] .long 0xf3c7701f // vmov.i32 d23, #255 .long 0xee905bb0 // vmov.u16 r5, d16[0] .long 0xee91ebb0 // vmov.u16 lr, d17[0] .long 0xee926bf0 // vmov.u16 r6, d18[1] .long 0xee908bf0 // vmov.u16 r8, d16[1] .long 0xee917bf0 // vmov.u16 r7, d17[1] .long 0xee044b90 // vmov.32 d20[0], r4 .long 0xe59c400c // ldr r4, [ip, #12] .long 0xee065b90 // vmov.32 d22[0], r5 .long 0xee05eb90 // vmov.32 d21[0], lr .long 0xee246b90 // vmov.32 d20[1], r6 .long 0xee936bb0 // vmov.u16 r6, d19[0] .long 0xee268b90 // vmov.32 d22[1], r8 .long 0xee257b90 // vmov.32 d21[1], r7 .long 0xee937bf0 // vmov.u16 r7, d19[1] .long 0xf24621b7 // vand d18, d22, d23 .long 0xf24401b7 // vand d16, d20, d23 .long 0xf24511b7 // vand d17, d21, d23 .long 0xee32eb90 // vmov.32 lr, d18[1] .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xee319b90 // vmov.32 r9, d17[1] .long 0xee128b90 // vmov.32 r8, d18[0] .long 0xf3c72c1f // vmov.i32 d18, #65535 .long 0xee036b90 // vmov.32 d19[0], r6 .long 0xe59c6008 // ldr r6, [ip, #8] .long 0xee237b90 // vmov.32 d19[1], r7 .long 0xe59c7004 // ldr r7, [ip, #4] .long 0xee11cb90 // vmov.32 ip, d17[0] .long 0xf24311b2 // vand d17, d19, d18 .long 0xe084a105 // add sl, r4, r5, lsl #2 .long 0xe087510e // add r5, r7, lr, lsl #2 .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xf2e80533 // vshl.s32 d16, d19, #8 .long 0xf3f81031 // vshr.u32 d17, d17, #8 .long 0xe0869109 // add r9, r6, r9, lsl #2 .long 0xedd50a00 // vldr s1, [r5] .long 0xe0875108 // add r5, r7, r8, lsl #2 .long 0xf26001b1 // vorr d16, d16, d17 .long 0xedd91a00 // vldr s3, [r9] .long 0xeddf1b0c // vldr d17, [pc, #48] .long 0xf24001b2 // vand d16, d16, d18 .long 0xedda2a00 // vldr s5, [sl] .long 0xed950a00 // vldr s0, [r5] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3003db1 // vmul.f32 d3, d16, d17 .long 0xe086710c // add r7, r6, ip, lsl #2 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xed971a00 // vldr s2, [r7] .long 0xe084710e // add r7, r4, lr, lsl #2 .long 0xed972a00 // vldr s4, [r7] .long 0xe8bd47f0 // pop {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe12fff1c // bx ip .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 HIDDEN _sk_load_tables_rgb_u16_be_vfp4 .globl _sk_load_tables_rgb_u16_be_vfp4 FUNCTION(_sk_load_tables_rgb_u16_be_vfp4) _sk_load_tables_rgb_u16_be_vfp4: .long 0xe92d47f0 // push {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe0824082 // add r4, r2, r2, lsl #1 .long 0xe59ce000 // ldr lr, [ip] .long 0xe08ee084 // add lr, lr, r4, lsl #1 .long 0xe59d4020 // ldr r4, [sp, #32] .long 0xf4ee060f // vld3.16 {d16[0],d17[0],d18[0]}, [lr] .long 0xe3540000 // cmp r4, #0 .long 0x1a000001 // bne 1ecc .long 0xe28e4006 // add r4, lr, #6 .long 0xf4e4064f // vld3.16 {d16[1],d17[1],d18[1]}, [r4] .long 0xee924bb0 // vmov.u16 r4, d18[0] .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xee905bb0 // vmov.u16 r5, d16[0] .long 0xee908bf0 // vmov.u16 r8, d16[1] .long 0xf3c7301f // vmov.i32 d19, #255 .long 0xee926bf0 // vmov.u16 r6, d18[1] .long 0xee91ebb0 // vmov.u16 lr, d17[0] .long 0xee917bf0 // vmov.u16 r7, d17[1] .long 0xee004b90 // vmov.32 d16[0], r4 .long 0xee025b90 // vmov.32 d18[0], r5 .long 0xee206b90 // vmov.32 d16[1], r6 .long 0xe99c0070 // ldmib ip, {r4, r5, r6} .long 0xee228b90 // vmov.32 d18[1], r8 .long 0xf24001b3 // vand d16, d16, d19 .long 0xee01eb90 // vmov.32 d17[0], lr .long 0xf24221b3 // vand d18, d18, d19 .long 0xee217b90 // vmov.32 d17[1], r7 .long 0xee307b90 // vmov.32 r7, d16[1] .long 0xf24111b3 // vand d17, d17, d19 .long 0xee328b90 // vmov.32 r8, d18[1] .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee319b90 // vmov.32 r9, d17[1] .long 0xee11cb90 // vmov.32 ip, d17[0] .long 0xe086a107 // add sl, r6, r7, lsl #2 .long 0xe0847108 // add r7, r4, r8, lsl #2 .long 0xee108b90 // vmov.32 r8, d16[0] .long 0xedda2a00 // vldr s5, [sl] .long 0xe0859109 // add r9, r5, r9, lsl #2 .long 0xedd70a00 // vldr s1, [r7] .long 0xe084710e // add r7, r4, lr, lsl #2 .long 0xedd91a00 // vldr s3, [r9] .long 0xed970a00 // vldr s0, [r7] .long 0xe085710c // add r7, r5, ip, lsl #2 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xed971a00 // vldr s2, [r7] .long 0xe0867108 // add r7, r6, r8, lsl #2 .long 0xed972a00 // vldr s4, [r7] .long 0xe8bd47f0 // pop {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_byte_tables_vfp4 .globl _sk_byte_tables_vfp4 FUNCTION(_sk_byte_tables_vfp4) _sk_byte_tables_vfp4: .long 0xe92d47f0 // push {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xeddf0b37 // vldr d16, [pc, #220] .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xf2413c30 // vfma.f32 d19, d1, d16 .long 0xe8911020 // ldm r1, {r5, ip} .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2422c30 // vfma.f32 d18, d2, d16 .long 0xe2811008 // add r1, r1, #8 .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xe89504c0 // ldm r5, {r6, r7, sl} .long 0xf2404c30 // vfma.f32 d20, d0, d16 .long 0xe595900c // ldr r9, [r5, #12] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xf3fb37a3 // vcvt.u32.f32 d19, d19 .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf3fb47a4 // vcvt.u32.f32 d20, d20 .long 0xee138b90 // vmov.32 r8, d19[0] .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee144b90 // vmov.32 r4, d20[0] .long 0xe7d75008 // ldrb r5, [r7, r8] .long 0xe7dae00e // ldrb lr, [sl, lr] .long 0xee055b90 // vmov.32 d21[0], r5 .long 0xe7d64004 // ldrb r4, [r6, r4] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xee04eb90 // vmov.32 d20[0], lr .long 0xee014b90 // vmov.32 d17[0], r4 .long 0xee104b90 // vmov.32 r4, d16[0] .long 0xe7d6e005 // ldrb lr, [r6, r5] .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee326b90 // vmov.32 r6, d18[1] .long 0xf3c7201f // vmov.i32 d18, #255 .long 0xee21eb90 // vmov.32 d17[1], lr .long 0xe7d94004 // ldrb r4, [r9, r4] .long 0xf24111b2 // vand d17, d17, d18 .long 0xf3fb16a1 // vcvt.f32.u32 d17, d17 .long 0xe7d75005 // ldrb r5, [r7, r5] .long 0xee307b90 // vmov.32 r7, d16[1] .long 0xee004b90 // vmov.32 d16[0], r4 .long 0xee255b90 // vmov.32 d21[1], r5 .long 0xe7da5006 // ldrb r5, [sl, r6] .long 0xf24531b2 // vand d19, d21, d18 .long 0xee245b90 // vmov.32 d20[1], r5 .long 0xf24441b2 // vand d20, d20, d18 .long 0xf3fb46a4 // vcvt.f32.u32 d20, d20 .long 0xe7d94007 // ldrb r4, [r9, r7] .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf24001b2 // vand d16, d16, d18 .long 0xf3fb26a3 // vcvt.f32.u32 d18, d19 .long 0xeddf3b08 // vldr d19, [pc, #32] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3010db3 // vmul.f32 d0, d17, d19 .long 0xf3042db3 // vmul.f32 d2, d20, d19 .long 0xf3021db3 // vmul.f32 d1, d18, d19 .long 0xf3003db3 // vmul.f32 d3, d16, d19 .long 0xe8bd47f0 // pop {r4, r5, r6, r7, r8, r9, sl, lr} .long 0xe12fff1c // bx ip .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_byte_tables_rgb_vfp4 .globl _sk_byte_tables_rgb_vfp4 FUNCTION(_sk_byte_tables_rgb_vfp4) _sk_byte_tables_rgb_vfp4: .long 0xe92d4bf0 // push {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf3c7301f // vmov.i32 d19, #255 .long 0xe2811008 // add r1, r1, #8 .long 0xe89e0210 // ldm lr, {r4, r9} .long 0xe59e600c // ldr r6, [lr, #12] .long 0xe59e8008 // ldr r8, [lr, #8] .long 0xe2466001 // sub r6, r6, #1 .long 0xee806b90 // vdup.32 d16, r6 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf2402c30 // vfma.f32 d18, d0, d16 .long 0xf2411c30 // vfma.f32 d17, d1, d16 .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xee126b90 // vmov.32 r6, d18[0] .long 0xee327b90 // vmov.32 r7, d18[1] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2422c30 // vfma.f32 d18, d2, d16 .long 0xf3fb07a2 // vcvt.u32.f32 d16, d18 .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe7d46006 // ldrb r6, [r4, r6] .long 0xe7d4e007 // ldrb lr, [r4, r7] .long 0xee314b90 // vmov.32 r4, d17[1] .long 0xee026b90 // vmov.32 d18[0], r6 .long 0xee116b90 // vmov.32 r6, d17[0] .long 0xee307b90 // vmov.32 r7, d16[1] .long 0xee22eb90 // vmov.32 d18[1], lr .long 0xf24221b3 // vand d18, d18, d19 .long 0xf3fb26a2 // vcvt.f32.u32 d18, d18 .long 0xe7d85005 // ldrb r5, [r8, r5] .long 0xee015b90 // vmov.32 d17[0], r5 .long 0xe7d94004 // ldrb r4, [r9, r4] .long 0xe7d96006 // ldrb r6, [r9, r6] .long 0xe7d85007 // ldrb r5, [r8, r7] .long 0xee006b90 // vmov.32 d16[0], r6 .long 0xee215b90 // vmov.32 d17[1], r5 .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf24111b3 // vand d17, d17, d19 .long 0xf24001b3 // vand d16, d16, d19 .long 0xeddf3b06 // vldr d19, [pc, #24] .long 0xf3fb16a1 // vcvt.f32.u32 d17, d17 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3020db3 // vmul.f32 d0, d18, d19 .long 0xf3012db3 // vmul.f32 d2, d17, d19 .long 0xf3001db3 // vmul.f32 d1, d16, d19 .long 0xe8bd4bf0 // pop {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe12fff1c // bx ip .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_table_r_vfp4 .globl _sk_table_r_vfp4 FUNCTION(_sk_table_r_vfp4) _sk_table_r_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe59e4004 // ldr r4, [lr, #4] .long 0xe59e5000 // ldr r5, [lr] .long 0xe2444001 // sub r4, r4, #1 .long 0xee804b90 // vdup.32 d16, r4 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf2401c30 // vfma.f32 d17, d0, d16 .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0xee304b90 // vmov.32 r4, d16[1] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe0854104 // add r4, r5, r4, lsl #2 .long 0xe085510e // add r5, r5, lr, lsl #2 .long 0xedd40a00 // vldr s1, [r4] .long 0xed950a00 // vldr s0, [r5] .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_table_g_vfp4 .globl _sk_table_g_vfp4 FUNCTION(_sk_table_g_vfp4) _sk_table_g_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe59e4004 // ldr r4, [lr, #4] .long 0xe59e5000 // ldr r5, [lr] .long 0xe2444001 // sub r4, r4, #1 .long 0xee804b90 // vdup.32 d16, r4 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf2411c30 // vfma.f32 d17, d1, d16 .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0xee304b90 // vmov.32 r4, d16[1] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe0854104 // add r4, r5, r4, lsl #2 .long 0xe085510e // add r5, r5, lr, lsl #2 .long 0xedd41a00 // vldr s3, [r4] .long 0xed951a00 // vldr s2, [r5] .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_table_b_vfp4 .globl _sk_table_b_vfp4 FUNCTION(_sk_table_b_vfp4) _sk_table_b_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe59e4004 // ldr r4, [lr, #4] .long 0xe59e5000 // ldr r5, [lr] .long 0xe2444001 // sub r4, r4, #1 .long 0xee804b90 // vdup.32 d16, r4 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf2421c30 // vfma.f32 d17, d2, d16 .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0xee304b90 // vmov.32 r4, d16[1] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe0854104 // add r4, r5, r4, lsl #2 .long 0xe085510e // add r5, r5, lr, lsl #2 .long 0xedd42a00 // vldr s5, [r4] .long 0xed952a00 // vldr s4, [r5] .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_table_a_vfp4 .globl _sk_table_a_vfp4 FUNCTION(_sk_table_a_vfp4) _sk_table_a_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe59e4004 // ldr r4, [lr, #4] .long 0xe59e5000 // ldr r5, [lr] .long 0xe2444001 // sub r4, r4, #1 .long 0xee804b90 // vdup.32 d16, r4 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0xee304b90 // vmov.32 r4, d16[1] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe0854104 // add r4, r5, r4, lsl #2 .long 0xe085510e // add r5, r5, lr, lsl #2 .long 0xedd43a00 // vldr s7, [r4] .long 0xed953a00 // vldr s6, [r5] .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_parametric_r_vfp4 .globl _sk_parametric_r_vfp4 FUNCTION(_sk_parametric_r_vfp4) _sk_parametric_r_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xeddf3b41 // vldr d19, [pc, #260] .long 0xed9f8a4e // vldr s16, [pc, #312] .long 0xe1a0400e // mov r4, lr .long 0xeddf4b42 // vldr d20, [pc, #264] .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e400c // add r4, lr, #12 .long 0xf2412c90 // vfma.f32 d18, d17, d0 .long 0xf2c71d1f // vmov.i32 d17, #8388607 .long 0xf24211b1 // vand d17, d18, d17 .long 0xf2c3171f // vorr.i32 d17, #1056964608 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf2019da3 // vadd.f32 d9, d17, d19 .long 0xf2c33614 // vmov.i32 d19, #872415232 .long 0xf3422db3 // vmul.f32 d18, d18, d19 .long 0xeddf3b30 // vldr d19, [pc, #192] .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xed9f8a39 // vldr s16, [pc, #228] .long 0xf2422da4 // vadd.f32 d18, d18, d20 .long 0xeddf4b2e // vldr d20, [pc, #184] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf2611d8a // vsub.f32 d17, d17, d10 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf3fb1720 // vcvt.s32.f32 d17, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3612ea0 // vcgt.f32 d18, d17, d16 .long 0xf35421b3 // vbsl d18, d20, d19 .long 0xeddf4b2b // vldr d20, [pc, #172] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xeddf2b25 // vldr d18, [pc, #148] .long 0xf2601da1 // vsub.f32 d17, d16, d17 .long 0xf2400da4 // vadd.f32 d16, d16, d20 .long 0xf2229da1 // vsub.f32 d9, d18, d17 .long 0xeddf2b23 // vldr d18, [pc, #140] .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf2c4161b // vmov.i32 d17, #1258291200 .long 0xf2400d8a // vadd.f32 d16, d16, d10 .long 0xf2402cb1 // vfma.f32 d18, d16, d17 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf2401c90 // vfma.f32 d17, d16, d0 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf3400e80 // vcge.f32 d16, d16, d0 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf2442da2 // vadd.f32 d18, d20, d18 .long 0xf35101b2 // vbsl d16, d17, d18 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xf2400fa3 // vmax.f32 d16, d16, d19 .long 0xf2200fa1 // vmin.f32 d0, d16, d17 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fdce9a3 // .word 0x3fdce9a3 .long 0x41ddd2fe // .word 0x41ddd2fe HIDDEN _sk_parametric_g_vfp4 .globl _sk_parametric_g_vfp4 FUNCTION(_sk_parametric_g_vfp4) _sk_parametric_g_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xeddf3b41 // vldr d19, [pc, #260] .long 0xed9f8a4e // vldr s16, [pc, #312] .long 0xe1a0400e // mov r4, lr .long 0xeddf4b42 // vldr d20, [pc, #264] .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e400c // add r4, lr, #12 .long 0xf2412c91 // vfma.f32 d18, d17, d1 .long 0xf2c71d1f // vmov.i32 d17, #8388607 .long 0xf24211b1 // vand d17, d18, d17 .long 0xf2c3171f // vorr.i32 d17, #1056964608 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf2019da3 // vadd.f32 d9, d17, d19 .long 0xf2c33614 // vmov.i32 d19, #872415232 .long 0xf3422db3 // vmul.f32 d18, d18, d19 .long 0xeddf3b30 // vldr d19, [pc, #192] .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xed9f8a39 // vldr s16, [pc, #228] .long 0xf2422da4 // vadd.f32 d18, d18, d20 .long 0xeddf4b2e // vldr d20, [pc, #184] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf2611d8a // vsub.f32 d17, d17, d10 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf3fb1720 // vcvt.s32.f32 d17, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3612ea0 // vcgt.f32 d18, d17, d16 .long 0xf35421b3 // vbsl d18, d20, d19 .long 0xeddf4b2b // vldr d20, [pc, #172] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xeddf2b25 // vldr d18, [pc, #148] .long 0xf2601da1 // vsub.f32 d17, d16, d17 .long 0xf2400da4 // vadd.f32 d16, d16, d20 .long 0xf2229da1 // vsub.f32 d9, d18, d17 .long 0xeddf2b23 // vldr d18, [pc, #140] .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf2c4161b // vmov.i32 d17, #1258291200 .long 0xf2400d8a // vadd.f32 d16, d16, d10 .long 0xf2402cb1 // vfma.f32 d18, d16, d17 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf2401c91 // vfma.f32 d17, d16, d1 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf3400e81 // vcge.f32 d16, d16, d1 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf2442da2 // vadd.f32 d18, d20, d18 .long 0xf35101b2 // vbsl d16, d17, d18 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xf2400fa3 // vmax.f32 d16, d16, d19 .long 0xf2201fa1 // vmin.f32 d1, d16, d17 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fdce9a3 // .word 0x3fdce9a3 .long 0x41ddd2fe // .word 0x41ddd2fe HIDDEN _sk_parametric_b_vfp4 .globl _sk_parametric_b_vfp4 FUNCTION(_sk_parametric_b_vfp4) _sk_parametric_b_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xeddf3b41 // vldr d19, [pc, #260] .long 0xed9f8a4e // vldr s16, [pc, #312] .long 0xe1a0400e // mov r4, lr .long 0xeddf4b42 // vldr d20, [pc, #264] .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e400c // add r4, lr, #12 .long 0xf2412c92 // vfma.f32 d18, d17, d2 .long 0xf2c71d1f // vmov.i32 d17, #8388607 .long 0xf24211b1 // vand d17, d18, d17 .long 0xf2c3171f // vorr.i32 d17, #1056964608 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf2019da3 // vadd.f32 d9, d17, d19 .long 0xf2c33614 // vmov.i32 d19, #872415232 .long 0xf3422db3 // vmul.f32 d18, d18, d19 .long 0xeddf3b30 // vldr d19, [pc, #192] .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xed9f8a39 // vldr s16, [pc, #228] .long 0xf2422da4 // vadd.f32 d18, d18, d20 .long 0xeddf4b2e // vldr d20, [pc, #184] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf2611d8a // vsub.f32 d17, d17, d10 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf3fb1720 // vcvt.s32.f32 d17, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3612ea0 // vcgt.f32 d18, d17, d16 .long 0xf35421b3 // vbsl d18, d20, d19 .long 0xeddf4b2b // vldr d20, [pc, #172] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xeddf2b25 // vldr d18, [pc, #148] .long 0xf2601da1 // vsub.f32 d17, d16, d17 .long 0xf2400da4 // vadd.f32 d16, d16, d20 .long 0xf2229da1 // vsub.f32 d9, d18, d17 .long 0xeddf2b23 // vldr d18, [pc, #140] .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf2c4161b // vmov.i32 d17, #1258291200 .long 0xf2400d8a // vadd.f32 d16, d16, d10 .long 0xf2402cb1 // vfma.f32 d18, d16, d17 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf2401c92 // vfma.f32 d17, d16, d2 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf3400e82 // vcge.f32 d16, d16, d2 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf2442da2 // vadd.f32 d18, d20, d18 .long 0xf35101b2 // vbsl d16, d17, d18 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xf2400fa3 // vmax.f32 d16, d16, d19 .long 0xf2202fa1 // vmin.f32 d2, d16, d17 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fdce9a3 // .word 0x3fdce9a3 .long 0x41ddd2fe // .word 0x41ddd2fe HIDDEN _sk_parametric_a_vfp4 .globl _sk_parametric_a_vfp4 FUNCTION(_sk_parametric_a_vfp4) _sk_parametric_a_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xeddf3b41 // vldr d19, [pc, #260] .long 0xed9f8a4e // vldr s16, [pc, #312] .long 0xe1a0400e // mov r4, lr .long 0xeddf4b42 // vldr d20, [pc, #264] .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e400c // add r4, lr, #12 .long 0xf2412c93 // vfma.f32 d18, d17, d3 .long 0xf2c71d1f // vmov.i32 d17, #8388607 .long 0xf24211b1 // vand d17, d18, d17 .long 0xf2c3171f // vorr.i32 d17, #1056964608 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf2019da3 // vadd.f32 d9, d17, d19 .long 0xf2c33614 // vmov.i32 d19, #872415232 .long 0xf3422db3 // vmul.f32 d18, d18, d19 .long 0xeddf3b30 // vldr d19, [pc, #192] .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xed9f8a39 // vldr s16, [pc, #228] .long 0xf2422da4 // vadd.f32 d18, d18, d20 .long 0xeddf4b2e // vldr d20, [pc, #184] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf2611d8a // vsub.f32 d17, d17, d10 .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf3fb1720 // vcvt.s32.f32 d17, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3612ea0 // vcgt.f32 d18, d17, d16 .long 0xf35421b3 // vbsl d18, d20, d19 .long 0xeddf4b2b // vldr d20, [pc, #172] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xeddf2b25 // vldr d18, [pc, #148] .long 0xf2601da1 // vsub.f32 d17, d16, d17 .long 0xf2400da4 // vadd.f32 d16, d16, d20 .long 0xf2229da1 // vsub.f32 d9, d18, d17 .long 0xeddf2b23 // vldr d18, [pc, #140] .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xeec8aa29 // vdiv.f32 s21, s16, s19 .long 0xee88aa09 // vdiv.f32 s20, s16, s18 .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf2c4161b // vmov.i32 d17, #1258291200 .long 0xf2400d8a // vadd.f32 d16, d16, d10 .long 0xf2402cb1 // vfma.f32 d18, d16, d17 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf2401c93 // vfma.f32 d17, d16, d3 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf3400e83 // vcge.f32 d16, d16, d3 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf2442da2 // vadd.f32 d18, d20, d18 .long 0xf35101b2 // vbsl d16, d17, d18 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xf2400fa3 // vmax.f32 d16, d16, d19 .long 0xf2203fa1 // vmin.f32 d3, d16, d17 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fdce9a3 // .word 0x3fdce9a3 .long 0x41ddd2fe // .word 0x41ddd2fe HIDDEN _sk_lab_to_xyz_vfp4 .globl _sk_lab_to_xyz_vfp4 FUNCTION(_sk_lab_to_xyz_vfp4) _sk_lab_to_xyz_vfp4: .long 0xeddf1b2e // vldr d17, [pc, #184] .long 0xf3c43613 // vmov.i32 d19, #-1023410176 .long 0xeddf0b2a // vldr d16, [pc, #168] .long 0xf2c34f10 // vmov.f32 d20, #16 .long 0xf3401d31 // vmul.f32 d17, d0, d17 .long 0xeddf5b2f // vldr d21, [pc, #188] .long 0xf3412d30 // vmul.f32 d18, d1, d16 .long 0xeddf6b2f // vldr d22, [pc, #188] .long 0xf3420d30 // vmul.f32 d16, d2, d16 .long 0xeddf7b2f // vldr d23, [pc, #188] .long 0xeddf8b30 // vldr d24, [pc, #192] .long 0xf2411da4 // vadd.f32 d17, d17, d20 .long 0xeddf4b24 // vldr d20, [pc, #144] .long 0xf2422da3 // vadd.f32 d18, d18, d19 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2400da3 // vadd.f32 d16, d16, d19 .long 0xeddf3b22 // vldr d19, [pc, #136] .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf3422db4 // vmul.f32 d18, d18, d20 .long 0xf3400db5 // vmul.f32 d16, d16, d21 .long 0xf2412da2 // vadd.f32 d18, d17, d18 .long 0xf2610da0 // vsub.f32 d16, d17, d16 .long 0xf3415db1 // vmul.f32 d21, d17, d17 .long 0xf3423db2 // vmul.f32 d19, d18, d18 .long 0xf3404db0 // vmul.f32 d20, d16, d16 .long 0xf3415db5 // vmul.f32 d21, d17, d21 .long 0xf2411da6 // vadd.f32 d17, d17, d22 .long 0xf3423db3 // vmul.f32 d19, d18, d19 .long 0xf3404db4 // vmul.f32 d20, d16, d20 .long 0xf2400da6 // vadd.f32 d16, d16, d22 .long 0xf2422da6 // vadd.f32 d18, d18, d22 .long 0xeddf6b1d // vldr d22, [pc, #116] .long 0xf3639ea7 // vcgt.f32 d25, d19, d23 .long 0xf364aea7 // vcgt.f32 d26, d20, d23 .long 0xf3400db8 // vmul.f32 d16, d16, d24 .long 0xf3422db8 // vmul.f32 d18, d18, d24 .long 0xf35391b2 // vbsl d25, d19, d18 .long 0xeddf2b19 // vldr d18, [pc, #100] .long 0xf354a1b0 // vbsl d26, d20, d16 .long 0xf3251ea7 // vcgt.f32 d1, d21, d23 .long 0xf3090db6 // vmul.f32 d0, d25, d22 .long 0xf30a2db2 // vmul.f32 d2, d26, d18 .long 0xf3410db8 // vmul.f32 d16, d17, d24 .long 0xf31511b0 // vbsl d1, d21, d16 .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x42c80000 // .word 0x42c80000 .long 0x42c80000 // .word 0x42c80000 .long 0x3b03126f // .word 0x3b03126f .long 0x3b03126f // .word 0x3b03126f .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3ba3d70a // .word 0x3ba3d70a .long 0x3ba3d70a // .word 0x3ba3d70a .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3e038050 // .word 0x3e038050 .long 0x3e038050 // .word 0x3e038050 .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f5340f6 // .word 0x3f5340f6 .long 0x3f5340f6 // .word 0x3f5340f6 HIDDEN _sk_load_a8_vfp4 .globl _sk_load_a8_vfp4 FUNCTION(_sk_load_a8_vfp4) _sk_load_a8_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a000012 // beq 294c .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b0 // strh ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3900a30 // vmovl.u16 q0, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b0f // vldr d17, [pc, #60] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2400130 // vand d16, d0, d16 .long 0xf2800010 // vmov.i32 d0, #0 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf2801010 // vmov.i32 d1, #0 .long 0xf2802010 // vmov.i32 d2, #0 .long 0xf3003db1 // vmul.f32 d3, d16, d17 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf0a04 // vldr s1, [pc, #16] .long 0xee00ca10 // vmov s0, ip .long 0xeaffffee // b 2918 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_a8_dst_vfp4 .globl _sk_load_a8_dst_vfp4 FUNCTION(_sk_load_a8_dst_vfp4) _sk_load_a8_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a000012 // beq 29dc .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b0 // strh ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3904a30 // vmovl.u16 q2, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b0f // vldr d17, [pc, #60] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2440130 // vand d16, d4, d16 .long 0xf2804010 // vmov.i32 d4, #0 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf2805010 // vmov.i32 d5, #0 .long 0xf2806010 // vmov.i32 d6, #0 .long 0xf3007db1 // vmul.f32 d7, d16, d17 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf4a04 // vldr s9, [pc, #16] .long 0xee04ca10 // vmov s8, ip .long 0xeaffffee // b 29a8 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_a8_vfp4 .globl _sk_gather_a8_vfp4 FUNCTION(_sk_gather_a8_vfp4) _sk_gather_a8_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2800010 // vmov.i32 d0, #0 .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xf2801010 // vmov.i32 d1, #0 .long 0xf2802010 // vmov.i32 d2, #0 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xf3c7101f // vmov.i32 d17, #255 .long 0xe7d4e00e // ldrb lr, [r4, lr] .long 0xe7d44005 // ldrb r4, [r4, r5] .long 0xee00eb90 // vmov.32 d16[0], lr .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf24001b1 // vand d16, d16, d17 .long 0xeddf1b04 // vldr d17, [pc, #16] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3003db1 // vmul.f32 d3, d16, d17 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_store_a8_vfp4 .globl _sk_store_a8_vfp4 FUNCTION(_sk_store_a8_vfp4) _sk_store_a8_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xeddf0b13 // vldr d16, [pc, #76] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0xf3fb07a1 // vcvt.u32.f32 d16, d17 .long 0x0a000007 // beq 2abc .long 0xee30eb90 // vmov.32 lr, d16[1] .long 0xee104b90 // vmov.32 r4, d16[0] .long 0xe5cce001 // strb lr, [ip, #1] .long 0xe5cc4000 // strb r4, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe5cce000 // strb lr, [ip] .long 0xeafffff8 // b 2aac .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 HIDDEN _sk_load_g8_vfp4 .globl _sk_load_g8_vfp4 FUNCTION(_sk_load_g8_vfp4) _sk_load_g8_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a000012 // beq 2b3c .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b0 // strh ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3900a30 // vmovl.u16 q0, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b0f // vldr d17, [pc, #60] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2400130 // vand d16, d0, d16 .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3000db1 // vmul.f32 d0, d16, d17 .long 0xf2201110 // vorr d1, d0, d0 .long 0xf2202110 // vorr d2, d0, d0 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf0a04 // vldr s1, [pc, #16] .long 0xee00ca10 // vmov s0, ip .long 0xeaffffee // b 2b08 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_g8_dst_vfp4 .globl _sk_load_g8_dst_vfp4 FUNCTION(_sk_load_g8_dst_vfp4) _sk_load_g8_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc002 // add ip, ip, r2 .long 0x0a000012 // beq 2bcc .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xe1cdc0b0 // strh ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec041f // vld1.16 {d16[0]}, [ip :16] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3904a30 // vmovl.u16 q2, d16 .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xeddf1b0f // vldr d17, [pc, #60] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2440130 // vand d16, d4, d16 .long 0xf2877f10 // vmov.f32 d7, #1 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3004db1 // vmul.f32 d4, d16, d17 .long 0xf2245114 // vorr d5, d4, d4 .long 0xf2246114 // vorr d6, d4, d4 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe5dcc000 // ldrb ip, [ip] .long 0xeddf4a04 // vldr s9, [pc, #16] .long 0xee04ca10 // vmov s8, ip .long 0xeaffffee // b 2b98 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_g8_vfp4 .globl _sk_gather_g8_vfp4 FUNCTION(_sk_gather_g8_vfp4) _sk_gather_g8_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xf3c7101f // vmov.i32 d17, #255 .long 0xe7d4e00e // ldrb lr, [r4, lr] .long 0xe7d44005 // ldrb r4, [r4, r5] .long 0xee00eb90 // vmov.32 d16[0], lr .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf24001b1 // vand d16, d16, d17 .long 0xeddf1b06 // vldr d17, [pc, #24] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3000db1 // vmul.f32 d0, d16, d17 .long 0xf2201110 // vorr d1, d0, d0 .long 0xf2202110 // vorr d2, d0, d0 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_gather_i8_vfp4 .globl _sk_gather_i8_vfp4 FUNCTION(_sk_gather_i8_vfp4) _sk_gather_i8_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe1a0c001 // mov ip, r1 .long 0xe491e004 // ldr lr, [r1], #4 .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xe35e0000 // cmp lr, #0 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe1a0400e // mov r4, lr .long 0x028c1008 // addeq r1, ip, #8 .long 0x059c4004 // ldreq r4, [ip, #4] .long 0xe494c008 // ldr ip, [r4], #8 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xf3c7101f // vmov.i32 d17, #255 .long 0xe7dc4004 // ldrb r4, [ip, r4] .long 0xe7dc5005 // ldrb r5, [ip, r5] .long 0xee004b90 // vmov.32 d16[0], r4 .long 0xe59e4004 // ldr r4, [lr, #4] .long 0xee205b90 // vmov.32 d16[1], r5 .long 0xf24001b1 // vand d16, d16, d17 .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xee30cb90 // vmov.32 ip, d16[1] .long 0xe0845105 // add r5, r4, r5, lsl #2 .long 0xf4e5083f // vld1.32 {d16[0]}, [r5 :32] .long 0xe084510c // add r5, r4, ip, lsl #2 .long 0xf4e508bf // vld1.32 {d16[1]}, [r5 :32] .long 0xf24021b1 // vand d18, d16, d17 .long 0xf3f83030 // vshr.u32 d19, d16, #8 .long 0xf3e84030 // vshr.u32 d20, d16, #24 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3f00030 // vshr.u32 d16, d16, #16 .long 0xf24331b1 // vand d19, d19, d17 .long 0xf24001b1 // vand d16, d16, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb4624 // vcvt.f32.s32 d20, d20 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3020db1 // vmul.f32 d0, d18, d17 .long 0xf3043db1 // vmul.f32 d3, d20, d17 .long 0xf3031db1 // vmul.f32 d1, d19, d17 .long 0xf3002db1 // vmul.f32 d2, d16, d17 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_load_565_vfp4 .globl _sk_load_565_vfp4 FUNCTION(_sk_load_565_vfp4) _sk_load_565_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0x0a00001a // beq 2dac .long 0xe59cc000 // ldr ip, [ip] .long 0xe58dc000 // str ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec083f // vld1.32 {d16[0]}, [ip :32] .long 0xf3900a30 // vmovl.u16 q0, d16 .long 0xf3c70218 // vmov.i32 d16, #63488 .long 0xe3a0ce7e // mov ip, #2016 .long 0xf2c1101f // vmov.i32 d17, #31 .long 0xee82cb90 // vdup.32 d18, ip .long 0xf2400130 // vand d16, d0, d16 .long 0xeddf3b14 // vldr d19, [pc, #80] .long 0xf2402132 // vand d18, d0, d18 .long 0xeddf4b14 // vldr d20, [pc, #80] .long 0xf2401131 // vand d17, d0, d17 .long 0xeddf5b14 // vldr d21, [pc, #80] .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xf3000db3 // vmul.f32 d0, d16, d19 .long 0xf3021db4 // vmul.f32 d1, d18, d20 .long 0xf3012db5 // vmul.f32 d2, d17, d21 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xeddf0a08 // vldr s1, [pc, #32] .long 0xee00ca10 // vmov s0, ip .long 0xeaffffe5 // b 2d54 .long 0xe320f000 // nop {0} .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_565_dst_vfp4 .globl _sk_load_565_dst_vfp4 FUNCTION(_sk_load_565_dst_vfp4) _sk_load_565_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0x0a00001a // beq 2e6c .long 0xe59cc000 // ldr ip, [ip] .long 0xe58dc000 // str ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec083f // vld1.32 {d16[0]}, [ip :32] .long 0xf3904a30 // vmovl.u16 q2, d16 .long 0xf3c70218 // vmov.i32 d16, #63488 .long 0xe3a0ce7e // mov ip, #2016 .long 0xf2c1101f // vmov.i32 d17, #31 .long 0xee82cb90 // vdup.32 d18, ip .long 0xf2440130 // vand d16, d4, d16 .long 0xeddf3b14 // vldr d19, [pc, #80] .long 0xf2442132 // vand d18, d4, d18 .long 0xeddf4b14 // vldr d20, [pc, #80] .long 0xf2441131 // vand d17, d4, d17 .long 0xeddf5b14 // vldr d21, [pc, #80] .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf2877f10 // vmov.f32 d7, #1 .long 0xf3004db3 // vmul.f32 d4, d16, d19 .long 0xf3025db4 // vmul.f32 d5, d18, d20 .long 0xf3016db5 // vmul.f32 d6, d17, d21 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xeddf4a08 // vldr s9, [pc, #32] .long 0xee04ca10 // vmov s8, ip .long 0xeaffffe5 // b 2e14 .long 0xe320f000 // nop {0} .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_565_vfp4 .globl _sk_gather_565_vfp4 FUNCTION(_sk_gather_565_vfp4) _sk_gather_565_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xeddf4b20 // vldr d20, [pc, #128] .long 0xeddf5b21 // vldr d21, [pc, #132] .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xf2c1201f // vmov.i32 d18, #31 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xf3c71218 // vmov.i32 d17, #63488 .long 0xe084508e // add r5, r4, lr, lsl #1 .long 0xe0846086 // add r6, r4, r6, lsl #1 .long 0xe1d550b0 // ldrh r5, [r5] .long 0xe1d660b0 // ldrh r6, [r6] .long 0xee005b90 // vmov.32 d16[0], r5 .long 0xee206b90 // vmov.32 d16[1], r6 .long 0xe3a06e7e // mov r6, #2016 .long 0xee836b90 // vdup.32 d19, r6 .long 0xf24011b1 // vand d17, d16, d17 .long 0xf24031b3 // vand d19, d16, d19 .long 0xf24001b2 // vand d16, d16, d18 .long 0xf3fb2623 // vcvt.f32.s32 d18, d19 .long 0xeddf3b06 // vldr d19, [pc, #24] .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3021db4 // vmul.f32 d1, d18, d20 .long 0xf3010db3 // vmul.f32 d0, d17, d19 .long 0xf3002db5 // vmul.f32 d2, d16, d21 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 HIDDEN _sk_store_565_vfp4 .globl _sk_store_565_vfp4 FUNCTION(_sk_store_565_vfp4) _sk_store_565_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c30f1f // vmov.f32 d16, #31 .long 0xeddf1b1c // vldr d17, [pc, #112] .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xe591c000 // ldr ip, [r1] .long 0xf2413c31 // vfma.f32 d19, d1, d17 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2401c30 // vfma.f32 d17, d0, d16 .long 0xe59cc000 // ldr ip, [ip] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xe35e0001 // cmp lr, #1 .long 0xf2422c30 // vfma.f32 d18, d2, d16 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0xf3fb07a3 // vcvt.u32.f32 d16, d19 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf3fb27a2 // vcvt.u32.f32 d18, d18 .long 0xf2e50530 // vshl.s32 d16, d16, #5 .long 0xf2eb1531 // vshl.s32 d17, d17, #11 .long 0xf26001b1 // vorr d16, d16, d17 .long 0xf26001b2 // vorr d16, d16, d18 .long 0x0a000005 // beq 2fb8 .long 0xf3f60121 // vuzp.16 d16, d17 .long 0xf4cc080f // vst1.32 {d16[0]}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe1cce0b0 // strh lr, [ip] .long 0xeafffff8 // b 2fa8 .long 0xe320f000 // nop {0} .long 0x427c0000 // .word 0x427c0000 .long 0x427c0000 // .word 0x427c0000 HIDDEN _sk_load_4444_vfp4 .globl _sk_load_4444_vfp4 FUNCTION(_sk_load_4444_vfp4) _sk_load_4444_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0x0a00001d // beq 3068 .long 0xe59cc000 // ldr ip, [ip] .long 0xe58dc000 // str ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec083f // vld1.32 {d16[0]}, [ip :32] .long 0xf3900a30 // vmovl.u16 q0, d16 .long 0xf3c70210 // vmov.i32 d16, #61440 .long 0xeddf4b1a // vldr d20, [pc, #104] .long 0xf2c0121f // vmov.i32 d17, #3840 .long 0xeddf5b1a // vldr d21, [pc, #104] .long 0xf3c72010 // vmov.i32 d18, #240 .long 0xeddf6b1a // vldr d22, [pc, #104] .long 0xf2400130 // vand d16, d0, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2c0301f // vmov.i32 d19, #15 .long 0xe2811008 // add r1, r1, #8 .long 0xf2401131 // vand d17, d0, d17 .long 0xf2402132 // vand d18, d0, d18 .long 0xf2403133 // vand d19, d0, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3000db4 // vmul.f32 d0, d16, d20 .long 0xeddf0b0f // vldr d16, [pc, #60] .long 0xf3011db5 // vmul.f32 d1, d17, d21 .long 0xf3022db6 // vmul.f32 d2, d18, d22 .long 0xf3033db0 // vmul.f32 d3, d19, d16 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xeddf0a09 // vldr s1, [pc, #36] .long 0xee00ca10 // vmov s0, ip .long 0xeaffffe2 // b 3004 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_4444_dst_vfp4 .globl _sk_load_4444_dst_vfp4 FUNCTION(_sk_load_4444_dst_vfp4) _sk_load_4444_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xe59de00c // ldr lr, [sp, #12] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0x0a00001d // beq 3138 .long 0xe59cc000 // ldr ip, [ip] .long 0xe58dc000 // str ip, [sp] .long 0xe1a0c00d // mov ip, sp .long 0xf4ec083f // vld1.32 {d16[0]}, [ip :32] .long 0xf3904a30 // vmovl.u16 q2, d16 .long 0xf3c70210 // vmov.i32 d16, #61440 .long 0xeddf4b1a // vldr d20, [pc, #104] .long 0xf2c0121f // vmov.i32 d17, #3840 .long 0xeddf5b1a // vldr d21, [pc, #104] .long 0xf3c72010 // vmov.i32 d18, #240 .long 0xeddf6b1a // vldr d22, [pc, #104] .long 0xf2440130 // vand d16, d4, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2c0301f // vmov.i32 d19, #15 .long 0xe2811008 // add r1, r1, #8 .long 0xf2441131 // vand d17, d4, d17 .long 0xf2442132 // vand d18, d4, d18 .long 0xf2443133 // vand d19, d4, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3004db4 // vmul.f32 d4, d16, d20 .long 0xeddf0b0f // vldr d16, [pc, #60] .long 0xf3015db5 // vmul.f32 d5, d17, d21 .long 0xf3026db6 // vmul.f32 d6, d18, d22 .long 0xf3037db0 // vmul.f32 d7, d19, d16 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe1dcc0b0 // ldrh ip, [ip] .long 0xeddf4a09 // vldr s9, [pc, #36] .long 0xee04ca10 // vmov s8, ip .long 0xeaffffe2 // b 30d4 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_4444_vfp4 .globl _sk_gather_4444_vfp4 FUNCTION(_sk_gather_4444_vfp4) _sk_gather_4444_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xeddf5b24 // vldr d21, [pc, #144] .long 0xf3c73010 // vmov.i32 d19, #240 .long 0xeddf6b24 // vldr d22, [pc, #144] .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xf2c0401f // vmov.i32 d20, #15 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xf2c0221f // vmov.i32 d18, #3840 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xf3c71210 // vmov.i32 d17, #61440 .long 0xe084508e // add r5, r4, lr, lsl #1 .long 0xe0846086 // add r6, r4, r6, lsl #1 .long 0xe1d550b0 // ldrh r5, [r5] .long 0xe1d660b0 // ldrh r6, [r6] .long 0xee005b90 // vmov.32 d16[0], r5 .long 0xee206b90 // vmov.32 d16[1], r6 .long 0xf24011b1 // vand d17, d16, d17 .long 0xf24021b2 // vand d18, d16, d18 .long 0xf24031b3 // vand d19, d16, d19 .long 0xf24001b4 // vand d16, d16, d20 .long 0xeddf4b0b // vldr d20, [pc, #44] .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3010db4 // vmul.f32 d0, d17, d20 .long 0xeddf1b0b // vldr d17, [pc, #44] .long 0xf3021db5 // vmul.f32 d1, d18, d21 .long 0xf3032db6 // vmul.f32 d2, d19, d22 .long 0xf3003db1 // vmul.f32 d3, d16, d17 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 HIDDEN _sk_store_4444_vfp4 .globl _sk_store_4444_vfp4 FUNCTION(_sk_store_4444_vfp4) _sk_store_4444_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c20f1e // vmov.f32 d16, #15 .long 0xe591c000 // ldr ip, [r1] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xf2402c30 // vfma.f32 d18, d0, d16 .long 0xe59cc000 // ldr ip, [ip] .long 0xf2413c30 // vfma.f32 d19, d1, d16 .long 0xe35e0001 // cmp lr, #1 .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xe08cc082 // add ip, ip, r2, lsl #1 .long 0xf2424c30 // vfma.f32 d20, d2, d16 .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xf3fb07a2 // vcvt.u32.f32 d16, d18 .long 0xf3fb27a3 // vcvt.u32.f32 d18, d19 .long 0xf3fb37a4 // vcvt.u32.f32 d19, d20 .long 0xf2ec0530 // vshl.s32 d16, d16, #12 .long 0xf2e82532 // vshl.s32 d18, d18, #8 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf2e43533 // vshl.s32 d19, d19, #4 .long 0xf26201b0 // vorr d16, d18, d16 .long 0xf26001b3 // vorr d16, d16, d19 .long 0xf26001b1 // vorr d16, d16, d17 .long 0x0a000005 // beq 32b0 .long 0xf3f60121 // vuzp.16 d16, d17 .long 0xf4cc080f // vst1.32 {d16[0]}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe1cce0b0 // strh lr, [ip] .long 0xeafffff8 // b 32a0 .long 0xe320f000 // nop {0} HIDDEN _sk_load_8888_vfp4 .globl _sk_load_8888_vfp4 FUNCTION(_sk_load_8888_vfp4) _sk_load_8888_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0x0a000014 // beq 3330 .long 0xed9c0b00 // vldr d0, [ip] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3f81010 // vshr.u32 d17, d0, #8 .long 0xe2811008 // add r1, r1, #8 .long 0xf3f03010 // vshr.u32 d19, d0, #16 .long 0xf3e82010 // vshr.u32 d18, d0, #24 .long 0xf24111b0 // vand d17, d17, d16 .long 0xf2404130 // vand d20, d0, d16 .long 0xf24301b0 // vand d16, d19, d16 .long 0xf3fb3624 // vcvt.f32.s32 d19, d20 .long 0xeddf4b0c // vldr d20, [pc, #48] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3030db4 // vmul.f32 d0, d19, d20 .long 0xf3023db4 // vmul.f32 d3, d18, d20 .long 0xf3011db4 // vmul.f32 d1, d17, d20 .long 0xf3002db4 // vmul.f32 d2, d16, d20 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xeddf0a04 // vldr s1, [pc, #16] .long 0xed9c0a00 // vldr s0, [ip] .long 0xeaffffe8 // b 32e0 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_8888_dst_vfp4 .globl _sk_load_8888_dst_vfp4 FUNCTION(_sk_load_8888_dst_vfp4) _sk_load_8888_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0x0a000014 // beq 33c0 .long 0xed9c4b00 // vldr d4, [ip] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3f81014 // vshr.u32 d17, d4, #8 .long 0xe2811008 // add r1, r1, #8 .long 0xf3f03014 // vshr.u32 d19, d4, #16 .long 0xf3e82014 // vshr.u32 d18, d4, #24 .long 0xf24111b0 // vand d17, d17, d16 .long 0xf2444130 // vand d20, d4, d16 .long 0xf24301b0 // vand d16, d19, d16 .long 0xf3fb3624 // vcvt.f32.s32 d19, d20 .long 0xeddf4b0c // vldr d20, [pc, #48] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3034db4 // vmul.f32 d4, d19, d20 .long 0xf3027db4 // vmul.f32 d7, d18, d20 .long 0xf3015db4 // vmul.f32 d5, d17, d20 .long 0xf3006db4 // vmul.f32 d6, d16, d20 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xeddf4a04 // vldr s9, [pc, #16] .long 0xed9c4a00 // vldr s8, [ip] .long 0xeaffffe8 // b 3370 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_8888_vfp4 .globl _sk_gather_8888_vfp4 FUNCTION(_sk_gather_8888_vfp4) _sk_gather_8888_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xf3c7101f // vmov.i32 d17, #255 .long 0xe084510e // add r5, r4, lr, lsl #2 .long 0xe0846106 // add r6, r4, r6, lsl #2 .long 0xf4e5083f // vld1.32 {d16[0]}, [r5 :32] .long 0xf4e608bf // vld1.32 {d16[1]}, [r6 :32] .long 0xf24021b1 // vand d18, d16, d17 .long 0xf3f83030 // vshr.u32 d19, d16, #8 .long 0xf3e84030 // vshr.u32 d20, d16, #24 .long 0xf3f00030 // vshr.u32 d16, d16, #16 .long 0xf24331b1 // vand d19, d19, d17 .long 0xf24001b1 // vand d16, d16, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb4624 // vcvt.f32.s32 d20, d20 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3020db1 // vmul.f32 d0, d18, d17 .long 0xf3043db1 // vmul.f32 d3, d20, d17 .long 0xf3031db1 // vmul.f32 d1, d19, d17 .long 0xf3002db1 // vmul.f32 d2, d16, d17 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_store_8888_vfp4 .globl _sk_store_8888_vfp4 FUNCTION(_sk_store_8888_vfp4) _sk_store_8888_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xeddf0b1f // vldr d16, [pc, #124] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2412c30 // vfma.f32 d18, d1, d16 .long 0xe591c000 // ldr ip, [r1] .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2423c30 // vfma.f32 d19, d2, d16 .long 0xe59cc000 // ldr ip, [ip] .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xe35e0001 // cmp lr, #1 .long 0xf2401c30 // vfma.f32 d17, d0, d16 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0xf2434c30 // vfma.f32 d20, d3, d16 .long 0xf3fb07a2 // vcvt.u32.f32 d16, d18 .long 0xf3fb27a3 // vcvt.u32.f32 d18, d19 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf3fb37a4 // vcvt.u32.f32 d19, d20 .long 0xf2e80530 // vshl.s32 d16, d16, #8 .long 0xf2f02532 // vshl.s32 d18, d18, #16 .long 0xf26001b1 // vorr d16, d16, d17 .long 0xf2f81533 // vshl.s32 d17, d19, #24 .long 0xf26001b2 // vorr d16, d16, d18 .long 0xf26001b1 // vorr d16, d16, d17 .long 0x0a000004 // beq 34ec .long 0xedcc0b00 // vstr d16, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xf4cc083f // vst1.32 {d16[0]}, [ip :32] .long 0xeafffff9 // b 34dc .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 HIDDEN _sk_load_bgra_vfp4 .globl _sk_load_bgra_vfp4 FUNCTION(_sk_load_bgra_vfp4) _sk_load_bgra_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0x0a000014 // beq 3570 .long 0xed9c0b00 // vldr d0, [ip] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3f01010 // vshr.u32 d17, d0, #16 .long 0xe2811008 // add r1, r1, #8 .long 0xf3f83010 // vshr.u32 d19, d0, #8 .long 0xf3e82010 // vshr.u32 d18, d0, #24 .long 0xf24111b0 // vand d17, d17, d16 .long 0xf2404130 // vand d20, d0, d16 .long 0xf24301b0 // vand d16, d19, d16 .long 0xf3fb3624 // vcvt.f32.s32 d19, d20 .long 0xeddf4b0c // vldr d20, [pc, #48] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3032db4 // vmul.f32 d2, d19, d20 .long 0xf3023db4 // vmul.f32 d3, d18, d20 .long 0xf3010db4 // vmul.f32 d0, d17, d20 .long 0xf3001db4 // vmul.f32 d1, d16, d20 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xeddf0a04 // vldr s1, [pc, #16] .long 0xed9c0a00 // vldr s0, [ip] .long 0xeaffffe8 // b 3520 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_load_bgra_dst_vfp4 .globl _sk_load_bgra_dst_vfp4 FUNCTION(_sk_load_bgra_dst_vfp4) _sk_load_bgra_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0x0a000014 // beq 3600 .long 0xed9c4b00 // vldr d4, [ip] .long 0xf3c7001f // vmov.i32 d16, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3f01014 // vshr.u32 d17, d4, #16 .long 0xe2811008 // add r1, r1, #8 .long 0xf3f83014 // vshr.u32 d19, d4, #8 .long 0xf3e82014 // vshr.u32 d18, d4, #24 .long 0xf24111b0 // vand d17, d17, d16 .long 0xf2444130 // vand d20, d4, d16 .long 0xf24301b0 // vand d16, d19, d16 .long 0xf3fb3624 // vcvt.f32.s32 d19, d20 .long 0xeddf4b0c // vldr d20, [pc, #48] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb1621 // vcvt.f32.s32 d17, d17 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3036db4 // vmul.f32 d6, d19, d20 .long 0xf3027db4 // vmul.f32 d7, d18, d20 .long 0xf3014db4 // vmul.f32 d4, d17, d20 .long 0xf3005db4 // vmul.f32 d5, d16, d20 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xeddf4a04 // vldr s9, [pc, #16] .long 0xed9c4a00 // vldr s8, [ip] .long 0xeaffffe8 // b 35b0 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x00000000 // .word 0x00000000 .long 0xe320f000 // .word 0xe320f000 HIDDEN _sk_gather_bgra_vfp4 .globl _sk_gather_bgra_vfp4 FUNCTION(_sk_gather_bgra_vfp4) _sk_gather_bgra_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe49e4008 // ldr r4, [lr], #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee11eb90 // vmov.32 lr, d17[0] .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xf3c7101f // vmov.i32 d17, #255 .long 0xe084510e // add r5, r4, lr, lsl #2 .long 0xe0846106 // add r6, r4, r6, lsl #2 .long 0xf4e5083f // vld1.32 {d16[0]}, [r5 :32] .long 0xf4e608bf // vld1.32 {d16[1]}, [r6 :32] .long 0xf24021b1 // vand d18, d16, d17 .long 0xf3f03030 // vshr.u32 d19, d16, #16 .long 0xf3e84030 // vshr.u32 d20, d16, #24 .long 0xf3f80030 // vshr.u32 d16, d16, #8 .long 0xf24331b1 // vand d19, d19, d17 .long 0xf24001b1 // vand d16, d16, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb4624 // vcvt.f32.s32 d20, d20 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3022db1 // vmul.f32 d2, d18, d17 .long 0xf3043db1 // vmul.f32 d3, d20, d17 .long 0xf3030db1 // vmul.f32 d0, d19, d17 .long 0xf3001db1 // vmul.f32 d1, d16, d17 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_store_bgra_vfp4 .globl _sk_store_bgra_vfp4 FUNCTION(_sk_store_bgra_vfp4) _sk_store_bgra_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xeddf0b1f // vldr d16, [pc, #124] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2402c30 // vfma.f32 d18, d0, d16 .long 0xe591c000 // ldr ip, [r1] .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2413c30 // vfma.f32 d19, d1, d16 .long 0xe59cc000 // ldr ip, [ip] .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xe35e0001 // cmp lr, #1 .long 0xf2421c30 // vfma.f32 d17, d2, d16 .long 0xe08cc102 // add ip, ip, r2, lsl #2 .long 0xf2434c30 // vfma.f32 d20, d3, d16 .long 0xf3fb07a2 // vcvt.u32.f32 d16, d18 .long 0xf3fb27a3 // vcvt.u32.f32 d18, d19 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf3fb37a4 // vcvt.u32.f32 d19, d20 .long 0xf2f00530 // vshl.s32 d16, d16, #16 .long 0xf2e82532 // vshl.s32 d18, d18, #8 .long 0xf26101b0 // vorr d16, d17, d16 .long 0xf2f81533 // vshl.s32 d17, d19, #24 .long 0xf26001b2 // vorr d16, d16, d18 .long 0xf26001b1 // vorr d16, d16, d17 .long 0x0a000004 // beq 372c .long 0xedcc0b00 // vstr d16, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xf4cc083f // vst1.32 {d16[0]}, [ip :32] .long 0xeafffff9 // b 371c .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 HIDDEN _sk_load_f16_vfp4 .globl _sk_load_f16_vfp4 FUNCTION(_sk_load_f16_vfp4) _sk_load_f16_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc182 // add ip, ip, r2, lsl #3 .long 0xf4ec070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [ip] .long 0x1a000001 // bne 3768 .long 0xe28cc008 // add ip, ip, #8 .long 0xf4ec074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [ip] .long 0xf3b60720 // vcvt.f32.f16 q0, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3b62722 // vcvt.f32.f16 q1, d18 .long 0xf3f64721 // vcvt.f32.f16 q10, d17 .long 0xf3f60723 // vcvt.f32.f16 q8, d19 .long 0xf22411b4 // vorr d1, d20, d20 .long 0xf22031b0 // vorr d3, d16, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_load_f16_dst_vfp4 .globl _sk_load_f16_dst_vfp4 FUNCTION(_sk_load_f16_dst_vfp4) _sk_load_f16_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc182 // add ip, ip, r2, lsl #3 .long 0xf4ec070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [ip] .long 0x1a000001 // bne 37b8 .long 0xe28cc008 // add ip, ip, #8 .long 0xf4ec074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [ip] .long 0xf3b64720 // vcvt.f32.f16 q2, d16 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3b66722 // vcvt.f32.f16 q3, d18 .long 0xf3f64721 // vcvt.f32.f16 q10, d17 .long 0xf3f60723 // vcvt.f32.f16 q8, d19 .long 0xf22451b4 // vorr d5, d20, d20 .long 0xf22071b0 // vorr d7, d16, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_gather_f16_vfp4 .globl _sk_gather_f16_vfp4 FUNCTION(_sk_gather_f16_vfp4) _sk_gather_f16_vfp4: .long 0xe92d4c10 // push {r4, sl, fp, lr} .long 0xe28db008 // add fp, sp, #8 .long 0xe24dd020 // sub sp, sp, #32 .long 0xe7c3d01f // bfc sp, #0, #4 .long 0xe591c000 // ldr ip, [r1] .long 0xf3fb0701 // vcvt.s32.f32 d16, d1 .long 0xf3fb1700 // vcvt.s32.f32 d17, d0 .long 0xe49ce008 // ldr lr, [ip], #8 .long 0xf4ec2c9f // vld1.32 {d18[]}, [ip :32] .long 0xf26219a0 // vmla.i32 d17, d18, d16 .long 0xee314b90 // vmov.32 r4, d17[1] .long 0xee11cb90 // vmov.32 ip, d17[0] .long 0xe08e4184 // add r4, lr, r4, lsl #3 .long 0xe08ec18c // add ip, lr, ip, lsl #3 .long 0xedd41b00 // vldr d17, [r4] .long 0xe28d4010 // add r4, sp, #16 .long 0xeddc0b00 // vldr d16, [ip] .long 0xe59bc008 // ldr ip, [fp, #8] .long 0xf4440aef // vst1.64 {d16-d17}, [r4 :128] .long 0xf4e4071f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [r4 :64] .long 0xe3844008 // orr r4, r4, #8 .long 0xf4e4075f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r4 :64] .long 0xf3b60720 // vcvt.f32.f16 q0, d16 .long 0xf3b62722 // vcvt.f32.f16 q1, d18 .long 0xe5914004 // ldr r4, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe58dc000 // str ip, [sp] .long 0xf3f64721 // vcvt.f32.f16 q10, d17 .long 0xf3f60723 // vcvt.f32.f16 q8, d19 .long 0xf22411b4 // vorr d1, d20, d20 .long 0xf22031b0 // vorr d3, d16, d16 .long 0xe12fff34 // blx r4 .long 0xe24bd008 // sub sp, fp, #8 .long 0xe8bd8c10 // pop {r4, sl, fp, pc} HIDDEN _sk_store_f16_vfp4 .globl _sk_store_f16_vfp4 FUNCTION(_sk_store_f16_vfp4) _sk_store_f16_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2630113 // vorr d16, d3, d3 .long 0xe591c000 // ldr ip, [r1] .long 0xf2612111 // vorr d18, d1, d1 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xf3f67620 // vcvt.f16.f32 d23, q8 .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xf3f66602 // vcvt.f16.f32 d22, q1 .long 0xe08cc182 // add ip, ip, r2, lsl #3 .long 0xf3f65622 // vcvt.f16.f32 d21, q9 .long 0xf3f64600 // vcvt.f16.f32 d20, q0 .long 0xf4cc470f // vst4.16 {d20[0],d21[0],d22[0],d23[0]}, [ip] .long 0x1a000001 // bne 38a8 .long 0xe28cc008 // add ip, ip, #8 .long 0xf4cc474f // vst4.16 {d20[1],d21[1],d22[1],d23[1]}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf22211b2 // vorr d1, d18, d18 .long 0xf22031b0 // vorr d3, d16, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_load_u16_be_vfp4 .globl _sk_load_u16_be_vfp4 FUNCTION(_sk_load_u16_be_vfp4) _sk_load_u16_be_vfp4: .long 0xe92d4bf0 // push {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de020 // ldr lr, [sp, #32] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc182 // add ip, ip, r2, lsl #3 .long 0xf4ec070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [ip] .long 0x1a000001 // bne 38e8 .long 0xe28cc008 // add ip, ip, #8 .long 0xf4ec074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [ip] .long 0xee90cbb0 // vmov.u16 ip, d16[0] .long 0xee937bb0 // vmov.u16 r7, d19[0] .long 0xee92ebb0 // vmov.u16 lr, d18[0] .long 0xee914bb0 // vmov.u16 r4, d17[0] .long 0xee905bf0 // vmov.u16 r5, d16[1] .long 0xee939bf0 // vmov.u16 r9, d19[1] .long 0xf3c73c1f // vmov.i32 d19, #65535 .long 0xee926bf0 // vmov.u16 r6, d18[1] .long 0xee918bf0 // vmov.u16 r8, d17[1] .long 0xee00cb90 // vmov.32 d16[0], ip .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xee01eb90 // vmov.32 d17[0], lr .long 0xee024b90 // vmov.32 d18[0], r4 .long 0xee047b90 // vmov.32 d20[0], r7 .long 0xee205b90 // vmov.32 d16[1], r5 .long 0xf24051b3 // vand d21, d16, d19 .long 0xee216b90 // vmov.32 d17[1], r6 .long 0xf2e80530 // vshl.s32 d16, d16, #8 .long 0xee228b90 // vmov.32 d18[1], r8 .long 0xf24161b3 // vand d22, d17, d19 .long 0xf3f85035 // vshr.u32 d21, d21, #8 .long 0xee249b90 // vmov.32 d20[1], r9 .long 0xf24271b3 // vand d23, d18, d19 .long 0xf26001b5 // vorr d16, d16, d21 .long 0xf24481b3 // vand d24, d20, d19 .long 0xf2e82532 // vshl.s32 d18, d18, #8 .long 0xf3f87037 // vshr.u32 d23, d23, #8 .long 0xf2e81531 // vshl.s32 d17, d17, #8 .long 0xf3f86036 // vshr.u32 d22, d22, #8 .long 0xf2e84534 // vshl.s32 d20, d20, #8 .long 0xf3f85038 // vshr.u32 d21, d24, #8 .long 0xf26221b7 // vorr d18, d18, d23 .long 0xf26111b6 // vorr d17, d17, d22 .long 0xf26441b5 // vorr d20, d20, d21 .long 0xf24001b3 // vand d16, d16, d19 .long 0xf24221b3 // vand d18, d18, d19 .long 0xf24111b3 // vand d17, d17, d19 .long 0xf24431b3 // vand d19, d20, d19 .long 0xeddf4b09 // vldr d20, [pc, #36] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3fb26a2 // vcvt.f32.u32 d18, d18 .long 0xf3fb16a1 // vcvt.f32.u32 d17, d17 .long 0xf3fb36a3 // vcvt.f32.u32 d19, d19 .long 0xf3000db4 // vmul.f32 d0, d16, d20 .long 0xf3021db4 // vmul.f32 d1, d18, d20 .long 0xf3012db4 // vmul.f32 d2, d17, d20 .long 0xf3033db4 // vmul.f32 d3, d19, d20 .long 0xe8bd4bf0 // pop {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe12fff1c // bx ip .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 HIDDEN _sk_load_rgb_u16_be_vfp4 .globl _sk_load_rgb_u16_be_vfp4 FUNCTION(_sk_load_rgb_u16_be_vfp4) _sk_load_rgb_u16_be_vfp4: .long 0xe92d48f0 // push {r4, r5, r6, r7, fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe082e082 // add lr, r2, r2, lsl #1 .long 0xe59cc000 // ldr ip, [ip] .long 0xe08cc08e // add ip, ip, lr, lsl #1 .long 0xe59de018 // ldr lr, [sp, #24] .long 0xf4ec060f // vld3.16 {d16[0],d17[0],d18[0]}, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0x1a000001 // bne 39e4 .long 0xe28cc006 // add ip, ip, #6 .long 0xf4ec064f // vld3.16 {d16[1],d17[1],d18[1]}, [ip] .long 0xee90cbb0 // vmov.u16 ip, d16[0] .long 0xf2873f10 // vmov.f32 d3, #1 .long 0xee91ebb0 // vmov.u16 lr, d17[0] .long 0xee924bb0 // vmov.u16 r4, d18[0] .long 0xee927bf0 // vmov.u16 r7, d18[1] .long 0xf3c73c1f // vmov.i32 d19, #65535 .long 0xee905bf0 // vmov.u16 r5, d16[1] .long 0xee916bf0 // vmov.u16 r6, d17[1] .long 0xee00cb90 // vmov.32 d16[0], ip .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xee01eb90 // vmov.32 d17[0], lr .long 0xee024b90 // vmov.32 d18[0], r4 .long 0xee205b90 // vmov.32 d16[1], r5 .long 0xee216b90 // vmov.32 d17[1], r6 .long 0xf24041b3 // vand d20, d16, d19 .long 0xf2e80530 // vshl.s32 d16, d16, #8 .long 0xee227b90 // vmov.32 d18[1], r7 .long 0xf24151b3 // vand d21, d17, d19 .long 0xf3f84034 // vshr.u32 d20, d20, #8 .long 0xf24261b3 // vand d22, d18, d19 .long 0xf2e81531 // vshl.s32 d17, d17, #8 .long 0xf3f85035 // vshr.u32 d21, d21, #8 .long 0xf2e82532 // vshl.s32 d18, d18, #8 .long 0xf3f86036 // vshr.u32 d22, d22, #8 .long 0xf26001b4 // vorr d16, d16, d20 .long 0xf26111b5 // vorr d17, d17, d21 .long 0xf26221b6 // vorr d18, d18, d22 .long 0xf24001b3 // vand d16, d16, d19 .long 0xf24111b3 // vand d17, d17, d19 .long 0xf24221b3 // vand d18, d18, d19 .long 0xeddf3b08 // vldr d19, [pc, #32] .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3fb16a1 // vcvt.f32.u32 d17, d17 .long 0xf3fb26a2 // vcvt.f32.u32 d18, d18 .long 0xf3000db3 // vmul.f32 d0, d16, d19 .long 0xf3011db3 // vmul.f32 d1, d17, d19 .long 0xf3022db3 // vmul.f32 d2, d18, d19 .long 0xe8bd48f0 // pop {r4, r5, r6, r7, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 HIDDEN _sk_store_u16_be_vfp4 .globl _sk_store_u16_be_vfp4 FUNCTION(_sk_store_u16_be_vfp4) _sk_store_u16_be_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xeddf0b2d // vldr d16, [pc, #180] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xe591c000 // ldr ip, [r1] .long 0xf2432c30 // vfma.f32 d18, d3, d16 .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2c3461f // vmov.i32 d20, #1056964608 .long 0xf2423c30 // vfma.f32 d19, d2, d16 .long 0xf2414c30 // vfma.f32 d20, d1, d16 .long 0xf2401c30 // vfma.f32 d17, d0, d16 .long 0xf3fb07a2 // vcvt.u32.f32 d16, d18 .long 0xf3fb27a3 // vcvt.u32.f32 d18, d19 .long 0xf3c73c1f // vmov.i32 d19, #65535 .long 0xf3fb47a4 // vcvt.u32.f32 d20, d20 .long 0xf3fb17a1 // vcvt.u32.f32 d17, d17 .long 0xf24051b3 // vand d21, d16, d19 .long 0xf24261b3 // vand d22, d18, d19 .long 0xf24471b3 // vand d23, d20, d19 .long 0xf24131b3 // vand d19, d17, d19 .long 0xf2e80530 // vshl.s32 d16, d16, #8 .long 0xf3f85035 // vshr.u32 d21, d21, #8 .long 0xf2e88532 // vshl.s32 d24, d18, #8 .long 0xf3f86036 // vshr.u32 d22, d22, #8 .long 0xf2e84534 // vshl.s32 d20, d20, #8 .long 0xf3f87037 // vshr.u32 d23, d23, #8 .long 0xf2e89531 // vshl.s32 d25, d17, #8 .long 0xf3f8a033 // vshr.u32 d26, d19, #8 .long 0xf26031b5 // vorr d19, d16, d21 .long 0xf26821b6 // vorr d18, d24, d22 .long 0xf26411b7 // vorr d17, d20, d23 .long 0xf26901ba // vorr d16, d25, d26 .long 0xf3f63124 // vuzp.16 d19, d20 .long 0xe59cc000 // ldr ip, [ip] .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe08cc182 // add ip, ip, r2, lsl #3 .long 0xf3f61124 // vuzp.16 d17, d20 .long 0xe35e0000 // cmp lr, #0 .long 0xf3f60124 // vuzp.16 d16, d20 .long 0xf4cc070f // vst4.16 {d16[0],d17[0],d18[0],d19[0]}, [ip] .long 0x1a000001 // bne 3b40 .long 0xe28cc008 // add ip, ip, #8 .long 0xf4cc074f // vst4.16 {d16[1],d17[1],d18[1],d19[1]}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x477fff00 // .word 0x477fff00 .long 0x477fff00 // .word 0x477fff00 HIDDEN _sk_load_f32_vfp4 .globl _sk_load_f32_vfp4 FUNCTION(_sk_load_f32_vfp4) _sk_load_f32_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc202 // add ip, ip, r2, lsl #4 .long 0x1a000004 // bne 3b88 .long 0xf42c008f // vld4.32 {d0-d3}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xf4ac0f8f // vld4.32 {d0[]-d3[]}, [ip] .long 0xeafffff9 // b 3b78 HIDDEN _sk_load_f32_dst_vfp4 .globl _sk_load_f32_dst_vfp4 FUNCTION(_sk_load_f32_dst_vfp4) _sk_load_f32_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc202 // add ip, ip, r2, lsl #4 .long 0x1a000004 // bne 3bc0 .long 0xf42c408f // vld4.32 {d4-d7}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xf4ac4f8f // vld4.32 {d4[]-d7[]}, [ip] .long 0xeafffff9 // b 3bb0 HIDDEN _sk_store_f32_vfp4 .globl _sk_store_f32_vfp4 FUNCTION(_sk_store_f32_vfp4) _sk_store_f32_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xe59de008 // ldr lr, [sp, #8] .long 0xe59cc000 // ldr ip, [ip] .long 0xe35e0000 // cmp lr, #0 .long 0xe08cc202 // add ip, ip, r2, lsl #4 .long 0x1a000004 // bne 3bf8 .long 0xf40c008f // vst4.32 {d0-d3}, [ip] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xf48c0b0f // vst4.32 {d0[0],d1[0],d2[0],d3[0]}, [ip] .long 0xeafffff9 // b 3be8 HIDDEN _sk_clamp_x_vfp4 .globl _sk_clamp_x_vfp4 FUNCTION(_sk_clamp_x_vfp4) _sk_clamp_x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe591e000 // ldr lr, [r1] .long 0xf3c71e1f // vmov.i8 d17, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2400f80 // vmax.f32 d16, d16, d0 .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26218a1 // vadd.i32 d17, d18, d17 .long 0xf2200fa1 // vmin.f32 d0, d16, d17 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_clamp_y_vfp4 .globl _sk_clamp_y_vfp4 FUNCTION(_sk_clamp_y_vfp4) _sk_clamp_y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe591e000 // ldr lr, [r1] .long 0xf3c71e1f // vmov.i8 d17, #255 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2400f81 // vmax.f32 d16, d16, d1 .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xf26218a1 // vadd.i32 d17, d18, d17 .long 0xf2201fa1 // vmin.f32 d1, d16, d17 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_repeat_x_vfp4 .globl _sk_repeat_x_vfp4 FUNCTION(_sk_repeat_x_vfp4) _sk_repeat_x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xeddf4b11 // vldr d20, [pc, #68] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee0c9d // vld1.32 {d16[]}, [lr :32]! .long 0xf4ee1c9f // vld1.32 {d17[]}, [lr :32] .long 0xf3411d90 // vmul.f32 d17, d17, d0 .long 0xf3fb2721 // vcvt.s32.f32 d18, d17 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3621ea1 // vcgt.f32 d17, d18, d17 .long 0xf35411b3 // vbsl d17, d20, d19 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf3c72e1f // vmov.i8 d18, #255 .long 0xf3401db1 // vmul.f32 d17, d16, d17 .long 0xf26008a2 // vadd.i32 d16, d16, d18 .long 0xf2601d21 // vsub.f32 d17, d0, d17 .long 0xf2210fa0 // vmin.f32 d0, d17, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_repeat_y_vfp4 .globl _sk_repeat_y_vfp4 FUNCTION(_sk_repeat_y_vfp4) _sk_repeat_y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2c03010 // vmov.i32 d19, #0 .long 0xeddf4b11 // vldr d20, [pc, #68] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee0c9d // vld1.32 {d16[]}, [lr :32]! .long 0xf4ee1c9f // vld1.32 {d17[]}, [lr :32] .long 0xf3411d91 // vmul.f32 d17, d17, d1 .long 0xf3fb2721 // vcvt.s32.f32 d18, d17 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3621ea1 // vcgt.f32 d17, d18, d17 .long 0xf35411b3 // vbsl d17, d20, d19 .long 0xf2621da1 // vsub.f32 d17, d18, d17 .long 0xf3c72e1f // vmov.i8 d18, #255 .long 0xf3401db1 // vmul.f32 d17, d16, d17 .long 0xf26008a2 // vadd.i32 d16, d16, d18 .long 0xf2611d21 // vsub.f32 d17, d1, d17 .long 0xf2211fa0 // vmin.f32 d1, d17, d16 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_mirror_x_vfp4 .globl _sk_mirror_x_vfp4 FUNCTION(_sk_mirror_x_vfp4) _sk_mirror_x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xeeb68a00 // vmov.f32 s16, #96 .long 0xe591e000 // ldr lr, [r1] .long 0xf2c04010 // vmov.i32 d20, #0 .long 0xeddf5b17 // vldr d21, [pc, #92] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xed9e9a00 // vldr s18, [lr] .long 0xed9eaa01 // vldr s20, [lr, #4] .long 0xf3f40c09 // vdup.32 d16, d9[0] .long 0xf2601d20 // vsub.f32 d17, d0, d16 .long 0xee2a0a08 // vmul.f32 s0, s20, s16 .long 0xf2e129c0 // vmul.f32 d18, d17, d0[0] .long 0xee390a09 // vadd.f32 s0, s18, s18 .long 0xf3fb3722 // vcvt.s32.f32 d19, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3632ea2 // vcgt.f32 d18, d19, d18 .long 0xf35521b4 // vbsl d18, d21, d20 .long 0xf2632da2 // vsub.f32 d18, d19, d18 .long 0xf2e229c0 // vmul.f32 d18, d18, d0[0] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xf3c72e1f // vmov.i8 d18, #255 .long 0xf2611da0 // vsub.f32 d17, d17, d16 .long 0xf26008a2 // vadd.i32 d16, d16, d18 .long 0xf3f91721 // vabs.f32 d17, d17 .long 0xf2210fa0 // vmin.f32 d0, d17, d16 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_mirror_y_vfp4 .globl _sk_mirror_y_vfp4 FUNCTION(_sk_mirror_y_vfp4) _sk_mirror_y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xeeb68a00 // vmov.f32 s16, #96 .long 0xe591e000 // ldr lr, [r1] .long 0xf2c04010 // vmov.i32 d20, #0 .long 0xeddf5b17 // vldr d21, [pc, #92] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xed9e9a00 // vldr s18, [lr] .long 0xed9eaa01 // vldr s20, [lr, #4] .long 0xf3f40c09 // vdup.32 d16, d9[0] .long 0xf2611d20 // vsub.f32 d17, d1, d16 .long 0xee2a1a08 // vmul.f32 s2, s20, s16 .long 0xf2e129c1 // vmul.f32 d18, d17, d1[0] .long 0xee391a09 // vadd.f32 s2, s18, s18 .long 0xf3fb3722 // vcvt.s32.f32 d19, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3632ea2 // vcgt.f32 d18, d19, d18 .long 0xf35521b4 // vbsl d18, d21, d20 .long 0xf2632da2 // vsub.f32 d18, d19, d18 .long 0xf2e229c1 // vmul.f32 d18, d18, d1[0] .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xf3c72e1f // vmov.i8 d18, #255 .long 0xf2611da0 // vsub.f32 d17, d17, d16 .long 0xf26008a2 // vadd.i32 d16, d16, d18 .long 0xf3f91721 // vabs.f32 d17, d17 .long 0xf2211fa0 // vmin.f32 d1, d17, d16 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_clamp_x_1_vfp4 .globl _sk_clamp_x_1_vfp4 FUNCTION(_sk_clamp_x_1_vfp4) _sk_clamp_x_1_vfp4: .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2c71f10 // vmov.f32 d17, #1 .long 0xf2400f80 // vmax.f32 d16, d16, d0 .long 0xf2200fa1 // vmin.f32 d0, d16, d17 .long 0xe12fff1c // bx ip HIDDEN _sk_repeat_x_1_vfp4 .globl _sk_repeat_x_1_vfp4 FUNCTION(_sk_repeat_x_1_vfp4) _sk_repeat_x_1_vfp4: .long 0xf3fb0700 // vcvt.s32.f32 d16, d0 .long 0xeddf3b07 // vldr d19, [pc, #28] .long 0xf2c02010 // vmov.i32 d18, #0 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3fb0620 // vcvt.f32.s32 d16, d16 .long 0xf3601e80 // vcgt.f32 d17, d16, d0 .long 0xf35311b2 // vbsl d17, d19, d18 .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf2200d20 // vsub.f32 d0, d0, d16 .long 0xe12fff1c // bx ip .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_mirror_x_1_vfp4 .globl _sk_mirror_x_1_vfp4 FUNCTION(_sk_mirror_x_1_vfp4) _sk_mirror_x_1_vfp4: .long 0xf3c70f10 // vmov.f32 d16, #-1 .long 0xeddf5b0f // vldr d21, [pc, #60] .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2401d20 // vadd.f32 d17, d0, d16 .long 0xf2c04010 // vmov.i32 d20, #0 .long 0xf3412db2 // vmul.f32 d18, d17, d18 .long 0xf3fb3722 // vcvt.s32.f32 d19, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3632ea2 // vcgt.f32 d18, d19, d18 .long 0xf35521b4 // vbsl d18, d21, d20 .long 0xf2632da2 // vsub.f32 d18, d19, d18 .long 0xf2422da2 // vadd.f32 d18, d18, d18 .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf3b90720 // vabs.f32 d0, d16 .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_luminance_to_alpha_vfp4 .globl _sk_luminance_to_alpha_vfp4 FUNCTION(_sk_luminance_to_alpha_vfp4) _sk_luminance_to_alpha_vfp4: .long 0xeddf0b0a // vldr d16, [pc, #40] .long 0xeddf1b0b // vldr d17, [pc, #44] .long 0xf3410d30 // vmul.f32 d16, d1, d16 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3401d31 // vmul.f32 d17, d0, d17 .long 0xf2800010 // vmov.i32 d0, #0 .long 0xf2801010 // vmov.i32 d1, #0 .long 0xf2013da0 // vadd.f32 d3, d17, d16 .long 0xeddf0b06 // vldr d16, [pc, #24] .long 0xf2023c30 // vfma.f32 d3, d2, d16 .long 0xf2802010 // vmov.i32 d2, #0 .long 0xe12fff1c // bx ip .long 0x3f371759 // .word 0x3f371759 .long 0x3f371759 // .word 0x3f371759 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3d93dd98 // .word 0x3d93dd98 .long 0x3d93dd98 // .word 0x3d93dd98 HIDDEN _sk_matrix_translate_vfp4 .globl _sk_matrix_translate_vfp4 FUNCTION(_sk_matrix_translate_vfp4) _sk_matrix_translate_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4ee0c9d // vld1.32 {d16[]}, [lr :32]! .long 0xf2000d80 // vadd.f32 d0, d16, d0 .long 0xf4ee1c9f // vld1.32 {d17[]}, [lr :32] .long 0xf2011d81 // vadd.f32 d1, d17, d1 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_scale_translate_vfp4 .globl _sk_matrix_scale_translate_vfp4 FUNCTION(_sk_matrix_scale_translate_vfp4) _sk_matrix_scale_translate_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e5008 // add r5, lr, #8 .long 0xe1a0400e // mov r4, lr .long 0xf4e51c9f // vld1.32 {d17[]}, [r5 :32] .long 0xe28e500c // add r5, lr, #12 .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xf2400c31 // vfma.f32 d16, d0, d17 .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xf2411c32 // vfma.f32 d17, d1, d18 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_2x3_vfp4 .globl _sk_matrix_2x3_vfp4 FUNCTION(_sk_matrix_2x3_vfp4) _sk_matrix_2x3_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e400c // add r4, lr, #12 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e4008 // add r4, lr, #8 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf2410c31 // vfma.f32 d16, d1, d17 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xf2411c32 // vfma.f32 d17, d1, d18 .long 0xf4ee2c9d // vld1.32 {d18[]}, [lr :32]! .long 0xf4ee3c9f // vld1.32 {d19[]}, [lr :32] .long 0xf2400c32 // vfma.f32 d16, d0, d18 .long 0xf2401c33 // vfma.f32 d17, d0, d19 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_3x4_vfp4 .globl _sk_matrix_3x4_vfp4 FUNCTION(_sk_matrix_3x4_vfp4) _sk_matrix_3x4_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e4020 // add r4, lr, #32 .long 0xf4e43c9f // vld1.32 {d19[]}, [r4 :32] .long 0xe28e402c // add r4, lr, #44 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e401c // add r4, lr, #28 .long 0xf2420c33 // vfma.f32 d16, d2, d19 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e4024 // add r4, lr, #36 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4028 // add r4, lr, #40 .long 0xf2421c32 // vfma.f32 d17, d2, d18 .long 0xf4e42c9f // vld1.32 {d18[]}, [r4 :32] .long 0xe28e4010 // add r4, lr, #16 .long 0xf2422c34 // vfma.f32 d18, d2, d20 .long 0xf4e43c9f // vld1.32 {d19[]}, [r4 :32] .long 0xe28e400c // add r4, lr, #12 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf2411c34 // vfma.f32 d17, d1, d20 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf2410c34 // vfma.f32 d16, d1, d20 .long 0xe28e4008 // add r4, lr, #8 .long 0xf2412c33 // vfma.f32 d18, d1, d19 .long 0xf4ee3c9d // vld1.32 {d19[]}, [lr :32]! .long 0xf4ee4c9f // vld1.32 {d20[]}, [lr :32] .long 0xf2401c33 // vfma.f32 d17, d0, d19 .long 0xf4e43c9f // vld1.32 {d19[]}, [r4 :32] .long 0xf2400c33 // vfma.f32 d16, d0, d19 .long 0xf2402c34 // vfma.f32 d18, d0, d20 .long 0xf22101b1 // vorr d0, d17, d17 .long 0xf22021b0 // vorr d2, d16, d16 .long 0xf22211b2 // vorr d1, d18, d18 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_4x5_vfp4 .globl _sk_matrix_4x5_vfp4 FUNCTION(_sk_matrix_4x5_vfp4) _sk_matrix_4x5_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xf2620112 // vorr d16, d2, d2 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e5014 // add r5, lr, #20 .long 0xe1a0400e // mov r4, lr .long 0xf4e55c9f // vld1.32 {d21[]}, [r5 :32] .long 0xe28e5028 // add r5, lr, #40 .long 0xf4e56c9f // vld1.32 {d22[]}, [r5 :32] .long 0xe28e5038 // add r5, lr, #56 .long 0xf4e57c9f // vld1.32 {d23[]}, [r5 :32] .long 0xe28e5048 // add r5, lr, #72 .long 0xf4a52c9f // vld1.32 {d2[]}, [r5 :32] .long 0xe28e5034 // add r5, lr, #52 .long 0xf2032c37 // vfma.f32 d2, d3, d23 .long 0xf4e58c9f // vld1.32 {d24[]}, [r5 :32] .long 0xe28e5044 // add r5, lr, #68 .long 0xf4e51c9f // vld1.32 {d17[]}, [r5 :32] .long 0xe28e5030 // add r5, lr, #48 .long 0xf2431c38 // vfma.f32 d17, d3, d24 .long 0xf4e59c9f // vld1.32 {d25[]}, [r5 :32] .long 0xe28e503c // add r5, lr, #60 .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e504c // add r5, lr, #76 .long 0xf2002cb6 // vfma.f32 d2, d16, d22 .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xe28e5040 // add r5, lr, #64 .long 0xf2432c33 // vfma.f32 d18, d3, d19 .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e5020 // add r5, lr, #32 .long 0xf2433c39 // vfma.f32 d19, d3, d25 .long 0xf4e57c9f // vld1.32 {d23[]}, [r5 :32] .long 0xe28e502c // add r5, lr, #44 .long 0xf4e58c9f // vld1.32 {d24[]}, [r5 :32] .long 0xe28e5024 // add r5, lr, #36 .long 0xf2402cb8 // vfma.f32 d18, d16, d24 .long 0xf4e58c9f // vld1.32 {d24[]}, [r5 :32] .long 0xf2401cb8 // vfma.f32 d17, d16, d24 .long 0xe28e5010 // add r5, lr, #16 .long 0xf2403cb7 // vfma.f32 d19, d16, d23 .long 0xf4e44c9d // vld1.32 {d20[]}, [r4 :32]! .long 0xf4e50c9f // vld1.32 {d16[]}, [r5 :32] .long 0xe28e501c // add r5, lr, #28 .long 0xf4e56c9f // vld1.32 {d22[]}, [r5 :32] .long 0xe28e5018 // add r5, lr, #24 .long 0xf2412c36 // vfma.f32 d18, d1, d22 .long 0xf2411c35 // vfma.f32 d17, d1, d21 .long 0xf4e45c9f // vld1.32 {d21[]}, [r4 :32] .long 0xf2413c30 // vfma.f32 d19, d1, d16 .long 0xf4e50c9f // vld1.32 {d16[]}, [r5 :32] .long 0xe28e5008 // add r5, lr, #8 .long 0xf2012c30 // vfma.f32 d2, d1, d16 .long 0xf4e50c9f // vld1.32 {d16[]}, [r5 :32] .long 0xe28e500c // add r5, lr, #12 .long 0xf2401c35 // vfma.f32 d17, d0, d21 .long 0xf2403c34 // vfma.f32 d19, d0, d20 .long 0xf4e54c9f // vld1.32 {d20[]}, [r5 :32] .long 0xf2402c34 // vfma.f32 d18, d0, d20 .long 0xf2002c30 // vfma.f32 d2, d0, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xf22301b3 // vorr d0, d19, d19 .long 0xf22231b2 // vorr d3, d18, d18 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_4x3_vfp4 .globl _sk_matrix_4x3_vfp4 FUNCTION(_sk_matrix_4x3_vfp4) _sk_matrix_4x3_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e5018 // add r5, lr, #24 .long 0xe1a0400e // mov r4, lr .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e5028 // add r5, lr, #40 .long 0xf4a52c9f // vld1.32 {d2[]}, [r5 :32] .long 0xe28e5014 // add r5, lr, #20 .long 0xf2012c33 // vfma.f32 d2, d1, d19 .long 0xf4e54c9f // vld1.32 {d20[]}, [r5 :32] .long 0xe28e5010 // add r5, lr, #16 .long 0xf4e51c9f // vld1.32 {d17[]}, [r5 :32] .long 0xe28e5020 // add r5, lr, #32 .long 0xf4e50c9f // vld1.32 {d16[]}, [r5 :32] .long 0xe28e501c // add r5, lr, #28 .long 0xf2410c31 // vfma.f32 d16, d1, d17 .long 0xf4e55c9f // vld1.32 {d21[]}, [r5 :32] .long 0xe28e502c // add r5, lr, #44 .long 0xf4a53c9f // vld1.32 {d3[]}, [r5 :32] .long 0xe28e5024 // add r5, lr, #36 .long 0xf2013c35 // vfma.f32 d3, d1, d21 .long 0xf4e51c9f // vld1.32 {d17[]}, [r5 :32] .long 0xe28e5008 // add r5, lr, #8 .long 0xf2411c34 // vfma.f32 d17, d1, d20 .long 0xf4e42c9d // vld1.32 {d18[]}, [r4 :32]! .long 0xf2400c32 // vfma.f32 d16, d0, d18 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e500c // add r5, lr, #12 .long 0xf2002c33 // vfma.f32 d2, d0, d19 .long 0xf2401c34 // vfma.f32 d17, d0, d20 .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xf2003c32 // vfma.f32 d3, d0, d18 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xf22111b1 // vorr d1, d17, d17 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_matrix_perspective_vfp4 .globl _sk_matrix_perspective_vfp4 FUNCTION(_sk_matrix_perspective_vfp4) _sk_matrix_perspective_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e401c // add r4, lr, #28 .long 0xe28e5010 // add r5, lr, #16 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe28e4020 // add r4, lr, #32 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xe28e4018 // add r4, lr, #24 .long 0xf2411c30 // vfma.f32 d17, d1, d16 .long 0xf4e40c9f // vld1.32 {d16[]}, [r4 :32] .long 0xe1a0400e // mov r4, lr .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xe28e5008 // add r5, lr, #8 .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e500c // add r5, lr, #12 .long 0xf2401c30 // vfma.f32 d17, d0, d16 .long 0xf4e40c9d // vld1.32 {d16[]}, [r4 :32]! .long 0xf4e45c9f // vld1.32 {d21[]}, [r4 :32] .long 0xe28e4014 // add r4, lr, #20 .long 0xf2413c35 // vfma.f32 d19, d1, d21 .long 0xf4e45c9f // vld1.32 {d21[]}, [r4 :32] .long 0xf2415c32 // vfma.f32 d21, d1, d18 .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xf3fb4521 // vrecpe.f32 d20, d17 .long 0xf2403c30 // vfma.f32 d19, d0, d16 .long 0xf2411fb4 // vrecps.f32 d17, d17, d20 .long 0xf2405c32 // vfma.f32 d21, d0, d18 .long 0xf3440db1 // vmul.f32 d16, d20, d17 .long 0xf3030db0 // vmul.f32 d0, d19, d16 .long 0xf3051db0 // vmul.f32 d1, d21, d16 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_evenly_spaced_gradient_vfp4 .globl _sk_evenly_spaced_gradient_vfp4 FUNCTION(_sk_evenly_spaced_gradient_vfp4) _sk_evenly_spaced_gradient_vfp4: .long 0xe92d4ff0 // push {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xed2d8b0a // vpush {d8-d12} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe89e0720 // ldm lr, {r5, r8, r9, sl} .long 0xe2455001 // sub r5, r5, #1 .long 0xe59e4010 // ldr r4, [lr, #16] .long 0xe59eb020 // ldr fp, [lr, #32] .long 0xee805b90 // vdup.32 d16, r5 .long 0xf3fb06a0 // vcvt.f32.u32 d16, d16 .long 0xf3400d90 // vmul.f32 d16, d16, d0 .long 0xf3fb0720 // vcvt.s32.f32 d16, d16 .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xe0846105 // add r6, r4, r5, lsl #2 .long 0xe08b7105 // add r7, fp, r5, lsl #2 .long 0xedd69a00 // vldr s19, [r6] .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd73a00 // vldr s7, [r7] .long 0xe08a7105 // add r7, sl, r5, lsl #2 .long 0xedd7aa00 // vldr s21, [r7] .long 0xe08a7106 // add r7, sl, r6, lsl #2 .long 0xe0844106 // add r4, r4, r6, lsl #2 .long 0xe59ea018 // ldr sl, [lr, #24] .long 0xed97aa00 // vldr s20, [r7] .long 0xe59e701c // ldr r7, [lr, #28] .long 0xed949a00 // vldr s18, [r4] .long 0xe0874105 // add r4, r7, r5, lsl #2 .long 0xedd42a00 // vldr s5, [r4] .long 0xe0894105 // add r4, r9, r5, lsl #2 .long 0xedd4ba00 // vldr s23, [r4] .long 0xe0894106 // add r4, r9, r6, lsl #2 .long 0xe08b9106 // add r9, fp, r6, lsl #2 .long 0xe087b106 // add fp, r7, r6, lsl #2 .long 0xed94ba00 // vldr s22, [r4] .long 0xe08a4105 // add r4, sl, r5, lsl #2 .long 0xe0887105 // add r7, r8, r5, lsl #2 .long 0xed9b2a00 // vldr s4, [fp] .long 0xedd41a00 // vldr s3, [r4] .long 0xe59e4014 // ldr r4, [lr, #20] .long 0xf2002c1a // vfma.f32 d2, d0, d10 .long 0xedd7ca00 // vldr s25, [r7] .long 0xe0887106 // add r7, r8, r6, lsl #2 .long 0xe0845105 // add r5, r4, r5, lsl #2 .long 0xed993a00 // vldr s6, [r9] .long 0xed97ca00 // vldr s24, [r7] .long 0xe0847106 // add r7, r4, r6, lsl #2 .long 0xedd58a00 // vldr s17, [r5] .long 0xf2003c19 // vfma.f32 d3, d0, d9 .long 0xed978a00 // vldr s16, [r7] .long 0xe08a7106 // add r7, sl, r6, lsl #2 .long 0xf2008c1c // vfma.f32 d8, d0, d12 .long 0xed971a00 // vldr s2, [r7] .long 0xf2001c1b // vfma.f32 d1, d0, d11 .long 0xf2280118 // vorr d0, d8, d8 .long 0xecbd8b0a // vpop {d8-d12} .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4ff0 // pop {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_gauss_a_to_rgba_vfp4 .globl _sk_gauss_a_to_rgba_vfp4 FUNCTION(_sk_gauss_a_to_rgba_vfp4) _sk_gauss_a_to_rgba_vfp4: .long 0xeddf0b0c // vldr d16, [pc, #48] .long 0xeddf1b0d // vldr d17, [pc, #52] .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xeddf0b0d // vldr d16, [pc, #52] .long 0xed9f0b10 // vldr d0, [pc, #64] .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2430c31 // vfma.f32 d16, d3, d17 .long 0xeddf1b0b // vldr d17, [pc, #44] .long 0xf2431c30 // vfma.f32 d17, d3, d16 .long 0xf2030c31 // vfma.f32 d0, d3, d17 .long 0xf2201110 // vorr d1, d0, d0 .long 0xf2202110 // vorr d2, d0, d0 .long 0xf2203110 // vorr d3, d0, d0 .long 0xe12fff1c // bx ip .long 0xc011102d // .word 0xc011102d .long 0xc011102d // .word 0xc011102d .long 0x40397812 // .word 0x40397812 .long 0x40397812 // .word 0x40397812 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x39a11800 // .word 0x39a11800 .long 0x39a11800 // .word 0x39a11800 HIDDEN _sk_gradient_vfp4 .globl _sk_gradient_vfp4 FUNCTION(_sk_gradient_vfp4) _sk_gradient_vfp4: .long 0xe92d4ff0 // push {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xed2d8b0a // vpush {d8-d12} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe58d3004 // str r3, [sp, #4] .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe591c000 // ldr ip, [r1] .long 0xe59c4000 // ldr r4, [ip] .long 0xe3540002 // cmp r4, #2 .long 0x3a00000b // bcc 4438 .long 0xe59c5024 // ldr r5, [ip, #36] .long 0xf2c01010 // vmov.i32 d17, #0 .long 0xf2c02011 // vmov.i32 d18, #1 .long 0xe244e001 // sub lr, r4, #1 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe2854004 // add r4, r5, #4 .long 0xf4e43c9d // vld1.32 {d19[]}, [r4 :32]! .long 0xe25ee001 // subs lr, lr, #1 .long 0xf3403e23 // vcge.f32 d19, d0, d19 .long 0xf35231b1 // vbsl d19, d18, d17 .long 0xf26308a0 // vadd.i32 d16, d19, d16 .long 0x1afffff9 // bne 4420 .long 0xee304b90 // vmov.32 r4, d16[1] .long 0xe59c6010 // ldr r6, [ip, #16] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe59c700c // ldr r7, [ip, #12] .long 0xe59ca020 // ldr sl, [ip, #32] .long 0xe59c9004 // ldr r9, [ip, #4] .long 0xe59c8008 // ldr r8, [ip, #8] .long 0xe0865104 // add r5, r6, r4, lsl #2 .long 0xe089310e // add r3, r9, lr, lsl #2 .long 0xe0899104 // add r9, r9, r4, lsl #2 .long 0xedd59a00 // vldr s19, [r5] .long 0xe086510e // add r5, r6, lr, lsl #2 .long 0xedd9ca00 // vldr s25, [r9] .long 0xed959a00 // vldr s18, [r5] .long 0xe0875104 // add r5, r7, r4, lsl #2 .long 0xed93ca00 // vldr s24, [r3] .long 0xedd5aa00 // vldr s21, [r5] .long 0xe087510e // add r5, r7, lr, lsl #2 .long 0xed95aa00 // vldr s20, [r5] .long 0xe08a5104 // add r5, sl, r4, lsl #2 .long 0xe08aa10e // add sl, sl, lr, lsl #2 .long 0xedd53a00 // vldr s7, [r5] .long 0xe59c501c // ldr r5, [ip, #28] .long 0xed9a3a00 // vldr s6, [sl] .long 0xe0856104 // add r6, r5, r4, lsl #2 .long 0xe085b10e // add fp, r5, lr, lsl #2 .long 0xe0885104 // add r5, r8, r4, lsl #2 .long 0xe088810e // add r8, r8, lr, lsl #2 .long 0xedd62a00 // vldr s5, [r6] .long 0xf2003c19 // vfma.f32 d3, d0, d9 .long 0xedd5ba00 // vldr s23, [r5] .long 0xe59c6014 // ldr r6, [ip, #20] .long 0xe59c5018 // ldr r5, [ip, #24] .long 0xe0863104 // add r3, r6, r4, lsl #2 .long 0xed9b2a00 // vldr s4, [fp] .long 0xe0857104 // add r7, r5, r4, lsl #2 .long 0xed98ba00 // vldr s22, [r8] .long 0xedd38a00 // vldr s17, [r3] .long 0xe085310e // add r3, r5, lr, lsl #2 .long 0xedd71a00 // vldr s3, [r7] .long 0xe086710e // add r7, r6, lr, lsl #2 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf2002c1a // vfma.f32 d2, d0, d10 .long 0xed978a00 // vldr s16, [r7] .long 0xe2811008 // add r1, r1, #8 .long 0xed931a00 // vldr s2, [r3] .long 0xf2008c1c // vfma.f32 d8, d0, d12 .long 0xe59d3004 // ldr r3, [sp, #4] .long 0xf2001c1b // vfma.f32 d1, d0, d11 .long 0xf2280118 // vorr d0, d8, d8 .long 0xe28dd008 // add sp, sp, #8 .long 0xecbd8b0a // vpop {d8-d12} .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4ff0 // pop {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_evenly_spaced_2_stop_gradient_vfp4 .globl _sk_evenly_spaced_2_stop_gradient_vfp4 FUNCTION(_sk_evenly_spaced_2_stop_gradient_vfp4) _sk_evenly_spaced_2_stop_gradient_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe28e500c // add r5, lr, #12 .long 0xe1a0400e // mov r4, lr .long 0xf4e52c9f // vld1.32 {d18[]}, [r5 :32] .long 0xe28e5008 // add r5, lr, #8 .long 0xf4e53c9f // vld1.32 {d19[]}, [r5 :32] .long 0xe28e5018 // add r5, lr, #24 .long 0xf4a52c9f // vld1.32 {d2[]}, [r5 :32] .long 0xe28e5010 // add r5, lr, #16 .long 0xf2002c33 // vfma.f32 d2, d0, d19 .long 0xf4e50c9f // vld1.32 {d16[]}, [r5 :32] .long 0xe28e501c // add r5, lr, #28 .long 0xf4e41c9d // vld1.32 {d17[]}, [r4 :32]! .long 0xf2400c31 // vfma.f32 d16, d0, d17 .long 0xf4a53c9f // vld1.32 {d3[]}, [r5 :32] .long 0xe28e5014 // add r5, lr, #20 .long 0xf2003c32 // vfma.f32 d3, d0, d18 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xf4a51c9f // vld1.32 {d1[]}, [r5 :32] .long 0xf2001c31 // vfma.f32 d1, d0, d17 .long 0xf22001b0 // vorr d0, d16, d16 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_xy_to_unit_angle_vfp4 .globl _sk_xy_to_unit_angle_vfp4 FUNCTION(_sk_xy_to_unit_angle_vfp4) _sk_xy_to_unit_angle_vfp4: .long 0xed2d8b06 // vpush {d8-d10} .long 0xf3f90701 // vabs.f32 d16, d1 .long 0xeddf3b24 // vldr d19, [pc, #144] .long 0xf3f91700 // vabs.f32 d17, d0 .long 0xeddf4b24 // vldr d20, [pc, #144] .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf2018fa0 // vmax.f32 d8, d17, d16 .long 0xf2219fa0 // vmin.f32 d9, d17, d16 .long 0xf3600ea1 // vcgt.f32 d16, d16, d17 .long 0xeec9aaa8 // vdiv.f32 s21, s19, s17 .long 0xee89aa08 // vdiv.f32 s20, s18, s16 .long 0xf34a2d1a // vmul.f32 d18, d10, d10 .long 0xf3423db3 // vmul.f32 d19, d18, d19 .long 0xf2433da4 // vadd.f32 d19, d19, d20 .long 0xeddf4b1c // vldr d20, [pc, #112] .long 0xf3423db3 // vmul.f32 d19, d18, d19 .long 0xf2433da4 // vadd.f32 d19, d19, d20 .long 0xf3422db3 // vmul.f32 d18, d18, d19 .long 0xeddf3b1a // vldr d19, [pc, #104] .long 0xf2422da3 // vadd.f32 d18, d18, d19 .long 0xf2c53f10 // vmov.f32 d19, #0.25 .long 0xf34a2d32 // vmul.f32 d18, d10, d18 .long 0xf2631da2 // vsub.f32 d17, d19, d18 .long 0xf2c3361f // vmov.i32 d19, #1056964608 .long 0xf35101b2 // vbsl d16, d17, d18 .long 0xf2c72f10 // vmov.f32 d18, #1 .long 0xf2631da0 // vsub.f32 d17, d19, d16 .long 0xf3f93600 // vclt.f32 d19, d0, #0 .long 0xf35131b0 // vbsl d19, d17, d16 .long 0xf2c01010 // vmov.i32 d17, #0 .long 0xf2620da3 // vsub.f32 d16, d18, d19 .long 0xf3f92601 // vclt.f32 d18, d1, #0 .long 0xf35021b3 // vbsl d18, d16, d19 .long 0xf3420ea1 // vcge.f32 d16, d18, d17 .long 0xf3613ea2 // vcgt.f32 d19, d17, d18 .long 0xf26301b0 // vorr d16, d19, d16 .long 0xf3b005a0 // vmvn d0, d16 .long 0xf31101b2 // vbsl d0, d17, d18 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe12fff1c // bx ip .long 0xbbe72b6f // .word 0xbbe72b6f .long 0xbbe72b6f // .word 0xbbe72b6f .long 0x3ccad79f // .word 0x3ccad79f .long 0x3ccad79f // .word 0x3ccad79f .long 0xbd5464d4 // .word 0xbd5464d4 .long 0xbd5464d4 // .word 0xbd5464d4 .long 0x3e22f0a9 // .word 0x3e22f0a9 .long 0x3e22f0a9 // .word 0x3e22f0a9 HIDDEN _sk_xy_to_radius_vfp4 .globl _sk_xy_to_radius_vfp4 FUNCTION(_sk_xy_to_radius_vfp4) _sk_xy_to_radius_vfp4: .long 0xf3410d11 // vmul.f32 d16, d1, d1 .long 0xe491c004 // ldr ip, [r1], #4 .long 0xf3401d10 // vmul.f32 d17, d0, d0 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf3fb15a0 // vrsqrte.f32 d17, d16 .long 0xf3412db1 // vmul.f32 d18, d17, d17 .long 0xf2602fb2 // vrsqrts.f32 d18, d16, d18 .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf3412db1 // vmul.f32 d18, d17, d17 .long 0xf2602fb2 // vrsqrts.f32 d18, d16, d18 .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xf3000db1 // vmul.f32 d0, d16, d17 .long 0xe12fff1c // bx ip HIDDEN _sk_xy_to_2pt_conical_quadratic_max_vfp4 .globl _sk_xy_to_2pt_conical_quadratic_max_vfp4 FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_vfp4) _sk_xy_to_2pt_conical_quadratic_max_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xf3410d11 // vmul.f32 d16, d1, d1 .long 0xf3401d10 // vmul.f32 d17, d0, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3c12f10 // vmov.f32 d18, #-4 .long 0xe28e4020 // add r4, lr, #32 .long 0xed9e8a0a // vldr s16, [lr, #40] .long 0xf3c44610 // vmov.i32 d20, #-1073741824 .long 0xed9e9a0b // vldr s18, [lr, #44] .long 0xe2811008 // add r1, r1, #8 .long 0xee28aa08 // vmul.f32 s20, s16, s16 .long 0xee298a08 // vmul.f32 s16, s18, s16 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf3f41c0a // vdup.32 d17, d10[0] .long 0xf3f43c08 // vdup.32 d19, d8[0] .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xf2433d80 // vadd.f32 d19, d19, d0 .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xe28e4024 // add r4, lr, #36 .long 0xf3432db4 // vmul.f32 d18, d19, d20 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2420cb2 // vfma.f32 d16, d18, d18 .long 0xf3fb15a0 // vrsqrte.f32 d17, d16 .long 0xf3413db1 // vmul.f32 d19, d17, d17 .long 0xf2603fb3 // vrsqrts.f32 d19, d16, d19 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf3413db1 // vmul.f32 d19, d17, d17 .long 0xf2603fb3 // vrsqrts.f32 d19, d16, d19 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf3f937a2 // vneg.f32 d19, d18 .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2633da0 // vsub.f32 d19, d19, d16 .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xf3441db1 // vmul.f32 d17, d20, d17 .long 0xf3412db3 // vmul.f32 d18, d17, d19 .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2000fa2 // vmax.f32 d0, d16, d18 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_xy_to_2pt_conical_quadratic_min_vfp4 .globl _sk_xy_to_2pt_conical_quadratic_min_vfp4 FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_vfp4) _sk_xy_to_2pt_conical_quadratic_min_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xed2d8b06 // vpush {d8-d10} .long 0xe591e000 // ldr lr, [r1] .long 0xf3410d11 // vmul.f32 d16, d1, d1 .long 0xf3401d10 // vmul.f32 d17, d0, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3c12f10 // vmov.f32 d18, #-4 .long 0xe28e4020 // add r4, lr, #32 .long 0xed9e8a0a // vldr s16, [lr, #40] .long 0xf3c44610 // vmov.i32 d20, #-1073741824 .long 0xed9e9a0b // vldr s18, [lr, #44] .long 0xe2811008 // add r1, r1, #8 .long 0xee28aa08 // vmul.f32 s20, s16, s16 .long 0xee298a08 // vmul.f32 s16, s18, s16 .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xf3f41c0a // vdup.32 d17, d10[0] .long 0xf3f43c08 // vdup.32 d19, d8[0] .long 0xf2600da1 // vsub.f32 d16, d16, d17 .long 0xf4e41c9f // vld1.32 {d17[]}, [r4 :32] .long 0xf2433d80 // vadd.f32 d19, d19, d0 .long 0xf3411db2 // vmul.f32 d17, d17, d18 .long 0xe28e4024 // add r4, lr, #36 .long 0xf3432db4 // vmul.f32 d18, d19, d20 .long 0xf4e44c9f // vld1.32 {d20[]}, [r4 :32] .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2420cb2 // vfma.f32 d16, d18, d18 .long 0xf3fb15a0 // vrsqrte.f32 d17, d16 .long 0xf3413db1 // vmul.f32 d19, d17, d17 .long 0xf2603fb3 // vrsqrts.f32 d19, d16, d19 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf3413db1 // vmul.f32 d19, d17, d17 .long 0xf2603fb3 // vrsqrts.f32 d19, d16, d19 .long 0xf3411db3 // vmul.f32 d17, d17, d19 .long 0xf3f937a2 // vneg.f32 d19, d18 .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2c3161f // vmov.i32 d17, #1056964608 .long 0xf2633da0 // vsub.f32 d19, d19, d16 .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xf3441db1 // vmul.f32 d17, d20, d17 .long 0xf3412db3 // vmul.f32 d18, d17, d19 .long 0xf3410db0 // vmul.f32 d16, d17, d16 .long 0xf2200fa2 // vmin.f32 d0, d16, d18 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_xy_to_2pt_conical_linear_vfp4 .globl _sk_xy_to_2pt_conical_linear_vfp4 FUNCTION(_sk_xy_to_2pt_conical_linear_vfp4) _sk_xy_to_2pt_conical_linear_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b04 // vpush {d8-d9} .long 0xe591e000 // ldr lr, [r1] .long 0xf3410d11 // vmul.f32 d16, d1, d1 .long 0xf3401d10 // vmul.f32 d17, d0, d0 .long 0xe591c004 // ldr ip, [r1, #4] .long 0xf3c43610 // vmov.i32 d19, #-1073741824 .long 0xe2811008 // add r1, r1, #8 .long 0xed9e8a0a // vldr s16, [lr, #40] .long 0xed9e9a0b // vldr s18, [lr, #44] .long 0xf2410da0 // vadd.f32 d16, d17, d16 .long 0xee299a08 // vmul.f32 s18, s18, s16 .long 0xee288a08 // vmul.f32 s16, s16, s16 .long 0xf3f41c09 // vdup.32 d17, d9[0] .long 0xf3f42c08 // vdup.32 d18, d8[0] .long 0xf2411d80 // vadd.f32 d17, d17, d0 .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xf3018db3 // vmul.f32 d8, d17, d19 .long 0xf3b997a0 // vneg.f32 d9, d16 .long 0xeec90aa8 // vdiv.f32 s1, s19, s17 .long 0xee890a08 // vdiv.f32 s0, s18, s16 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_mask_2pt_conical_degenerates_vfp4 .globl _sk_mask_2pt_conical_degenerates_vfp4 FUNCTION(_sk_mask_2pt_conical_degenerates_vfp4) _sk_mask_2pt_conical_degenerates_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe591c000 // ldr ip, [r1] .long 0xf3401e20 // vcge.f32 d17, d0, d16 .long 0xe28ce02c // add lr, ip, #44 .long 0xf3600e80 // vcgt.f32 d16, d16, d0 .long 0xf4ee2c9f // vld1.32 {d18[]}, [lr :32] .long 0xe28ce028 // add lr, ip, #40 .long 0xf26001b1 // vorr d16, d16, d17 .long 0xf4ee1c9f // vld1.32 {d17[]}, [lr :32] .long 0xf2401c32 // vfma.f32 d17, d0, d18 .long 0xf3f914a1 // vcge.f32 d17, d17, #0 .long 0xf24101b0 // vand d16, d17, d16 .long 0xedcc0b00 // vstr d16, [ip] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_apply_vector_mask_vfp4 .globl _sk_apply_vector_mask_vfp4 FUNCTION(_sk_apply_vector_mask_vfp4) _sk_apply_vector_mask_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xedde0b00 // vldr d16, [lr] .long 0xf2000190 // vand d0, d16, d0 .long 0xf2001191 // vand d1, d16, d1 .long 0xf2002192 // vand d2, d16, d2 .long 0xf2003193 // vand d3, d16, d3 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_save_xy_vfp4 .globl _sk_save_xy_vfp4 FUNCTION(_sk_save_xy_vfp4) _sk_save_xy_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xeddf7b1a // vldr d23, [pc, #104] .long 0xf2c06010 // vmov.i32 d22, #0 .long 0xe591c000 // ldr ip, [r1] .long 0xf2401d20 // vadd.f32 d17, d0, d16 .long 0xf2410d20 // vadd.f32 d16, d1, d16 .long 0xed8c0b00 // vstr d0, [ip] .long 0xed8c1b08 // vstr d1, [ip, #32] .long 0xf3fb2721 // vcvt.s32.f32 d18, d17 .long 0xf3fb3720 // vcvt.s32.f32 d19, d16 .long 0xf3fb2622 // vcvt.f32.s32 d18, d18 .long 0xf3fb3623 // vcvt.f32.s32 d19, d19 .long 0xf3624ea1 // vcgt.f32 d20, d18, d17 .long 0xf3635ea0 // vcgt.f32 d21, d19, d16 .long 0xf35741b6 // vbsl d20, d23, d22 .long 0xf35751b6 // vbsl d21, d23, d22 .long 0xf2622da4 // vsub.f32 d18, d18, d20 .long 0xf2633da5 // vsub.f32 d19, d19, d21 .long 0xf2611da2 // vsub.f32 d17, d17, d18 .long 0xf2600da3 // vsub.f32 d16, d16, d19 .long 0xedcc1b10 // vstr d17, [ip, #64] .long 0xedcc0b18 // vstr d16, [ip, #96] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_accumulate_vfp4 .globl _sk_accumulate_vfp4 FUNCTION(_sk_accumulate_vfp4) _sk_accumulate_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe591c004 // ldr ip, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xedde1b28 // vldr d17, [lr, #160] .long 0xedde0b20 // vldr d16, [lr, #128] .long 0xf3400db1 // vmul.f32 d16, d16, d17 .long 0xf2004c90 // vfma.f32 d4, d16, d0 .long 0xf2005c91 // vfma.f32 d5, d16, d1 .long 0xf2006c92 // vfma.f32 d6, d16, d2 .long 0xf2007c93 // vfma.f32 d7, d16, d3 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_bilinear_nx_vfp4 .globl _sk_bilinear_nx_vfp4 FUNCTION(_sk_bilinear_nx_vfp4) _sk_bilinear_nx_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xeddc2b10 // vldr d18, [ip, #64] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddc1b00 // vldr d17, [ip] .long 0xf3c3261f // vmov.i32 d18, #-1090519040 .long 0xf2010da2 // vadd.f32 d0, d17, d18 .long 0xedcc0b20 // vstr d16, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_bilinear_px_vfp4 .globl _sk_bilinear_px_vfp4 FUNCTION(_sk_bilinear_px_vfp4) _sk_bilinear_px_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xeddc2b10 // vldr d18, [ip, #64] .long 0xeddc1b00 // vldr d17, [ip] .long 0xedcc2b20 // vstr d18, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xf2010da0 // vadd.f32 d0, d17, d16 .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_bilinear_ny_vfp4 .globl _sk_bilinear_ny_vfp4 FUNCTION(_sk_bilinear_ny_vfp4) _sk_bilinear_ny_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xeddc2b18 // vldr d18, [ip, #96] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddc1b08 // vldr d17, [ip, #32] .long 0xf3c3261f // vmov.i32 d18, #-1090519040 .long 0xf2011da2 // vadd.f32 d1, d17, d18 .long 0xedcc0b28 // vstr d16, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip HIDDEN _sk_bilinear_py_vfp4 .globl _sk_bilinear_py_vfp4 FUNCTION(_sk_bilinear_py_vfp4) _sk_bilinear_py_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xeddc2b18 // vldr d18, [ip, #96] .long 0xeddc1b08 // vldr d17, [ip, #32] .long 0xedcc2b28 // vstr d18, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xf2011da0 // vadd.f32 d1, d17, d16 .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_bicubic_n3x_vfp4 .globl _sk_bicubic_n3x_vfp4 FUNCTION(_sk_bicubic_n3x_vfp4) _sk_bicubic_n3x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xeddf3b11 // vldr d19, [pc, #68] .long 0xeddc2b10 // vldr d18, [ip, #64] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddf2b0c // vldr d18, [pc, #48] .long 0xeddc1b00 // vldr d17, [ip] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf3400db0 // vmul.f32 d16, d16, d16 .long 0xf3c72f18 // vmov.f32 d18, #-1.5 .long 0xf2010da2 // vadd.f32 d0, d17, d18 .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xedcc0b20 // vstr d16, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab HIDDEN _sk_bicubic_n1x_vfp4 .globl _sk_bicubic_n1x_vfp4 FUNCTION(_sk_bicubic_n1x_vfp4) _sk_bicubic_n1x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xf2c73f18 // vmov.f32 d19, #1.5 .long 0xeddc2b10 // vldr d18, [ip, #64] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddf2b0e // vldr d18, [pc, #56] .long 0xeddc1b00 // vldr d17, [ip] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2402cb3 // vfma.f32 d18, d16, d19 .long 0xeddf3b0b // vldr d19, [pc, #44] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf3c3061f // vmov.i32 d16, #-1090519040 .long 0xf2010da0 // vadd.f32 d0, d17, d16 .long 0xedcc3b20 // vstr d19, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 HIDDEN _sk_bicubic_p1x_vfp4 .globl _sk_bicubic_p1x_vfp4 FUNCTION(_sk_bicubic_p1x_vfp4) _sk_bicubic_p1x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c71f18 // vmov.f32 d17, #1.5 .long 0xeddf0b0f // vldr d16, [pc, #60] .long 0xeddc3b10 // vldr d19, [ip, #64] .long 0xf2431cb0 // vfma.f32 d17, d19, d16 .long 0xeddc2b00 // vldr d18, [ip] .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xf2020da0 // vadd.f32 d0, d18, d16 .long 0xf2430cb1 // vfma.f32 d16, d19, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf2431cb0 // vfma.f32 d17, d19, d16 .long 0xedcc1b20 // vstr d17, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 HIDDEN _sk_bicubic_p3x_vfp4 .globl _sk_bicubic_p3x_vfp4 FUNCTION(_sk_bicubic_p3x_vfp4) _sk_bicubic_p3x_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xeddf0b0e // vldr d16, [pc, #56] .long 0xeddf3b0f // vldr d19, [pc, #60] .long 0xeddc2b10 // vldr d18, [ip, #64] .long 0xf2423cb0 // vfma.f32 d19, d18, d16 .long 0xeddc1b00 // vldr d17, [ip] .long 0xf3420db2 // vmul.f32 d16, d18, d18 .long 0xf2c72f18 // vmov.f32 d18, #1.5 .long 0xf2010da2 // vadd.f32 d0, d17, d18 .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xedcc0b20 // vstr d16, [ip, #128] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab HIDDEN _sk_bicubic_n3y_vfp4 .globl _sk_bicubic_n3y_vfp4 FUNCTION(_sk_bicubic_n3y_vfp4) _sk_bicubic_n3y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xeddf3b11 // vldr d19, [pc, #68] .long 0xeddc2b18 // vldr d18, [ip, #96] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddf2b0c // vldr d18, [pc, #48] .long 0xeddc1b08 // vldr d17, [ip, #32] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf3400db0 // vmul.f32 d16, d16, d16 .long 0xf3c72f18 // vmov.f32 d18, #-1.5 .long 0xf2011da2 // vadd.f32 d1, d17, d18 .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xedcc0b28 // vstr d16, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab HIDDEN _sk_bicubic_n1y_vfp4 .globl _sk_bicubic_n1y_vfp4 FUNCTION(_sk_bicubic_n1y_vfp4) _sk_bicubic_n1y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c70f10 // vmov.f32 d16, #1 .long 0xf2c73f18 // vmov.f32 d19, #1.5 .long 0xeddc2b18 // vldr d18, [ip, #96] .long 0xf2600da2 // vsub.f32 d16, d16, d18 .long 0xeddf2b0e // vldr d18, [pc, #56] .long 0xeddc1b08 // vldr d17, [ip, #32] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf2c3261f // vmov.i32 d18, #1056964608 .long 0xf2402cb3 // vfma.f32 d18, d16, d19 .long 0xeddf3b0b // vldr d19, [pc, #44] .long 0xf2403cb2 // vfma.f32 d19, d16, d18 .long 0xf3c3061f // vmov.i32 d16, #-1090519040 .long 0xf2011da0 // vadd.f32 d1, d17, d16 .long 0xedcc3b28 // vstr d19, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 HIDDEN _sk_bicubic_p1y_vfp4 .globl _sk_bicubic_p1y_vfp4 FUNCTION(_sk_bicubic_p1y_vfp4) _sk_bicubic_p1y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xf2c71f18 // vmov.f32 d17, #1.5 .long 0xeddf0b0f // vldr d16, [pc, #60] .long 0xeddc3b18 // vldr d19, [ip, #96] .long 0xf2431cb0 // vfma.f32 d17, d19, d16 .long 0xeddc2b08 // vldr d18, [ip, #32] .long 0xf2c3061f // vmov.i32 d16, #1056964608 .long 0xf2021da0 // vadd.f32 d1, d18, d16 .long 0xf2430cb1 // vfma.f32 d16, d19, d17 .long 0xeddf1b0a // vldr d17, [pc, #40] .long 0xf2431cb0 // vfma.f32 d17, d19, d16 .long 0xedcc1b28 // vstr d17, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 HIDDEN _sk_bicubic_p3y_vfp4 .globl _sk_bicubic_p3y_vfp4 FUNCTION(_sk_bicubic_p3y_vfp4) _sk_bicubic_p3y_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591c000 // ldr ip, [r1] .long 0xeddf0b0e // vldr d16, [pc, #56] .long 0xeddf3b0f // vldr d19, [pc, #60] .long 0xeddc2b18 // vldr d18, [ip, #96] .long 0xf2423cb0 // vfma.f32 d19, d18, d16 .long 0xeddc1b08 // vldr d17, [ip, #32] .long 0xf3420db2 // vmul.f32 d16, d18, d18 .long 0xf2c72f18 // vmov.f32 d18, #1.5 .long 0xf2011da2 // vadd.f32 d1, d17, d18 .long 0xf3400db3 // vmul.f32 d16, d16, d19 .long 0xedcc0b28 // vstr d16, [ip, #160] .long 0xe281c008 // add ip, r1, #8 .long 0xe591e004 // ldr lr, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xe1a0c00e // mov ip, lr .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab HIDDEN _sk_callback_vfp4 .globl _sk_callback_vfp4 FUNCTION(_sk_callback_vfp4) _sk_callback_vfp4: .long 0xe92d4df0 // push {r4, r5, r6, r7, r8, sl, fp, lr} .long 0xe28db018 // add fp, sp, #24 .long 0xed2d8b08 // vpush {d8-d11} .long 0xe1a06001 // mov r6, r1 .long 0xe1a07000 // mov r7, r0 .long 0xe5964000 // ldr r4, [r6] .long 0xe1a05002 // mov r5, r2 .long 0xe59b1008 // ldr r1, [fp, #8] .long 0xeeb08b47 // vmov.f64 d8, d7 .long 0xe2840004 // add r0, r4, #4 .long 0xe1a08003 // mov r8, r3 .long 0xe3510000 // cmp r1, #0 .long 0x03a01002 // moveq r1, #2 .long 0xf400008f // vst4.32 {d0-d3}, [r0] .long 0xe1a00004 // mov r0, r4 .long 0xe5942000 // ldr r2, [r4] .long 0xeeb09b46 // vmov.f64 d9, d6 .long 0xeeb0ab45 // vmov.f64 d10, d5 .long 0xeeb0bb44 // vmov.f64 d11, d4 .long 0xe12fff32 // blx r2 .long 0xe5940084 // ldr r0, [r4, #132] .long 0xe2861008 // add r1, r6, #8 .long 0xe596c004 // ldr ip, [r6, #4] .long 0xe1a02005 // mov r2, r5 .long 0xe1a03008 // mov r3, r8 .long 0xeeb04b4b // vmov.f64 d4, d11 .long 0xf420008f // vld4.32 {d0-d3}, [r0] .long 0xe1a00007 // mov r0, r7 .long 0xeeb05b4a // vmov.f64 d5, d10 .long 0xeeb06b49 // vmov.f64 d6, d9 .long 0xeeb07b48 // vmov.f64 d7, d8 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe8bd4df0 // pop {r4, r5, r6, r7, r8, sl, fp, lr} .long 0xe12fff1c // bx ip #elif defined(__x86_64__) BALIGN32 HIDDEN _sk_start_pipeline_hsw .globl _sk_start_pipeline_hsw FUNCTION(_sk_start_pipeline_hsw) _sk_start_pipeline_hsw: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,208 // mov %rdx,%r8 .byte 72,137,243 // mov %rsi,%rbx .byte 73,137,254 // mov %rdi,%r14 .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,247 // mov %rsi,%r15 .byte 73,141,78,8 // lea 0x8(%r14),%rcx .byte 76,57,193 // cmp %r8,%rcx .byte 118,5 // jbe 33 <_sk_start_pipeline_hsw+0x33> .byte 76,137,242 // mov %r14,%rdx .byte 235,42 // jmp 5d <_sk_start_pipeline_hsw+0x5d> .byte 76,137,69,208 // mov %r8,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 76,137,254 // mov %r15,%rsi .byte 76,137,242 // mov %r14,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,139,69,208 // mov -0x30(%rbp),%r8 .byte 73,141,86,8 // lea 0x8(%r14),%rdx .byte 73,131,198,16 // add $0x10,%r14 .byte 77,57,198 // cmp %r8,%r14 .byte 73,137,214 // mov %rdx,%r14 .byte 118,218 // jbe 37 <_sk_start_pipeline_hsw+0x37> .byte 73,41,208 // sub %rdx,%r8 .byte 116,12 // je 6e <_sk_start_pipeline_hsw+0x6e> .byte 76,137,231 // mov %r12,%rdi .byte 76,137,254 // mov %r15,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_hsw .globl _sk_just_return_hsw FUNCTION(_sk_just_return_hsw) _sk_just_return_hsw: .byte 195 // retq HIDDEN _sk_seed_shader_hsw .globl _sk_seed_shader_hsw FUNCTION(_sk_seed_shader_hsw) _sk_seed_shader_hsw: .byte 197,249,110,194 // vmovd %edx,%xmm0 .byte 196,226,125,88,192 // vpbroadcastd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,45,87,0,0 // vbroadcastss 0x572d(%rip),%ymm1 # 57c4 <_sk_callback_hsw+0x144> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,88,7 // vaddps (%rdi),%ymm0,%ymm0 .byte 197,249,110,209 // vmovd %ecx,%xmm2 .byte 196,226,125,88,210 // vpbroadcastd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,21,13,87,0,0 // vbroadcastss 0x570d(%rip),%ymm2 # 57c8 <_sk_callback_hsw+0x148> .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_hsw .globl _sk_dither_hsw FUNCTION(_sk_dither_hsw) _sk_dither_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,121,110,194 // vmovd %edx,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 197,61,254,71,32 // vpaddd 0x20(%rdi),%ymm8,%ymm8 .byte 197,121,110,201 // vmovd %ecx,%xmm9 .byte 196,66,125,88,201 // vpbroadcastd %xmm9,%ymm9 .byte 196,65,53,239,200 // vpxor %ymm8,%ymm9,%ymm9 .byte 196,98,125,88,21,212,86,0,0 // vpbroadcastd 0x56d4(%rip),%ymm10 # 57cc <_sk_callback_hsw+0x14c> .byte 196,65,53,219,218 // vpand %ymm10,%ymm9,%ymm11 .byte 196,193,37,114,243,5 // vpslld $0x5,%ymm11,%ymm11 .byte 196,65,61,219,210 // vpand %ymm10,%ymm8,%ymm10 .byte 196,193,45,114,242,4 // vpslld $0x4,%ymm10,%ymm10 .byte 196,98,125,88,37,185,86,0,0 // vpbroadcastd 0x56b9(%rip),%ymm12 # 57d0 <_sk_callback_hsw+0x150> .byte 196,98,125,88,45,180,86,0,0 // vpbroadcastd 0x56b4(%rip),%ymm13 # 57d4 <_sk_callback_hsw+0x154> .byte 196,65,53,219,245 // vpand %ymm13,%ymm9,%ymm14 .byte 196,193,13,114,246,2 // vpslld $0x2,%ymm14,%ymm14 .byte 196,65,61,219,237 // vpand %ymm13,%ymm8,%ymm13 .byte 196,65,21,254,237 // vpaddd %ymm13,%ymm13,%ymm13 .byte 196,65,53,219,204 // vpand %ymm12,%ymm9,%ymm9 .byte 196,193,53,114,209,1 // vpsrld $0x1,%ymm9,%ymm9 .byte 196,65,61,219,196 // vpand %ymm12,%ymm8,%ymm8 .byte 196,193,61,114,208,2 // vpsrld $0x2,%ymm8,%ymm8 .byte 196,65,21,235,210 // vpor %ymm10,%ymm13,%ymm10 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 196,65,37,235,214 // vpor %ymm14,%ymm11,%ymm10 .byte 196,65,61,235,194 // vpor %ymm10,%ymm8,%ymm8 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,102,86,0,0 // vbroadcastss 0x5666(%rip),%ymm9 # 57d8 <_sk_callback_hsw+0x158> .byte 196,98,125,24,21,97,86,0,0 // vbroadcastss 0x5661(%rip),%ymm10 # 57dc <_sk_callback_hsw+0x15c> .byte 196,66,61,184,209 // vfmadd231ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,188,95,201 // vmaxps %ymm1,%ymm8,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 197,188,95,210 // vmaxps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_hsw .globl _sk_uniform_color_hsw FUNCTION(_sk_uniform_color_hsw) _sk_uniform_color_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_hsw .globl _sk_black_color_hsw FUNCTION(_sk_black_color_hsw) _sk_black_color_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,1,86,0,0 // vbroadcastss 0x5601(%rip),%ymm3 # 57e0 <_sk_callback_hsw+0x160> .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_hsw .globl _sk_white_color_hsw FUNCTION(_sk_white_color_hsw) _sk_white_color_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,236,85,0,0 // vbroadcastss 0x55ec(%rip),%ymm0 # 57e4 <_sk_callback_hsw+0x164> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,252,40,216 // vmovaps %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_rgba_hsw .globl _sk_load_rgba_hsw FUNCTION(_sk_load_rgba_hsw) _sk_load_rgba_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,0 // vmovups (%rax),%ymm0 .byte 197,252,16,72,32 // vmovups 0x20(%rax),%ymm1 .byte 197,252,16,80,64 // vmovups 0x40(%rax),%ymm2 .byte 197,252,16,88,96 // vmovups 0x60(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_rgba_hsw .globl _sk_store_rgba_hsw FUNCTION(_sk_store_rgba_hsw) _sk_store_rgba_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,17,0 // vmovups %ymm0,(%rax) .byte 197,252,17,72,32 // vmovups %ymm1,0x20(%rax) .byte 197,252,17,80,64 // vmovups %ymm2,0x40(%rax) .byte 197,252,17,88,96 // vmovups %ymm3,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_hsw .globl _sk_clear_hsw FUNCTION(_sk_clear_hsw) _sk_clear_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_hsw .globl _sk_srcatop_hsw FUNCTION(_sk_srcatop_hsw) _sk_srcatop_hsw: .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 196,98,125,24,5,143,85,0,0 // vbroadcastss 0x558f(%rip),%ymm8 # 57e8 <_sk_callback_hsw+0x168> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,226,61,184,196 // vfmadd231ps %ymm4,%ymm8,%ymm0 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 196,226,61,184,205 // vfmadd231ps %ymm5,%ymm8,%ymm1 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 196,226,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 196,194,69,168,216 // vfmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_hsw .globl _sk_dstatop_hsw FUNCTION(_sk_dstatop_hsw) _sk_dstatop_hsw: .byte 196,98,125,24,5,98,85,0,0 // vbroadcastss 0x5562(%rip),%ymm8 # 57ec <_sk_callback_hsw+0x16c> .byte 197,60,92,199 // vsubps %ymm7,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,226,101,184,196 // vfmadd231ps %ymm4,%ymm3,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 196,226,101,184,205 // vfmadd231ps %ymm5,%ymm3,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 196,226,101,184,214 // vfmadd231ps %ymm6,%ymm3,%ymm2 .byte 197,60,89,195 // vmulps %ymm3,%ymm8,%ymm8 .byte 196,194,69,168,216 // vfmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_hsw .globl _sk_srcin_hsw FUNCTION(_sk_srcin_hsw) _sk_srcin_hsw: .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_hsw .globl _sk_dstin_hsw FUNCTION(_sk_dstin_hsw) _sk_dstin_hsw: .byte 197,228,89,196 // vmulps %ymm4,%ymm3,%ymm0 .byte 197,228,89,205 // vmulps %ymm5,%ymm3,%ymm1 .byte 197,228,89,214 // vmulps %ymm6,%ymm3,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_hsw .globl _sk_srcout_hsw FUNCTION(_sk_srcout_hsw) _sk_srcout_hsw: .byte 196,98,125,24,5,9,85,0,0 // vbroadcastss 0x5509(%rip),%ymm8 # 57f0 <_sk_callback_hsw+0x170> .byte 197,60,92,199 // vsubps %ymm7,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_hsw .globl _sk_dstout_hsw FUNCTION(_sk_dstout_hsw) _sk_dstout_hsw: .byte 196,226,125,24,5,236,84,0,0 // vbroadcastss 0x54ec(%rip),%ymm0 # 57f4 <_sk_callback_hsw+0x174> .byte 197,252,92,219 // vsubps %ymm3,%ymm0,%ymm3 .byte 197,228,89,196 // vmulps %ymm4,%ymm3,%ymm0 .byte 197,228,89,205 // vmulps %ymm5,%ymm3,%ymm1 .byte 197,228,89,214 // vmulps %ymm6,%ymm3,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_hsw .globl _sk_srcover_hsw FUNCTION(_sk_srcover_hsw) _sk_srcover_hsw: .byte 196,98,125,24,5,207,84,0,0 // vbroadcastss 0x54cf(%rip),%ymm8 # 57f8 <_sk_callback_hsw+0x178> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,194,93,184,192 // vfmadd231ps %ymm8,%ymm4,%ymm0 .byte 196,194,85,184,200 // vfmadd231ps %ymm8,%ymm5,%ymm1 .byte 196,194,77,184,208 // vfmadd231ps %ymm8,%ymm6,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_hsw .globl _sk_dstover_hsw FUNCTION(_sk_dstover_hsw) _sk_dstover_hsw: .byte 196,98,125,24,5,174,84,0,0 // vbroadcastss 0x54ae(%rip),%ymm8 # 57fc <_sk_callback_hsw+0x17c> .byte 197,60,92,199 // vsubps %ymm7,%ymm8,%ymm8 .byte 196,226,61,168,196 // vfmadd213ps %ymm4,%ymm8,%ymm0 .byte 196,226,61,168,205 // vfmadd213ps %ymm5,%ymm8,%ymm1 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 196,226,61,168,223 // vfmadd213ps %ymm7,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_hsw .globl _sk_modulate_hsw FUNCTION(_sk_modulate_hsw) _sk_modulate_hsw: .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_hsw .globl _sk_multiply_hsw FUNCTION(_sk_multiply_hsw) _sk_multiply_hsw: .byte 196,98,125,24,5,121,84,0,0 // vbroadcastss 0x5479(%rip),%ymm8 # 5800 <_sk_callback_hsw+0x180> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,208 // vmulps %ymm0,%ymm9,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,61,184,212 // vfmadd231ps %ymm4,%ymm8,%ymm10 .byte 196,194,93,168,194 // vfmadd213ps %ymm10,%ymm4,%ymm0 .byte 197,52,89,209 // vmulps %ymm1,%ymm9,%ymm10 .byte 196,98,61,184,213 // vfmadd231ps %ymm5,%ymm8,%ymm10 .byte 196,194,85,168,202 // vfmadd213ps %ymm10,%ymm5,%ymm1 .byte 197,52,89,210 // vmulps %ymm2,%ymm9,%ymm10 .byte 196,98,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm10 .byte 196,194,77,168,210 // vfmadd213ps %ymm10,%ymm6,%ymm2 .byte 197,52,89,203 // vmulps %ymm3,%ymm9,%ymm9 .byte 196,66,69,168,193 // vfmadd213ps %ymm9,%ymm7,%ymm8 .byte 196,194,69,168,216 // vfmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__hsw .globl _sk_plus__hsw FUNCTION(_sk_plus__hsw) _sk_plus__hsw: .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_hsw .globl _sk_screen_hsw FUNCTION(_sk_screen_hsw) _sk_screen_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 196,194,93,172,192 // vfnmadd213ps %ymm8,%ymm4,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 196,194,85,172,200 // vfnmadd213ps %ymm8,%ymm5,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 196,194,77,172,208 // vfnmadd213ps %ymm8,%ymm6,%ymm2 .byte 197,100,88,199 // vaddps %ymm7,%ymm3,%ymm8 .byte 196,194,69,172,216 // vfnmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__hsw .globl _sk_xor__hsw FUNCTION(_sk_xor__hsw) _sk_xor__hsw: .byte 196,98,125,24,5,244,83,0,0 // vbroadcastss 0x53f4(%rip),%ymm8 # 5804 <_sk_callback_hsw+0x184> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,226,61,184,196 // vfmadd231ps %ymm4,%ymm8,%ymm0 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 196,226,61,184,205 // vfmadd231ps %ymm5,%ymm8,%ymm1 .byte 197,180,89,210 // vmulps %ymm2,%ymm9,%ymm2 .byte 196,226,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm2 .byte 197,180,89,219 // vmulps %ymm3,%ymm9,%ymm3 .byte 196,98,69,168,195 // vfmadd213ps %ymm3,%ymm7,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,195 // vmovaps %ymm8,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_hsw .globl _sk_darken_hsw FUNCTION(_sk_darken_hsw) _sk_darken_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,95,193 // vmaxps %ymm9,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,95,201 // vmaxps %ymm9,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,95,209 // vmaxps %ymm9,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,124,83,0,0 // vbroadcastss 0x537c(%rip),%ymm8 # 5808 <_sk_callback_hsw+0x188> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_hsw .globl _sk_lighten_hsw FUNCTION(_sk_lighten_hsw) _sk_lighten_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,93,193 // vminps %ymm9,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,93,201 // vminps %ymm9,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,93,209 // vminps %ymm9,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,43,83,0,0 // vbroadcastss 0x532b(%rip),%ymm8 # 580c <_sk_callback_hsw+0x18c> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_hsw .globl _sk_difference_hsw FUNCTION(_sk_difference_hsw) _sk_difference_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,93,193 // vminps %ymm9,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,93,201 // vminps %ymm9,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,93,209 // vminps %ymm9,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,206,82,0,0 // vbroadcastss 0x52ce(%rip),%ymm8 # 5810 <_sk_callback_hsw+0x190> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_hsw .globl _sk_exclusion_hsw FUNCTION(_sk_exclusion_hsw) _sk_exclusion_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,140,82,0,0 // vbroadcastss 0x528c(%rip),%ymm8 # 5814 <_sk_callback_hsw+0x194> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_hsw .globl _sk_colorburn_hsw FUNCTION(_sk_colorburn_hsw) _sk_colorburn_hsw: .byte 196,98,125,24,5,122,82,0,0 // vbroadcastss 0x527a(%rip),%ymm8 # 5818 <_sk_callback_hsw+0x198> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,216 // vmulps %ymm0,%ymm9,%ymm11 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,228 // vmulps %ymm4,%ymm8,%ymm12 .byte 197,68,92,236 // vsubps %ymm4,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,20,94,232 // vdivps %ymm0,%ymm13,%ymm13 .byte 196,65,68,93,237 // vminps %ymm13,%ymm7,%ymm13 .byte 196,65,68,92,237 // vsubps %ymm13,%ymm7,%ymm13 .byte 196,66,101,168,235 // vfmadd213ps %ymm11,%ymm3,%ymm13 .byte 196,65,28,88,237 // vaddps %ymm13,%ymm12,%ymm13 .byte 197,28,88,224 // vaddps %ymm0,%ymm12,%ymm12 .byte 196,193,124,194,194,0 // vcmpeqps %ymm10,%ymm0,%ymm0 .byte 196,195,21,74,196,0 // vblendvps %ymm0,%ymm12,%ymm13,%ymm0 .byte 197,92,194,231,0 // vcmpeqps %ymm7,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,52,89,217 // vmulps %ymm1,%ymm9,%ymm11 .byte 197,60,89,229 // vmulps %ymm5,%ymm8,%ymm12 .byte 197,68,92,237 // vsubps %ymm5,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,20,94,233 // vdivps %ymm1,%ymm13,%ymm13 .byte 196,65,68,93,237 // vminps %ymm13,%ymm7,%ymm13 .byte 196,65,68,92,237 // vsubps %ymm13,%ymm7,%ymm13 .byte 196,66,101,168,235 // vfmadd213ps %ymm11,%ymm3,%ymm13 .byte 196,65,28,88,237 // vaddps %ymm13,%ymm12,%ymm13 .byte 197,28,88,225 // vaddps %ymm1,%ymm12,%ymm12 .byte 196,193,116,194,202,0 // vcmpeqps %ymm10,%ymm1,%ymm1 .byte 196,195,21,74,204,16 // vblendvps %ymm1,%ymm12,%ymm13,%ymm1 .byte 197,84,194,231,0 // vcmpeqps %ymm7,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,52,89,202 // vmulps %ymm2,%ymm9,%ymm9 .byte 196,65,108,194,210,0 // vcmpeqps %ymm10,%ymm2,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 197,68,92,230 // vsubps %ymm6,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 197,28,94,226 // vdivps %ymm2,%ymm12,%ymm12 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,65,68,92,228 // vsubps %ymm12,%ymm7,%ymm12 .byte 196,66,101,168,225 // vfmadd213ps %ymm9,%ymm3,%ymm12 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,227,37,74,210,160 // vblendvps %ymm10,%ymm2,%ymm11,%ymm2 .byte 197,76,194,215,0 // vcmpeqps %ymm7,%ymm6,%ymm10 .byte 197,52,88,206 // vaddps %ymm6,%ymm9,%ymm9 .byte 196,195,109,74,209,160 // vblendvps %ymm10,%ymm9,%ymm2,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_hsw .globl _sk_colordodge_hsw FUNCTION(_sk_colordodge_hsw) _sk_colordodge_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,98,125,24,13,133,81,0,0 // vbroadcastss 0x5185(%rip),%ymm9 # 581c <_sk_callback_hsw+0x19c> .byte 197,52,92,215 // vsubps %ymm7,%ymm9,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,52,92,203 // vsubps %ymm3,%ymm9,%ymm9 .byte 197,100,89,228 // vmulps %ymm4,%ymm3,%ymm12 .byte 197,100,92,232 // vsubps %ymm0,%ymm3,%ymm13 .byte 196,65,28,94,229 // vdivps %ymm13,%ymm12,%ymm12 .byte 197,52,89,236 // vmulps %ymm4,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,66,101,168,227 // vfmadd213ps %ymm11,%ymm3,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,232 // vaddps %ymm0,%ymm13,%ymm13 .byte 197,252,194,195,0 // vcmpeqps %ymm3,%ymm0,%ymm0 .byte 196,195,29,74,197,0 // vblendvps %ymm0,%ymm13,%ymm12,%ymm0 .byte 196,65,92,194,224,0 // vcmpeqps %ymm8,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,100,89,229 // vmulps %ymm5,%ymm3,%ymm12 .byte 197,100,92,233 // vsubps %ymm1,%ymm3,%ymm13 .byte 196,65,28,94,229 // vdivps %ymm13,%ymm12,%ymm12 .byte 197,52,89,237 // vmulps %ymm5,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,66,101,168,227 // vfmadd213ps %ymm11,%ymm3,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,233 // vaddps %ymm1,%ymm13,%ymm13 .byte 197,244,194,203,0 // vcmpeqps %ymm3,%ymm1,%ymm1 .byte 196,195,29,74,205,16 // vblendvps %ymm1,%ymm13,%ymm12,%ymm1 .byte 196,65,84,194,224,0 // vcmpeqps %ymm8,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,100,92,226 // vsubps %ymm2,%ymm3,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 197,52,89,230 // vmulps %ymm6,%ymm9,%ymm12 .byte 196,65,68,93,219 // vminps %ymm11,%ymm7,%ymm11 .byte 196,66,101,168,218 // vfmadd213ps %ymm10,%ymm3,%ymm11 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 197,236,194,211,0 // vcmpeqps %ymm3,%ymm2,%ymm2 .byte 196,195,37,74,212,32 // vblendvps %ymm2,%ymm12,%ymm11,%ymm2 .byte 196,65,76,194,192,0 // vcmpeqps %ymm8,%ymm6,%ymm8 .byte 197,44,88,214 // vaddps %ymm6,%ymm10,%ymm10 .byte 196,195,109,74,210,128 // vblendvps %ymm8,%ymm10,%ymm2,%ymm2 .byte 196,194,69,184,217 // vfmadd231ps %ymm9,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_hsw .globl _sk_hardlight_hsw FUNCTION(_sk_hardlight_hsw) _sk_hardlight_hsw: .byte 196,98,125,24,5,166,80,0,0 // vbroadcastss 0x50a6(%rip),%ymm8 # 5820 <_sk_callback_hsw+0x1a0> .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,61,184,220 // vfmadd231ps %ymm4,%ymm8,%ymm11 .byte 197,124,88,200 // vaddps %ymm0,%ymm0,%ymm9 .byte 197,52,194,227,2 // vcmpleps %ymm3,%ymm9,%ymm12 .byte 197,124,89,204 // vmulps %ymm4,%ymm0,%ymm9 .byte 196,65,52,88,233 // vaddps %ymm9,%ymm9,%ymm13 .byte 197,100,89,207 // vmulps %ymm7,%ymm3,%ymm9 .byte 197,68,92,244 // vsubps %ymm4,%ymm7,%ymm14 .byte 197,228,92,192 // vsubps %ymm0,%ymm3,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 196,98,61,184,221 // vfmadd231ps %ymm5,%ymm8,%ymm11 .byte 197,116,88,225 // vaddps %ymm1,%ymm1,%ymm12 .byte 197,28,194,227,2 // vcmpleps %ymm3,%ymm12,%ymm12 .byte 197,116,89,237 // vmulps %ymm5,%ymm1,%ymm13 .byte 196,65,20,88,237 // vaddps %ymm13,%ymm13,%ymm13 .byte 197,68,92,245 // vsubps %ymm5,%ymm7,%ymm14 .byte 197,228,92,201 // vsubps %ymm1,%ymm3,%ymm1 .byte 196,193,116,89,206 // vmulps %ymm14,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,180,92,201 // vsubps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 196,98,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm10 .byte 197,108,88,218 // vaddps %ymm2,%ymm2,%ymm11 .byte 197,36,194,219,2 // vcmpleps %ymm3,%ymm11,%ymm11 .byte 197,108,89,230 // vmulps %ymm6,%ymm2,%ymm12 .byte 196,65,28,88,228 // vaddps %ymm12,%ymm12,%ymm12 .byte 197,68,92,238 // vsubps %ymm6,%ymm7,%ymm13 .byte 197,228,92,210 // vsubps %ymm2,%ymm3,%ymm2 .byte 196,193,108,89,213 // vmulps %ymm13,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,180,92,210 // vsubps %ymm2,%ymm9,%ymm2 .byte 196,195,109,74,212,176 // vblendvps %ymm11,%ymm12,%ymm2,%ymm2 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_hsw .globl _sk_overlay_hsw FUNCTION(_sk_overlay_hsw) _sk_overlay_hsw: .byte 196,98,125,24,5,222,79,0,0 // vbroadcastss 0x4fde(%rip),%ymm8 # 5824 <_sk_callback_hsw+0x1a4> .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,61,184,220 // vfmadd231ps %ymm4,%ymm8,%ymm11 .byte 197,92,88,204 // vaddps %ymm4,%ymm4,%ymm9 .byte 197,52,194,231,2 // vcmpleps %ymm7,%ymm9,%ymm12 .byte 197,124,89,204 // vmulps %ymm4,%ymm0,%ymm9 .byte 196,65,52,88,233 // vaddps %ymm9,%ymm9,%ymm13 .byte 197,100,89,207 // vmulps %ymm7,%ymm3,%ymm9 .byte 197,68,92,244 // vsubps %ymm4,%ymm7,%ymm14 .byte 197,228,92,192 // vsubps %ymm0,%ymm3,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 196,98,61,184,221 // vfmadd231ps %ymm5,%ymm8,%ymm11 .byte 197,84,88,229 // vaddps %ymm5,%ymm5,%ymm12 .byte 197,28,194,231,2 // vcmpleps %ymm7,%ymm12,%ymm12 .byte 197,116,89,237 // vmulps %ymm5,%ymm1,%ymm13 .byte 196,65,20,88,237 // vaddps %ymm13,%ymm13,%ymm13 .byte 197,68,92,245 // vsubps %ymm5,%ymm7,%ymm14 .byte 197,228,92,201 // vsubps %ymm1,%ymm3,%ymm1 .byte 196,193,116,89,206 // vmulps %ymm14,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,180,92,201 // vsubps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 196,98,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm10 .byte 197,76,88,222 // vaddps %ymm6,%ymm6,%ymm11 .byte 197,36,194,223,2 // vcmpleps %ymm7,%ymm11,%ymm11 .byte 197,108,89,230 // vmulps %ymm6,%ymm2,%ymm12 .byte 196,65,28,88,228 // vaddps %ymm12,%ymm12,%ymm12 .byte 197,68,92,238 // vsubps %ymm6,%ymm7,%ymm13 .byte 197,228,92,210 // vsubps %ymm2,%ymm3,%ymm2 .byte 196,193,108,89,213 // vmulps %ymm13,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,180,92,210 // vsubps %ymm2,%ymm9,%ymm2 .byte 196,195,109,74,212,176 // vblendvps %ymm11,%ymm12,%ymm2,%ymm2 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_softlight_hsw .globl _sk_softlight_hsw FUNCTION(_sk_softlight_hsw) _sk_softlight_hsw: .byte 197,252,17,84,36,200 // vmovups %ymm2,-0x38(%rsp) .byte 197,252,40,209 // vmovaps %ymm1,%ymm2 .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 197,52,194,215,1 // vcmpltps %ymm7,%ymm9,%ymm10 .byte 197,92,94,199 // vdivps %ymm7,%ymm4,%ymm8 .byte 196,67,53,74,232,160 // vblendvps %ymm10,%ymm8,%ymm9,%ymm13 .byte 196,65,20,88,197 // vaddps %ymm13,%ymm13,%ymm8 .byte 196,65,60,88,192 // vaddps %ymm8,%ymm8,%ymm8 .byte 196,66,61,168,192 // vfmadd213ps %ymm8,%ymm8,%ymm8 .byte 196,98,125,24,29,233,78,0,0 // vbroadcastss 0x4ee9(%rip),%ymm11 # 582c <_sk_callback_hsw+0x1ac> .byte 196,65,20,88,227 // vaddps %ymm11,%ymm13,%ymm12 .byte 196,65,28,89,192 // vmulps %ymm8,%ymm12,%ymm8 .byte 196,98,125,24,37,218,78,0,0 // vbroadcastss 0x4eda(%rip),%ymm12 # 5830 <_sk_callback_hsw+0x1b0> .byte 196,66,21,184,196 // vfmadd231ps %ymm12,%ymm13,%ymm8 .byte 196,65,124,82,245 // vrsqrtps %ymm13,%ymm14 .byte 196,65,124,83,246 // vrcpps %ymm14,%ymm14 .byte 196,65,12,92,245 // vsubps %ymm13,%ymm14,%ymm14 .byte 197,92,88,252 // vaddps %ymm4,%ymm4,%ymm15 .byte 196,65,4,88,255 // vaddps %ymm15,%ymm15,%ymm15 .byte 197,4,194,255,2 // vcmpleps %ymm7,%ymm15,%ymm15 .byte 196,67,13,74,240,240 // vblendvps %ymm15,%ymm8,%ymm14,%ymm14 .byte 197,116,88,249 // vaddps %ymm1,%ymm1,%ymm15 .byte 196,98,125,24,5,157,78,0,0 // vbroadcastss 0x4e9d(%rip),%ymm8 # 5828 <_sk_callback_hsw+0x1a8> .byte 196,65,60,92,237 // vsubps %ymm13,%ymm8,%ymm13 .byte 197,132,92,195 // vsubps %ymm3,%ymm15,%ymm0 .byte 196,98,125,168,235 // vfmadd213ps %ymm3,%ymm0,%ymm13 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,20,89,236 // vmulps %ymm4,%ymm13,%ymm13 .byte 196,226,101,184,196 // vfmadd231ps %ymm4,%ymm3,%ymm0 .byte 197,4,194,243,2 // vcmpleps %ymm3,%ymm15,%ymm14 .byte 196,195,125,74,197,224 // vblendvps %ymm14,%ymm13,%ymm0,%ymm0 .byte 197,252,17,68,36,168 // vmovups %ymm0,-0x58(%rsp) .byte 197,212,94,199 // vdivps %ymm7,%ymm5,%ymm0 .byte 196,227,53,74,192,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm0 .byte 197,124,88,240 // vaddps %ymm0,%ymm0,%ymm14 .byte 196,65,12,88,246 // vaddps %ymm14,%ymm14,%ymm14 .byte 196,66,13,168,246 // vfmadd213ps %ymm14,%ymm14,%ymm14 .byte 196,65,124,88,251 // vaddps %ymm11,%ymm0,%ymm15 .byte 196,65,4,89,246 // vmulps %ymm14,%ymm15,%ymm14 .byte 196,66,125,184,244 // vfmadd231ps %ymm12,%ymm0,%ymm14 .byte 197,124,82,248 // vrsqrtps %ymm0,%ymm15 .byte 196,65,124,83,255 // vrcpps %ymm15,%ymm15 .byte 197,4,92,248 // vsubps %ymm0,%ymm15,%ymm15 .byte 197,84,88,237 // vaddps %ymm5,%ymm5,%ymm13 .byte 196,65,20,88,237 // vaddps %ymm13,%ymm13,%ymm13 .byte 197,20,194,239,2 // vcmpleps %ymm7,%ymm13,%ymm13 .byte 196,67,5,74,238,208 // vblendvps %ymm13,%ymm14,%ymm15,%ymm13 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,108,88,242 // vaddps %ymm2,%ymm2,%ymm14 .byte 197,12,92,251 // vsubps %ymm3,%ymm14,%ymm15 .byte 196,226,5,168,195 // vfmadd213ps %ymm3,%ymm15,%ymm0 .byte 197,4,89,255 // vmulps %ymm7,%ymm15,%ymm15 .byte 196,65,4,89,237 // vmulps %ymm13,%ymm15,%ymm13 .byte 197,252,89,197 // vmulps %ymm5,%ymm0,%ymm0 .byte 196,98,101,184,237 // vfmadd231ps %ymm5,%ymm3,%ymm13 .byte 197,12,194,243,2 // vcmpleps %ymm3,%ymm14,%ymm14 .byte 196,99,21,74,240,224 // vblendvps %ymm14,%ymm0,%ymm13,%ymm14 .byte 197,204,94,199 // vdivps %ymm7,%ymm6,%ymm0 .byte 196,227,53,74,192,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm0 .byte 197,124,88,200 // vaddps %ymm0,%ymm0,%ymm9 .byte 196,65,52,88,201 // vaddps %ymm9,%ymm9,%ymm9 .byte 196,66,53,168,201 // vfmadd213ps %ymm9,%ymm9,%ymm9 .byte 196,65,124,88,211 // vaddps %ymm11,%ymm0,%ymm10 .byte 196,65,44,89,201 // vmulps %ymm9,%ymm10,%ymm9 .byte 196,66,125,184,204 // vfmadd231ps %ymm12,%ymm0,%ymm9 .byte 197,124,82,208 // vrsqrtps %ymm0,%ymm10 .byte 196,65,124,83,210 // vrcpps %ymm10,%ymm10 .byte 197,44,92,208 // vsubps %ymm0,%ymm10,%ymm10 .byte 197,76,88,222 // vaddps %ymm6,%ymm6,%ymm11 .byte 196,65,36,88,219 // vaddps %ymm11,%ymm11,%ymm11 .byte 197,36,194,223,2 // vcmpleps %ymm7,%ymm11,%ymm11 .byte 196,67,45,74,201,176 // vblendvps %ymm11,%ymm9,%ymm10,%ymm9 .byte 197,124,16,100,36,200 // vmovups -0x38(%rsp),%ymm12 .byte 196,65,28,88,212 // vaddps %ymm12,%ymm12,%ymm10 .byte 197,44,92,219 // vsubps %ymm3,%ymm10,%ymm11 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 196,226,37,168,195 // vfmadd213ps %ymm3,%ymm11,%ymm0 .byte 197,36,89,223 // vmulps %ymm7,%ymm11,%ymm11 .byte 196,65,36,89,201 // vmulps %ymm9,%ymm11,%ymm9 .byte 197,252,89,198 // vmulps %ymm6,%ymm0,%ymm0 .byte 196,98,101,184,206 // vfmadd231ps %ymm6,%ymm3,%ymm9 .byte 197,44,194,211,2 // vcmpleps %ymm3,%ymm10,%ymm10 .byte 196,99,53,74,200,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm9 .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,172,89,193 // vmulps %ymm1,%ymm10,%ymm0 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,226,61,184,196 // vfmadd231ps %ymm4,%ymm8,%ymm0 .byte 197,252,88,68,36,168 // vaddps -0x58(%rsp),%ymm0,%ymm0 .byte 197,172,89,202 // vmulps %ymm2,%ymm10,%ymm1 .byte 196,226,61,184,205 // vfmadd231ps %ymm5,%ymm8,%ymm1 .byte 196,193,116,88,206 // vaddps %ymm14,%ymm1,%ymm1 .byte 196,193,44,89,212 // vmulps %ymm12,%ymm10,%ymm2 .byte 196,226,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm2 .byte 196,193,108,88,209 // vaddps %ymm9,%ymm2,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hue_hsw .globl _sk_hue_hsw FUNCTION(_sk_hue_hsw) _sk_hue_hsw: .byte 197,124,40,194 // vmovaps %ymm2,%ymm8 .byte 197,124,17,68,36,200 // vmovups %ymm8,-0x38(%rsp) .byte 197,252,17,76,36,168 // vmovups %ymm1,-0x58(%rsp) .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,108,89,203 // vmulps %ymm3,%ymm2,%ymm9 .byte 197,116,89,211 // vmulps %ymm3,%ymm1,%ymm10 .byte 197,60,89,219 // vmulps %ymm3,%ymm8,%ymm11 .byte 197,84,95,198 // vmaxps %ymm6,%ymm5,%ymm8 .byte 196,65,92,95,192 // vmaxps %ymm8,%ymm4,%ymm8 .byte 197,84,93,230 // vminps %ymm6,%ymm5,%ymm12 .byte 196,65,92,93,228 // vminps %ymm12,%ymm4,%ymm12 .byte 196,65,60,92,196 // vsubps %ymm12,%ymm8,%ymm8 .byte 197,60,89,227 // vmulps %ymm3,%ymm8,%ymm12 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,232 // vminps %ymm8,%ymm9,%ymm13 .byte 196,65,44,95,195 // vmaxps %ymm11,%ymm10,%ymm8 .byte 196,65,52,95,192 // vmaxps %ymm8,%ymm9,%ymm8 .byte 196,65,60,92,245 // vsubps %ymm13,%ymm8,%ymm14 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,12,194,248,0 // vcmpeqps %ymm8,%ymm14,%ymm15 .byte 196,65,52,92,205 // vsubps %ymm13,%ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,52,94,206 // vdivps %ymm14,%ymm9,%ymm9 .byte 196,67,53,74,200,240 // vblendvps %ymm15,%ymm8,%ymm9,%ymm9 .byte 196,65,44,92,213 // vsubps %ymm13,%ymm10,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,195,45,74,200,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm1 .byte 196,65,36,92,213 // vsubps %ymm13,%ymm11,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,67,45,74,224,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm12 .byte 196,98,125,24,53,161,76,0,0 // vbroadcastss 0x4ca1(%rip),%ymm14 # 5834 <_sk_callback_hsw+0x1b4> .byte 196,98,125,24,61,156,76,0,0 // vbroadcastss 0x4c9c(%rip),%ymm15 # 5838 <_sk_callback_hsw+0x1b8> .byte 196,65,84,89,239 // vmulps %ymm15,%ymm5,%ymm13 .byte 196,66,93,184,238 // vfmadd231ps %ymm14,%ymm4,%ymm13 .byte 196,226,125,24,5,141,76,0,0 // vbroadcastss 0x4c8d(%rip),%ymm0 # 583c <_sk_callback_hsw+0x1bc> .byte 196,98,77,184,232 // vfmadd231ps %ymm0,%ymm6,%ymm13 .byte 196,65,116,89,215 // vmulps %ymm15,%ymm1,%ymm10 .byte 196,66,53,184,214 // vfmadd231ps %ymm14,%ymm9,%ymm10 .byte 196,98,29,184,208 // vfmadd231ps %ymm0,%ymm12,%ymm10 .byte 196,66,101,170,234 // vfmsub213ps %ymm10,%ymm3,%ymm13 .byte 196,65,52,88,213 // vaddps %ymm13,%ymm9,%ymm10 .byte 196,65,116,88,221 // vaddps %ymm13,%ymm1,%ymm11 .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,193,36,93,204 // vminps %ymm12,%ymm11,%ymm1 .byte 197,44,93,233 // vminps %ymm1,%ymm10,%ymm13 .byte 196,65,36,89,207 // vmulps %ymm15,%ymm11,%ymm9 .byte 196,66,45,184,206 // vfmadd231ps %ymm14,%ymm10,%ymm9 .byte 196,98,29,184,200 // vfmadd231ps %ymm0,%ymm12,%ymm9 .byte 196,193,44,92,193 // vsubps %ymm9,%ymm10,%ymm0 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,193,52,92,205 // vsubps %ymm13,%ymm9,%ymm1 .byte 197,252,94,193 // vdivps %ymm1,%ymm0,%ymm0 .byte 196,65,36,92,241 // vsubps %ymm9,%ymm11,%ymm14 .byte 196,65,52,89,246 // vmulps %ymm14,%ymm9,%ymm14 .byte 197,12,94,241 // vdivps %ymm1,%ymm14,%ymm14 .byte 196,65,28,92,249 // vsubps %ymm9,%ymm12,%ymm15 .byte 196,65,52,89,255 // vmulps %ymm15,%ymm9,%ymm15 .byte 197,132,94,201 // vdivps %ymm1,%ymm15,%ymm1 .byte 196,65,60,194,237,2 // vcmpleps %ymm13,%ymm8,%ymm13 .byte 196,65,52,88,246 // vaddps %ymm14,%ymm9,%ymm14 .byte 196,67,13,74,243,208 // vblendvps %ymm13,%ymm11,%ymm14,%ymm14 .byte 196,65,36,95,220 // vmaxps %ymm12,%ymm11,%ymm11 .byte 197,180,88,201 // vaddps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,204,208 // vblendvps %ymm13,%ymm12,%ymm1,%ymm1 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,194,208 // vblendvps %ymm13,%ymm10,%ymm0,%ymm0 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,124,92,217 // vsubps %ymm9,%ymm0,%ymm11 .byte 196,65,28,92,233 // vsubps %ymm9,%ymm12,%ymm13 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,28,194,250,1 // vcmpltps %ymm10,%ymm12,%ymm15 .byte 196,65,44,92,209 // vsubps %ymm9,%ymm10,%ymm10 .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 196,65,52,88,219 // vaddps %ymm11,%ymm9,%ymm11 .byte 196,195,125,74,195,240 // vblendvps %ymm15,%ymm11,%ymm0,%ymm0 .byte 196,65,12,92,217 // vsubps %ymm9,%ymm14,%ymm11 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 196,65,52,88,219 // vaddps %ymm11,%ymm9,%ymm11 .byte 196,67,13,74,219,240 // vblendvps %ymm15,%ymm11,%ymm14,%ymm11 .byte 196,65,116,92,241 // vsubps %ymm9,%ymm1,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,210 // vdivps %ymm10,%ymm13,%ymm10 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,195,117,74,201,240 // vblendvps %ymm15,%ymm9,%ymm1,%ymm1 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,65,36,95,200 // vmaxps %ymm8,%ymm11,%ymm9 .byte 196,65,116,95,192 // vmaxps %ymm8,%ymm1,%ymm8 .byte 196,226,125,24,13,122,75,0,0 // vbroadcastss 0x4b7a(%rip),%ymm1 # 5840 <_sk_callback_hsw+0x1c0> .byte 197,116,92,215 // vsubps %ymm7,%ymm1,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,116,92,219 // vsubps %ymm3,%ymm1,%ymm11 .byte 196,226,37,184,212 // vfmadd231ps %ymm4,%ymm11,%ymm2 .byte 197,236,88,192 // vaddps %ymm0,%ymm2,%ymm0 .byte 197,172,89,76,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm1 .byte 196,226,37,184,205 // vfmadd231ps %ymm5,%ymm11,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,84,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm2 .byte 196,98,77,168,218 // vfmadd213ps %ymm2,%ymm6,%ymm11 .byte 196,193,36,88,208 // vaddps %ymm8,%ymm11,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_saturation_hsw .globl _sk_saturation_hsw FUNCTION(_sk_saturation_hsw) _sk_saturation_hsw: .byte 197,124,40,194 // vmovaps %ymm2,%ymm8 .byte 197,252,17,76,36,168 // vmovups %ymm1,-0x58(%rsp) .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 197,100,89,213 // vmulps %ymm5,%ymm3,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,17,68,36,200 // vmovups %ymm0,-0x38(%rsp) .byte 197,116,95,192 // vmaxps %ymm0,%ymm1,%ymm8 .byte 196,65,108,95,192 // vmaxps %ymm8,%ymm2,%ymm8 .byte 197,116,93,224 // vminps %ymm0,%ymm1,%ymm12 .byte 196,65,108,93,228 // vminps %ymm12,%ymm2,%ymm12 .byte 196,65,60,92,196 // vsubps %ymm12,%ymm8,%ymm8 .byte 197,60,89,231 // vmulps %ymm7,%ymm8,%ymm12 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,232 // vminps %ymm8,%ymm9,%ymm13 .byte 196,65,44,95,195 // vmaxps %ymm11,%ymm10,%ymm8 .byte 196,65,52,95,192 // vmaxps %ymm8,%ymm9,%ymm8 .byte 196,65,60,92,245 // vsubps %ymm13,%ymm8,%ymm14 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,12,194,248,0 // vcmpeqps %ymm8,%ymm14,%ymm15 .byte 196,65,52,92,205 // vsubps %ymm13,%ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,52,94,206 // vdivps %ymm14,%ymm9,%ymm9 .byte 196,67,53,74,200,240 // vblendvps %ymm15,%ymm8,%ymm9,%ymm9 .byte 196,65,44,92,213 // vsubps %ymm13,%ymm10,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,195,45,74,200,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm1 .byte 196,65,36,92,213 // vsubps %ymm13,%ymm11,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,67,45,74,224,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm12 .byte 196,98,125,24,53,145,74,0,0 // vbroadcastss 0x4a91(%rip),%ymm14 # 5844 <_sk_callback_hsw+0x1c4> .byte 196,98,125,24,61,140,74,0,0 // vbroadcastss 0x4a8c(%rip),%ymm15 # 5848 <_sk_callback_hsw+0x1c8> .byte 196,65,84,89,239 // vmulps %ymm15,%ymm5,%ymm13 .byte 196,66,93,184,238 // vfmadd231ps %ymm14,%ymm4,%ymm13 .byte 196,226,125,24,5,125,74,0,0 // vbroadcastss 0x4a7d(%rip),%ymm0 # 584c <_sk_callback_hsw+0x1cc> .byte 196,98,77,184,232 // vfmadd231ps %ymm0,%ymm6,%ymm13 .byte 196,65,116,89,215 // vmulps %ymm15,%ymm1,%ymm10 .byte 196,66,53,184,214 // vfmadd231ps %ymm14,%ymm9,%ymm10 .byte 196,98,29,184,208 // vfmadd231ps %ymm0,%ymm12,%ymm10 .byte 196,66,101,170,234 // vfmsub213ps %ymm10,%ymm3,%ymm13 .byte 196,65,52,88,213 // vaddps %ymm13,%ymm9,%ymm10 .byte 196,65,116,88,221 // vaddps %ymm13,%ymm1,%ymm11 .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,193,36,93,204 // vminps %ymm12,%ymm11,%ymm1 .byte 197,44,93,233 // vminps %ymm1,%ymm10,%ymm13 .byte 196,65,36,89,207 // vmulps %ymm15,%ymm11,%ymm9 .byte 196,66,45,184,206 // vfmadd231ps %ymm14,%ymm10,%ymm9 .byte 196,98,29,184,200 // vfmadd231ps %ymm0,%ymm12,%ymm9 .byte 196,193,44,92,193 // vsubps %ymm9,%ymm10,%ymm0 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,193,52,92,205 // vsubps %ymm13,%ymm9,%ymm1 .byte 197,252,94,193 // vdivps %ymm1,%ymm0,%ymm0 .byte 196,65,36,92,241 // vsubps %ymm9,%ymm11,%ymm14 .byte 196,65,52,89,246 // vmulps %ymm14,%ymm9,%ymm14 .byte 197,12,94,241 // vdivps %ymm1,%ymm14,%ymm14 .byte 196,65,28,92,249 // vsubps %ymm9,%ymm12,%ymm15 .byte 196,65,52,89,255 // vmulps %ymm15,%ymm9,%ymm15 .byte 197,132,94,201 // vdivps %ymm1,%ymm15,%ymm1 .byte 196,65,60,194,237,2 // vcmpleps %ymm13,%ymm8,%ymm13 .byte 196,65,52,88,246 // vaddps %ymm14,%ymm9,%ymm14 .byte 196,67,13,74,243,208 // vblendvps %ymm13,%ymm11,%ymm14,%ymm14 .byte 196,65,36,95,220 // vmaxps %ymm12,%ymm11,%ymm11 .byte 197,180,88,201 // vaddps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,204,208 // vblendvps %ymm13,%ymm12,%ymm1,%ymm1 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,194,208 // vblendvps %ymm13,%ymm10,%ymm0,%ymm0 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,124,92,217 // vsubps %ymm9,%ymm0,%ymm11 .byte 196,65,28,92,233 // vsubps %ymm9,%ymm12,%ymm13 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,28,194,250,1 // vcmpltps %ymm10,%ymm12,%ymm15 .byte 196,65,44,92,209 // vsubps %ymm9,%ymm10,%ymm10 .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 196,65,52,88,219 // vaddps %ymm11,%ymm9,%ymm11 .byte 196,195,125,74,195,240 // vblendvps %ymm15,%ymm11,%ymm0,%ymm0 .byte 196,65,12,92,217 // vsubps %ymm9,%ymm14,%ymm11 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 196,65,52,88,219 // vaddps %ymm11,%ymm9,%ymm11 .byte 196,67,13,74,219,240 // vblendvps %ymm15,%ymm11,%ymm14,%ymm11 .byte 196,65,116,92,241 // vsubps %ymm9,%ymm1,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,210 // vdivps %ymm10,%ymm13,%ymm10 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,195,117,74,201,240 // vblendvps %ymm15,%ymm9,%ymm1,%ymm1 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,65,36,95,200 // vmaxps %ymm8,%ymm11,%ymm9 .byte 196,65,116,95,192 // vmaxps %ymm8,%ymm1,%ymm8 .byte 196,226,125,24,13,106,73,0,0 // vbroadcastss 0x496a(%rip),%ymm1 # 5850 <_sk_callback_hsw+0x1d0> .byte 197,116,92,215 // vsubps %ymm7,%ymm1,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,116,92,219 // vsubps %ymm3,%ymm1,%ymm11 .byte 196,226,37,184,212 // vfmadd231ps %ymm4,%ymm11,%ymm2 .byte 197,236,88,192 // vaddps %ymm0,%ymm2,%ymm0 .byte 197,172,89,76,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm1 .byte 196,226,37,184,205 // vfmadd231ps %ymm5,%ymm11,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,84,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm2 .byte 196,98,77,168,218 // vfmadd213ps %ymm2,%ymm6,%ymm11 .byte 196,193,36,88,208 // vaddps %ymm8,%ymm11,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_color_hsw .globl _sk_color_hsw FUNCTION(_sk_color_hsw) _sk_color_hsw: .byte 197,124,40,202 // vmovaps %ymm2,%ymm9 .byte 197,124,17,76,36,200 // vmovups %ymm9,-0x38(%rsp) .byte 197,252,17,76,36,168 // vmovups %ymm1,-0x58(%rsp) .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,108,89,199 // vmulps %ymm7,%ymm2,%ymm8 .byte 197,116,89,215 // vmulps %ymm7,%ymm1,%ymm10 .byte 197,52,89,223 // vmulps %ymm7,%ymm9,%ymm11 .byte 196,98,125,24,45,3,73,0,0 // vbroadcastss 0x4903(%rip),%ymm13 # 5854 <_sk_callback_hsw+0x1d4> .byte 196,98,125,24,53,254,72,0,0 // vbroadcastss 0x48fe(%rip),%ymm14 # 5858 <_sk_callback_hsw+0x1d8> .byte 196,65,84,89,230 // vmulps %ymm14,%ymm5,%ymm12 .byte 196,66,93,184,229 // vfmadd231ps %ymm13,%ymm4,%ymm12 .byte 196,98,125,24,61,239,72,0,0 // vbroadcastss 0x48ef(%rip),%ymm15 # 585c <_sk_callback_hsw+0x1dc> .byte 196,66,77,184,231 // vfmadd231ps %ymm15,%ymm6,%ymm12 .byte 196,65,44,89,206 // vmulps %ymm14,%ymm10,%ymm9 .byte 196,66,61,184,205 // vfmadd231ps %ymm13,%ymm8,%ymm9 .byte 196,66,37,184,207 // vfmadd231ps %ymm15,%ymm11,%ymm9 .byte 196,66,101,170,225 // vfmsub213ps %ymm9,%ymm3,%ymm12 .byte 196,65,60,88,204 // vaddps %ymm12,%ymm8,%ymm9 .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,224 // vminps %ymm8,%ymm9,%ymm12 .byte 196,65,44,89,198 // vmulps %ymm14,%ymm10,%ymm8 .byte 196,66,53,184,197 // vfmadd231ps %ymm13,%ymm9,%ymm8 .byte 196,66,37,184,199 // vfmadd231ps %ymm15,%ymm11,%ymm8 .byte 196,65,52,92,232 // vsubps %ymm8,%ymm9,%ymm13 .byte 196,65,60,89,237 // vmulps %ymm13,%ymm8,%ymm13 .byte 196,65,60,92,244 // vsubps %ymm12,%ymm8,%ymm14 .byte 196,193,20,94,198 // vdivps %ymm14,%ymm13,%ymm0 .byte 196,65,44,92,248 // vsubps %ymm8,%ymm10,%ymm15 .byte 196,65,60,89,255 // vmulps %ymm15,%ymm8,%ymm15 .byte 196,65,4,94,254 // vdivps %ymm14,%ymm15,%ymm15 .byte 196,65,36,92,232 // vsubps %ymm8,%ymm11,%ymm13 .byte 196,65,60,89,237 // vmulps %ymm13,%ymm8,%ymm13 .byte 196,65,20,94,238 // vdivps %ymm14,%ymm13,%ymm13 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,65,12,194,228,2 // vcmpleps %ymm12,%ymm14,%ymm12 .byte 196,65,60,88,255 // vaddps %ymm15,%ymm8,%ymm15 .byte 196,67,5,74,250,192 // vblendvps %ymm12,%ymm10,%ymm15,%ymm15 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,60,88,237 // vaddps %ymm13,%ymm8,%ymm13 .byte 196,67,21,74,219,192 // vblendvps %ymm12,%ymm11,%ymm13,%ymm11 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 196,195,125,74,201,192 // vblendvps %ymm12,%ymm9,%ymm0,%ymm1 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,52,95,202 // vmaxps %ymm10,%ymm9,%ymm9 .byte 196,65,116,92,208 // vsubps %ymm8,%ymm1,%ymm10 .byte 196,65,28,92,232 // vsubps %ymm8,%ymm12,%ymm13 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,193,28,194,193,1 // vcmpltps %ymm9,%ymm12,%ymm0 .byte 196,65,52,92,200 // vsubps %ymm8,%ymm9,%ymm9 .byte 196,65,44,94,209 // vdivps %ymm9,%ymm10,%ymm10 .byte 196,65,60,88,210 // vaddps %ymm10,%ymm8,%ymm10 .byte 196,195,117,74,202,0 // vblendvps %ymm0,%ymm10,%ymm1,%ymm1 .byte 196,65,4,92,208 // vsubps %ymm8,%ymm15,%ymm10 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,65,44,94,209 // vdivps %ymm9,%ymm10,%ymm10 .byte 196,65,60,88,210 // vaddps %ymm10,%ymm8,%ymm10 .byte 196,67,5,74,210,0 // vblendvps %ymm0,%ymm10,%ymm15,%ymm10 .byte 196,65,36,92,248 // vsubps %ymm8,%ymm11,%ymm15 .byte 196,65,20,89,239 // vmulps %ymm15,%ymm13,%ymm13 .byte 196,65,20,94,201 // vdivps %ymm9,%ymm13,%ymm9 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,195,37,74,192,0 // vblendvps %ymm0,%ymm8,%ymm11,%ymm0 .byte 196,193,116,95,206 // vmaxps %ymm14,%ymm1,%ymm1 .byte 196,65,44,95,198 // vmaxps %ymm14,%ymm10,%ymm8 .byte 196,65,124,95,206 // vmaxps %ymm14,%ymm0,%ymm9 .byte 196,226,125,24,5,209,71,0,0 // vbroadcastss 0x47d1(%rip),%ymm0 # 5860 <_sk_callback_hsw+0x1e0> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 196,226,37,184,212 // vfmadd231ps %ymm4,%ymm11,%ymm2 .byte 197,236,88,193 // vaddps %ymm1,%ymm2,%ymm0 .byte 197,172,89,76,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm1 .byte 196,226,37,184,205 // vfmadd231ps %ymm5,%ymm11,%ymm1 .byte 196,193,116,88,200 // vaddps %ymm8,%ymm1,%ymm1 .byte 197,172,89,84,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm2 .byte 196,98,77,168,218 // vfmadd213ps %ymm2,%ymm6,%ymm11 .byte 196,193,36,88,209 // vaddps %ymm9,%ymm11,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminosity_hsw .globl _sk_luminosity_hsw FUNCTION(_sk_luminosity_hsw) _sk_luminosity_hsw: .byte 197,124,40,202 // vmovaps %ymm2,%ymm9 .byte 197,124,17,76,36,168 // vmovups %ymm9,-0x58(%rsp) .byte 197,252,17,76,36,200 // vmovups %ymm1,-0x38(%rsp) .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,100,89,196 // vmulps %ymm4,%ymm3,%ymm8 .byte 197,100,89,213 // vmulps %ymm5,%ymm3,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 196,98,125,24,45,106,71,0,0 // vbroadcastss 0x476a(%rip),%ymm13 # 5864 <_sk_callback_hsw+0x1e4> .byte 196,98,125,24,53,101,71,0,0 // vbroadcastss 0x4765(%rip),%ymm14 # 5868 <_sk_callback_hsw+0x1e8> .byte 196,65,116,89,230 // vmulps %ymm14,%ymm1,%ymm12 .byte 196,66,109,184,229 // vfmadd231ps %ymm13,%ymm2,%ymm12 .byte 196,98,125,24,61,86,71,0,0 // vbroadcastss 0x4756(%rip),%ymm15 # 586c <_sk_callback_hsw+0x1ec> .byte 196,66,53,184,231 // vfmadd231ps %ymm15,%ymm9,%ymm12 .byte 196,65,44,89,206 // vmulps %ymm14,%ymm10,%ymm9 .byte 196,66,61,184,205 // vfmadd231ps %ymm13,%ymm8,%ymm9 .byte 196,66,37,184,207 // vfmadd231ps %ymm15,%ymm11,%ymm9 .byte 196,66,69,170,225 // vfmsub213ps %ymm9,%ymm7,%ymm12 .byte 196,65,60,88,204 // vaddps %ymm12,%ymm8,%ymm9 .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,224 // vminps %ymm8,%ymm9,%ymm12 .byte 196,65,44,89,198 // vmulps %ymm14,%ymm10,%ymm8 .byte 196,66,53,184,197 // vfmadd231ps %ymm13,%ymm9,%ymm8 .byte 196,66,37,184,199 // vfmadd231ps %ymm15,%ymm11,%ymm8 .byte 196,65,52,92,232 // vsubps %ymm8,%ymm9,%ymm13 .byte 196,65,60,89,237 // vmulps %ymm13,%ymm8,%ymm13 .byte 196,65,60,92,244 // vsubps %ymm12,%ymm8,%ymm14 .byte 196,193,20,94,198 // vdivps %ymm14,%ymm13,%ymm0 .byte 196,65,44,92,248 // vsubps %ymm8,%ymm10,%ymm15 .byte 196,65,60,89,255 // vmulps %ymm15,%ymm8,%ymm15 .byte 196,65,4,94,254 // vdivps %ymm14,%ymm15,%ymm15 .byte 196,65,36,92,232 // vsubps %ymm8,%ymm11,%ymm13 .byte 196,65,60,89,237 // vmulps %ymm13,%ymm8,%ymm13 .byte 196,65,20,94,238 // vdivps %ymm14,%ymm13,%ymm13 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,65,12,194,228,2 // vcmpleps %ymm12,%ymm14,%ymm12 .byte 196,65,60,88,255 // vaddps %ymm15,%ymm8,%ymm15 .byte 196,67,5,74,250,192 // vblendvps %ymm12,%ymm10,%ymm15,%ymm15 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,60,88,237 // vaddps %ymm13,%ymm8,%ymm13 .byte 196,67,21,74,219,192 // vblendvps %ymm12,%ymm11,%ymm13,%ymm11 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 196,195,125,74,201,192 // vblendvps %ymm12,%ymm9,%ymm0,%ymm1 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,52,95,202 // vmaxps %ymm10,%ymm9,%ymm9 .byte 196,65,116,92,208 // vsubps %ymm8,%ymm1,%ymm10 .byte 196,65,28,92,232 // vsubps %ymm8,%ymm12,%ymm13 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,193,28,194,193,1 // vcmpltps %ymm9,%ymm12,%ymm0 .byte 196,65,52,92,200 // vsubps %ymm8,%ymm9,%ymm9 .byte 196,65,44,94,209 // vdivps %ymm9,%ymm10,%ymm10 .byte 196,65,60,88,210 // vaddps %ymm10,%ymm8,%ymm10 .byte 196,195,117,74,202,0 // vblendvps %ymm0,%ymm10,%ymm1,%ymm1 .byte 196,65,4,92,208 // vsubps %ymm8,%ymm15,%ymm10 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,65,44,94,209 // vdivps %ymm9,%ymm10,%ymm10 .byte 196,65,60,88,210 // vaddps %ymm10,%ymm8,%ymm10 .byte 196,67,5,74,210,0 // vblendvps %ymm0,%ymm10,%ymm15,%ymm10 .byte 196,65,36,92,248 // vsubps %ymm8,%ymm11,%ymm15 .byte 196,65,20,89,239 // vmulps %ymm15,%ymm13,%ymm13 .byte 196,65,20,94,201 // vdivps %ymm9,%ymm13,%ymm9 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,195,37,74,192,0 // vblendvps %ymm0,%ymm8,%ymm11,%ymm0 .byte 196,193,116,95,206 // vmaxps %ymm14,%ymm1,%ymm1 .byte 196,65,44,95,198 // vmaxps %ymm14,%ymm10,%ymm8 .byte 196,65,124,95,206 // vmaxps %ymm14,%ymm0,%ymm9 .byte 196,226,125,24,5,56,70,0,0 // vbroadcastss 0x4638(%rip),%ymm0 # 5870 <_sk_callback_hsw+0x1f0> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 196,226,37,184,212 // vfmadd231ps %ymm4,%ymm11,%ymm2 .byte 197,236,88,193 // vaddps %ymm1,%ymm2,%ymm0 .byte 197,172,89,76,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm1 .byte 196,226,37,184,205 // vfmadd231ps %ymm5,%ymm11,%ymm1 .byte 196,193,116,88,200 // vaddps %ymm8,%ymm1,%ymm1 .byte 197,172,89,84,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm2 .byte 196,98,77,168,218 // vfmadd213ps %ymm2,%ymm6,%ymm11 .byte 196,193,36,88,209 // vaddps %ymm9,%ymm11,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_hsw .globl _sk_srcover_rgba_8888_hsw FUNCTION(_sk_srcover_rgba_8888_hsw) _sk_srcover_rgba_8888_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,180,0,0,0 // jne 1347 <_sk_srcover_rgba_8888_hsw+0xcd> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,196,84,37,224,73,0,0 // vandps 0x49e0(%rip),%ymm7,%ymm4 # 5c80 <_sk_callback_hsw+0x600> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,69,0,45,243,73,0,0 // vpshufb 0x49f3(%rip),%ymm7,%ymm5 # 5ca0 <_sk_callback_hsw+0x620> .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,69,0,53,6,74,0,0 // vpshufb 0x4a06(%rip),%ymm7,%ymm6 # 5cc0 <_sk_callback_hsw+0x640> .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 197,197,114,215,24 // vpsrld $0x18,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,164,69,0,0 // vbroadcastss 0x45a4(%rip),%ymm8 # 5874 <_sk_callback_hsw+0x1f4> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,125,24,13,155,69,0,0 // vbroadcastss 0x459b(%rip),%ymm9 # 5878 <_sk_callback_hsw+0x1f8> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 196,194,93,184,192 // vfmadd231ps %ymm8,%ymm4,%ymm0 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,194,85,184,200 // vfmadd231ps %ymm8,%ymm5,%ymm1 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,194,77,184,208 // vfmadd231ps %ymm8,%ymm6,%ymm2 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 197,125,91,192 // vcvtps2dq %ymm0,%ymm8 .byte 197,125,91,201 // vcvtps2dq %ymm1,%ymm9 .byte 196,193,53,114,241,8 // vpslld $0x8,%ymm9,%ymm9 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 197,125,91,202 // vcvtps2dq %ymm2,%ymm9 .byte 196,193,53,114,241,16 // vpslld $0x10,%ymm9,%ymm9 .byte 197,125,91,211 // vcvtps2dq %ymm3,%ymm10 .byte 196,193,45,114,242,24 // vpslld $0x18,%ymm10,%ymm10 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,53 // jne 1370 <_sk_srcover_rgba_8888_hsw+0xf6> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,125,33,228 // vpmovsxbd %xmm4,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 233,40,255,255,255 // jmpq 1298 <_sk_srcover_rgba_8888_hsw+0x1e> .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,125,33,201 // vpmovsxbd %xmm9,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 235,170 // jmp 1340 <_sk_srcover_rgba_8888_hsw+0xc6> HIDDEN _sk_clamp_0_hsw .globl _sk_clamp_0_hsw FUNCTION(_sk_clamp_0_hsw) _sk_clamp_0_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,193,116,95,200 // vmaxps %ymm8,%ymm1,%ymm1 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,193,100,95,216 // vmaxps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_1_hsw .globl _sk_clamp_1_hsw FUNCTION(_sk_clamp_1_hsw) _sk_clamp_1_hsw: .byte 196,98,125,24,5,192,68,0,0 // vbroadcastss 0x44c0(%rip),%ymm8 # 587c <_sk_callback_hsw+0x1fc> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_hsw .globl _sk_clamp_a_hsw FUNCTION(_sk_clamp_a_hsw) _sk_clamp_a_hsw: .byte 196,98,125,24,5,163,68,0,0 // vbroadcastss 0x44a3(%rip),%ymm8 # 5880 <_sk_callback_hsw+0x200> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_dst_hsw .globl _sk_clamp_a_dst_hsw FUNCTION(_sk_clamp_a_dst_hsw) _sk_clamp_a_dst_hsw: .byte 196,98,125,24,5,137,68,0,0 // vbroadcastss 0x4489(%rip),%ymm8 # 5884 <_sk_callback_hsw+0x204> .byte 196,193,68,93,248 // vminps %ymm8,%ymm7,%ymm7 .byte 197,220,93,231 // vminps %ymm7,%ymm4,%ymm4 .byte 197,212,93,239 // vminps %ymm7,%ymm5,%ymm5 .byte 197,204,93,247 // vminps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_hsw .globl _sk_set_rgb_hsw FUNCTION(_sk_set_rgb_hsw) _sk_set_rgb_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_hsw .globl _sk_swap_rb_hsw FUNCTION(_sk_swap_rb_hsw) _sk_swap_rb_hsw: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_hsw .globl _sk_move_src_dst_hsw FUNCTION(_sk_move_src_dst_hsw) _sk_move_src_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_hsw .globl _sk_move_dst_src_hsw FUNCTION(_sk_move_dst_src_hsw) _sk_move_dst_src_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_hsw .globl _sk_premul_hsw FUNCTION(_sk_premul_hsw) _sk_premul_hsw: .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_hsw .globl _sk_unpremul_hsw FUNCTION(_sk_unpremul_hsw) _sk_unpremul_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,100,194,200,0 // vcmpeqps %ymm8,%ymm3,%ymm9 .byte 196,98,125,24,21,5,68,0,0 // vbroadcastss 0x4405(%rip),%ymm10 # 5888 <_sk_callback_hsw+0x208> .byte 197,44,94,211 // vdivps %ymm3,%ymm10,%ymm10 .byte 196,67,45,74,192,144 // vblendvps %ymm9,%ymm8,%ymm10,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_hsw .globl _sk_from_srgb_hsw FUNCTION(_sk_from_srgb_hsw) _sk_from_srgb_hsw: .byte 196,98,125,24,5,230,67,0,0 // vbroadcastss 0x43e6(%rip),%ymm8 # 588c <_sk_callback_hsw+0x20c> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 197,124,89,208 // vmulps %ymm0,%ymm0,%ymm10 .byte 196,98,125,24,29,216,67,0,0 // vbroadcastss 0x43d8(%rip),%ymm11 # 5890 <_sk_callback_hsw+0x210> .byte 196,98,125,24,37,211,67,0,0 // vbroadcastss 0x43d3(%rip),%ymm12 # 5894 <_sk_callback_hsw+0x214> .byte 196,65,124,40,236 // vmovaps %ymm12,%ymm13 .byte 196,66,125,168,235 // vfmadd213ps %ymm11,%ymm0,%ymm13 .byte 196,98,125,24,53,196,67,0,0 // vbroadcastss 0x43c4(%rip),%ymm14 # 5898 <_sk_callback_hsw+0x218> .byte 196,66,45,168,238 // vfmadd213ps %ymm14,%ymm10,%ymm13 .byte 196,98,125,24,21,186,67,0,0 // vbroadcastss 0x43ba(%rip),%ymm10 # 589c <_sk_callback_hsw+0x21c> .byte 196,193,124,194,194,1 // vcmpltps %ymm10,%ymm0,%ymm0 .byte 196,195,21,74,193,0 // vblendvps %ymm0,%ymm9,%ymm13,%ymm0 .byte 196,65,116,89,200 // vmulps %ymm8,%ymm1,%ymm9 .byte 197,116,89,233 // vmulps %ymm1,%ymm1,%ymm13 .byte 196,65,124,40,252 // vmovaps %ymm12,%ymm15 .byte 196,66,117,168,251 // vfmadd213ps %ymm11,%ymm1,%ymm15 .byte 196,66,21,168,254 // vfmadd213ps %ymm14,%ymm13,%ymm15 .byte 196,193,116,194,202,1 // vcmpltps %ymm10,%ymm1,%ymm1 .byte 196,195,5,74,201,16 // vblendvps %ymm1,%ymm9,%ymm15,%ymm1 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 197,108,89,202 // vmulps %ymm2,%ymm2,%ymm9 .byte 196,66,109,168,227 // vfmadd213ps %ymm11,%ymm2,%ymm12 .byte 196,66,53,168,230 // vfmadd213ps %ymm14,%ymm9,%ymm12 .byte 196,193,108,194,210,1 // vcmpltps %ymm10,%ymm2,%ymm2 .byte 196,195,29,74,208,32 // vblendvps %ymm2,%ymm8,%ymm12,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_dst_hsw .globl _sk_from_srgb_dst_hsw FUNCTION(_sk_from_srgb_dst_hsw) _sk_from_srgb_dst_hsw: .byte 196,98,125,24,5,98,67,0,0 // vbroadcastss 0x4362(%rip),%ymm8 # 58a0 <_sk_callback_hsw+0x220> .byte 196,65,92,89,200 // vmulps %ymm8,%ymm4,%ymm9 .byte 197,92,89,212 // vmulps %ymm4,%ymm4,%ymm10 .byte 196,98,125,24,29,84,67,0,0 // vbroadcastss 0x4354(%rip),%ymm11 # 58a4 <_sk_callback_hsw+0x224> .byte 196,98,125,24,37,79,67,0,0 // vbroadcastss 0x434f(%rip),%ymm12 # 58a8 <_sk_callback_hsw+0x228> .byte 196,65,124,40,236 // vmovaps %ymm12,%ymm13 .byte 196,66,93,168,235 // vfmadd213ps %ymm11,%ymm4,%ymm13 .byte 196,98,125,24,53,64,67,0,0 // vbroadcastss 0x4340(%rip),%ymm14 # 58ac <_sk_callback_hsw+0x22c> .byte 196,66,45,168,238 // vfmadd213ps %ymm14,%ymm10,%ymm13 .byte 196,98,125,24,21,54,67,0,0 // vbroadcastss 0x4336(%rip),%ymm10 # 58b0 <_sk_callback_hsw+0x230> .byte 196,193,92,194,226,1 // vcmpltps %ymm10,%ymm4,%ymm4 .byte 196,195,21,74,225,64 // vblendvps %ymm4,%ymm9,%ymm13,%ymm4 .byte 196,65,84,89,200 // vmulps %ymm8,%ymm5,%ymm9 .byte 197,84,89,237 // vmulps %ymm5,%ymm5,%ymm13 .byte 196,65,124,40,252 // vmovaps %ymm12,%ymm15 .byte 196,66,85,168,251 // vfmadd213ps %ymm11,%ymm5,%ymm15 .byte 196,66,21,168,254 // vfmadd213ps %ymm14,%ymm13,%ymm15 .byte 196,193,84,194,234,1 // vcmpltps %ymm10,%ymm5,%ymm5 .byte 196,195,5,74,233,80 // vblendvps %ymm5,%ymm9,%ymm15,%ymm5 .byte 196,65,76,89,192 // vmulps %ymm8,%ymm6,%ymm8 .byte 197,76,89,206 // vmulps %ymm6,%ymm6,%ymm9 .byte 196,66,77,168,227 // vfmadd213ps %ymm11,%ymm6,%ymm12 .byte 196,66,53,168,230 // vfmadd213ps %ymm14,%ymm9,%ymm12 .byte 196,193,76,194,242,1 // vcmpltps %ymm10,%ymm6,%ymm6 .byte 196,195,29,74,240,96 // vblendvps %ymm6,%ymm8,%ymm12,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_to_srgb_hsw .globl _sk_to_srgb_hsw FUNCTION(_sk_to_srgb_hsw) _sk_to_srgb_hsw: .byte 197,124,82,200 // vrsqrtps %ymm0,%ymm9 .byte 196,98,125,24,5,218,66,0,0 // vbroadcastss 0x42da(%rip),%ymm8 # 58b4 <_sk_callback_hsw+0x234> .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,98,125,24,29,208,66,0,0 // vbroadcastss 0x42d0(%rip),%ymm11 # 58b8 <_sk_callback_hsw+0x238> .byte 196,98,125,24,37,203,66,0,0 // vbroadcastss 0x42cb(%rip),%ymm12 # 58bc <_sk_callback_hsw+0x23c> .byte 196,65,124,40,236 // vmovaps %ymm12,%ymm13 .byte 196,66,53,168,235 // vfmadd213ps %ymm11,%ymm9,%ymm13 .byte 196,98,125,24,53,188,66,0,0 // vbroadcastss 0x42bc(%rip),%ymm14 # 58c0 <_sk_callback_hsw+0x240> .byte 196,66,53,168,238 // vfmadd213ps %ymm14,%ymm9,%ymm13 .byte 196,98,125,24,61,178,66,0,0 // vbroadcastss 0x42b2(%rip),%ymm15 # 58c4 <_sk_callback_hsw+0x244> .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,20,89,201 // vmulps %ymm9,%ymm13,%ymm9 .byte 196,98,125,24,45,158,66,0,0 // vbroadcastss 0x429e(%rip),%ymm13 # 58c8 <_sk_callback_hsw+0x248> .byte 196,193,124,194,197,1 // vcmpltps %ymm13,%ymm0,%ymm0 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 197,124,82,201 // vrsqrtps %ymm1,%ymm9 .byte 196,65,124,40,212 // vmovaps %ymm12,%ymm10 .byte 196,66,53,168,211 // vfmadd213ps %ymm11,%ymm9,%ymm10 .byte 196,66,53,168,214 // vfmadd213ps %ymm14,%ymm9,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,44,89,201 // vmulps %ymm9,%ymm10,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,193,116,194,205,1 // vcmpltps %ymm13,%ymm1,%ymm1 .byte 196,195,53,74,202,16 // vblendvps %ymm1,%ymm10,%ymm9,%ymm1 .byte 197,124,82,202 // vrsqrtps %ymm2,%ymm9 .byte 196,66,53,168,227 // vfmadd213ps %ymm11,%ymm9,%ymm12 .byte 196,66,53,168,230 // vfmadd213ps %ymm14,%ymm9,%ymm12 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,193,108,194,213,1 // vcmpltps %ymm13,%ymm2,%ymm2 .byte 196,195,53,74,208,32 // vblendvps %ymm2,%ymm8,%ymm9,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_hsw .globl _sk_rgb_to_hsl_hsw FUNCTION(_sk_rgb_to_hsl_hsw) _sk_rgb_to_hsl_hsw: .byte 197,124,95,193 // vmaxps %ymm1,%ymm0,%ymm8 .byte 197,60,95,194 // vmaxps %ymm2,%ymm8,%ymm8 .byte 197,124,93,201 // vminps %ymm1,%ymm0,%ymm9 .byte 197,52,93,202 // vminps %ymm2,%ymm9,%ymm9 .byte 196,65,60,92,209 // vsubps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,29,19,66,0,0 // vbroadcastss 0x4213(%rip),%ymm11 # 58cc <_sk_callback_hsw+0x24c> .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 197,116,92,226 // vsubps %ymm2,%ymm1,%ymm12 .byte 197,116,194,234,1 // vcmpltps %ymm2,%ymm1,%ymm13 .byte 196,98,125,24,53,0,66,0,0 // vbroadcastss 0x4200(%rip),%ymm14 # 58d0 <_sk_callback_hsw+0x250> .byte 196,65,4,87,255 // vxorps %ymm15,%ymm15,%ymm15 .byte 196,67,5,74,238,208 // vblendvps %ymm13,%ymm14,%ymm15,%ymm13 .byte 196,66,37,168,229 // vfmadd213ps %ymm13,%ymm11,%ymm12 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 197,124,92,233 // vsubps %ymm1,%ymm0,%ymm13 .byte 196,98,125,24,53,231,65,0,0 // vbroadcastss 0x41e7(%rip),%ymm14 # 58d8 <_sk_callback_hsw+0x258> .byte 196,66,37,168,238 // vfmadd213ps %ymm14,%ymm11,%ymm13 .byte 196,98,125,24,53,213,65,0,0 // vbroadcastss 0x41d5(%rip),%ymm14 # 58d4 <_sk_callback_hsw+0x254> .byte 196,194,37,168,214 // vfmadd213ps %ymm14,%ymm11,%ymm2 .byte 197,188,194,201,0 // vcmpeqps %ymm1,%ymm8,%ymm1 .byte 196,227,21,74,202,16 // vblendvps %ymm1,%ymm2,%ymm13,%ymm1 .byte 197,188,194,192,0 // vcmpeqps %ymm0,%ymm8,%ymm0 .byte 196,195,117,74,196,0 // vblendvps %ymm0,%ymm12,%ymm1,%ymm0 .byte 196,193,60,88,201 // vaddps %ymm9,%ymm8,%ymm1 .byte 196,98,125,24,29,184,65,0,0 // vbroadcastss 0x41b8(%rip),%ymm11 # 58e0 <_sk_callback_hsw+0x260> .byte 196,193,116,89,211 // vmulps %ymm11,%ymm1,%ymm2 .byte 197,36,194,218,1 // vcmpltps %ymm2,%ymm11,%ymm11 .byte 196,65,12,92,224 // vsubps %ymm8,%ymm14,%ymm12 .byte 196,65,28,92,225 // vsubps %ymm9,%ymm12,%ymm12 .byte 196,195,117,74,204,176 // vblendvps %ymm11,%ymm12,%ymm1,%ymm1 .byte 196,65,60,194,193,0 // vcmpeqps %ymm9,%ymm8,%ymm8 .byte 197,172,94,201 // vdivps %ymm1,%ymm10,%ymm1 .byte 196,195,125,74,199,128 // vblendvps %ymm8,%ymm15,%ymm0,%ymm0 .byte 196,195,117,74,207,128 // vblendvps %ymm8,%ymm15,%ymm1,%ymm1 .byte 196,98,125,24,5,123,65,0,0 // vbroadcastss 0x417b(%rip),%ymm8 # 58dc <_sk_callback_hsw+0x25c> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hsl_to_rgb_hsw .globl _sk_hsl_to_rgb_hsw FUNCTION(_sk_hsl_to_rgb_hsw) _sk_hsl_to_rgb_hsw: .byte 72,131,236,56 // sub $0x38,%rsp .byte 197,252,17,60,36 // vmovups %ymm7,(%rsp) .byte 197,252,17,116,36,224 // vmovups %ymm6,-0x20(%rsp) .byte 197,252,17,108,36,192 // vmovups %ymm5,-0x40(%rsp) .byte 197,252,17,100,36,160 // vmovups %ymm4,-0x60(%rsp) .byte 197,252,17,92,36,128 // vmovups %ymm3,-0x80(%rsp) .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 196,98,125,24,5,72,65,0,0 // vbroadcastss 0x4148(%rip),%ymm8 # 58e4 <_sk_callback_hsw+0x264> .byte 197,60,194,202,2 // vcmpleps %ymm2,%ymm8,%ymm9 .byte 197,84,89,210 // vmulps %ymm2,%ymm5,%ymm10 .byte 196,65,84,92,218 // vsubps %ymm10,%ymm5,%ymm11 .byte 196,67,45,74,203,144 // vblendvps %ymm9,%ymm11,%ymm10,%ymm9 .byte 197,52,88,210 // vaddps %ymm2,%ymm9,%ymm10 .byte 196,98,125,24,13,43,65,0,0 // vbroadcastss 0x412b(%rip),%ymm9 # 58e8 <_sk_callback_hsw+0x268> .byte 196,66,109,170,202 // vfmsub213ps %ymm10,%ymm2,%ymm9 .byte 196,98,125,24,29,33,65,0,0 // vbroadcastss 0x4121(%rip),%ymm11 # 58ec <_sk_callback_hsw+0x26c> .byte 196,65,92,88,219 // vaddps %ymm11,%ymm4,%ymm11 .byte 196,67,125,8,227,1 // vroundps $0x1,%ymm11,%ymm12 .byte 196,65,36,92,252 // vsubps %ymm12,%ymm11,%ymm15 .byte 196,65,44,92,217 // vsubps %ymm9,%ymm10,%ymm11 .byte 196,98,125,24,45,11,65,0,0 // vbroadcastss 0x410b(%rip),%ymm13 # 58f4 <_sk_callback_hsw+0x274> .byte 196,193,4,89,197 // vmulps %ymm13,%ymm15,%ymm0 .byte 196,98,125,24,53,1,65,0,0 // vbroadcastss 0x4101(%rip),%ymm14 # 58f8 <_sk_callback_hsw+0x278> .byte 197,12,92,224 // vsubps %ymm0,%ymm14,%ymm12 .byte 196,66,37,168,225 // vfmadd213ps %ymm9,%ymm11,%ymm12 .byte 196,226,125,24,29,231,64,0,0 // vbroadcastss 0x40e7(%rip),%ymm3 # 58f0 <_sk_callback_hsw+0x270> .byte 196,193,100,194,255,2 // vcmpleps %ymm15,%ymm3,%ymm7 .byte 196,195,29,74,249,112 // vblendvps %ymm7,%ymm9,%ymm12,%ymm7 .byte 196,65,60,194,231,2 // vcmpleps %ymm15,%ymm8,%ymm12 .byte 196,227,45,74,255,192 // vblendvps %ymm12,%ymm7,%ymm10,%ymm7 .byte 196,98,125,24,37,210,64,0,0 // vbroadcastss 0x40d2(%rip),%ymm12 # 58fc <_sk_callback_hsw+0x27c> .byte 196,65,28,194,255,2 // vcmpleps %ymm15,%ymm12,%ymm15 .byte 196,194,37,168,193 // vfmadd213ps %ymm9,%ymm11,%ymm0 .byte 196,99,125,74,255,240 // vblendvps %ymm15,%ymm7,%ymm0,%ymm15 .byte 196,227,125,8,196,1 // vroundps $0x1,%ymm4,%ymm0 .byte 197,220,92,192 // vsubps %ymm0,%ymm4,%ymm0 .byte 196,193,124,89,253 // vmulps %ymm13,%ymm0,%ymm7 .byte 197,140,92,207 // vsubps %ymm7,%ymm14,%ymm1 .byte 196,194,37,168,201 // vfmadd213ps %ymm9,%ymm11,%ymm1 .byte 197,228,194,240,2 // vcmpleps %ymm0,%ymm3,%ymm6 .byte 196,195,117,74,201,96 // vblendvps %ymm6,%ymm9,%ymm1,%ymm1 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,201,96 // vblendvps %ymm6,%ymm1,%ymm10,%ymm1 .byte 197,156,194,192,2 // vcmpleps %ymm0,%ymm12,%ymm0 .byte 196,194,37,168,249 // vfmadd213ps %ymm9,%ymm11,%ymm7 .byte 196,227,69,74,201,0 // vblendvps %ymm0,%ymm1,%ymm7,%ymm1 .byte 196,226,125,24,5,126,64,0,0 // vbroadcastss 0x407e(%rip),%ymm0 # 5900 <_sk_callback_hsw+0x280> .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 196,227,125,8,224,1 // vroundps $0x1,%ymm0,%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,194,216,2 // vcmpleps %ymm0,%ymm3,%ymm3 .byte 196,193,124,89,229 // vmulps %ymm13,%ymm0,%ymm4 .byte 197,140,92,244 // vsubps %ymm4,%ymm14,%ymm6 .byte 196,194,37,168,241 // vfmadd213ps %ymm9,%ymm11,%ymm6 .byte 196,195,77,74,217,48 // vblendvps %ymm3,%ymm9,%ymm6,%ymm3 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,219,96 // vblendvps %ymm6,%ymm3,%ymm10,%ymm3 .byte 196,98,37,184,204 // vfmadd231ps %ymm4,%ymm11,%ymm9 .byte 197,156,194,192,2 // vcmpleps %ymm0,%ymm12,%ymm0 .byte 196,227,53,74,219,0 // vblendvps %ymm0,%ymm3,%ymm9,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,212,194,224,0 // vcmpeqps %ymm0,%ymm5,%ymm4 .byte 196,227,5,74,194,64 // vblendvps %ymm4,%ymm2,%ymm15,%ymm0 .byte 196,227,117,74,202,64 // vblendvps %ymm4,%ymm2,%ymm1,%ymm1 .byte 196,227,101,74,210,64 // vblendvps %ymm4,%ymm2,%ymm3,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,92,36,128 // vmovups -0x80(%rsp),%ymm3 .byte 197,252,16,100,36,160 // vmovups -0x60(%rsp),%ymm4 .byte 197,252,16,108,36,192 // vmovups -0x40(%rsp),%ymm5 .byte 197,252,16,116,36,224 // vmovups -0x20(%rsp),%ymm6 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_hsw .globl _sk_scale_1_float_hsw FUNCTION(_sk_scale_1_float_hsw) _sk_scale_1_float_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_hsw .globl _sk_scale_u8_hsw FUNCTION(_sk_scale_u8_hsw) _sk_scale_u8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,58 // jne 1963 <_sk_scale_u8_hsw+0x44> .byte 196,66,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm8 .byte 197,57,219,5,169,70,0,0 // vpand 0x46a9(%rip),%xmm8,%xmm8 # 5fe0 <_sk_callback_hsw+0x960> .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,186,63,0,0 // vbroadcastss 0x3fba(%rip),%ymm9 # 5904 <_sk_callback_hsw+0x284> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,183 // ja 192f <_sk_scale_u8_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,121,0,0,0 // lea 0x79(%rip),%r10 # 19fc <_sk_scale_u8_hsw+0xdd> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,152 // jmp 192f <_sk_scale_u8_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,111,255,255,255 // jmpq 192f <_sk_scale_u8_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,51,255,255,255 // jmpq 192f <_sk_scale_u8_hsw+0x10> .byte 144 // nop .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,155 // ljmp *-0x64000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_hsw .globl _sk_lerp_1_float_hsw FUNCTION(_sk_lerp_1_float_hsw) _sk_lerp_1_float_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,61,168,196 // vfmadd213ps %ymm4,%ymm8,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,226,61,168,205 // vfmadd213ps %ymm5,%ymm8,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,226,61,168,223 // vfmadd213ps %ymm7,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_hsw .globl _sk_lerp_u8_hsw FUNCTION(_sk_lerp_u8_hsw) _sk_lerp_u8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,78 // jne 1a9f <_sk_lerp_u8_hsw+0x58> .byte 196,66,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm8 .byte 197,57,219,5,145,69,0,0 // vpand 0x4591(%rip),%xmm8,%xmm8 # 5ff0 <_sk_callback_hsw+0x970> .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,150,62,0,0 // vbroadcastss 0x3e96(%rip),%ymm9 # 5908 <_sk_callback_hsw+0x288> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,61,168,196 // vfmadd213ps %ymm4,%ymm8,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,226,61,168,205 // vfmadd213ps %ymm5,%ymm8,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,226,61,168,223 // vfmadd213ps %ymm7,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,163 // ja 1a57 <_sk_lerp_u8_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,121,0,0,0 // lea 0x79(%rip),%r10 # 1b38 <_sk_lerp_u8_hsw+0xf1> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,132 // jmp 1a57 <_sk_lerp_u8_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,91,255,255,255 // jmpq 1a57 <_sk_lerp_u8_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,31,255,255,255 // jmpq 1a57 <_sk_lerp_u8_hsw+0x10> .byte 144 // nop .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,155 // ljmp *-0x64000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_hsw .globl _sk_lerp_565_hsw FUNCTION(_sk_lerp_565_hsw) _sk_lerp_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,169,0,0,0 // jne 1c0b <_sk_lerp_565_hsw+0xb7> .byte 196,65,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,98,125,88,13,150,61,0,0 // vpbroadcastd 0x3d96(%rip),%ymm9 # 590c <_sk_callback_hsw+0x28c> .byte 196,65,61,219,201 // vpand %ymm9,%ymm8,%ymm9 .byte 196,65,124,91,201 // vcvtdq2ps %ymm9,%ymm9 .byte 196,98,125,24,21,135,61,0,0 // vbroadcastss 0x3d87(%rip),%ymm10 # 5910 <_sk_callback_hsw+0x290> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,88,21,125,61,0,0 // vpbroadcastd 0x3d7d(%rip),%ymm10 # 5914 <_sk_callback_hsw+0x294> .byte 196,65,61,219,210 // vpand %ymm10,%ymm8,%ymm10 .byte 196,65,124,91,210 // vcvtdq2ps %ymm10,%ymm10 .byte 196,98,125,24,29,110,61,0,0 // vbroadcastss 0x3d6e(%rip),%ymm11 # 5918 <_sk_callback_hsw+0x298> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,88,29,100,61,0,0 // vpbroadcastd 0x3d64(%rip),%ymm11 # 591c <_sk_callback_hsw+0x29c> .byte 196,65,61,219,195 // vpand %ymm11,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,29,85,61,0,0 // vbroadcastss 0x3d55(%rip),%ymm11 # 5920 <_sk_callback_hsw+0x2a0> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,53,168,196 // vfmadd213ps %ymm4,%ymm9,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,226,45,168,205 // vfmadd213ps %ymm5,%ymm10,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,98,101,168,207 // vfmadd213ps %ymm7,%ymm3,%ymm9 .byte 196,98,101,168,215 // vfmadd213ps %ymm7,%ymm3,%ymm10 .byte 196,98,101,168,199 // vfmadd213ps %ymm7,%ymm3,%ymm8 .byte 196,193,44,95,216 // vmaxps %ymm8,%ymm10,%ymm3 .byte 197,180,95,219 // vmaxps %ymm3,%ymm9,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,68,255,255,255 // ja 1b68 <_sk_lerp_565_hsw+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,101,0,0,0 // lea 0x65(%rip),%r10 # 1c94 <_sk_lerp_565_hsw+0x140> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,34,255,255,255 // jmpq 1b68 <_sk_lerp_565_hsw+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,4,255,255,255 // jmpq 1b68 <_sk_lerp_565_hsw+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,57,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,57,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,214,254,255,255 // jmpq 1b68 <_sk_lerp_565_hsw+0x14> .byte 102,144 // xchg %ax,%ax .byte 164 // movsb %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,178 // mov $0xb2ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_hsw .globl _sk_load_tables_hsw FUNCTION(_sk_load_tables_hsw) _sk_load_tables_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,105 // jne 1d2e <_sk_load_tables_hsw+0x7e> .byte 196,193,124,16,26 // vmovups (%r10),%ymm3 .byte 197,228,84,13,14,64,0,0 // vandps 0x400e(%rip),%ymm3,%ymm1 # 5ce0 <_sk_callback_hsw+0x660> .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 72,139,72,8 // mov 0x8(%rax),%rcx .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,226,109,146,4,137 // vgatherdps %ymm2,(%rcx,%ymm1,4),%ymm0 .byte 196,226,101,0,21,14,64,0,0 // vpshufb 0x400e(%rip),%ymm3,%ymm2 # 5d00 <_sk_callback_hsw+0x680> .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,194,53,146,12,146 // vgatherdps %ymm9,(%r10,%ymm2,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,98,101,0,13,22,64,0,0 // vpshufb 0x4016(%rip),%ymm3,%ymm9 # 5d20 <_sk_callback_hsw+0x6a0> .byte 196,162,61,146,20,136 // vgatherdps %ymm8,(%rax,%ymm9,4),%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,2,60,0,0 // vbroadcastss 0x3c02(%rip),%ymm8 # 5924 <_sk_callback_hsw+0x2a4> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 73,199,195,255,255,255,255 // mov $0xffffffffffffffff,%r11 .byte 73,211,235 // shr %cl,%r11 .byte 196,193,249,110,195 // vmovq %r11,%xmm0 .byte 196,226,125,33,192 // vpmovsxbd %xmm0,%ymm0 .byte 196,194,125,44,26 // vmaskmovps (%r10),%ymm0,%ymm3 .byte 233,115,255,255,255 // jmpq 1cca <_sk_load_tables_hsw+0x1a> HIDDEN _sk_load_tables_u16_be_hsw .globl _sk_load_tables_u16_be_hsw FUNCTION(_sk_load_tables_u16_be_hsw) _sk_load_tables_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,201,0,0,0 // jne 1e36 <_sk_load_tables_u16_be_hsw+0xdf> .byte 196,1,121,16,4,81 // vmovupd (%r9,%r10,2),%xmm8 .byte 196,129,121,16,84,81,16 // vmovupd 0x10(%r9,%r10,2),%xmm2 .byte 196,129,121,16,92,81,32 // vmovupd 0x20(%r9,%r10,2),%xmm3 .byte 196,1,122,111,76,81,48 // vmovdqu 0x30(%r9,%r10,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,195 // vpunpcklwd %xmm3,%xmm1,%xmm0 .byte 197,241,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm3 .byte 197,185,108,200 // vpunpcklqdq %xmm0,%xmm8,%xmm1 .byte 197,185,109,208 // vpunpckhqdq %xmm0,%xmm8,%xmm2 .byte 197,49,108,195 // vpunpcklqdq %xmm3,%xmm9,%xmm8 .byte 197,121,111,21,66,66,0,0 // vmovdqa 0x4242(%rip),%xmm10 # 6000 <_sk_callback_hsw+0x980> .byte 196,193,113,219,194 // vpand %xmm10,%xmm1,%xmm0 .byte 196,226,125,51,200 // vpmovzxwd %xmm0,%ymm1 .byte 196,65,37,118,219 // vpcmpeqd %ymm11,%ymm11,%ymm11 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 196,65,29,118,228 // vpcmpeqd %ymm12,%ymm12,%ymm12 .byte 196,194,29,146,4,137 // vgatherdps %ymm12,(%r9,%ymm1,4),%ymm0 .byte 196,193,105,219,202 // vpand %xmm10,%xmm2,%xmm1 .byte 196,226,125,51,209 // vpmovzxwd %xmm1,%ymm2 .byte 196,65,29,118,228 // vpcmpeqd %ymm12,%ymm12,%ymm12 .byte 196,194,29,146,12,146 // vgatherdps %ymm12,(%r10,%ymm2,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,193,57,219,210 // vpand %xmm10,%xmm8,%xmm2 .byte 196,98,125,51,194 // vpmovzxwd %xmm2,%ymm8 .byte 196,162,37,146,20,128 // vgatherdps %ymm11,(%rax,%ymm8,4),%ymm2 .byte 197,177,109,219 // vpunpckhqdq %xmm3,%xmm9,%xmm3 .byte 197,185,113,243,8 // vpsllw $0x8,%xmm3,%xmm8 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,185,235,219 // vpor %xmm3,%xmm8,%xmm3 .byte 196,226,125,51,219 // vpmovzxwd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,251,58,0,0 // vbroadcastss 0x3afb(%rip),%ymm8 # 5928 <_sk_callback_hsw+0x2a8> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,1,123,16,4,81 // vmovsd (%r9,%r10,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,85 // je 1e9c <_sk_load_tables_u16_be_hsw+0x145> .byte 196,1,57,22,68,81,8 // vmovhpd 0x8(%r9,%r10,2),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,72 // jb 1e9c <_sk_load_tables_u16_be_hsw+0x145> .byte 196,129,123,16,84,81,16 // vmovsd 0x10(%r9,%r10,2),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,72 // je 1ea9 <_sk_load_tables_u16_be_hsw+0x152> .byte 196,129,105,22,84,81,24 // vmovhpd 0x18(%r9,%r10,2),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,59 // jb 1ea9 <_sk_load_tables_u16_be_hsw+0x152> .byte 196,129,123,16,92,81,32 // vmovsd 0x20(%r9,%r10,2),%xmm3 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,9,255,255,255 // je 1d88 <_sk_load_tables_u16_be_hsw+0x31> .byte 196,129,97,22,92,81,40 // vmovhpd 0x28(%r9,%r10,2),%xmm3,%xmm3 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,248,254,255,255 // jb 1d88 <_sk_load_tables_u16_be_hsw+0x31> .byte 196,1,122,126,76,81,48 // vmovq 0x30(%r9,%r10,2),%xmm9 .byte 233,236,254,255,255 // jmpq 1d88 <_sk_load_tables_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,223,254,255,255 // jmpq 1d88 <_sk_load_tables_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,214,254,255,255 // jmpq 1d88 <_sk_load_tables_u16_be_hsw+0x31> HIDDEN _sk_load_tables_rgb_u16_be_hsw .globl _sk_load_tables_rgb_u16_be_hsw FUNCTION(_sk_load_tables_rgb_u16_be_hsw) _sk_load_tables_rgb_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,82 // lea (%rdx,%rdx,2),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,193,0,0,0 // jne 1f85 <_sk_load_tables_rgb_u16_be_hsw+0xd3> .byte 196,129,122,111,4,81 // vmovdqu (%r9,%r10,2),%xmm0 .byte 196,129,122,111,84,81,12 // vmovdqu 0xc(%r9,%r10,2),%xmm2 .byte 196,129,122,111,76,81,24 // vmovdqu 0x18(%r9,%r10,2),%xmm1 .byte 196,129,122,111,92,81,32 // vmovdqu 0x20(%r9,%r10,2),%xmm3 .byte 197,225,115,219,4 // vpsrldq $0x4,%xmm3,%xmm3 .byte 197,185,115,216,6 // vpsrldq $0x6,%xmm0,%xmm8 .byte 197,177,115,218,6 // vpsrldq $0x6,%xmm2,%xmm9 .byte 197,161,115,217,6 // vpsrldq $0x6,%xmm1,%xmm11 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,249,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm0 .byte 196,193,57,97,209 // vpunpcklwd %xmm9,%xmm8,%xmm2 .byte 197,241,97,203 // vpunpcklwd %xmm3,%xmm1,%xmm1 .byte 196,193,33,97,218 // vpunpcklwd %xmm10,%xmm11,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,249,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm0 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,241,105,203 // vpunpckhwd %xmm3,%xmm1,%xmm1 .byte 197,185,108,218 // vpunpcklqdq %xmm2,%xmm8,%xmm3 .byte 197,185,109,210 // vpunpckhqdq %xmm2,%xmm8,%xmm2 .byte 197,121,108,193 // vpunpcklqdq %xmm1,%xmm0,%xmm8 .byte 197,121,111,13,226,64,0,0 // vmovdqa 0x40e2(%rip),%xmm9 # 6010 <_sk_callback_hsw+0x990> .byte 196,193,97,219,193 // vpand %xmm9,%xmm3,%xmm0 .byte 196,226,125,51,200 // vpmovzxwd %xmm0,%ymm1 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 196,65,45,118,210 // vpcmpeqd %ymm10,%ymm10,%ymm10 .byte 196,194,45,146,4,137 // vgatherdps %ymm10,(%r9,%ymm1,4),%ymm0 .byte 196,193,105,219,201 // vpand %xmm9,%xmm2,%xmm1 .byte 196,226,125,51,209 // vpmovzxwd %xmm1,%ymm2 .byte 196,65,45,118,210 // vpcmpeqd %ymm10,%ymm10,%ymm10 .byte 196,194,45,146,12,146 // vgatherdps %ymm10,(%r10,%ymm2,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,193,57,219,209 // vpand %xmm9,%xmm8,%xmm2 .byte 196,98,125,51,194 // vpmovzxwd %xmm2,%ymm8 .byte 196,162,101,146,20,128 // vgatherdps %ymm3,(%rax,%ymm8,4),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,169,57,0,0 // vbroadcastss 0x39a9(%rip),%ymm3 # 592c <_sk_callback_hsw+0x2ac> .byte 255,224 // jmpq *%rax .byte 196,129,121,110,4,81 // vmovd (%r9,%r10,2),%xmm0 .byte 196,129,121,196,68,81,4,2 // vpinsrw $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,5 // jne 1f9e <_sk_load_tables_rgb_u16_be_hsw+0xec> .byte 233,90,255,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 196,129,121,110,76,81,6 // vmovd 0x6(%r9,%r10,2),%xmm1 .byte 196,1,113,196,68,81,10,2 // vpinsrw $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,26 // jb 1fcd <_sk_load_tables_rgb_u16_be_hsw+0x11b> .byte 196,129,121,110,76,81,12 // vmovd 0xc(%r9,%r10,2),%xmm1 .byte 196,129,113,196,84,81,16,2 // vpinsrw $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 117,10 // jne 1fd2 <_sk_load_tables_rgb_u16_be_hsw+0x120> .byte 233,43,255,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 233,38,255,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 196,129,121,110,76,81,18 // vmovd 0x12(%r9,%r10,2),%xmm1 .byte 196,1,113,196,76,81,22,2 // vpinsrw $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,26 // jb 2001 <_sk_load_tables_rgb_u16_be_hsw+0x14f> .byte 196,129,121,110,76,81,24 // vmovd 0x18(%r9,%r10,2),%xmm1 .byte 196,129,113,196,76,81,28,2 // vpinsrw $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 117,10 // jne 2006 <_sk_load_tables_rgb_u16_be_hsw+0x154> .byte 233,247,254,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 233,242,254,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 196,129,121,110,92,81,30 // vmovd 0x1e(%r9,%r10,2),%xmm3 .byte 196,1,97,196,92,81,34,2 // vpinsrw $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,20 // jb 202f <_sk_load_tables_rgb_u16_be_hsw+0x17d> .byte 196,129,121,110,92,81,36 // vmovd 0x24(%r9,%r10,2),%xmm3 .byte 196,129,97,196,92,81,40,2 // vpinsrw $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3 .byte 233,201,254,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> .byte 233,196,254,255,255 // jmpq 1ef8 <_sk_load_tables_rgb_u16_be_hsw+0x46> HIDDEN _sk_byte_tables_hsw .globl _sk_byte_tables_hsw FUNCTION(_sk_byte_tables_hsw) _sk_byte_tables_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,241,56,0,0 // vbroadcastss 0x38f1(%rip),%ymm8 # 5930 <_sk_callback_hsw+0x2b0> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,201 // vmovq %xmm9,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,24 // mov (%rax),%r11 .byte 196,131,121,32,4,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm0 .byte 196,67,249,22,202,1 // vpextrq $0x1,%xmm9,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,32,20,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm0,%xmm10 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,99,125,57,200,1 // vextracti128 $0x1,%ymm9,%xmm0 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,67,41,32,201,2 // vpinsrb $0x2,%r9d,%xmm10,%xmm9 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,3 // vpinsrb $0x3,%r10d,%xmm9,%xmm9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,4 // vpinsrb $0x4,%r10d,%xmm9,%xmm9 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,49,32,193,5 // vpinsrb $0x5,%r9d,%xmm9,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,121,32,193,6 // vpinsrb $0x6,%r9d,%xmm0,%xmm0 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,121,32,202,7 // vpinsrb $0x7,%r10d,%xmm0,%xmm9 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,4,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,57,201,1 // vextracti128 $0x1,%ymm1,%xmm1 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,2 // vpinsrb $0x2,%r10d,%xmm0,%xmm0 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,121,32,195,3 // vpinsrb $0x3,%r11d,%xmm0,%xmm0 .byte 69,137,211 // mov %r10d,%r11d .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,121,32,195,4 // vpinsrb $0x4,%r11d,%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,5 // vpinsrb $0x5,%r10d,%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,6 // vpinsrb $0x6,%r10d,%xmm0,%xmm0 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,195,121,32,201,7 // vpinsrb $0x7,%r9d,%xmm0,%xmm1 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,193,108,89,192 // vmulps %ymm8,%ymm2,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,20,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm2 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,20,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm2 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,105,32,210,2 // vpinsrb $0x2,%r10d,%xmm2,%xmm2 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,105,32,211,3 // vpinsrb $0x3,%r11d,%xmm2,%xmm2 .byte 69,137,211 // mov %r10d,%r11d .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,105,32,211,4 // vpinsrb $0x4,%r11d,%xmm2,%xmm2 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,105,32,194,5 // vpinsrb $0x5,%r10d,%xmm2,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,6 // vpinsrb $0x6,%r10d,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,195,121,32,209,7 // vpinsrb $0x7,%r9d,%xmm0,%xmm2 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,193,100,89,192 // vmulps %ymm8,%ymm3,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,28,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm3 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,97,32,28,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm3,%xmm3 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,195,97,32,217,2 // vpinsrb $0x2,%r9d,%xmm3,%xmm3 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,97,32,216,3 // vpinsrb $0x3,%eax,%xmm3,%xmm3 .byte 68,137,200 // mov %r9d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,97,32,216,4 // vpinsrb $0x4,%eax,%xmm3,%xmm3 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,233,32 // shr $0x20,%r9 .byte 67,15,182,4,10 // movzbl (%r10,%r9,1),%eax .byte 196,227,97,32,192,5 // vpinsrb $0x5,%eax,%xmm3,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,121,32,216,6 // vpinsrb $0x6,%eax,%xmm0,%xmm3 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,26 // movzbl (%r10,%r11,1),%eax .byte 196,194,125,49,193 // vpmovzxbd %xmm9,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,150,54,0,0 // vbroadcastss 0x3696(%rip),%ymm8 # 5934 <_sk_callback_hsw+0x2b4> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,125,49,201 // vpmovzxbd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,125,49,210 // vpmovzxbd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,227,97,32,216,7 // vpinsrb $0x7,%eax,%xmm3,%xmm3 .byte 196,226,125,49,219 // vpmovzxbd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_hsw .globl _sk_byte_tables_rgb_hsw FUNCTION(_sk_byte_tables_rgb_hsw) _sk_byte_tables_rgb_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,72,24 // mov 0x18(%rax),%r9d .byte 65,255,201 // dec %r9d .byte 196,65,121,110,193 // vmovd %r9d,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,201 // vmovq %xmm9,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,24 // mov (%rax),%r11 .byte 196,131,121,32,4,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm0 .byte 196,67,249,22,202,1 // vpextrq $0x1,%xmm9,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,32,20,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm0,%xmm10 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,99,125,57,200,1 // vextracti128 $0x1,%ymm9,%xmm0 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,67,41,32,201,2 // vpinsrb $0x2,%r9d,%xmm10,%xmm9 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,3 // vpinsrb $0x3,%r10d,%xmm9,%xmm9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,4 // vpinsrb $0x4,%r10d,%xmm9,%xmm9 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,49,32,193,5 // vpinsrb $0x5,%r9d,%xmm9,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,121,32,193,6 // vpinsrb $0x6,%r9d,%xmm0,%xmm0 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,121,32,202,7 // vpinsrb $0x7,%r10d,%xmm0,%xmm9 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,4,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,57,201,1 // vextracti128 $0x1,%ymm1,%xmm1 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,2 // vpinsrb $0x2,%r10d,%xmm0,%xmm0 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,121,32,195,3 // vpinsrb $0x3,%r11d,%xmm0,%xmm0 .byte 69,137,211 // mov %r10d,%r11d .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,195,121,32,195,4 // vpinsrb $0x4,%r11d,%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,5 // vpinsrb $0x5,%r10d,%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,6 // vpinsrb $0x6,%r10d,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,195,121,32,201,7 // vpinsrb $0x7,%r9d,%xmm0,%xmm1 .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 197,188,89,194 // vmulps %ymm2,%ymm8,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,20,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm2 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,105,32,20,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm2,%xmm2 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,195,105,32,209,2 // vpinsrb $0x2,%r9d,%xmm2,%xmm2 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,105,32,208,3 // vpinsrb $0x3,%eax,%xmm2,%xmm2 .byte 68,137,200 // mov %r9d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,105,32,208,4 // vpinsrb $0x4,%eax,%xmm2,%xmm2 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,233,32 // shr $0x20,%r9 .byte 67,15,182,4,10 // movzbl (%r10,%r9,1),%eax .byte 196,227,105,32,192,5 // vpinsrb $0x5,%eax,%xmm2,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,227,121,32,208,6 // vpinsrb $0x6,%eax,%xmm0,%xmm2 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,26 // movzbl (%r10,%r11,1),%eax .byte 196,194,125,49,193 // vpmovzxbd %xmm9,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,130,52,0,0 // vbroadcastss 0x3482(%rip),%ymm8 # 5938 <_sk_callback_hsw+0x2b8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,125,49,201 // vpmovzxbd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,227,105,32,208,7 // vpinsrb $0x7,%eax,%xmm2,%xmm2 .byte 196,226,125,49,210 // vpmovzxbd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_hsw .globl _sk_table_r_hsw FUNCTION(_sk_table_r_hsw) _sk_table_r_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,192 // vcvtps2dq %ymm0,%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,130,53,146,4,129 // vgatherdps %ymm9,(%r9,%ymm8,4),%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_hsw .globl _sk_table_g_hsw FUNCTION(_sk_table_g_hsw) _sk_table_g_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,125,91,193 // vcvtps2dq %ymm1,%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,130,53,146,12,129 // vgatherdps %ymm9,(%r9,%ymm8,4),%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_hsw .globl _sk_table_b_hsw FUNCTION(_sk_table_b_hsw) _sk_table_b_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,125,91,194 // vcvtps2dq %ymm2,%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,130,53,146,20,129 // vgatherdps %ymm9,(%r9,%ymm8,4),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_hsw .globl _sk_table_a_hsw FUNCTION(_sk_table_a_hsw) _sk_table_a_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 197,125,91,195 // vcvtps2dq %ymm3,%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,130,53,146,28,129 // vgatherdps %ymm9,(%r9,%ymm8,4),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_hsw .globl _sk_parametric_r_hsw FUNCTION(_sk_parametric_r_hsw) _sk_parametric_r_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,124,194,192,2 // vcmpleps %ymm8,%ymm0,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,66,125,168,202 // vfmadd213ps %ymm10,%ymm0,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,66,125,168,211 // vfmadd213ps %ymm11,%ymm0,%ymm10 .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,65,124,91,218 // vcvtdq2ps %ymm10,%ymm11 .byte 196,98,125,24,37,92,51,0,0 // vbroadcastss 0x335c(%rip),%ymm12 # 593c <_sk_callback_hsw+0x2bc> .byte 196,98,125,24,45,87,51,0,0 // vbroadcastss 0x3357(%rip),%ymm13 # 5940 <_sk_callback_hsw+0x2c0> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,77,51,0,0 // vbroadcastss 0x334d(%rip),%ymm13 # 5944 <_sk_callback_hsw+0x2c4> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,67,51,0,0 // vbroadcastss 0x3343(%rip),%ymm13 # 5948 <_sk_callback_hsw+0x2c8> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,57,51,0,0 // vbroadcastss 0x3339(%rip),%ymm11 # 594c <_sk_callback_hsw+0x2cc> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,47,51,0,0 // vbroadcastss 0x332f(%rip),%ymm12 # 5950 <_sk_callback_hsw+0x2d0> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,37,51,0,0 // vbroadcastss 0x3325(%rip),%ymm12 # 5954 <_sk_callback_hsw+0x2d4> .byte 196,65,28,94,210 // vdivps %ymm10,%ymm12,%ymm10 .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 196,99,125,8,208,1 // vroundps $0x1,%ymm0,%ymm10 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,6,51,0,0 // vbroadcastss 0x3306(%rip),%ymm11 # 5958 <_sk_callback_hsw+0x2d8> .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,29,252,50,0,0 // vbroadcastss 0x32fc(%rip),%ymm11 # 595c <_sk_callback_hsw+0x2dc> .byte 196,98,45,172,216 // vfnmadd213ps %ymm0,%ymm10,%ymm11 .byte 196,226,125,24,5,242,50,0,0 // vbroadcastss 0x32f2(%rip),%ymm0 # 5960 <_sk_callback_hsw+0x2e0> .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 196,98,125,24,21,232,50,0,0 // vbroadcastss 0x32e8(%rip),%ymm10 # 5964 <_sk_callback_hsw+0x2e4> .byte 197,172,94,192 // vdivps %ymm0,%ymm10,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,21,219,50,0,0 // vbroadcastss 0x32db(%rip),%ymm10 # 5968 <_sk_callback_hsw+0x2e8> .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 196,195,125,74,193,128 // vblendvps %ymm8,%ymm9,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,178,50,0,0 // vbroadcastss 0x32b2(%rip),%ymm8 # 596c <_sk_callback_hsw+0x2ec> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_g_hsw .globl _sk_parametric_g_hsw FUNCTION(_sk_parametric_g_hsw) _sk_parametric_g_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,116,194,192,2 // vcmpleps %ymm8,%ymm1,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,66,117,168,202 // vfmadd213ps %ymm10,%ymm1,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,66,117,168,211 // vfmadd213ps %ymm11,%ymm1,%ymm10 .byte 196,226,125,24,8 // vbroadcastss (%rax),%ymm1 .byte 196,65,124,91,218 // vcvtdq2ps %ymm10,%ymm11 .byte 196,98,125,24,37,106,50,0,0 // vbroadcastss 0x326a(%rip),%ymm12 # 5970 <_sk_callback_hsw+0x2f0> .byte 196,98,125,24,45,101,50,0,0 // vbroadcastss 0x3265(%rip),%ymm13 # 5974 <_sk_callback_hsw+0x2f4> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,91,50,0,0 // vbroadcastss 0x325b(%rip),%ymm13 # 5978 <_sk_callback_hsw+0x2f8> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,81,50,0,0 // vbroadcastss 0x3251(%rip),%ymm13 # 597c <_sk_callback_hsw+0x2fc> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,71,50,0,0 // vbroadcastss 0x3247(%rip),%ymm11 # 5980 <_sk_callback_hsw+0x300> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,61,50,0,0 // vbroadcastss 0x323d(%rip),%ymm12 # 5984 <_sk_callback_hsw+0x304> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,51,50,0,0 // vbroadcastss 0x3233(%rip),%ymm12 # 5988 <_sk_callback_hsw+0x308> .byte 196,65,28,94,210 // vdivps %ymm10,%ymm12,%ymm10 .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 196,99,125,8,209,1 // vroundps $0x1,%ymm1,%ymm10 .byte 196,65,116,92,210 // vsubps %ymm10,%ymm1,%ymm10 .byte 196,98,125,24,29,20,50,0,0 // vbroadcastss 0x3214(%rip),%ymm11 # 598c <_sk_callback_hsw+0x30c> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,10,50,0,0 // vbroadcastss 0x320a(%rip),%ymm11 # 5990 <_sk_callback_hsw+0x310> .byte 196,98,45,172,217 // vfnmadd213ps %ymm1,%ymm10,%ymm11 .byte 196,226,125,24,13,0,50,0,0 // vbroadcastss 0x3200(%rip),%ymm1 # 5994 <_sk_callback_hsw+0x314> .byte 196,193,116,92,202 // vsubps %ymm10,%ymm1,%ymm1 .byte 196,98,125,24,21,246,49,0,0 // vbroadcastss 0x31f6(%rip),%ymm10 # 5998 <_sk_callback_hsw+0x318> .byte 197,172,94,201 // vdivps %ymm1,%ymm10,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 196,98,125,24,21,233,49,0,0 // vbroadcastss 0x31e9(%rip),%ymm10 # 599c <_sk_callback_hsw+0x31c> .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,195,117,74,201,128 // vblendvps %ymm8,%ymm9,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,116,95,200 // vmaxps %ymm8,%ymm1,%ymm1 .byte 196,98,125,24,5,192,49,0,0 // vbroadcastss 0x31c0(%rip),%ymm8 # 59a0 <_sk_callback_hsw+0x320> .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_b_hsw .globl _sk_parametric_b_hsw FUNCTION(_sk_parametric_b_hsw) _sk_parametric_b_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,108,194,192,2 // vcmpleps %ymm8,%ymm2,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,66,109,168,202 // vfmadd213ps %ymm10,%ymm2,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,66,109,168,211 // vfmadd213ps %ymm11,%ymm2,%ymm10 .byte 196,226,125,24,16 // vbroadcastss (%rax),%ymm2 .byte 196,65,124,91,218 // vcvtdq2ps %ymm10,%ymm11 .byte 196,98,125,24,37,120,49,0,0 // vbroadcastss 0x3178(%rip),%ymm12 # 59a4 <_sk_callback_hsw+0x324> .byte 196,98,125,24,45,115,49,0,0 // vbroadcastss 0x3173(%rip),%ymm13 # 59a8 <_sk_callback_hsw+0x328> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,105,49,0,0 // vbroadcastss 0x3169(%rip),%ymm13 # 59ac <_sk_callback_hsw+0x32c> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,95,49,0,0 // vbroadcastss 0x315f(%rip),%ymm13 # 59b0 <_sk_callback_hsw+0x330> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,85,49,0,0 // vbroadcastss 0x3155(%rip),%ymm11 # 59b4 <_sk_callback_hsw+0x334> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,75,49,0,0 // vbroadcastss 0x314b(%rip),%ymm12 # 59b8 <_sk_callback_hsw+0x338> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,65,49,0,0 // vbroadcastss 0x3141(%rip),%ymm12 # 59bc <_sk_callback_hsw+0x33c> .byte 196,65,28,94,210 // vdivps %ymm10,%ymm12,%ymm10 .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,193,108,89,210 // vmulps %ymm10,%ymm2,%ymm2 .byte 196,99,125,8,210,1 // vroundps $0x1,%ymm2,%ymm10 .byte 196,65,108,92,210 // vsubps %ymm10,%ymm2,%ymm10 .byte 196,98,125,24,29,34,49,0,0 // vbroadcastss 0x3122(%rip),%ymm11 # 59c0 <_sk_callback_hsw+0x340> .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,29,24,49,0,0 // vbroadcastss 0x3118(%rip),%ymm11 # 59c4 <_sk_callback_hsw+0x344> .byte 196,98,45,172,218 // vfnmadd213ps %ymm2,%ymm10,%ymm11 .byte 196,226,125,24,21,14,49,0,0 // vbroadcastss 0x310e(%rip),%ymm2 # 59c8 <_sk_callback_hsw+0x348> .byte 196,193,108,92,210 // vsubps %ymm10,%ymm2,%ymm2 .byte 196,98,125,24,21,4,49,0,0 // vbroadcastss 0x3104(%rip),%ymm10 # 59cc <_sk_callback_hsw+0x34c> .byte 197,172,94,210 // vdivps %ymm2,%ymm10,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,98,125,24,21,247,48,0,0 // vbroadcastss 0x30f7(%rip),%ymm10 # 59d0 <_sk_callback_hsw+0x350> .byte 196,193,108,89,210 // vmulps %ymm10,%ymm2,%ymm2 .byte 197,253,91,210 // vcvtps2dq %ymm2,%ymm2 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 196,195,109,74,209,128 // vblendvps %ymm8,%ymm9,%ymm2,%ymm2 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,206,48,0,0 // vbroadcastss 0x30ce(%rip),%ymm8 # 59d4 <_sk_callback_hsw+0x354> .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_a_hsw .globl _sk_parametric_a_hsw FUNCTION(_sk_parametric_a_hsw) _sk_parametric_a_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,100,194,192,2 // vcmpleps %ymm8,%ymm3,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,66,101,168,202 // vfmadd213ps %ymm10,%ymm3,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,66,101,168,211 // vfmadd213ps %ymm11,%ymm3,%ymm10 .byte 196,226,125,24,24 // vbroadcastss (%rax),%ymm3 .byte 196,65,124,91,218 // vcvtdq2ps %ymm10,%ymm11 .byte 196,98,125,24,37,134,48,0,0 // vbroadcastss 0x3086(%rip),%ymm12 # 59d8 <_sk_callback_hsw+0x358> .byte 196,98,125,24,45,129,48,0,0 // vbroadcastss 0x3081(%rip),%ymm13 # 59dc <_sk_callback_hsw+0x35c> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,119,48,0,0 // vbroadcastss 0x3077(%rip),%ymm13 # 59e0 <_sk_callback_hsw+0x360> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,109,48,0,0 // vbroadcastss 0x306d(%rip),%ymm13 # 59e4 <_sk_callback_hsw+0x364> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,99,48,0,0 // vbroadcastss 0x3063(%rip),%ymm11 # 59e8 <_sk_callback_hsw+0x368> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,89,48,0,0 // vbroadcastss 0x3059(%rip),%ymm12 # 59ec <_sk_callback_hsw+0x36c> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,79,48,0,0 // vbroadcastss 0x304f(%rip),%ymm12 # 59f0 <_sk_callback_hsw+0x370> .byte 196,65,28,94,210 // vdivps %ymm10,%ymm12,%ymm10 .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 196,99,125,8,211,1 // vroundps $0x1,%ymm3,%ymm10 .byte 196,65,100,92,210 // vsubps %ymm10,%ymm3,%ymm10 .byte 196,98,125,24,29,48,48,0,0 // vbroadcastss 0x3030(%rip),%ymm11 # 59f4 <_sk_callback_hsw+0x374> .byte 196,193,100,88,219 // vaddps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,29,38,48,0,0 // vbroadcastss 0x3026(%rip),%ymm11 # 59f8 <_sk_callback_hsw+0x378> .byte 196,98,45,172,219 // vfnmadd213ps %ymm3,%ymm10,%ymm11 .byte 196,226,125,24,29,28,48,0,0 // vbroadcastss 0x301c(%rip),%ymm3 # 59fc <_sk_callback_hsw+0x37c> .byte 196,193,100,92,218 // vsubps %ymm10,%ymm3,%ymm3 .byte 196,98,125,24,21,18,48,0,0 // vbroadcastss 0x3012(%rip),%ymm10 # 5a00 <_sk_callback_hsw+0x380> .byte 197,172,94,219 // vdivps %ymm3,%ymm10,%ymm3 .byte 197,164,88,219 // vaddps %ymm3,%ymm11,%ymm3 .byte 196,98,125,24,21,5,48,0,0 // vbroadcastss 0x3005(%rip),%ymm10 # 5a04 <_sk_callback_hsw+0x384> .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 197,253,91,219 // vcvtps2dq %ymm3,%ymm3 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,100,88,218 // vaddps %ymm10,%ymm3,%ymm3 .byte 196,195,101,74,217,128 // vblendvps %ymm8,%ymm9,%ymm3,%ymm3 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,100,95,216 // vmaxps %ymm8,%ymm3,%ymm3 .byte 196,98,125,24,5,220,47,0,0 // vbroadcastss 0x2fdc(%rip),%ymm8 # 5a08 <_sk_callback_hsw+0x388> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lab_to_xyz_hsw .globl _sk_lab_to_xyz_hsw FUNCTION(_sk_lab_to_xyz_hsw) _sk_lab_to_xyz_hsw: .byte 196,98,125,24,5,206,47,0,0 // vbroadcastss 0x2fce(%rip),%ymm8 # 5a0c <_sk_callback_hsw+0x38c> .byte 196,98,125,24,13,201,47,0,0 // vbroadcastss 0x2fc9(%rip),%ymm9 # 5a10 <_sk_callback_hsw+0x390> .byte 196,98,125,24,21,196,47,0,0 // vbroadcastss 0x2fc4(%rip),%ymm10 # 5a14 <_sk_callback_hsw+0x394> .byte 196,194,53,168,202 // vfmadd213ps %ymm10,%ymm9,%ymm1 .byte 196,194,53,168,210 // vfmadd213ps %ymm10,%ymm9,%ymm2 .byte 196,98,125,24,13,181,47,0,0 // vbroadcastss 0x2fb5(%rip),%ymm9 # 5a18 <_sk_callback_hsw+0x398> .byte 196,66,125,184,200 // vfmadd231ps %ymm8,%ymm0,%ymm9 .byte 196,226,125,24,5,171,47,0,0 // vbroadcastss 0x2fab(%rip),%ymm0 # 5a1c <_sk_callback_hsw+0x39c> .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,98,125,24,5,162,47,0,0 // vbroadcastss 0x2fa2(%rip),%ymm8 # 5a20 <_sk_callback_hsw+0x3a0> .byte 196,98,117,168,192 // vfmadd213ps %ymm0,%ymm1,%ymm8 .byte 196,98,125,24,13,152,47,0,0 // vbroadcastss 0x2f98(%rip),%ymm9 # 5a24 <_sk_callback_hsw+0x3a4> .byte 196,98,109,172,200 // vfnmadd213ps %ymm0,%ymm2,%ymm9 .byte 196,193,60,89,200 // vmulps %ymm8,%ymm8,%ymm1 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 196,226,125,24,21,133,47,0,0 // vbroadcastss 0x2f85(%rip),%ymm2 # 5a28 <_sk_callback_hsw+0x3a8> .byte 197,108,194,209,1 // vcmpltps %ymm1,%ymm2,%ymm10 .byte 196,98,125,24,29,123,47,0,0 // vbroadcastss 0x2f7b(%rip),%ymm11 # 5a2c <_sk_callback_hsw+0x3ac> .byte 196,65,60,88,195 // vaddps %ymm11,%ymm8,%ymm8 .byte 196,98,125,24,37,113,47,0,0 // vbroadcastss 0x2f71(%rip),%ymm12 # 5a30 <_sk_callback_hsw+0x3b0> .byte 196,65,60,89,196 // vmulps %ymm12,%ymm8,%ymm8 .byte 196,99,61,74,193,160 // vblendvps %ymm10,%ymm1,%ymm8,%ymm8 .byte 197,252,89,200 // vmulps %ymm0,%ymm0,%ymm1 .byte 197,252,89,201 // vmulps %ymm1,%ymm0,%ymm1 .byte 197,108,194,209,1 // vcmpltps %ymm1,%ymm2,%ymm10 .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,193,124,89,196 // vmulps %ymm12,%ymm0,%ymm0 .byte 196,227,125,74,201,160 // vblendvps %ymm10,%ymm1,%ymm0,%ymm1 .byte 196,193,52,89,193 // vmulps %ymm9,%ymm9,%ymm0 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,236,194,208,1 // vcmpltps %ymm0,%ymm2,%ymm2 .byte 196,65,52,88,203 // vaddps %ymm11,%ymm9,%ymm9 .byte 196,65,52,89,204 // vmulps %ymm12,%ymm9,%ymm9 .byte 196,227,53,74,208,32 // vblendvps %ymm2,%ymm0,%ymm9,%ymm2 .byte 196,226,125,24,5,38,47,0,0 // vbroadcastss 0x2f26(%rip),%ymm0 # 5a34 <_sk_callback_hsw+0x3b4> .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,29,47,0,0 // vbroadcastss 0x2f1d(%rip),%ymm8 # 5a38 <_sk_callback_hsw+0x3b8> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_hsw .globl _sk_load_a8_hsw FUNCTION(_sk_load_a8_hsw) _sk_load_a8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,52 // jne 2b62 <_sk_load_a8_hsw+0x3e> .byte 196,194,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm0 .byte 197,249,219,5,228,52,0,0 // vpand 0x34e4(%rip),%xmm0,%xmm0 # 6020 <_sk_callback_hsw+0x9a0> .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,238,46,0,0 // vbroadcastss 0x2eee(%rip),%ymm1 # 5a3c <_sk_callback_hsw+0x3bc> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,190 // ja 2b34 <_sk_load_a8_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,119,0,0,0 // lea 0x77(%rip),%r10 # 2bf8 <_sk_load_a8_hsw+0xd4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,159 // jmp 2b34 <_sk_load_a8_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,119,255,255,255 // jmpq 2b34 <_sk_load_a8_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,60,255,255,255 // jmpq 2b34 <_sk_load_a8_hsw+0x10> .byte 146 // xchg %eax,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,172,255,255,255,157,255 // ljmp *-0x620001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_hsw .globl _sk_load_a8_dst_hsw FUNCTION(_sk_load_a8_dst_hsw) _sk_load_a8_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,52 // jne 2c52 <_sk_load_a8_dst_hsw+0x3e> .byte 196,194,121,48,36,19 // vpmovzxbw (%r11,%rdx,1),%xmm4 .byte 197,217,219,37,4,52,0,0 // vpand 0x3404(%rip),%xmm4,%xmm4 # 6030 <_sk_callback_hsw+0x9b0> .byte 196,226,125,51,228 // vpmovzxwd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,2,46,0,0 // vbroadcastss 0x2e02(%rip),%ymm5 # 5a40 <_sk_callback_hsw+0x3c0> .byte 197,220,89,253 // vmulps %ymm5,%ymm4,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,190 // ja 2c24 <_sk_load_a8_dst_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,119,0,0,0 // lea 0x77(%rip),%r10 # 2ce8 <_sk_load_a8_dst_hsw+0xd4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,159 // jmp 2c24 <_sk_load_a8_dst_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,119,255,255,255 // jmpq 2c24 <_sk_load_a8_dst_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,60,255,255,255 // jmpq 2c24 <_sk_load_a8_dst_hsw+0x10> .byte 146 // xchg %eax,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,172,255,255,255,157,255 // ljmp *-0x620001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_a8_hsw .globl _sk_gather_a8_hsw FUNCTION(_sk_gather_a8_hsw) _sk_gather_a8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,12,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm1 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,113,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm1,%xmm1 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,113,32,202,2 // vpinsrb $0x2,%r10d,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,4 // vpinsrb $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,227,113,32,192,5 // vpinsrb $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,6 // vpinsrb $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,227,121,32,192,7 // vpinsrb $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,49,192 // vpmovzxbd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,138,44,0,0 // vbroadcastss 0x2c8a(%rip),%ymm1 # 5a44 <_sk_callback_hsw+0x3c4> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_hsw .globl _sk_store_a8_hsw FUNCTION(_sk_store_a8_hsw) _sk_store_a8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,108,44,0,0 // vbroadcastss 0x2c6c(%rip),%ymm8 # 5a48 <_sk_callback_hsw+0x3c8> .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 196,65,57,103,192 // vpackuswb %xmm8,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 2e05 <_sk_store_a8_hsw+0x37> .byte 196,65,123,17,4,19 // vmovsd %xmm8,(%r11,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 2e01 <_sk_store_a8_hsw+0x33> .byte 196,66,121,48,192 // vpmovzxbw %xmm8,%xmm8 .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,87,0,0,0 // lea 0x57(%rip),%r10 # 2e7c <_sk_store_a8_hsw+0xae> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,20,4,19,0 // vpextrb $0x0,%xmm8,(%r11,%rdx,1) .byte 235,202 // jmp 2e01 <_sk_store_a8_hsw+0x33> .byte 196,67,121,20,68,19,2,4 // vpextrb $0x4,%xmm8,0x2(%r11,%rdx,1) .byte 196,98,57,0,5,248,49,0,0 // vpshufb 0x31f8(%rip),%xmm8,%xmm8 # 6040 <_sk_callback_hsw+0x9c0> .byte 196,67,121,21,4,19,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,1) .byte 235,176 // jmp 2e01 <_sk_store_a8_hsw+0x33> .byte 196,67,121,20,68,19,6,12 // vpextrb $0xc,%xmm8,0x6(%r11,%rdx,1) .byte 196,67,121,20,68,19,5,10 // vpextrb $0xa,%xmm8,0x5(%r11,%rdx,1) .byte 196,67,121,20,68,19,4,8 // vpextrb $0x8,%xmm8,0x4(%r11,%rdx,1) .byte 196,98,57,0,5,222,49,0,0 // vpshufb 0x31de(%rip),%xmm8,%xmm8 # 6050 <_sk_callback_hsw+0x9d0> .byte 196,65,121,126,4,19 // vmovd %xmm8,(%r11,%rdx,1) .byte 235,135 // jmp 2e01 <_sk_store_a8_hsw+0x33> .byte 102,144 // xchg %ax,%ax .byte 178,255 // mov $0xff,%dl .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 187,255,255,255,237 // mov $0xedffffff,%ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_hsw .globl _sk_load_g8_hsw FUNCTION(_sk_load_g8_hsw) _sk_load_g8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,57 // jne 2edb <_sk_load_g8_hsw+0x43> .byte 196,194,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm0 .byte 197,249,219,5,176,49,0,0 // vpand 0x31b0(%rip),%xmm0,%xmm0 # 6060 <_sk_callback_hsw+0x9e0> .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,138,43,0,0 // vbroadcastss 0x2b8a(%rip),%ymm1 # 5a4c <_sk_callback_hsw+0x3cc> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,127,43,0,0 // vbroadcastss 0x2b7f(%rip),%ymm3 # 5a50 <_sk_callback_hsw+0x3d0> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,185 // ja 2ea8 <_sk_load_g8_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,122,0,0,0 // lea 0x7a(%rip),%r10 # 2f74 <_sk_load_g8_hsw+0xdc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,154 // jmp 2ea8 <_sk_load_g8_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,114,255,255,255 // jmpq 2ea8 <_sk_load_g8_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,55,255,255,255 // jmpq 2ea8 <_sk_load_g8_hsw+0x10> .byte 15,31,0 // nopl (%rax) .byte 143 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,169,255,255,255,154 // ljmp *-0x65000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_hsw .globl _sk_load_g8_dst_hsw FUNCTION(_sk_load_g8_dst_hsw) _sk_load_g8_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,57 // jne 2fd3 <_sk_load_g8_dst_hsw+0x43> .byte 196,194,121,48,36,19 // vpmovzxbw (%r11,%rdx,1),%xmm4 .byte 197,217,219,37,200,48,0,0 // vpand 0x30c8(%rip),%xmm4,%xmm4 # 6070 <_sk_callback_hsw+0x9f0> .byte 196,226,125,51,228 // vpmovzxwd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,154,42,0,0 // vbroadcastss 0x2a9a(%rip),%ymm5 # 5a54 <_sk_callback_hsw+0x3d4> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,143,42,0,0 // vbroadcastss 0x2a8f(%rip),%ymm7 # 5a58 <_sk_callback_hsw+0x3d8> .byte 197,252,40,236 // vmovaps %ymm4,%ymm5 .byte 197,252,40,244 // vmovaps %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,185 // ja 2fa0 <_sk_load_g8_dst_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,122,0,0,0 // lea 0x7a(%rip),%r10 # 306c <_sk_load_g8_dst_hsw+0xdc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,154 // jmp 2fa0 <_sk_load_g8_dst_hsw+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,114,255,255,255 // jmpq 2fa0 <_sk_load_g8_dst_hsw+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,55,255,255,255 // jmpq 2fa0 <_sk_load_g8_dst_hsw+0x10> .byte 15,31,0 // nopl (%rax) .byte 143 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,169,255,255,255,154 // ljmp *-0x65000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_g8_hsw .globl _sk_gather_g8_hsw FUNCTION(_sk_gather_g8_hsw) _sk_gather_g8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,12,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm1 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,113,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm1,%xmm1 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,113,32,202,2 // vpinsrb $0x2,%r10d,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,4 // vpinsrb $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,227,113,32,192,5 // vpinsrb $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,6 // vpinsrb $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,227,121,32,192,7 // vpinsrb $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,49,192 // vpmovzxbd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,30,41,0,0 // vbroadcastss 0x291e(%rip),%ymm1 # 5a5c <_sk_callback_hsw+0x3dc> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,19,41,0,0 // vbroadcastss 0x2913(%rip),%ymm3 # 5a60 <_sk_callback_hsw+0x3e0> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_gather_i8_hsw .globl _sk_gather_i8_hsw FUNCTION(_sk_gather_i8_hsw) _sk_gather_i8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,193 // mov %rax,%r9 .byte 77,133,201 // test %r9,%r9 .byte 116,5 // je 3166 <_sk_gather_i8_hsw+0xf> .byte 76,137,200 // mov %r9,%rax .byte 235,2 // jmp 3168 <_sk_gather_i8_hsw+0x11> .byte 72,173 // lods %ds:(%rsi),%rax .byte 83 // push %rbx .byte 76,139,16 // mov (%rax),%r10 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,193,249,126,195 // vmovq %xmm0,%r11 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,121,32,12,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm1 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,131,113,32,12,26,1 // vpinsrb $0x1,(%r10,%r11,1),%xmm1,%xmm1 .byte 65,137,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,131,113,32,12,26,2 // vpinsrb $0x2,(%r10,%r11,1),%xmm1,%xmm1 .byte 196,193,249,126,195 // vmovq %xmm0,%r11 .byte 196,195,113,32,12,2,3 // vpinsrb $0x3,(%r10,%rax,1),%xmm1,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,113,32,12,2,4 // vpinsrb $0x4,(%r10,%rax,1),%xmm1,%xmm1 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,131,113,32,4,26,5 // vpinsrb $0x5,(%r10,%r11,1),%xmm1,%xmm0 .byte 137,216 // mov %ebx,%eax .byte 196,195,121,32,4,2,6 // vpinsrb $0x6,(%r10,%rax,1),%xmm0,%xmm0 .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,195,121,32,4,26,7 // vpinsrb $0x7,(%r10,%rbx,1),%xmm0,%xmm0 .byte 196,226,125,49,192 // vpmovzxbd %xmm0,%ymm0 .byte 73,139,65,8 // mov 0x8(%r9),%rax .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,226,117,144,28,128 // vpgatherdd %ymm1,(%rax,%ymm0,4),%ymm3 .byte 197,229,219,5,51,43,0,0 // vpand 0x2b33(%rip),%ymm3,%ymm0 # 5d40 <_sk_callback_hsw+0x6c0> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,74,40,0,0 // vbroadcastss 0x284a(%rip),%ymm8 # 5a64 <_sk_callback_hsw+0x3e4> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,101,0,13,56,43,0,0 // vpshufb 0x2b38(%rip),%ymm3,%ymm1 # 5d60 <_sk_callback_hsw+0x6e0> .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,101,0,21,70,43,0,0 // vpshufb 0x2b46(%rip),%ymm3,%ymm2 # 5d80 <_sk_callback_hsw+0x700> .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_hsw .globl _sk_load_565_hsw FUNCTION(_sk_load_565_hsw) _sk_load_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,114 // jne 32d2 <_sk_load_565_hsw+0x7c> .byte 196,193,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm0 .byte 196,226,125,51,208 // vpmovzxwd %xmm0,%ymm2 .byte 196,226,125,88,5,244,39,0,0 // vpbroadcastd 0x27f4(%rip),%ymm0 # 5a68 <_sk_callback_hsw+0x3e8> .byte 197,237,219,192 // vpand %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,231,39,0,0 // vbroadcastss 0x27e7(%rip),%ymm1 # 5a6c <_sk_callback_hsw+0x3ec> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,222,39,0,0 // vpbroadcastd 0x27de(%rip),%ymm1 # 5a70 <_sk_callback_hsw+0x3f0> .byte 197,237,219,201 // vpand %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,209,39,0,0 // vbroadcastss 0x27d1(%rip),%ymm3 # 5a74 <_sk_callback_hsw+0x3f4> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,88,29,200,39,0,0 // vpbroadcastd 0x27c8(%rip),%ymm3 # 5a78 <_sk_callback_hsw+0x3f8> .byte 197,237,219,211 // vpand %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,187,39,0,0 // vbroadcastss 0x27bb(%rip),%ymm3 # 5a7c <_sk_callback_hsw+0x3fc> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,176,39,0,0 // vbroadcastss 0x27b0(%rip),%ymm3 # 5a80 <_sk_callback_hsw+0x400> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,128 // ja 3266 <_sk_load_565_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 3354 <_sk_load_565_hsw+0xfe> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,94,255,255,255 // jmpq 3266 <_sk_load_565_hsw+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,65,255,255,255 // jmpq 3266 <_sk_load_565_hsw+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,20,255,255,255 // jmpq 3266 <_sk_load_565_hsw+0x10> .byte 102,144 // xchg %ax,%ax .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,237,255 // pushq -0x120001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_hsw .globl _sk_load_565_dst_hsw FUNCTION(_sk_load_565_dst_hsw) _sk_load_565_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,114 // jne 33ec <_sk_load_565_dst_hsw+0x7c> .byte 196,193,122,111,36,83 // vmovdqu (%r11,%rdx,2),%xmm4 .byte 196,226,125,51,244 // vpmovzxwd %xmm4,%ymm6 .byte 196,226,125,88,37,246,38,0,0 // vpbroadcastd 0x26f6(%rip),%ymm4 # 5a84 <_sk_callback_hsw+0x404> .byte 197,205,219,228 // vpand %ymm4,%ymm6,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,233,38,0,0 // vbroadcastss 0x26e9(%rip),%ymm5 # 5a88 <_sk_callback_hsw+0x408> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,88,45,224,38,0,0 // vpbroadcastd 0x26e0(%rip),%ymm5 # 5a8c <_sk_callback_hsw+0x40c> .byte 197,205,219,237 // vpand %ymm5,%ymm6,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,61,211,38,0,0 // vbroadcastss 0x26d3(%rip),%ymm7 # 5a90 <_sk_callback_hsw+0x410> .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 196,226,125,88,61,202,38,0,0 // vpbroadcastd 0x26ca(%rip),%ymm7 # 5a94 <_sk_callback_hsw+0x414> .byte 197,205,219,247 // vpand %ymm7,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,226,125,24,61,189,38,0,0 // vbroadcastss 0x26bd(%rip),%ymm7 # 5a98 <_sk_callback_hsw+0x418> .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,178,38,0,0 // vbroadcastss 0x26b2(%rip),%ymm7 # 5a9c <_sk_callback_hsw+0x41c> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,128 // ja 3380 <_sk_load_565_dst_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,97,0,0,0 // lea 0x61(%rip),%r10 # 346c <_sk_load_565_dst_hsw+0xfc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,94,255,255,255 // jmpq 3380 <_sk_load_565_dst_hsw+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,121,110,44,83 // vmovd (%r11,%rdx,2),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,65,255,255,255 // jmpq 3380 <_sk_load_565_dst_hsw+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,122,126,44,83 // vmovq (%r11,%rdx,2),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,20,255,255,255 // jmpq 3380 <_sk_load_565_dst_hsw+0x10> .byte 168,255 // test $0xff,%al .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,182,255,255,255,239 // pushq -0x10000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_565_hsw .globl _sk_gather_565_hsw FUNCTION(_sk_gather_565_hsw) _sk_gather_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,200,1 // vpinsrw $0x1,%eax,%xmm1,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,2 // vpinsrw $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,241,196,200,3 // vpinsrw $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,4 // vpinsrw $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,192,5 // vpinsrw $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,51,208 // vpmovzxwd %xmm0,%ymm2 .byte 196,226,125,88,5,103,37,0,0 // vpbroadcastd 0x2567(%rip),%ymm0 # 5aa0 <_sk_callback_hsw+0x420> .byte 197,237,219,192 // vpand %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,90,37,0,0 // vbroadcastss 0x255a(%rip),%ymm1 # 5aa4 <_sk_callback_hsw+0x424> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,81,37,0,0 // vpbroadcastd 0x2551(%rip),%ymm1 # 5aa8 <_sk_callback_hsw+0x428> .byte 197,237,219,201 // vpand %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,68,37,0,0 // vbroadcastss 0x2544(%rip),%ymm3 # 5aac <_sk_callback_hsw+0x42c> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,88,29,59,37,0,0 // vpbroadcastd 0x253b(%rip),%ymm3 # 5ab0 <_sk_callback_hsw+0x430> .byte 197,237,219,211 // vpand %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,46,37,0,0 // vbroadcastss 0x252e(%rip),%ymm3 # 5ab4 <_sk_callback_hsw+0x434> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,35,37,0,0 // vbroadcastss 0x2523(%rip),%ymm3 # 5ab8 <_sk_callback_hsw+0x438> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_hsw .globl _sk_store_565_hsw FUNCTION(_sk_store_565_hsw) _sk_store_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,23,37,0,0 // vbroadcastss 0x2517(%rip),%ymm8 # 5abc <_sk_callback_hsw+0x43c> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,193,53,114,241,11 // vpslld $0xb,%ymm9,%ymm9 .byte 196,98,125,24,21,2,37,0,0 // vbroadcastss 0x2502(%rip),%ymm10 # 5ac0 <_sk_callback_hsw+0x440> .byte 196,65,116,89,210 // vmulps %ymm10,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,5 // vpslld $0x5,%ymm10,%ymm10 .byte 196,65,45,235,201 // vpor %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 35fc <_sk_store_565_hsw+0x65> .byte 196,65,122,127,4,83 // vmovdqu %xmm8,(%r11,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 35f8 <_sk_store_565_hsw+0x61> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,69,0,0,0 // lea 0x45(%rip),%r10 # 365c <_sk_store_565_hsw+0xc5> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,21,4,83,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,2) .byte 235,207 // jmp 35f8 <_sk_store_565_hsw+0x61> .byte 196,67,121,21,68,83,4,2 // vpextrw $0x2,%xmm8,0x4(%r11,%rdx,2) .byte 196,65,121,126,4,83 // vmovd %xmm8,(%r11,%rdx,2) .byte 235,191 // jmp 35f8 <_sk_store_565_hsw+0x61> .byte 196,67,121,21,68,83,12,6 // vpextrw $0x6,%xmm8,0xc(%r11,%rdx,2) .byte 196,67,121,21,68,83,10,5 // vpextrw $0x5,%xmm8,0xa(%r11,%rdx,2) .byte 196,67,121,21,68,83,8,4 // vpextrw $0x4,%xmm8,0x8(%r11,%rdx,2) .byte 196,65,121,214,4,83 // vmovq %xmm8,(%r11,%rdx,2) .byte 235,159 // jmp 35f8 <_sk_store_565_hsw+0x61> .byte 15,31,0 // nopl (%rax) .byte 196 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,245 // push %rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_hsw .globl _sk_load_4444_hsw FUNCTION(_sk_load_4444_hsw) _sk_load_4444_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,138,0,0,0 // jne 3710 <_sk_load_4444_hsw+0x98> .byte 196,193,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm0 .byte 196,226,125,51,216 // vpmovzxwd %xmm0,%ymm3 .byte 196,226,125,88,5,42,36,0,0 // vpbroadcastd 0x242a(%rip),%ymm0 # 5ac4 <_sk_callback_hsw+0x444> .byte 197,229,219,192 // vpand %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,29,36,0,0 // vbroadcastss 0x241d(%rip),%ymm1 # 5ac8 <_sk_callback_hsw+0x448> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,20,36,0,0 // vpbroadcastd 0x2414(%rip),%ymm1 # 5acc <_sk_callback_hsw+0x44c> .byte 197,229,219,201 // vpand %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,7,36,0,0 // vbroadcastss 0x2407(%rip),%ymm2 # 5ad0 <_sk_callback_hsw+0x450> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,88,21,254,35,0,0 // vpbroadcastd 0x23fe(%rip),%ymm2 # 5ad4 <_sk_callback_hsw+0x454> .byte 197,229,219,210 // vpand %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,241,35,0,0 // vbroadcastss 0x23f1(%rip),%ymm8 # 5ad8 <_sk_callback_hsw+0x458> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,88,5,231,35,0,0 // vpbroadcastd 0x23e7(%rip),%ymm8 # 5adc <_sk_callback_hsw+0x45c> .byte 196,193,101,219,216 // vpand %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,217,35,0,0 // vbroadcastss 0x23d9(%rip),%ymm8 # 5ae0 <_sk_callback_hsw+0x460> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,100,255,255,255 // ja 368c <_sk_load_4444_hsw+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,97,0,0,0 // lea 0x61(%rip),%r10 # 3794 <_sk_load_4444_hsw+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,66,255,255,255 // jmpq 368c <_sk_load_4444_hsw+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,37,255,255,255 // jmpq 368c <_sk_load_4444_hsw+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,248,254,255,255 // jmpq 368c <_sk_load_4444_hsw+0x14> .byte 168,255 // test $0xff,%al .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,182,255,255,255,239 // pushq -0x10000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_dst_hsw .globl _sk_load_4444_dst_hsw FUNCTION(_sk_load_4444_dst_hsw) _sk_load_4444_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,138,0,0,0 // jne 3848 <_sk_load_4444_dst_hsw+0x98> .byte 196,193,122,111,36,83 // vmovdqu (%r11,%rdx,2),%xmm4 .byte 196,226,125,51,252 // vpmovzxwd %xmm4,%ymm7 .byte 196,226,125,88,37,18,35,0,0 // vpbroadcastd 0x2312(%rip),%ymm4 # 5ae4 <_sk_callback_hsw+0x464> .byte 197,197,219,228 // vpand %ymm4,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,5,35,0,0 // vbroadcastss 0x2305(%rip),%ymm5 # 5ae8 <_sk_callback_hsw+0x468> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,88,45,252,34,0,0 // vpbroadcastd 0x22fc(%rip),%ymm5 # 5aec <_sk_callback_hsw+0x46c> .byte 197,197,219,237 // vpand %ymm5,%ymm7,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,53,239,34,0,0 // vbroadcastss 0x22ef(%rip),%ymm6 # 5af0 <_sk_callback_hsw+0x470> .byte 197,212,89,238 // vmulps %ymm6,%ymm5,%ymm5 .byte 196,226,125,88,53,230,34,0,0 // vpbroadcastd 0x22e6(%rip),%ymm6 # 5af4 <_sk_callback_hsw+0x474> .byte 197,197,219,246 // vpand %ymm6,%ymm7,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,98,125,24,5,217,34,0,0 // vbroadcastss 0x22d9(%rip),%ymm8 # 5af8 <_sk_callback_hsw+0x478> .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 196,98,125,88,5,207,34,0,0 // vpbroadcastd 0x22cf(%rip),%ymm8 # 5afc <_sk_callback_hsw+0x47c> .byte 196,193,69,219,248 // vpand %ymm8,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,193,34,0,0 // vbroadcastss 0x22c1(%rip),%ymm8 # 5b00 <_sk_callback_hsw+0x480> .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,100,255,255,255 // ja 37c4 <_sk_load_4444_dst_hsw+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,97,0,0,0 // lea 0x61(%rip),%r10 # 38cc <_sk_load_4444_dst_hsw+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,66,255,255,255 // jmpq 37c4 <_sk_load_4444_dst_hsw+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,121,110,44,83 // vmovd (%r11,%rdx,2),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,37,255,255,255 // jmpq 37c4 <_sk_load_4444_dst_hsw+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,122,126,44,83 // vmovq (%r11,%rdx,2),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,248,254,255,255 // jmpq 37c4 <_sk_load_4444_dst_hsw+0x14> .byte 168,255 // test $0xff,%al .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,182,255,255,255,239 // pushq -0x10000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_4444_hsw .globl _sk_gather_4444_hsw FUNCTION(_sk_gather_4444_hsw) _sk_gather_4444_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,200,1 // vpinsrw $0x1,%eax,%xmm1,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,2 // vpinsrw $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,241,196,200,3 // vpinsrw $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,4 // vpinsrw $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,192,5 // vpinsrw $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,51,216 // vpmovzxwd %xmm0,%ymm3 .byte 196,226,125,88,5,107,33,0,0 // vpbroadcastd 0x216b(%rip),%ymm0 # 5b04 <_sk_callback_hsw+0x484> .byte 197,229,219,192 // vpand %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,94,33,0,0 // vbroadcastss 0x215e(%rip),%ymm1 # 5b08 <_sk_callback_hsw+0x488> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,85,33,0,0 // vpbroadcastd 0x2155(%rip),%ymm1 # 5b0c <_sk_callback_hsw+0x48c> .byte 197,229,219,201 // vpand %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,72,33,0,0 // vbroadcastss 0x2148(%rip),%ymm2 # 5b10 <_sk_callback_hsw+0x490> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,88,21,63,33,0,0 // vpbroadcastd 0x213f(%rip),%ymm2 # 5b14 <_sk_callback_hsw+0x494> .byte 197,229,219,210 // vpand %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,50,33,0,0 // vbroadcastss 0x2132(%rip),%ymm8 # 5b18 <_sk_callback_hsw+0x498> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,88,5,40,33,0,0 // vpbroadcastd 0x2128(%rip),%ymm8 # 5b1c <_sk_callback_hsw+0x49c> .byte 196,193,101,219,216 // vpand %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,26,33,0,0 // vbroadcastss 0x211a(%rip),%ymm8 # 5b20 <_sk_callback_hsw+0x4a0> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_hsw .globl _sk_store_4444_hsw FUNCTION(_sk_store_4444_hsw) _sk_store_4444_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,7,33,0,0 // vbroadcastss 0x2107(%rip),%ymm8 # 5b24 <_sk_callback_hsw+0x4a4> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,193,53,114,241,12 // vpslld $0xc,%ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,8 // vpslld $0x8,%ymm10,%ymm10 .byte 196,65,45,235,201 // vpor %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,208 // vmulps %ymm8,%ymm2,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,4 // vpslld $0x4,%ymm10,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3a80 <_sk_store_4444_hsw+0x71> .byte 196,65,122,127,4,83 // vmovdqu %xmm8,(%r11,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 3a7c <_sk_store_4444_hsw+0x6d> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,69,0,0,0 // lea 0x45(%rip),%r10 # 3ae0 <_sk_store_4444_hsw+0xd1> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,21,4,83,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,2) .byte 235,207 // jmp 3a7c <_sk_store_4444_hsw+0x6d> .byte 196,67,121,21,68,83,4,2 // vpextrw $0x2,%xmm8,0x4(%r11,%rdx,2) .byte 196,65,121,126,4,83 // vmovd %xmm8,(%r11,%rdx,2) .byte 235,191 // jmp 3a7c <_sk_store_4444_hsw+0x6d> .byte 196,67,121,21,68,83,12,6 // vpextrw $0x6,%xmm8,0xc(%r11,%rdx,2) .byte 196,67,121,21,68,83,10,5 // vpextrw $0x5,%xmm8,0xa(%r11,%rdx,2) .byte 196,67,121,21,68,83,8,4 // vpextrw $0x4,%xmm8,0x8(%r11,%rdx,2) .byte 196,65,121,214,4,83 // vmovq %xmm8,(%r11,%rdx,2) .byte 235,159 // jmp 3a7c <_sk_store_4444_hsw+0x6d> .byte 15,31,0 // nopl (%rax) .byte 196 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,245 // push %rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_hsw .globl _sk_load_8888_hsw FUNCTION(_sk_load_8888_hsw) _sk_load_8888_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3b69 <_sk_load_8888_hsw+0x6d> .byte 196,193,124,16,26 // vmovups (%r10),%ymm3 .byte 197,228,84,5,130,34,0,0 // vandps 0x2282(%rip),%ymm3,%ymm0 # 5da0 <_sk_callback_hsw+0x720> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,253,31,0,0 // vbroadcastss 0x1ffd(%rip),%ymm8 # 5b28 <_sk_callback_hsw+0x4a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,101,0,13,135,34,0,0 // vpshufb 0x2287(%rip),%ymm3,%ymm1 # 5dc0 <_sk_callback_hsw+0x740> .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,101,0,21,149,34,0,0 // vpshufb 0x2295(%rip),%ymm3,%ymm2 # 5de0 <_sk_callback_hsw+0x760> .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,192 // vmovq %rax,%xmm0 .byte 196,226,125,33,192 // vpmovsxbd %xmm0,%ymm0 .byte 196,194,125,44,26 // vmaskmovps (%r10),%ymm0,%ymm3 .byte 235,135 // jmp 3b16 <_sk_load_8888_hsw+0x1a> HIDDEN _sk_load_8888_dst_hsw .globl _sk_load_8888_dst_hsw FUNCTION(_sk_load_8888_dst_hsw) _sk_load_8888_dst_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3bfc <_sk_load_8888_dst_hsw+0x6d> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,196,84,37,79,34,0,0 // vandps 0x224f(%rip),%ymm7,%ymm4 # 5e00 <_sk_callback_hsw+0x780> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,110,31,0,0 // vbroadcastss 0x1f6e(%rip),%ymm8 # 5b2c <_sk_callback_hsw+0x4ac> .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 196,226,69,0,45,84,34,0,0 // vpshufb 0x2254(%rip),%ymm7,%ymm5 # 5e20 <_sk_callback_hsw+0x7a0> .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,193,84,89,232 // vmulps %ymm8,%ymm5,%ymm5 .byte 196,226,69,0,53,98,34,0,0 // vpshufb 0x2262(%rip),%ymm7,%ymm6 # 5e40 <_sk_callback_hsw+0x7c0> .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 197,197,114,215,24 // vpsrld $0x18,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,125,33,228 // vpmovsxbd %xmm4,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 235,135 // jmp 3ba9 <_sk_load_8888_dst_hsw+0x1a> HIDDEN _sk_gather_8888_hsw .globl _sk_gather_8888_hsw FUNCTION(_sk_gather_8888_hsw) _sk_gather_8888_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,194,117,144,28,129 // vpgatherdd %ymm1,(%r9,%ymm0,4),%ymm3 .byte 197,229,219,5,16,34,0,0 // vpand 0x2210(%rip),%ymm3,%ymm0 # 5e60 <_sk_callback_hsw+0x7e0> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,211,30,0,0 // vbroadcastss 0x1ed3(%rip),%ymm8 # 5b30 <_sk_callback_hsw+0x4b0> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,101,0,13,21,34,0,0 // vpshufb 0x2215(%rip),%ymm3,%ymm1 # 5e80 <_sk_callback_hsw+0x800> .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,101,0,21,35,34,0,0 // vpshufb 0x2223(%rip),%ymm3,%ymm2 # 5ea0 <_sk_callback_hsw+0x820> .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_hsw .globl _sk_store_8888_hsw FUNCTION(_sk_store_8888_hsw) _sk_store_8888_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 196,98,125,24,5,131,30,0,0 // vbroadcastss 0x1e83(%rip),%ymm8 # 5b34 <_sk_callback_hsw+0x4b4> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,8 // vpslld $0x8,%ymm10,%ymm10 .byte 196,65,45,235,201 // vpor %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,208 // vmulps %ymm8,%ymm2,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,16 // vpslld $0x10,%ymm10,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,193,61,114,240,24 // vpslld $0x18,%ymm8,%ymm8 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,12 // jne 3d0b <_sk_store_8888_hsw+0x73> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,125,33,201 // vpmovsxbd %xmm9,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 235,211 // jmp 3d04 <_sk_store_8888_hsw+0x6c> HIDDEN _sk_load_bgra_hsw .globl _sk_load_bgra_hsw FUNCTION(_sk_load_bgra_hsw) _sk_load_bgra_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3d9e <_sk_load_bgra_hsw+0x6d> .byte 196,193,124,16,26 // vmovups (%r10),%ymm3 .byte 197,228,84,5,109,33,0,0 // vandps 0x216d(%rip),%ymm3,%ymm0 # 5ec0 <_sk_callback_hsw+0x840> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,216,29,0,0 // vbroadcastss 0x1dd8(%rip),%ymm8 # 5b38 <_sk_callback_hsw+0x4b8> .byte 196,193,124,89,208 // vmulps %ymm8,%ymm0,%ymm2 .byte 196,226,101,0,5,114,33,0,0 // vpshufb 0x2172(%rip),%ymm3,%ymm0 # 5ee0 <_sk_callback_hsw+0x860> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 196,226,101,0,5,128,33,0,0 // vpshufb 0x2180(%rip),%ymm3,%ymm0 # 5f00 <_sk_callback_hsw+0x880> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,192 // vmovq %rax,%xmm0 .byte 196,226,125,33,192 // vpmovsxbd %xmm0,%ymm0 .byte 196,194,125,44,26 // vmaskmovps (%r10),%ymm0,%ymm3 .byte 235,135 // jmp 3d4b <_sk_load_bgra_hsw+0x1a> HIDDEN _sk_load_bgra_dst_hsw .globl _sk_load_bgra_dst_hsw FUNCTION(_sk_load_bgra_dst_hsw) _sk_load_bgra_dst_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3e31 <_sk_load_bgra_dst_hsw+0x6d> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,196,84,37,58,33,0,0 // vandps 0x213a(%rip),%ymm7,%ymm4 # 5f20 <_sk_callback_hsw+0x8a0> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,73,29,0,0 // vbroadcastss 0x1d49(%rip),%ymm8 # 5b3c <_sk_callback_hsw+0x4bc> .byte 196,193,92,89,240 // vmulps %ymm8,%ymm4,%ymm6 .byte 196,226,69,0,37,63,33,0,0 // vpshufb 0x213f(%rip),%ymm7,%ymm4 # 5f40 <_sk_callback_hsw+0x8c0> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,232 // vmulps %ymm8,%ymm4,%ymm5 .byte 196,226,69,0,37,77,33,0,0 // vpshufb 0x214d(%rip),%ymm7,%ymm4 # 5f60 <_sk_callback_hsw+0x8e0> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 197,197,114,215,24 // vpsrld $0x18,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,125,33,228 // vpmovsxbd %xmm4,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 235,135 // jmp 3dde <_sk_load_bgra_dst_hsw+0x1a> HIDDEN _sk_gather_bgra_hsw .globl _sk_gather_bgra_hsw FUNCTION(_sk_gather_bgra_hsw) _sk_gather_bgra_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,194,117,144,28,129 // vpgatherdd %ymm1,(%r9,%ymm0,4),%ymm3 .byte 197,229,219,5,251,32,0,0 // vpand 0x20fb(%rip),%ymm3,%ymm0 # 5f80 <_sk_callback_hsw+0x900> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,174,28,0,0 // vbroadcastss 0x1cae(%rip),%ymm8 # 5b40 <_sk_callback_hsw+0x4c0> .byte 196,193,124,89,208 // vmulps %ymm8,%ymm0,%ymm2 .byte 196,226,101,0,5,0,33,0,0 // vpshufb 0x2100(%rip),%ymm3,%ymm0 # 5fa0 <_sk_callback_hsw+0x920> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 196,226,101,0,5,14,33,0,0 // vpshufb 0x210e(%rip),%ymm3,%ymm0 # 5fc0 <_sk_callback_hsw+0x940> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_hsw .globl _sk_store_bgra_hsw FUNCTION(_sk_store_bgra_hsw) _sk_store_bgra_hsw: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 196,98,125,24,5,94,28,0,0 // vbroadcastss 0x1c5e(%rip),%ymm8 # 5b44 <_sk_callback_hsw+0x4c4> .byte 196,65,108,89,200 // vmulps %ymm8,%ymm2,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,8 // vpslld $0x8,%ymm10,%ymm10 .byte 196,65,45,235,201 // vpor %ymm9,%ymm10,%ymm9 .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,45,114,242,16 // vpslld $0x10,%ymm10,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,193,61,114,240,24 // vpslld $0x18,%ymm8,%ymm8 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,12 // jne 3f40 <_sk_store_bgra_hsw+0x73> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,125,33,201 // vpmovsxbd %xmm9,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 235,211 // jmp 3f39 <_sk_store_bgra_hsw+0x6c> HIDDEN _sk_load_f16_hsw .globl _sk_load_f16_hsw FUNCTION(_sk_load_f16_hsw) _sk_load_f16_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,97 // jne 3fd1 <_sk_load_f16_hsw+0x6b> .byte 197,121,16,4,208 // vmovupd (%rax,%rdx,8),%xmm8 .byte 197,249,16,84,208,16 // vmovupd 0x10(%rax,%rdx,8),%xmm2 .byte 197,249,16,92,208,32 // vmovupd 0x20(%rax,%rdx,8),%xmm3 .byte 197,122,111,76,208,48 // vmovdqu 0x30(%rax,%rdx,8),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,241,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm3 .byte 197,185,108,194 // vpunpcklqdq %xmm2,%xmm8,%xmm0 .byte 196,226,125,19,192 // vcvtph2ps %xmm0,%ymm0 .byte 197,185,109,202 // vpunpckhqdq %xmm2,%xmm8,%xmm1 .byte 196,226,125,19,201 // vcvtph2ps %xmm1,%ymm1 .byte 197,177,108,211 // vpunpcklqdq %xmm3,%xmm9,%xmm2 .byte 196,226,125,19,210 // vcvtph2ps %xmm2,%ymm2 .byte 197,177,109,219 // vpunpckhqdq %xmm3,%xmm9,%xmm3 .byte 196,226,125,19,219 // vcvtph2ps %xmm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,123,16,4,208 // vmovsd (%rax,%rdx,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,79 // je 4030 <_sk_load_f16_hsw+0xca> .byte 197,57,22,68,208,8 // vmovhpd 0x8(%rax,%rdx,8),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,67 // jb 4030 <_sk_load_f16_hsw+0xca> .byte 197,251,16,84,208,16 // vmovsd 0x10(%rax,%rdx,8),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,68 // je 403d <_sk_load_f16_hsw+0xd7> .byte 197,233,22,84,208,24 // vmovhpd 0x18(%rax,%rdx,8),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,56 // jb 403d <_sk_load_f16_hsw+0xd7> .byte 197,251,16,92,208,32 // vmovsd 0x20(%rax,%rdx,8),%xmm3 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,114,255,255,255 // je 3f87 <_sk_load_f16_hsw+0x21> .byte 197,225,22,92,208,40 // vmovhpd 0x28(%rax,%rdx,8),%xmm3,%xmm3 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,98,255,255,255 // jb 3f87 <_sk_load_f16_hsw+0x21> .byte 197,122,126,76,208,48 // vmovq 0x30(%rax,%rdx,8),%xmm9 .byte 233,87,255,255,255 // jmpq 3f87 <_sk_load_f16_hsw+0x21> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,74,255,255,255 // jmpq 3f87 <_sk_load_f16_hsw+0x21> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,65,255,255,255 // jmpq 3f87 <_sk_load_f16_hsw+0x21> HIDDEN _sk_load_f16_dst_hsw .globl _sk_load_f16_dst_hsw FUNCTION(_sk_load_f16_dst_hsw) _sk_load_f16_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,97 // jne 40b1 <_sk_load_f16_dst_hsw+0x6b> .byte 197,121,16,4,208 // vmovupd (%rax,%rdx,8),%xmm8 .byte 197,249,16,116,208,16 // vmovupd 0x10(%rax,%rdx,8),%xmm6 .byte 197,249,16,124,208,32 // vmovupd 0x20(%rax,%rdx,8),%xmm7 .byte 197,122,111,76,208,48 // vmovdqu 0x30(%rax,%rdx,8),%xmm9 .byte 197,185,97,230 // vpunpcklwd %xmm6,%xmm8,%xmm4 .byte 197,185,105,246 // vpunpckhwd %xmm6,%xmm8,%xmm6 .byte 196,193,65,97,233 // vpunpcklwd %xmm9,%xmm7,%xmm5 .byte 196,193,65,105,249 // vpunpckhwd %xmm9,%xmm7,%xmm7 .byte 197,89,97,198 // vpunpcklwd %xmm6,%xmm4,%xmm8 .byte 197,89,105,206 // vpunpckhwd %xmm6,%xmm4,%xmm9 .byte 197,209,97,247 // vpunpcklwd %xmm7,%xmm5,%xmm6 .byte 197,209,105,255 // vpunpckhwd %xmm7,%xmm5,%xmm7 .byte 197,185,108,230 // vpunpcklqdq %xmm6,%xmm8,%xmm4 .byte 196,226,125,19,228 // vcvtph2ps %xmm4,%ymm4 .byte 197,185,109,238 // vpunpckhqdq %xmm6,%xmm8,%xmm5 .byte 196,226,125,19,237 // vcvtph2ps %xmm5,%ymm5 .byte 197,177,108,247 // vpunpcklqdq %xmm7,%xmm9,%xmm6 .byte 196,226,125,19,246 // vcvtph2ps %xmm6,%ymm6 .byte 197,177,109,255 // vpunpckhqdq %xmm7,%xmm9,%xmm7 .byte 196,226,125,19,255 // vcvtph2ps %xmm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,123,16,4,208 // vmovsd (%rax,%rdx,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,79 // je 4110 <_sk_load_f16_dst_hsw+0xca> .byte 197,57,22,68,208,8 // vmovhpd 0x8(%rax,%rdx,8),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,67 // jb 4110 <_sk_load_f16_dst_hsw+0xca> .byte 197,251,16,116,208,16 // vmovsd 0x10(%rax,%rdx,8),%xmm6 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,68 // je 411d <_sk_load_f16_dst_hsw+0xd7> .byte 197,201,22,116,208,24 // vmovhpd 0x18(%rax,%rdx,8),%xmm6,%xmm6 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,56 // jb 411d <_sk_load_f16_dst_hsw+0xd7> .byte 197,251,16,124,208,32 // vmovsd 0x20(%rax,%rdx,8),%xmm7 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,114,255,255,255 // je 4067 <_sk_load_f16_dst_hsw+0x21> .byte 197,193,22,124,208,40 // vmovhpd 0x28(%rax,%rdx,8),%xmm7,%xmm7 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,98,255,255,255 // jb 4067 <_sk_load_f16_dst_hsw+0x21> .byte 197,122,126,76,208,48 // vmovq 0x30(%rax,%rdx,8),%xmm9 .byte 233,87,255,255,255 // jmpq 4067 <_sk_load_f16_dst_hsw+0x21> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 197,201,87,246 // vxorpd %xmm6,%xmm6,%xmm6 .byte 233,74,255,255,255 // jmpq 4067 <_sk_load_f16_dst_hsw+0x21> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 233,65,255,255,255 // jmpq 4067 <_sk_load_f16_dst_hsw+0x21> HIDDEN _sk_gather_f16_hsw .globl _sk_gather_f16_hsw FUNCTION(_sk_gather_f16_hsw) _sk_gather_f16_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,16 // vpbroadcastd 0x10(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,194,237,144,28,193 // vpgatherdq %ymm2,(%r9,%xmm0,8),%ymm3 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,194,245,144,20,193 // vpgatherdq %ymm1,(%r9,%xmm0,8),%ymm2 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,227,125,57,209,1 // vextracti128 $0x1,%ymm2,%xmm1 .byte 197,97,97,192 // vpunpcklwd %xmm0,%xmm3,%xmm8 .byte 197,225,105,192 // vpunpckhwd %xmm0,%xmm3,%xmm0 .byte 197,233,97,217 // vpunpcklwd %xmm1,%xmm2,%xmm3 .byte 197,233,105,201 // vpunpckhwd %xmm1,%xmm2,%xmm1 .byte 197,57,97,200 // vpunpcklwd %xmm0,%xmm8,%xmm9 .byte 197,57,105,192 // vpunpckhwd %xmm0,%xmm8,%xmm8 .byte 197,225,97,209 // vpunpcklwd %xmm1,%xmm3,%xmm2 .byte 197,225,105,217 // vpunpckhwd %xmm1,%xmm3,%xmm3 .byte 197,177,108,194 // vpunpcklqdq %xmm2,%xmm9,%xmm0 .byte 196,226,125,19,192 // vcvtph2ps %xmm0,%ymm0 .byte 197,177,109,202 // vpunpckhqdq %xmm2,%xmm9,%xmm1 .byte 196,226,125,19,201 // vcvtph2ps %xmm1,%ymm1 .byte 197,185,108,211 // vpunpcklqdq %xmm3,%xmm8,%xmm2 .byte 196,226,125,19,210 // vcvtph2ps %xmm2,%ymm2 .byte 197,185,109,219 // vpunpckhqdq %xmm3,%xmm8,%xmm3 .byte 196,226,125,19,219 // vcvtph2ps %xmm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_hsw .globl _sk_store_f16_hsw FUNCTION(_sk_store_f16_hsw) _sk_store_f16_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 196,195,125,29,192,4 // vcvtps2ph $0x4,%ymm0,%xmm8 .byte 196,195,125,29,201,4 // vcvtps2ph $0x4,%ymm1,%xmm9 .byte 196,195,125,29,210,4 // vcvtps2ph $0x4,%ymm2,%xmm10 .byte 196,195,125,29,219,4 // vcvtps2ph $0x4,%ymm3,%xmm11 .byte 196,65,57,97,225 // vpunpcklwd %xmm9,%xmm8,%xmm12 .byte 196,65,57,105,193 // vpunpckhwd %xmm9,%xmm8,%xmm8 .byte 196,65,41,97,203 // vpunpcklwd %xmm11,%xmm10,%xmm9 .byte 196,65,41,105,235 // vpunpckhwd %xmm11,%xmm10,%xmm13 .byte 196,65,25,98,217 // vpunpckldq %xmm9,%xmm12,%xmm11 .byte 196,65,25,106,209 // vpunpckhdq %xmm9,%xmm12,%xmm10 .byte 196,65,57,98,205 // vpunpckldq %xmm13,%xmm8,%xmm9 .byte 196,65,57,106,197 // vpunpckhdq %xmm13,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,27 // jne 4215 <_sk_store_f16_hsw+0x65> .byte 197,120,17,28,208 // vmovups %xmm11,(%rax,%rdx,8) .byte 197,120,17,84,208,16 // vmovups %xmm10,0x10(%rax,%rdx,8) .byte 197,120,17,76,208,32 // vmovups %xmm9,0x20(%rax,%rdx,8) .byte 197,122,127,68,208,48 // vmovdqu %xmm8,0x30(%rax,%rdx,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,121,214,28,208 // vmovq %xmm11,(%rax,%rdx,8) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,241 // je 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,23,92,208,8 // vmovhpd %xmm11,0x8(%rax,%rdx,8) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,229 // jb 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,214,84,208,16 // vmovq %xmm10,0x10(%rax,%rdx,8) .byte 116,221 // je 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,23,84,208,24 // vmovhpd %xmm10,0x18(%rax,%rdx,8) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,209 // jb 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,214,76,208,32 // vmovq %xmm9,0x20(%rax,%rdx,8) .byte 116,201 // je 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,23,76,208,40 // vmovhpd %xmm9,0x28(%rax,%rdx,8) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,189 // jb 4211 <_sk_store_f16_hsw+0x61> .byte 197,121,214,68,208,48 // vmovq %xmm8,0x30(%rax,%rdx,8) .byte 235,181 // jmp 4211 <_sk_store_f16_hsw+0x61> HIDDEN _sk_load_u16_be_hsw .globl _sk_load_u16_be_hsw FUNCTION(_sk_load_u16_be_hsw) _sk_load_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,204,0,0,0 // jne 433e <_sk_load_u16_be_hsw+0xe2> .byte 196,65,121,16,4,65 // vmovupd (%r9,%rax,2),%xmm8 .byte 196,193,121,16,84,65,16 // vmovupd 0x10(%r9,%rax,2),%xmm2 .byte 196,193,121,16,92,65,32 // vmovupd 0x20(%r9,%rax,2),%xmm3 .byte 196,65,122,111,76,65,48 // vmovdqu 0x30(%r9,%rax,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,113,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm11 .byte 197,185,108,194 // vpunpcklqdq %xmm2,%xmm8,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,21,117,24,0,0 // vbroadcastss 0x1875(%rip),%ymm10 # 5b48 <_sk_callback_hsw+0x4c8> .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 197,185,109,202 // vpunpckhqdq %xmm2,%xmm8,%xmm1 .byte 197,233,113,241,8 // vpsllw $0x8,%xmm1,%xmm2 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,226,125,51,201 // vpmovzxwd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 196,193,49,108,211 // vpunpcklqdq %xmm11,%xmm9,%xmm2 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,226,125,51,210 // vpmovzxwd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,210 // vmulps %ymm10,%ymm2,%ymm2 .byte 196,193,49,109,219 // vpunpckhqdq %xmm11,%xmm9,%xmm3 .byte 197,185,113,243,8 // vpsllw $0x8,%xmm3,%xmm8 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,185,235,219 // vpor %xmm3,%xmm8,%xmm3 .byte 196,226,125,51,219 // vpmovzxwd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,65 // vmovsd (%r9,%rax,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,85 // je 43a4 <_sk_load_u16_be_hsw+0x148> .byte 196,65,57,22,68,65,8 // vmovhpd 0x8(%r9,%rax,2),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,72 // jb 43a4 <_sk_load_u16_be_hsw+0x148> .byte 196,193,123,16,84,65,16 // vmovsd 0x10(%r9,%rax,2),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,72 // je 43b1 <_sk_load_u16_be_hsw+0x155> .byte 196,193,105,22,84,65,24 // vmovhpd 0x18(%r9,%rax,2),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,59 // jb 43b1 <_sk_load_u16_be_hsw+0x155> .byte 196,193,123,16,92,65,32 // vmovsd 0x20(%r9,%rax,2),%xmm3 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,6,255,255,255 // je 428d <_sk_load_u16_be_hsw+0x31> .byte 196,193,97,22,92,65,40 // vmovhpd 0x28(%r9,%rax,2),%xmm3,%xmm3 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,245,254,255,255 // jb 428d <_sk_load_u16_be_hsw+0x31> .byte 196,65,122,126,76,65,48 // vmovq 0x30(%r9,%rax,2),%xmm9 .byte 233,233,254,255,255 // jmpq 428d <_sk_load_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,220,254,255,255 // jmpq 428d <_sk_load_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,211,254,255,255 // jmpq 428d <_sk_load_u16_be_hsw+0x31> HIDDEN _sk_load_rgb_u16_be_hsw .globl _sk_load_rgb_u16_be_hsw FUNCTION(_sk_load_rgb_u16_be_hsw) _sk_load_rgb_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,82 // lea (%rdx,%rdx,2),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,204,0,0,0 // jne 4498 <_sk_load_rgb_u16_be_hsw+0xde> .byte 196,193,122,111,4,65 // vmovdqu (%r9,%rax,2),%xmm0 .byte 196,193,122,111,84,65,12 // vmovdqu 0xc(%r9,%rax,2),%xmm2 .byte 196,193,122,111,76,65,24 // vmovdqu 0x18(%r9,%rax,2),%xmm1 .byte 196,193,122,111,92,65,32 // vmovdqu 0x20(%r9,%rax,2),%xmm3 .byte 197,225,115,219,4 // vpsrldq $0x4,%xmm3,%xmm3 .byte 197,185,115,216,6 // vpsrldq $0x6,%xmm0,%xmm8 .byte 197,177,115,218,6 // vpsrldq $0x6,%xmm2,%xmm9 .byte 197,161,115,217,6 // vpsrldq $0x6,%xmm1,%xmm11 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,249,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm0 .byte 196,193,57,97,209 // vpunpcklwd %xmm9,%xmm8,%xmm2 .byte 197,241,97,203 // vpunpcklwd %xmm3,%xmm1,%xmm1 .byte 196,193,33,97,218 // vpunpcklwd %xmm10,%xmm11,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,241,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm3 .byte 197,185,108,194 // vpunpcklqdq %xmm2,%xmm8,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,21,6,23,0,0 // vbroadcastss 0x1706(%rip),%ymm10 # 5b4c <_sk_callback_hsw+0x4cc> .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 197,185,109,202 // vpunpckhqdq %xmm2,%xmm8,%xmm1 .byte 197,233,113,241,8 // vpsllw $0x8,%xmm1,%xmm2 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,226,125,51,201 // vpmovzxwd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 197,177,108,211 // vpunpcklqdq %xmm3,%xmm9,%xmm2 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,226,125,51,210 // vpmovzxwd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,210 // vmulps %ymm10,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,186,22,0,0 // vbroadcastss 0x16ba(%rip),%ymm3 # 5b50 <_sk_callback_hsw+0x4d0> .byte 255,224 // jmpq *%rax .byte 196,193,121,110,4,65 // vmovd (%r9,%rax,2),%xmm0 .byte 196,193,121,196,68,65,4,2 // vpinsrw $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,5 // jne 44b1 <_sk_load_rgb_u16_be_hsw+0xf7> .byte 233,79,255,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 196,193,121,110,76,65,6 // vmovd 0x6(%r9,%rax,2),%xmm1 .byte 196,65,113,196,68,65,10,2 // vpinsrw $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,26 // jb 44e0 <_sk_load_rgb_u16_be_hsw+0x126> .byte 196,193,121,110,76,65,12 // vmovd 0xc(%r9,%rax,2),%xmm1 .byte 196,193,113,196,84,65,16,2 // vpinsrw $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 117,10 // jne 44e5 <_sk_load_rgb_u16_be_hsw+0x12b> .byte 233,32,255,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 233,27,255,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 196,193,121,110,76,65,18 // vmovd 0x12(%r9,%rax,2),%xmm1 .byte 196,65,113,196,76,65,22,2 // vpinsrw $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,26 // jb 4514 <_sk_load_rgb_u16_be_hsw+0x15a> .byte 196,193,121,110,76,65,24 // vmovd 0x18(%r9,%rax,2),%xmm1 .byte 196,193,113,196,76,65,28,2 // vpinsrw $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 117,10 // jne 4519 <_sk_load_rgb_u16_be_hsw+0x15f> .byte 233,236,254,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 233,231,254,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 196,193,121,110,92,65,30 // vmovd 0x1e(%r9,%rax,2),%xmm3 .byte 196,65,97,196,92,65,34,2 // vpinsrw $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,20 // jb 4542 <_sk_load_rgb_u16_be_hsw+0x188> .byte 196,193,121,110,92,65,36 // vmovd 0x24(%r9,%rax,2),%xmm3 .byte 196,193,97,196,92,65,40,2 // vpinsrw $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3 .byte 233,190,254,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> .byte 233,185,254,255,255 // jmpq 4400 <_sk_load_rgb_u16_be_hsw+0x46> HIDDEN _sk_store_u16_be_hsw .globl _sk_store_u16_be_hsw FUNCTION(_sk_store_u16_be_hsw) _sk_store_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 196,98,125,24,5,247,21,0,0 // vbroadcastss 0x15f7(%rip),%ymm8 # 5b54 <_sk_callback_hsw+0x4d4> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,67,125,25,202,1 // vextractf128 $0x1,%ymm9,%xmm10 .byte 196,66,49,43,202 // vpackusdw %xmm10,%xmm9,%xmm9 .byte 196,193,41,113,241,8 // vpsllw $0x8,%xmm9,%xmm10 .byte 196,193,49,113,209,8 // vpsrlw $0x8,%xmm9,%xmm9 .byte 196,65,41,235,201 // vpor %xmm9,%xmm10,%xmm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,67,125,25,211,1 // vextractf128 $0x1,%ymm10,%xmm11 .byte 196,66,41,43,211 // vpackusdw %xmm11,%xmm10,%xmm10 .byte 196,193,33,113,242,8 // vpsllw $0x8,%xmm10,%xmm11 .byte 196,193,41,113,210,8 // vpsrlw $0x8,%xmm10,%xmm10 .byte 196,65,33,235,210 // vpor %xmm10,%xmm11,%xmm10 .byte 196,65,108,89,216 // vmulps %ymm8,%ymm2,%ymm11 .byte 196,65,125,91,219 // vcvtps2dq %ymm11,%ymm11 .byte 196,67,125,25,220,1 // vextractf128 $0x1,%ymm11,%xmm12 .byte 196,66,33,43,220 // vpackusdw %xmm12,%xmm11,%xmm11 .byte 196,193,25,113,243,8 // vpsllw $0x8,%xmm11,%xmm12 .byte 196,193,33,113,211,8 // vpsrlw $0x8,%xmm11,%xmm11 .byte 196,65,25,235,219 // vpor %xmm11,%xmm12,%xmm11 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,67,125,25,196,1 // vextractf128 $0x1,%ymm8,%xmm12 .byte 196,66,57,43,196 // vpackusdw %xmm12,%xmm8,%xmm8 .byte 196,193,25,113,240,8 // vpsllw $0x8,%xmm8,%xmm12 .byte 196,193,57,113,208,8 // vpsrlw $0x8,%xmm8,%xmm8 .byte 196,65,25,235,192 // vpor %xmm8,%xmm12,%xmm8 .byte 196,65,49,97,226 // vpunpcklwd %xmm10,%xmm9,%xmm12 .byte 196,65,49,105,234 // vpunpckhwd %xmm10,%xmm9,%xmm13 .byte 196,65,33,97,200 // vpunpcklwd %xmm8,%xmm11,%xmm9 .byte 196,65,33,105,192 // vpunpckhwd %xmm8,%xmm11,%xmm8 .byte 196,65,25,98,217 // vpunpckldq %xmm9,%xmm12,%xmm11 .byte 196,65,25,106,209 // vpunpckhdq %xmm9,%xmm12,%xmm10 .byte 196,65,17,98,200 // vpunpckldq %xmm8,%xmm13,%xmm9 .byte 196,65,17,106,192 // vpunpckhdq %xmm8,%xmm13,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,31 // jne 4641 <_sk_store_u16_be_hsw+0xfa> .byte 196,65,120,17,28,65 // vmovups %xmm11,(%r9,%rax,2) .byte 196,65,120,17,84,65,16 // vmovups %xmm10,0x10(%r9,%rax,2) .byte 196,65,120,17,76,65,32 // vmovups %xmm9,0x20(%r9,%rax,2) .byte 196,65,122,127,68,65,48 // vmovdqu %xmm8,0x30(%r9,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,65 // vmovq %xmm11,(%r9,%rax,2) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,23,92,65,8 // vmovhpd %xmm11,0x8(%r9,%rax,2) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,214,84,65,16 // vmovq %xmm10,0x10(%r9,%rax,2) .byte 116,218 // je 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,23,84,65,24 // vmovhpd %xmm10,0x18(%r9,%rax,2) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,205 // jb 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,214,76,65,32 // vmovq %xmm9,0x20(%r9,%rax,2) .byte 116,196 // je 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,23,76,65,40 // vmovhpd %xmm9,0x28(%r9,%rax,2) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,183 // jb 463d <_sk_store_u16_be_hsw+0xf6> .byte 196,65,121,214,68,65,48 // vmovq %xmm8,0x30(%r9,%rax,2) .byte 235,174 // jmp 463d <_sk_store_u16_be_hsw+0xf6> HIDDEN _sk_load_f32_hsw .globl _sk_load_f32_hsw FUNCTION(_sk_load_f32_hsw) _sk_load_f32_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,131,248,7 // cmp $0x7,%r8 .byte 119,110 // ja 4705 <_sk_load_f32_hsw+0x76> .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,141,29,135,0,0,0 // lea 0x87(%rip),%r11 # 4730 <_sk_load_f32_hsw+0xa1> .byte 75,99,4,131 // movslq (%r11,%r8,4),%rax .byte 76,1,216 // add %r11,%rax .byte 255,224 // jmpq *%rax .byte 196,3,125,24,68,145,112,1 // vinsertf128 $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8 .byte 196,131,125,24,92,145,96,1 // vinsertf128 $0x1,0x60(%r9,%r10,4),%ymm0,%ymm3 .byte 196,131,125,24,76,145,80,1 // vinsertf128 $0x1,0x50(%r9,%r10,4),%ymm0,%ymm1 .byte 196,131,125,24,84,145,64,1 // vinsertf128 $0x1,0x40(%r9,%r10,4),%ymm0,%ymm2 .byte 196,129,121,16,68,145,48 // vmovupd 0x30(%r9,%r10,4),%xmm0 .byte 196,195,125,13,192,12 // vblendpd $0xc,%ymm8,%ymm0,%ymm0 .byte 196,1,121,16,68,145,32 // vmovupd 0x20(%r9,%r10,4),%xmm8 .byte 196,99,61,13,203,12 // vblendpd $0xc,%ymm3,%ymm8,%ymm9 .byte 196,129,121,16,92,145,16 // vmovupd 0x10(%r9,%r10,4),%xmm3 .byte 196,99,101,13,209,12 // vblendpd $0xc,%ymm1,%ymm3,%ymm10 .byte 196,129,121,16,12,145 // vmovupd (%r9,%r10,4),%xmm1 .byte 196,227,117,13,202,12 // vblendpd $0xc,%ymm2,%ymm1,%ymm1 .byte 196,193,116,20,210 // vunpcklps %ymm10,%ymm1,%ymm2 .byte 196,193,116,21,218 // vunpckhps %ymm10,%ymm1,%ymm3 .byte 197,180,20,200 // vunpcklps %ymm0,%ymm9,%ymm1 .byte 197,52,21,192 // vunpckhps %ymm0,%ymm9,%ymm8 .byte 197,237,20,193 // vunpcklpd %ymm1,%ymm2,%ymm0 .byte 197,237,21,201 // vunpckhpd %ymm1,%ymm2,%ymm1 .byte 196,193,101,20,208 // vunpcklpd %ymm8,%ymm3,%ymm2 .byte 196,193,101,21,216 // vunpckhpd %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 130 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 188,255,255,255,175 // mov $0xafffffff,%esp .byte 255 // (bad) .byte 255 // (bad) .byte 255,162,255,255,255,154 // jmpq *-0x65000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,146,255,255,255,138 // callq *-0x75000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_f32_dst_hsw .globl _sk_load_f32_dst_hsw FUNCTION(_sk_load_f32_dst_hsw) _sk_load_f32_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,131,248,7 // cmp $0x7,%r8 .byte 119,110 // ja 47c6 <_sk_load_f32_dst_hsw+0x76> .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,141,29,134,0,0,0 // lea 0x86(%rip),%r11 # 47f0 <_sk_load_f32_dst_hsw+0xa0> .byte 75,99,4,131 // movslq (%r11,%r8,4),%rax .byte 76,1,216 // add %r11,%rax .byte 255,224 // jmpq *%rax .byte 196,3,125,24,68,145,112,1 // vinsertf128 $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8 .byte 196,131,125,24,124,145,96,1 // vinsertf128 $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7 .byte 196,131,125,24,108,145,80,1 // vinsertf128 $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5 .byte 196,131,125,24,116,145,64,1 // vinsertf128 $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6 .byte 196,129,121,16,100,145,48 // vmovupd 0x30(%r9,%r10,4),%xmm4 .byte 196,195,93,13,224,12 // vblendpd $0xc,%ymm8,%ymm4,%ymm4 .byte 196,1,121,16,68,145,32 // vmovupd 0x20(%r9,%r10,4),%xmm8 .byte 196,99,61,13,207,12 // vblendpd $0xc,%ymm7,%ymm8,%ymm9 .byte 196,129,121,16,124,145,16 // vmovupd 0x10(%r9,%r10,4),%xmm7 .byte 196,99,69,13,213,12 // vblendpd $0xc,%ymm5,%ymm7,%ymm10 .byte 196,129,121,16,44,145 // vmovupd (%r9,%r10,4),%xmm5 .byte 196,227,85,13,238,12 // vblendpd $0xc,%ymm6,%ymm5,%ymm5 .byte 196,193,84,20,242 // vunpcklps %ymm10,%ymm5,%ymm6 .byte 196,193,84,21,250 // vunpckhps %ymm10,%ymm5,%ymm7 .byte 197,180,20,236 // vunpcklps %ymm4,%ymm9,%ymm5 .byte 197,52,21,196 // vunpckhps %ymm4,%ymm9,%ymm8 .byte 197,205,20,229 // vunpcklpd %ymm5,%ymm6,%ymm4 .byte 197,205,21,237 // vunpckhpd %ymm5,%ymm6,%ymm5 .byte 196,193,69,20,240 // vunpcklpd %ymm8,%ymm7,%ymm6 .byte 196,193,69,21,248 // vunpckhpd %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 131,255,255 // cmp $0xffffffff,%edi .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,176 // mov $0xb0ffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,163,255,255,255,155 // jmpq *-0x64000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,147,255,255,255,139 // callq *-0x74000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_f32_hsw .globl _sk_store_f32_hsw FUNCTION(_sk_store_f32_hsw) _sk_store_f32_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 197,124,20,193 // vunpcklps %ymm1,%ymm0,%ymm8 .byte 197,124,21,217 // vunpckhps %ymm1,%ymm0,%ymm11 .byte 197,108,20,203 // vunpcklps %ymm3,%ymm2,%ymm9 .byte 197,108,21,227 // vunpckhps %ymm3,%ymm2,%ymm12 .byte 196,65,61,20,209 // vunpcklpd %ymm9,%ymm8,%ymm10 .byte 196,65,61,21,201 // vunpckhpd %ymm9,%ymm8,%ymm9 .byte 196,65,37,20,196 // vunpcklpd %ymm12,%ymm11,%ymm8 .byte 196,65,37,21,220 // vunpckhpd %ymm12,%ymm11,%ymm11 .byte 77,133,192 // test %r8,%r8 .byte 117,55 // jne 487d <_sk_store_f32_hsw+0x6d> .byte 196,67,45,24,225,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm12 .byte 196,67,61,24,235,1 // vinsertf128 $0x1,%xmm11,%ymm8,%ymm13 .byte 196,67,45,6,201,49 // vperm2f128 $0x31,%ymm9,%ymm10,%ymm9 .byte 196,67,61,6,195,49 // vperm2f128 $0x31,%ymm11,%ymm8,%ymm8 .byte 196,65,125,17,36,129 // vmovupd %ymm12,(%r9,%rax,4) .byte 196,65,125,17,108,129,32 // vmovupd %ymm13,0x20(%r9,%rax,4) .byte 196,65,125,17,76,129,64 // vmovupd %ymm9,0x40(%r9,%rax,4) .byte 196,65,125,17,68,129,96 // vmovupd %ymm8,0x60(%r9,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,17,20,129 // vmovupd %xmm10,(%r9,%rax,4) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 4879 <_sk_store_f32_hsw+0x69> .byte 196,65,121,17,76,129,16 // vmovupd %xmm9,0x10(%r9,%rax,4) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 4879 <_sk_store_f32_hsw+0x69> .byte 196,65,121,17,68,129,32 // vmovupd %xmm8,0x20(%r9,%rax,4) .byte 116,218 // je 4879 <_sk_store_f32_hsw+0x69> .byte 196,65,121,17,92,129,48 // vmovupd %xmm11,0x30(%r9,%rax,4) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,205 // jb 4879 <_sk_store_f32_hsw+0x69> .byte 196,67,125,25,84,129,64,1 // vextractf128 $0x1,%ymm10,0x40(%r9,%rax,4) .byte 116,195 // je 4879 <_sk_store_f32_hsw+0x69> .byte 196,67,125,25,76,129,80,1 // vextractf128 $0x1,%ymm9,0x50(%r9,%rax,4) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,181 // jb 4879 <_sk_store_f32_hsw+0x69> .byte 196,67,125,25,68,129,96,1 // vextractf128 $0x1,%ymm8,0x60(%r9,%rax,4) .byte 235,171 // jmp 4879 <_sk_store_f32_hsw+0x69> HIDDEN _sk_clamp_x_hsw .globl _sk_clamp_x_hsw FUNCTION(_sk_clamp_x_hsw) _sk_clamp_x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 196,98,125,88,0 // vpbroadcastd (%rax),%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,65,61,254,193 // vpaddd %ymm9,%ymm8,%ymm8 .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_y_hsw .globl _sk_clamp_y_hsw FUNCTION(_sk_clamp_y_hsw) _sk_clamp_y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,201 // vmaxps %ymm1,%ymm8,%ymm1 .byte 196,98,125,88,0 // vpbroadcastd (%rax),%ymm8 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,65,61,254,193 // vpaddd %ymm9,%ymm8,%ymm8 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_hsw .globl _sk_repeat_x_hsw FUNCTION(_sk_repeat_x_hsw) _sk_repeat_x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,67,125,8,192,1 // vroundps $0x1,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,98,53,172,192 // vfnmadd213ps %ymm0,%ymm9,%ymm8 .byte 197,253,118,192 // vpcmpeqd %ymm0,%ymm0,%ymm0 .byte 197,181,254,192 // vpaddd %ymm0,%ymm9,%ymm0 .byte 197,188,93,192 // vminps %ymm0,%ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_y_hsw .globl _sk_repeat_y_hsw FUNCTION(_sk_repeat_y_hsw) _sk_repeat_y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,60,89,193 // vmulps %ymm1,%ymm8,%ymm8 .byte 196,67,125,8,192,1 // vroundps $0x1,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,98,53,172,193 // vfnmadd213ps %ymm1,%ymm9,%ymm8 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,181,254,201 // vpaddd %ymm1,%ymm9,%ymm1 .byte 197,188,93,201 // vminps %ymm1,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_hsw .globl _sk_mirror_x_hsw FUNCTION(_sk_mirror_x_hsw) _sk_mirror_x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,66,125,24,208 // vbroadcastss %xmm8,%ymm10 .byte 196,65,124,92,218 // vsubps %ymm10,%ymm0,%ymm11 .byte 196,193,58,88,192 // vaddss %xmm8,%xmm8,%xmm0 .byte 196,98,125,24,192 // vbroadcastss %xmm0,%ymm8 .byte 197,178,89,5,197,17,0,0 // vmulss 0x11c5(%rip),%xmm9,%xmm0 # 5b58 <_sk_callback_hsw+0x4d8> .byte 196,226,125,24,192 // vbroadcastss %xmm0,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 196,227,125,8,192,1 // vroundps $0x1,%ymm0,%ymm0 .byte 196,194,61,172,195 // vfnmadd213ps %ymm11,%ymm8,%ymm0 .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,192 // vsubps %ymm0,%ymm8,%ymm8 .byte 197,188,84,192 // vandps %ymm0,%ymm8,%ymm0 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,65,45,254,192 // vpaddd %ymm8,%ymm10,%ymm8 .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_y_hsw .globl _sk_mirror_y_hsw FUNCTION(_sk_mirror_y_hsw) _sk_mirror_y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,66,125,24,208 // vbroadcastss %xmm8,%ymm10 .byte 196,65,116,92,218 // vsubps %ymm10,%ymm1,%ymm11 .byte 196,193,58,88,200 // vaddss %xmm8,%xmm8,%xmm1 .byte 196,98,125,24,193 // vbroadcastss %xmm1,%ymm8 .byte 197,178,89,13,105,17,0,0 // vmulss 0x1169(%rip),%xmm9,%xmm1 # 5b5c <_sk_callback_hsw+0x4dc> .byte 196,226,125,24,201 // vbroadcastss %xmm1,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 196,227,125,8,201,1 // vroundps $0x1,%ymm1,%ymm1 .byte 196,194,61,172,203 // vfnmadd213ps %ymm11,%ymm8,%ymm1 .byte 196,193,116,92,202 // vsubps %ymm10,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,193 // vsubps %ymm1,%ymm8,%ymm8 .byte 197,188,84,201 // vandps %ymm1,%ymm8,%ymm1 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,65,45,254,192 // vpaddd %ymm8,%ymm10,%ymm8 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_x_1_hsw .globl _sk_clamp_x_1_hsw FUNCTION(_sk_clamp_x_1_hsw) _sk_clamp_x_1_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,34,17,0,0 // vbroadcastss 0x1122(%rip),%ymm8 # 5b60 <_sk_callback_hsw+0x4e0> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_1_hsw .globl _sk_repeat_x_1_hsw FUNCTION(_sk_repeat_x_1_hsw) _sk_repeat_x_1_hsw: .byte 196,99,125,8,192,1 // vroundps $0x1,%ymm0,%ymm8 .byte 196,193,124,92,192 // vsubps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_1_hsw .globl _sk_mirror_x_1_hsw FUNCTION(_sk_mirror_x_1_hsw) _sk_mirror_x_1_hsw: .byte 196,98,125,24,5,5,17,0,0 // vbroadcastss 0x1105(%rip),%ymm8 # 5b64 <_sk_callback_hsw+0x4e4> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,13,251,16,0,0 // vbroadcastss 0x10fb(%rip),%ymm9 # 5b68 <_sk_callback_hsw+0x4e8> .byte 196,65,124,89,201 // vmulps %ymm9,%ymm0,%ymm9 .byte 196,67,125,8,201,1 // vroundps $0x1,%ymm9,%ymm9 .byte 196,65,52,88,201 // vaddps %ymm9,%ymm9,%ymm9 .byte 196,193,124,92,193 // vsubps %ymm9,%ymm0,%ymm0 .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,192 // vsubps %ymm0,%ymm8,%ymm8 .byte 197,188,84,192 // vandps %ymm0,%ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminance_to_alpha_hsw .globl _sk_luminance_to_alpha_hsw FUNCTION(_sk_luminance_to_alpha_hsw) _sk_luminance_to_alpha_hsw: .byte 196,226,125,24,29,203,16,0,0 // vbroadcastss 0x10cb(%rip),%ymm3 # 5b6c <_sk_callback_hsw+0x4ec> .byte 196,98,125,24,5,198,16,0,0 // vbroadcastss 0x10c6(%rip),%ymm8 # 5b70 <_sk_callback_hsw+0x4f0> .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,125,184,203 // vfmadd231ps %ymm3,%ymm0,%ymm1 .byte 196,226,125,24,29,183,16,0,0 // vbroadcastss 0x10b7(%rip),%ymm3 # 5b74 <_sk_callback_hsw+0x4f4> .byte 196,226,109,168,217 // vfmadd213ps %ymm1,%ymm2,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_translate_hsw .globl _sk_matrix_translate_hsw FUNCTION(_sk_matrix_translate_hsw) _sk_matrix_translate_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_scale_translate_hsw .globl _sk_matrix_scale_translate_hsw FUNCTION(_sk_matrix_scale_translate_hsw) _sk_matrix_scale_translate_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,8 // vbroadcastss 0x8(%rax),%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,194,61,168,193 // vfmadd213ps %ymm9,%ymm8,%ymm0 .byte 196,98,125,24,64,12 // vbroadcastss 0xc(%rax),%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,194,61,168,201 // vfmadd213ps %ymm9,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_2x3_hsw .globl _sk_matrix_2x3_hsw FUNCTION(_sk_matrix_2x3_hsw) _sk_matrix_2x3_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,98,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm10 .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,66,117,184,194 // vfmadd231ps %ymm10,%ymm1,%ymm8 .byte 196,66,125,184,193 // vfmadd231ps %ymm9,%ymm0,%ymm8 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm11 .byte 196,98,125,24,72,20 // vbroadcastss 0x14(%rax),%ymm9 .byte 196,66,117,184,203 // vfmadd231ps %ymm11,%ymm1,%ymm9 .byte 196,66,125,184,202 // vfmadd231ps %ymm10,%ymm0,%ymm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_3x4_hsw .globl _sk_matrix_3x4_hsw FUNCTION(_sk_matrix_3x4_hsw) _sk_matrix_3x4_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,98,125,24,80,12 // vbroadcastss 0xc(%rax),%ymm10 .byte 196,98,125,24,88,24 // vbroadcastss 0x18(%rax),%ymm11 .byte 196,98,125,24,64,36 // vbroadcastss 0x24(%rax),%ymm8 .byte 196,66,109,184,195 // vfmadd231ps %ymm11,%ymm2,%ymm8 .byte 196,66,117,184,194 // vfmadd231ps %ymm10,%ymm1,%ymm8 .byte 196,66,125,184,193 // vfmadd231ps %ymm9,%ymm0,%ymm8 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,16 // vbroadcastss 0x10(%rax),%ymm11 .byte 196,98,125,24,96,28 // vbroadcastss 0x1c(%rax),%ymm12 .byte 196,98,125,24,72,40 // vbroadcastss 0x28(%rax),%ymm9 .byte 196,66,109,184,204 // vfmadd231ps %ymm12,%ymm2,%ymm9 .byte 196,66,117,184,203 // vfmadd231ps %ymm11,%ymm1,%ymm9 .byte 196,66,125,184,202 // vfmadd231ps %ymm10,%ymm0,%ymm9 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,98,125,24,96,20 // vbroadcastss 0x14(%rax),%ymm12 .byte 196,98,125,24,104,32 // vbroadcastss 0x20(%rax),%ymm13 .byte 196,98,125,24,80,44 // vbroadcastss 0x2c(%rax),%ymm10 .byte 196,66,109,184,213 // vfmadd231ps %ymm13,%ymm2,%ymm10 .byte 196,66,117,184,212 // vfmadd231ps %ymm12,%ymm1,%ymm10 .byte 196,66,125,184,211 // vfmadd231ps %ymm11,%ymm0,%ymm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 197,124,41,210 // vmovaps %ymm10,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x5_hsw .globl _sk_matrix_4x5_hsw FUNCTION(_sk_matrix_4x5_hsw) _sk_matrix_4x5_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,98,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm10 .byte 196,98,125,24,88,32 // vbroadcastss 0x20(%rax),%ymm11 .byte 196,98,125,24,96,48 // vbroadcastss 0x30(%rax),%ymm12 .byte 196,98,125,24,64,64 // vbroadcastss 0x40(%rax),%ymm8 .byte 196,66,101,184,196 // vfmadd231ps %ymm12,%ymm3,%ymm8 .byte 196,66,109,184,195 // vfmadd231ps %ymm11,%ymm2,%ymm8 .byte 196,66,117,184,194 // vfmadd231ps %ymm10,%ymm1,%ymm8 .byte 196,66,125,184,193 // vfmadd231ps %ymm9,%ymm0,%ymm8 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm11 .byte 196,98,125,24,96,36 // vbroadcastss 0x24(%rax),%ymm12 .byte 196,98,125,24,104,52 // vbroadcastss 0x34(%rax),%ymm13 .byte 196,98,125,24,72,68 // vbroadcastss 0x44(%rax),%ymm9 .byte 196,66,101,184,205 // vfmadd231ps %ymm13,%ymm3,%ymm9 .byte 196,66,109,184,204 // vfmadd231ps %ymm12,%ymm2,%ymm9 .byte 196,66,117,184,203 // vfmadd231ps %ymm11,%ymm1,%ymm9 .byte 196,66,125,184,202 // vfmadd231ps %ymm10,%ymm0,%ymm9 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 196,98,125,24,96,24 // vbroadcastss 0x18(%rax),%ymm12 .byte 196,98,125,24,104,40 // vbroadcastss 0x28(%rax),%ymm13 .byte 196,98,125,24,112,56 // vbroadcastss 0x38(%rax),%ymm14 .byte 196,98,125,24,80,72 // vbroadcastss 0x48(%rax),%ymm10 .byte 196,66,101,184,214 // vfmadd231ps %ymm14,%ymm3,%ymm10 .byte 196,66,109,184,213 // vfmadd231ps %ymm13,%ymm2,%ymm10 .byte 196,66,117,184,212 // vfmadd231ps %ymm12,%ymm1,%ymm10 .byte 196,66,125,184,211 // vfmadd231ps %ymm11,%ymm0,%ymm10 .byte 196,98,125,24,96,12 // vbroadcastss 0xc(%rax),%ymm12 .byte 196,98,125,24,104,28 // vbroadcastss 0x1c(%rax),%ymm13 .byte 196,98,125,24,112,44 // vbroadcastss 0x2c(%rax),%ymm14 .byte 196,98,125,24,120,60 // vbroadcastss 0x3c(%rax),%ymm15 .byte 196,98,125,24,88,76 // vbroadcastss 0x4c(%rax),%ymm11 .byte 196,66,101,184,223 // vfmadd231ps %ymm15,%ymm3,%ymm11 .byte 196,66,109,184,222 // vfmadd231ps %ymm14,%ymm2,%ymm11 .byte 196,66,117,184,221 // vfmadd231ps %ymm13,%ymm1,%ymm11 .byte 196,66,125,184,220 // vfmadd231ps %ymm12,%ymm0,%ymm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 197,124,41,210 // vmovaps %ymm10,%ymm2 .byte 197,124,41,219 // vmovaps %ymm11,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x3_hsw .globl _sk_matrix_4x3_hsw FUNCTION(_sk_matrix_4x3_hsw) _sk_matrix_4x3_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,16 // vbroadcastss (%rax),%ymm2 .byte 196,226,125,24,88,16 // vbroadcastss 0x10(%rax),%ymm3 .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 196,98,117,184,195 // vfmadd231ps %ymm3,%ymm1,%ymm8 .byte 196,98,125,184,194 // vfmadd231ps %ymm2,%ymm0,%ymm8 .byte 196,226,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm2 .byte 196,226,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm3 .byte 196,98,125,24,72,36 // vbroadcastss 0x24(%rax),%ymm9 .byte 196,98,117,184,203 // vfmadd231ps %ymm3,%ymm1,%ymm9 .byte 196,98,125,184,202 // vfmadd231ps %ymm2,%ymm0,%ymm9 .byte 196,226,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm3 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,226,125,24,80,40 // vbroadcastss 0x28(%rax),%ymm2 .byte 196,194,117,184,210 // vfmadd231ps %ymm10,%ymm1,%ymm2 .byte 196,226,125,184,211 // vfmadd231ps %ymm3,%ymm0,%ymm2 .byte 196,98,125,24,80,12 // vbroadcastss 0xc(%rax),%ymm10 .byte 196,98,125,24,88,28 // vbroadcastss 0x1c(%rax),%ymm11 .byte 196,226,125,24,88,44 // vbroadcastss 0x2c(%rax),%ymm3 .byte 196,194,117,184,219 // vfmadd231ps %ymm11,%ymm1,%ymm3 .byte 196,194,125,184,218 // vfmadd231ps %ymm10,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_perspective_hsw .globl _sk_matrix_perspective_hsw FUNCTION(_sk_matrix_perspective_hsw) _sk_matrix_perspective_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,98,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm10 .byte 196,66,117,184,209 // vfmadd231ps %ymm9,%ymm1,%ymm10 .byte 196,66,125,184,208 // vfmadd231ps %ymm8,%ymm0,%ymm10 .byte 196,98,125,24,64,12 // vbroadcastss 0xc(%rax),%ymm8 .byte 196,98,125,24,72,16 // vbroadcastss 0x10(%rax),%ymm9 .byte 196,98,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm11 .byte 196,66,117,184,217 // vfmadd231ps %ymm9,%ymm1,%ymm11 .byte 196,66,125,184,216 // vfmadd231ps %ymm8,%ymm0,%ymm11 .byte 196,98,125,24,64,24 // vbroadcastss 0x18(%rax),%ymm8 .byte 196,98,125,24,72,28 // vbroadcastss 0x1c(%rax),%ymm9 .byte 196,98,125,24,96,32 // vbroadcastss 0x20(%rax),%ymm12 .byte 196,66,117,184,225 // vfmadd231ps %ymm9,%ymm1,%ymm12 .byte 196,66,125,184,224 // vfmadd231ps %ymm8,%ymm0,%ymm12 .byte 196,193,124,83,204 // vrcpps %ymm12,%ymm1 .byte 197,172,89,193 // vmulps %ymm1,%ymm10,%ymm0 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_gradient_hsw .globl _sk_evenly_spaced_gradient_hsw FUNCTION(_sk_evenly_spaced_gradient_hsw) _sk_evenly_spaced_gradient_hsw: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 77,137,211 // mov %r10,%r11 .byte 73,255,203 // dec %r11 .byte 120,7 // js 4db6 <_sk_evenly_spaced_gradient_hsw+0x19> .byte 196,193,242,42,203 // vcvtsi2ss %r11,%xmm1,%xmm1 .byte 235,22 // jmp 4dcc <_sk_evenly_spaced_gradient_hsw+0x2f> .byte 76,137,219 // mov %r11,%rbx .byte 72,209,235 // shr %rbx .byte 65,131,227,1 // and $0x1,%r11d .byte 73,9,219 // or %rbx,%r11 .byte 196,193,242,42,203 // vcvtsi2ss %r11,%xmm1,%xmm1 .byte 197,242,88,201 // vaddss %xmm1,%xmm1,%xmm1 .byte 196,226,125,24,201 // vbroadcastss %xmm1,%ymm1 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,126,91,217 // vcvttps2dq %ymm1,%ymm11 .byte 73,131,250,8 // cmp $0x8,%r10 .byte 119,70 // ja 4e25 <_sk_evenly_spaced_gradient_hsw+0x88> .byte 196,66,37,22,1 // vpermps (%r9),%ymm11,%ymm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 196,98,37,22,11 // vpermps (%rbx),%ymm11,%ymm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,226,37,22,11 // vpermps (%rbx),%ymm11,%ymm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 196,98,37,22,19 // vpermps (%rbx),%ymm11,%ymm10 .byte 196,194,37,22,17 // vpermps (%r9),%ymm11,%ymm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 196,98,37,22,35 // vpermps (%rbx),%ymm11,%ymm12 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 196,226,37,22,27 // vpermps (%rbx),%ymm11,%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,98,37,22,40 // vpermps (%rax),%ymm11,%ymm13 .byte 235,110 // jmp 4e93 <_sk_evenly_spaced_gradient_hsw+0xf6> .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,2,117,146,4,153 // vgatherdps %ymm1,(%r9,%ymm11,4),%ymm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,34,117,146,12,155 // vgatherdps %ymm1,(%rbx,%ymm11,4),%ymm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,162,109,146,12,155 // vgatherdps %ymm2,(%rbx,%ymm11,4),%ymm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,34,109,146,20,155 // vgatherdps %ymm2,(%rbx,%ymm11,4),%ymm10 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,130,101,146,20,153 // vgatherdps %ymm3,(%r9,%ymm11,4),%ymm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,34,101,146,36,155 // vgatherdps %ymm3,(%rbx,%ymm11,4),%ymm12 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 196,162,21,146,28,155 // vgatherdps %ymm13,(%rbx,%ymm11,4),%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,34,13,146,44,152 // vgatherdps %ymm14,(%rax,%ymm11,4),%ymm13 .byte 196,66,125,168,193 // vfmadd213ps %ymm9,%ymm0,%ymm8 .byte 196,194,125,168,202 // vfmadd213ps %ymm10,%ymm0,%ymm1 .byte 196,194,125,168,212 // vfmadd213ps %ymm12,%ymm0,%ymm2 .byte 196,194,125,168,221 // vfmadd213ps %ymm13,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_gauss_a_to_rgba_hsw .globl _sk_gauss_a_to_rgba_hsw FUNCTION(_sk_gauss_a_to_rgba_hsw) _sk_gauss_a_to_rgba_hsw: .byte 196,226,125,24,5,191,12,0,0 // vbroadcastss 0xcbf(%rip),%ymm0 # 5b78 <_sk_callback_hsw+0x4f8> .byte 196,226,125,24,13,186,12,0,0 // vbroadcastss 0xcba(%rip),%ymm1 # 5b7c <_sk_callback_hsw+0x4fc> .byte 196,226,101,168,200 // vfmadd213ps %ymm0,%ymm3,%ymm1 .byte 196,226,125,24,5,176,12,0,0 // vbroadcastss 0xcb0(%rip),%ymm0 # 5b80 <_sk_callback_hsw+0x500> .byte 196,226,101,184,193 // vfmadd231ps %ymm1,%ymm3,%ymm0 .byte 196,226,125,24,13,166,12,0,0 // vbroadcastss 0xca6(%rip),%ymm1 # 5b84 <_sk_callback_hsw+0x504> .byte 196,226,101,184,200 // vfmadd231ps %ymm0,%ymm3,%ymm1 .byte 196,226,125,24,5,156,12,0,0 // vbroadcastss 0xc9c(%rip),%ymm0 # 5b88 <_sk_callback_hsw+0x508> .byte 196,226,101,184,193 // vfmadd231ps %ymm1,%ymm3,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,252,40,216 // vmovaps %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_gradient_hsw .globl _sk_gradient_hsw FUNCTION(_sk_gradient_hsw) _sk_gradient_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 73,131,249,1 // cmp $0x1,%r9 .byte 15,134,180,0,0,0 // jbe 4fc4 <_sk_gradient_hsw+0xc3> .byte 76,139,80,72 // mov 0x48(%rax),%r10 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 65,187,1,0,0,0 // mov $0x1,%r11d .byte 196,226,125,24,21,101,12,0,0 // vbroadcastss 0xc65(%rip),%ymm2 # 5b8c <_sk_callback_hsw+0x50c> .byte 196,65,53,239,201 // vpxor %ymm9,%ymm9,%ymm9 .byte 196,130,125,24,28,154 // vbroadcastss (%r10,%r11,4),%ymm3 .byte 197,228,194,216,2 // vcmpleps %ymm0,%ymm3,%ymm3 .byte 196,227,117,74,218,48 // vblendvps %ymm3,%ymm2,%ymm1,%ymm3 .byte 196,65,101,254,201 // vpaddd %ymm9,%ymm3,%ymm9 .byte 73,255,195 // inc %r11 .byte 77,57,217 // cmp %r11,%r9 .byte 117,226 // jne 4f2c <_sk_gradient_hsw+0x2b> .byte 76,139,80,8 // mov 0x8(%rax),%r10 .byte 73,131,249,8 // cmp $0x8,%r9 .byte 118,121 // jbe 4fcd <_sk_gradient_hsw+0xcc> .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,2,117,146,4,138 // vgatherdps %ymm1,(%r10,%ymm9,4),%ymm8 .byte 76,139,72,40 // mov 0x28(%rax),%r9 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,2,117,146,20,137 // vgatherdps %ymm1,(%r9,%ymm9,4),%ymm10 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,130,109,146,12,137 // vgatherdps %ymm2,(%r9,%ymm9,4),%ymm1 .byte 76,139,72,48 // mov 0x30(%rax),%r9 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,2,109,146,28,137 // vgatherdps %ymm2,(%r9,%ymm9,4),%ymm11 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,130,101,146,20,138 // vgatherdps %ymm3,(%r10,%ymm9,4),%ymm2 .byte 76,139,72,56 // mov 0x38(%rax),%r9 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,2,101,146,36,137 // vgatherdps %ymm3,(%r9,%ymm9,4),%ymm12 .byte 76,139,72,32 // mov 0x20(%rax),%r9 .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 196,130,21,146,28,137 // vgatherdps %ymm13,(%r9,%ymm9,4),%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,34,13,146,44,136 // vgatherdps %ymm14,(%rax,%ymm9,4),%ymm13 .byte 235,77 // jmp 5011 <_sk_gradient_hsw+0x110> .byte 76,139,80,8 // mov 0x8(%rax),%r10 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,66,53,22,2 // vpermps (%r10),%ymm9,%ymm8 .byte 76,139,72,40 // mov 0x28(%rax),%r9 .byte 196,66,53,22,17 // vpermps (%r9),%ymm9,%ymm10 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,194,53,22,9 // vpermps (%r9),%ymm9,%ymm1 .byte 76,139,72,48 // mov 0x30(%rax),%r9 .byte 196,66,53,22,25 // vpermps (%r9),%ymm9,%ymm11 .byte 196,194,53,22,18 // vpermps (%r10),%ymm9,%ymm2 .byte 76,139,72,56 // mov 0x38(%rax),%r9 .byte 196,66,53,22,33 // vpermps (%r9),%ymm9,%ymm12 .byte 76,139,72,32 // mov 0x20(%rax),%r9 .byte 196,194,53,22,25 // vpermps (%r9),%ymm9,%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,98,53,22,40 // vpermps (%rax),%ymm9,%ymm13 .byte 196,66,125,168,194 // vfmadd213ps %ymm10,%ymm0,%ymm8 .byte 196,194,125,168,203 // vfmadd213ps %ymm11,%ymm0,%ymm1 .byte 196,194,125,168,212 // vfmadd213ps %ymm12,%ymm0,%ymm2 .byte 196,194,125,168,221 // vfmadd213ps %ymm13,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_hsw .globl _sk_evenly_spaced_2_stop_gradient_hsw FUNCTION(_sk_evenly_spaced_2_stop_gradient_hsw) _sk_evenly_spaced_2_stop_gradient_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,8 // vbroadcastss (%rax),%ymm1 .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,98,125,184,193 // vfmadd231ps %ymm1,%ymm0,%ymm8 .byte 196,226,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm2 .byte 196,226,125,24,72,20 // vbroadcastss 0x14(%rax),%ymm1 .byte 196,226,125,184,202 // vfmadd231ps %ymm2,%ymm0,%ymm1 .byte 196,226,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm3 .byte 196,226,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm2 .byte 196,226,125,184,211 // vfmadd231ps %ymm3,%ymm0,%ymm2 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,226,125,24,88,28 // vbroadcastss 0x1c(%rax),%ymm3 .byte 196,194,125,184,217 // vfmadd231ps %ymm9,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_hsw .globl _sk_xy_to_unit_angle_hsw FUNCTION(_sk_xy_to_unit_angle_hsw) _sk_xy_to_unit_angle_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,52,84,200 // vandps %ymm0,%ymm9,%ymm9 .byte 197,60,92,209 // vsubps %ymm1,%ymm8,%ymm10 .byte 197,44,84,209 // vandps %ymm1,%ymm10,%ymm10 .byte 196,65,52,93,218 // vminps %ymm10,%ymm9,%ymm11 .byte 196,65,52,95,226 // vmaxps %ymm10,%ymm9,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 196,65,36,89,227 // vmulps %ymm11,%ymm11,%ymm12 .byte 196,98,125,24,45,228,10,0,0 // vbroadcastss 0xae4(%rip),%ymm13 # 5b90 <_sk_callback_hsw+0x510> .byte 196,98,125,24,53,223,10,0,0 // vbroadcastss 0xadf(%rip),%ymm14 # 5b94 <_sk_callback_hsw+0x514> .byte 196,66,29,184,245 // vfmadd231ps %ymm13,%ymm12,%ymm14 .byte 196,98,125,24,45,213,10,0,0 // vbroadcastss 0xad5(%rip),%ymm13 # 5b98 <_sk_callback_hsw+0x518> .byte 196,66,29,184,238 // vfmadd231ps %ymm14,%ymm12,%ymm13 .byte 196,98,125,24,53,203,10,0,0 // vbroadcastss 0xacb(%rip),%ymm14 # 5b9c <_sk_callback_hsw+0x51c> .byte 196,66,29,184,245 // vfmadd231ps %ymm13,%ymm12,%ymm14 .byte 196,65,36,89,222 // vmulps %ymm14,%ymm11,%ymm11 .byte 196,65,52,194,202,1 // vcmpltps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,21,182,10,0,0 // vbroadcastss 0xab6(%rip),%ymm10 # 5ba0 <_sk_callback_hsw+0x520> .byte 196,65,44,92,211 // vsubps %ymm11,%ymm10,%ymm10 .byte 196,67,37,74,202,144 // vblendvps %ymm9,%ymm10,%ymm11,%ymm9 .byte 196,193,124,194,192,1 // vcmpltps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,21,160,10,0,0 // vbroadcastss 0xaa0(%rip),%ymm10 # 5ba4 <_sk_callback_hsw+0x524> .byte 196,65,44,92,209 // vsubps %ymm9,%ymm10,%ymm10 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 196,65,116,194,200,1 // vcmpltps %ymm8,%ymm1,%ymm9 .byte 196,98,125,24,21,138,10,0,0 // vbroadcastss 0xa8a(%rip),%ymm10 # 5ba8 <_sk_callback_hsw+0x528> .byte 197,44,92,208 // vsubps %ymm0,%ymm10,%ymm10 .byte 196,195,125,74,194,144 // vblendvps %ymm9,%ymm10,%ymm0,%ymm0 .byte 196,65,124,194,200,3 // vcmpunordps %ymm8,%ymm0,%ymm9 .byte 196,195,125,74,192,144 // vblendvps %ymm9,%ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_radius_hsw .globl _sk_xy_to_radius_hsw FUNCTION(_sk_xy_to_radius_hsw) _sk_xy_to_radius_hsw: .byte 197,116,89,193 // vmulps %ymm1,%ymm1,%ymm8 .byte 196,98,125,184,192 // vfmadd231ps %ymm0,%ymm0,%ymm8 .byte 196,193,124,81,192 // vsqrtps %ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_max_hsw .globl _sk_xy_to_2pt_conical_quadratic_max_hsw FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_hsw) _sk_xy_to_2pt_conical_quadratic_max_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 197,122,16,72,40 // vmovss 0x28(%rax),%xmm9 .byte 197,50,89,80,44 // vmulss 0x2c(%rax),%xmm9,%xmm10 .byte 196,66,125,24,210 // vbroadcastss %xmm10,%ymm10 .byte 197,44,88,208 // vaddps %ymm0,%ymm10,%ymm10 .byte 196,98,125,24,29,62,10,0,0 // vbroadcastss 0xa3e(%rip),%ymm11 # 5bac <_sk_callback_hsw+0x52c> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 197,116,89,217 // vmulps %ymm1,%ymm1,%ymm11 .byte 196,98,125,184,216 // vfmadd231ps %ymm0,%ymm0,%ymm11 .byte 196,193,50,89,193 // vmulss %xmm9,%xmm9,%xmm0 .byte 196,226,125,24,192 // vbroadcastss %xmm0,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,13,29,10,0,0 // vbroadcastss 0xa1d(%rip),%ymm9 # 5bb0 <_sk_callback_hsw+0x530> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,194,45,184,194 // vfmadd231ps %ymm10,%ymm10,%ymm0 .byte 197,252,81,192 // vsqrtps %ymm0,%ymm0 .byte 196,98,125,24,64,36 // vbroadcastss 0x24(%rax),%ymm8 .byte 196,98,125,24,13,0,10,0,0 // vbroadcastss 0xa00(%rip),%ymm9 # 5bb4 <_sk_callback_hsw+0x534> .byte 196,65,44,87,201 // vxorps %ymm9,%ymm10,%ymm9 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,241,9,0,0 // vbroadcastss 0x9f1(%rip),%ymm11 # 5bb8 <_sk_callback_hsw+0x538> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 196,65,44,89,208 // vmulps %ymm8,%ymm10,%ymm10 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,172,95,192 // vmaxps %ymm0,%ymm10,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_min_hsw .globl _sk_xy_to_2pt_conical_quadratic_min_hsw FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_hsw) _sk_xy_to_2pt_conical_quadratic_min_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 197,122,16,72,40 // vmovss 0x28(%rax),%xmm9 .byte 197,50,89,80,44 // vmulss 0x2c(%rax),%xmm9,%xmm10 .byte 196,66,125,24,210 // vbroadcastss %xmm10,%ymm10 .byte 197,44,88,208 // vaddps %ymm0,%ymm10,%ymm10 .byte 196,98,125,24,29,182,9,0,0 // vbroadcastss 0x9b6(%rip),%ymm11 # 5bbc <_sk_callback_hsw+0x53c> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 197,116,89,217 // vmulps %ymm1,%ymm1,%ymm11 .byte 196,98,125,184,216 // vfmadd231ps %ymm0,%ymm0,%ymm11 .byte 196,193,50,89,193 // vmulss %xmm9,%xmm9,%xmm0 .byte 196,226,125,24,192 // vbroadcastss %xmm0,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,13,149,9,0,0 // vbroadcastss 0x995(%rip),%ymm9 # 5bc0 <_sk_callback_hsw+0x540> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,194,45,184,194 // vfmadd231ps %ymm10,%ymm10,%ymm0 .byte 197,252,81,192 // vsqrtps %ymm0,%ymm0 .byte 196,98,125,24,64,36 // vbroadcastss 0x24(%rax),%ymm8 .byte 196,98,125,24,13,120,9,0,0 // vbroadcastss 0x978(%rip),%ymm9 # 5bc4 <_sk_callback_hsw+0x544> .byte 196,65,44,87,201 // vxorps %ymm9,%ymm10,%ymm9 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,105,9,0,0 // vbroadcastss 0x969(%rip),%ymm11 # 5bc8 <_sk_callback_hsw+0x548> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 196,65,44,89,208 // vmulps %ymm8,%ymm10,%ymm10 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,172,93,192 // vminps %ymm0,%ymm10,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_linear_hsw .globl _sk_xy_to_2pt_conical_linear_hsw FUNCTION(_sk_xy_to_2pt_conical_linear_hsw) _sk_xy_to_2pt_conical_linear_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,64,40 // vmovss 0x28(%rax),%xmm8 .byte 197,58,89,72,44 // vmulss 0x2c(%rax),%xmm8,%xmm9 .byte 196,66,125,24,201 // vbroadcastss %xmm9,%ymm9 .byte 197,52,88,200 // vaddps %ymm0,%ymm9,%ymm9 .byte 196,98,125,24,21,52,9,0,0 // vbroadcastss 0x934(%rip),%ymm10 # 5bcc <_sk_callback_hsw+0x54c> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 197,116,89,209 // vmulps %ymm1,%ymm1,%ymm10 .byte 196,98,125,184,208 // vfmadd231ps %ymm0,%ymm0,%ymm10 .byte 196,193,58,89,192 // vmulss %xmm8,%xmm8,%xmm0 .byte 196,226,125,24,192 // vbroadcastss %xmm0,%ymm0 .byte 197,172,92,192 // vsubps %ymm0,%ymm10,%ymm0 .byte 196,98,125,24,5,19,9,0,0 // vbroadcastss 0x913(%rip),%ymm8 # 5bd0 <_sk_callback_hsw+0x550> .byte 196,193,124,87,192 // vxorps %ymm8,%ymm0,%ymm0 .byte 196,193,124,94,193 // vdivps %ymm9,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mask_2pt_conical_degenerates_hsw .globl _sk_mask_2pt_conical_degenerates_hsw FUNCTION(_sk_mask_2pt_conical_degenerates_hsw) _sk_mask_2pt_conical_degenerates_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,44 // vbroadcastss 0x2c(%rax),%ymm8 .byte 196,98,125,24,72,40 // vbroadcastss 0x28(%rax),%ymm9 .byte 196,66,125,184,200 // vfmadd231ps %ymm8,%ymm0,%ymm9 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,60,194,201,2 // vcmpleps %ymm9,%ymm8,%ymm9 .byte 196,65,124,194,192,7 // vcmpordps %ymm8,%ymm0,%ymm8 .byte 196,65,52,84,192 // vandps %ymm8,%ymm9,%ymm8 .byte 197,124,17,0 // vmovups %ymm8,(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_apply_vector_mask_hsw .globl _sk_apply_vector_mask_hsw FUNCTION(_sk_apply_vector_mask_hsw) _sk_apply_vector_mask_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,16,0 // vmovups (%rax),%ymm8 .byte 197,188,84,192 // vandps %ymm0,%ymm8,%ymm0 .byte 197,188,84,201 // vandps %ymm1,%ymm8,%ymm1 .byte 197,188,84,210 // vandps %ymm2,%ymm8,%ymm2 .byte 197,188,84,219 // vandps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_save_xy_hsw .globl _sk_save_xy_hsw FUNCTION(_sk_save_xy_hsw) _sk_save_xy_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,179,8,0,0 // vbroadcastss 0x8b3(%rip),%ymm8 # 5bd4 <_sk_callback_hsw+0x554> .byte 196,65,124,88,200 // vaddps %ymm8,%ymm0,%ymm9 .byte 196,67,125,8,209,1 // vroundps $0x1,%ymm9,%ymm10 .byte 196,65,52,92,202 // vsubps %ymm10,%ymm9,%ymm9 .byte 196,65,116,88,192 // vaddps %ymm8,%ymm1,%ymm8 .byte 196,67,125,8,208,1 // vroundps $0x1,%ymm8,%ymm10 .byte 196,65,60,92,194 // vsubps %ymm10,%ymm8,%ymm8 .byte 197,252,17,0 // vmovups %ymm0,(%rax) .byte 197,252,17,72,32 // vmovups %ymm1,0x20(%rax) .byte 197,124,17,72,64 // vmovups %ymm9,0x40(%rax) .byte 197,124,17,64,96 // vmovups %ymm8,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_accumulate_hsw .globl _sk_accumulate_hsw FUNCTION(_sk_accumulate_hsw) _sk_accumulate_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,16,128,128,0,0,0 // vmovups 0x80(%rax),%ymm8 .byte 197,60,89,128,160,0,0,0 // vmulps 0xa0(%rax),%ymm8,%ymm8 .byte 196,226,61,184,224 // vfmadd231ps %ymm0,%ymm8,%ymm4 .byte 196,226,61,184,233 // vfmadd231ps %ymm1,%ymm8,%ymm5 .byte 196,226,61,184,242 // vfmadd231ps %ymm2,%ymm8,%ymm6 .byte 196,98,101,168,199 // vfmadd213ps %ymm7,%ymm3,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,199 // vmovaps %ymm8,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_nx_hsw .globl _sk_bilinear_nx_hsw FUNCTION(_sk_bilinear_nx_hsw) _sk_bilinear_nx_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,71,8,0,0 // vbroadcastss 0x847(%rip),%ymm0 # 5bd8 <_sk_callback_hsw+0x558> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,62,8,0,0 // vbroadcastss 0x83e(%rip),%ymm8 # 5bdc <_sk_callback_hsw+0x55c> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_px_hsw .globl _sk_bilinear_px_hsw FUNCTION(_sk_bilinear_px_hsw) _sk_bilinear_px_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,38,8,0,0 // vbroadcastss 0x826(%rip),%ymm0 # 5be0 <_sk_callback_hsw+0x560> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 197,124,16,64,64 // vmovups 0x40(%rax),%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_ny_hsw .globl _sk_bilinear_ny_hsw FUNCTION(_sk_bilinear_ny_hsw) _sk_bilinear_ny_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,10,8,0,0 // vbroadcastss 0x80a(%rip),%ymm1 # 5be4 <_sk_callback_hsw+0x564> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,0,8,0,0 // vbroadcastss 0x800(%rip),%ymm8 # 5be8 <_sk_callback_hsw+0x568> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_py_hsw .globl _sk_bilinear_py_hsw FUNCTION(_sk_bilinear_py_hsw) _sk_bilinear_py_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,232,7,0,0 // vbroadcastss 0x7e8(%rip),%ymm1 # 5bec <_sk_callback_hsw+0x56c> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 197,124,16,64,96 // vmovups 0x60(%rax),%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3x_hsw .globl _sk_bicubic_n3x_hsw FUNCTION(_sk_bicubic_n3x_hsw) _sk_bicubic_n3x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,203,7,0,0 // vbroadcastss 0x7cb(%rip),%ymm0 # 5bf0 <_sk_callback_hsw+0x570> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,194,7,0,0 // vbroadcastss 0x7c2(%rip),%ymm8 # 5bf4 <_sk_callback_hsw+0x574> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,179,7,0,0 // vbroadcastss 0x7b3(%rip),%ymm10 # 5bf8 <_sk_callback_hsw+0x578> .byte 196,98,125,24,29,174,7,0,0 // vbroadcastss 0x7ae(%rip),%ymm11 # 5bfc <_sk_callback_hsw+0x57c> .byte 196,66,61,168,218 // vfmadd213ps %ymm10,%ymm8,%ymm11 .byte 196,65,36,89,193 // vmulps %ymm9,%ymm11,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1x_hsw .globl _sk_bicubic_n1x_hsw FUNCTION(_sk_bicubic_n1x_hsw) _sk_bicubic_n1x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,145,7,0,0 // vbroadcastss 0x791(%rip),%ymm0 # 5c00 <_sk_callback_hsw+0x580> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,136,7,0,0 // vbroadcastss 0x788(%rip),%ymm8 # 5c04 <_sk_callback_hsw+0x584> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,126,7,0,0 // vbroadcastss 0x77e(%rip),%ymm9 # 5c08 <_sk_callback_hsw+0x588> .byte 196,98,125,24,21,121,7,0,0 // vbroadcastss 0x779(%rip),%ymm10 # 5c0c <_sk_callback_hsw+0x58c> .byte 196,66,61,168,209 // vfmadd213ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,13,111,7,0,0 // vbroadcastss 0x76f(%rip),%ymm9 # 5c10 <_sk_callback_hsw+0x590> .byte 196,66,61,184,202 // vfmadd231ps %ymm10,%ymm8,%ymm9 .byte 196,98,125,24,21,101,7,0,0 // vbroadcastss 0x765(%rip),%ymm10 # 5c14 <_sk_callback_hsw+0x594> .byte 196,66,61,184,209 // vfmadd231ps %ymm9,%ymm8,%ymm10 .byte 197,124,17,144,128,0,0,0 // vmovups %ymm10,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p1x_hsw .globl _sk_bicubic_p1x_hsw FUNCTION(_sk_bicubic_p1x_hsw) _sk_bicubic_p1x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,77,7,0,0 // vbroadcastss 0x74d(%rip),%ymm8 # 5c18 <_sk_callback_hsw+0x598> .byte 197,188,88,0 // vaddps (%rax),%ymm8,%ymm0 .byte 197,124,16,72,64 // vmovups 0x40(%rax),%ymm9 .byte 196,98,125,24,21,63,7,0,0 // vbroadcastss 0x73f(%rip),%ymm10 # 5c1c <_sk_callback_hsw+0x59c> .byte 196,98,125,24,29,58,7,0,0 // vbroadcastss 0x73a(%rip),%ymm11 # 5c20 <_sk_callback_hsw+0x5a0> .byte 196,66,53,168,218 // vfmadd213ps %ymm10,%ymm9,%ymm11 .byte 196,66,53,168,216 // vfmadd213ps %ymm8,%ymm9,%ymm11 .byte 196,98,125,24,5,43,7,0,0 // vbroadcastss 0x72b(%rip),%ymm8 # 5c24 <_sk_callback_hsw+0x5a4> .byte 196,66,53,184,195 // vfmadd231ps %ymm11,%ymm9,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p3x_hsw .globl _sk_bicubic_p3x_hsw FUNCTION(_sk_bicubic_p3x_hsw) _sk_bicubic_p3x_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,19,7,0,0 // vbroadcastss 0x713(%rip),%ymm0 # 5c28 <_sk_callback_hsw+0x5a8> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 197,124,16,64,64 // vmovups 0x40(%rax),%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,0,7,0,0 // vbroadcastss 0x700(%rip),%ymm10 # 5c2c <_sk_callback_hsw+0x5ac> .byte 196,98,125,24,29,251,6,0,0 // vbroadcastss 0x6fb(%rip),%ymm11 # 5c30 <_sk_callback_hsw+0x5b0> .byte 196,66,61,168,218 // vfmadd213ps %ymm10,%ymm8,%ymm11 .byte 196,65,52,89,195 // vmulps %ymm11,%ymm9,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3y_hsw .globl _sk_bicubic_n3y_hsw FUNCTION(_sk_bicubic_n3y_hsw) _sk_bicubic_n3y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,222,6,0,0 // vbroadcastss 0x6de(%rip),%ymm1 # 5c34 <_sk_callback_hsw+0x5b4> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,212,6,0,0 // vbroadcastss 0x6d4(%rip),%ymm8 # 5c38 <_sk_callback_hsw+0x5b8> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,197,6,0,0 // vbroadcastss 0x6c5(%rip),%ymm10 # 5c3c <_sk_callback_hsw+0x5bc> .byte 196,98,125,24,29,192,6,0,0 // vbroadcastss 0x6c0(%rip),%ymm11 # 5c40 <_sk_callback_hsw+0x5c0> .byte 196,66,61,168,218 // vfmadd213ps %ymm10,%ymm8,%ymm11 .byte 196,65,36,89,193 // vmulps %ymm9,%ymm11,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1y_hsw .globl _sk_bicubic_n1y_hsw FUNCTION(_sk_bicubic_n1y_hsw) _sk_bicubic_n1y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,163,6,0,0 // vbroadcastss 0x6a3(%rip),%ymm1 # 5c44 <_sk_callback_hsw+0x5c4> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,153,6,0,0 // vbroadcastss 0x699(%rip),%ymm8 # 5c48 <_sk_callback_hsw+0x5c8> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,143,6,0,0 // vbroadcastss 0x68f(%rip),%ymm9 # 5c4c <_sk_callback_hsw+0x5cc> .byte 196,98,125,24,21,138,6,0,0 // vbroadcastss 0x68a(%rip),%ymm10 # 5c50 <_sk_callback_hsw+0x5d0> .byte 196,66,61,168,209 // vfmadd213ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,13,128,6,0,0 // vbroadcastss 0x680(%rip),%ymm9 # 5c54 <_sk_callback_hsw+0x5d4> .byte 196,66,61,184,202 // vfmadd231ps %ymm10,%ymm8,%ymm9 .byte 196,98,125,24,21,118,6,0,0 // vbroadcastss 0x676(%rip),%ymm10 # 5c58 <_sk_callback_hsw+0x5d8> .byte 196,66,61,184,209 // vfmadd231ps %ymm9,%ymm8,%ymm10 .byte 197,124,17,144,160,0,0,0 // vmovups %ymm10,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p1y_hsw .globl _sk_bicubic_p1y_hsw FUNCTION(_sk_bicubic_p1y_hsw) _sk_bicubic_p1y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,94,6,0,0 // vbroadcastss 0x65e(%rip),%ymm8 # 5c5c <_sk_callback_hsw+0x5dc> .byte 197,188,88,72,32 // vaddps 0x20(%rax),%ymm8,%ymm1 .byte 197,124,16,72,96 // vmovups 0x60(%rax),%ymm9 .byte 196,98,125,24,21,79,6,0,0 // vbroadcastss 0x64f(%rip),%ymm10 # 5c60 <_sk_callback_hsw+0x5e0> .byte 196,98,125,24,29,74,6,0,0 // vbroadcastss 0x64a(%rip),%ymm11 # 5c64 <_sk_callback_hsw+0x5e4> .byte 196,66,53,168,218 // vfmadd213ps %ymm10,%ymm9,%ymm11 .byte 196,66,53,168,216 // vfmadd213ps %ymm8,%ymm9,%ymm11 .byte 196,98,125,24,5,59,6,0,0 // vbroadcastss 0x63b(%rip),%ymm8 # 5c68 <_sk_callback_hsw+0x5e8> .byte 196,66,53,184,195 // vfmadd231ps %ymm11,%ymm9,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p3y_hsw .globl _sk_bicubic_p3y_hsw FUNCTION(_sk_bicubic_p3y_hsw) _sk_bicubic_p3y_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,35,6,0,0 // vbroadcastss 0x623(%rip),%ymm1 # 5c6c <_sk_callback_hsw+0x5ec> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 197,124,16,64,96 // vmovups 0x60(%rax),%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,15,6,0,0 // vbroadcastss 0x60f(%rip),%ymm10 # 5c70 <_sk_callback_hsw+0x5f0> .byte 196,98,125,24,29,10,6,0,0 // vbroadcastss 0x60a(%rip),%ymm11 # 5c74 <_sk_callback_hsw+0x5f4> .byte 196,66,61,168,218 // vfmadd213ps %ymm10,%ymm8,%ymm11 .byte 196,65,52,89,195 // vmulps %ymm11,%ymm9,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_callback_hsw .globl _sk_callback_hsw FUNCTION(_sk_callback_hsw) _sk_callback_hsw: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,228,224 // and $0xffffffffffffffe0,%rsp .byte 72,129,236,192,0,0,0 // sub $0xc0,%rsp .byte 197,252,41,188,36,128,0,0,0 // vmovaps %ymm7,0x80(%rsp) .byte 197,252,41,116,36,96 // vmovaps %ymm6,0x60(%rsp) .byte 197,252,41,108,36,64 // vmovaps %ymm5,0x40(%rsp) .byte 197,252,41,100,36,32 // vmovaps %ymm4,0x20(%rsp) .byte 76,137,195 // mov %r8,%rbx .byte 72,137,76,36,24 // mov %rcx,0x18(%rsp) .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,252 // mov %rdi,%r12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,198 // mov %rax,%r14 .byte 73,137,245 // mov %rsi,%r13 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,193 // vunpckhps %ymm1,%ymm0,%ymm0 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,211 // vunpckhps %ymm3,%ymm2,%ymm2 .byte 197,221,20,217 // vunpcklpd %ymm1,%ymm4,%ymm3 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,253,20,226 // vunpcklpd %ymm2,%ymm0,%ymm4 .byte 197,253,21,194 // vunpckhpd %ymm2,%ymm0,%ymm0 .byte 196,227,101,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm2 .byte 196,227,93,24,232,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm5 .byte 196,227,101,6,201,49 // vperm2f128 $0x31,%ymm1,%ymm3,%ymm1 .byte 196,227,93,6,192,49 // vperm2f128 $0x31,%ymm0,%ymm4,%ymm0 .byte 196,193,125,17,86,8 // vmovupd %ymm2,0x8(%r14) .byte 196,193,125,17,110,40 // vmovupd %ymm5,0x28(%r14) .byte 196,193,125,17,78,72 // vmovupd %ymm1,0x48(%r14) .byte 196,193,125,17,70,104 // vmovupd %ymm0,0x68(%r14) .byte 72,133,219 // test %rbx,%rbx .byte 190,8,0,0,0 // mov $0x8,%esi .byte 15,69,243 // cmovne %ebx,%esi .byte 76,137,247 // mov %r14,%rdi .byte 197,248,119 // vzeroupper .byte 65,255,22 // callq *(%r14) .byte 73,139,134,136,0,0,0 // mov 0x88(%r14),%rax .byte 197,248,16,0 // vmovups (%rax),%xmm0 .byte 197,248,16,72,16 // vmovups 0x10(%rax),%xmm1 .byte 197,248,16,80,32 // vmovups 0x20(%rax),%xmm2 .byte 197,248,16,88,48 // vmovups 0x30(%rax),%xmm3 .byte 196,227,101,24,88,112,1 // vinsertf128 $0x1,0x70(%rax),%ymm3,%ymm3 .byte 196,227,109,24,80,96,1 // vinsertf128 $0x1,0x60(%rax),%ymm2,%ymm2 .byte 196,227,117,24,72,80,1 // vinsertf128 $0x1,0x50(%rax),%ymm1,%ymm1 .byte 196,227,125,24,64,64,1 // vinsertf128 $0x1,0x40(%rax),%ymm0,%ymm0 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,233 // vunpckhps %ymm1,%ymm0,%ymm5 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,219 // vunpckhps %ymm3,%ymm2,%ymm3 .byte 197,221,20,193 // vunpcklpd %ymm1,%ymm4,%ymm0 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,213,20,211 // vunpcklpd %ymm3,%ymm5,%ymm2 .byte 197,213,21,219 // vunpckhpd %ymm3,%ymm5,%ymm3 .byte 76,137,238 // mov %r13,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,231 // mov %r12,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 72,139,76,36,24 // mov 0x18(%rsp),%rcx .byte 73,137,216 // mov %rbx,%r8 .byte 197,252,40,100,36,32 // vmovaps 0x20(%rsp),%ymm4 .byte 197,252,40,108,36,64 // vmovaps 0x40(%rsp),%ymm5 .byte 197,252,40,116,36,96 // vmovaps 0x60(%rsp),%ymm6 .byte 197,252,40,188,36,128,0,0,0 // vmovaps 0x80(%rsp),%ymm7 .byte 72,141,101,216 // lea -0x28(%rbp),%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax BALIGN4 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,1 // cmpb $0x1,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 252 // cld .byte 190,0,0,128,63 // mov $0x3f800000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,224,64,154 // cmpb $0x9a,0x40e00000(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 587d <.literal4+0xb9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 588d <.literal4+0xc9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 589d <.literal4+0xd9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 58ad <.literal4+0xe9> .byte 0,0 // add %al,(%rax) .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 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,145 // cmpb $0x91,(%rdi) .byte 131,158,61,92,143,50,63 // sbbl $0x3f,0x328f5c3d(%rsi) .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,10,215 // ds or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,145,131,158,61 // cmp $0x3d9e8391,%eax .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,10,215 // ds or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,82,184,78,65 // cmp $0x414eb852,%eax .byte 186,159,98,60,57 // mov $0x393c629f,%edx .byte 215 // xlat %ds:(%rbx) .byte 32,187,109,165,144,63 // and %bh,0x3f90a56d(%rbx) .byte 252 // cld .byte 191,16,62,168,177 // mov $0xb1a83e10,%edi .byte 152 // cwtl .byte 59,0 // cmp (%rax),%eax .byte 0,128,63,0,0,192 // add %al,-0x3fffffc1(%rax) .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,128,64,171,170,42 // add %al,0x2aaaab40(%rax) .byte 62,0,0 // add %al,%ds:(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,64,171 // add %al,-0x55(%rax) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,129,128,128,59 // mov $0x3b808081,%esi .byte 129,128,128,59,0,248,0,0,8,33 // addl $0x21080000,-0x7ffc480(%rax) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 591d <.literal4+0x159> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,129,128,128,59 // and %eax,0x3b808081(,%rdi,1) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,129,128,128,59,0,0 // addl $0x3b80,-0x7f7ec480(%rax) .byte 0,52,255 // add %dh,(%rdi,%rdi,8) .byte 255 // (bad) .byte 127,0 // jg 5944 <.literal4+0x180> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 59bd <.literal4+0x1f9> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 5978 <.literal4+0x1b4> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 59f1 <.literal4+0x22d> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 59ac <.literal4+0x1e8> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 5a25 <.literal4+0x261> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 59e0 <.literal4+0x21c> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 5a59 <.literal4+0x295> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,200 // add %al,-0x37ffffc1(%rax) .byte 66,0,0 // rex.X add %al,(%rax) .byte 127,67 // jg 5a57 <.literal4+0x293> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,203,61,13 // movabs %eax,0xd3dcb3c1118c23b .byte 190,80,128,3,62 // mov $0x3e038050,%esi .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 5a77 <.literal4+0x2b3> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,0,0,128,63,129,128 // addl $0x80813f80,0x3b80(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,128,63,129,128,128 // add %al,-0x7f7f7ec1(%rax) .byte 59,0 // cmp (%rax),%eax .byte 0,128,63,129,128,128 // add %al,-0x7f7f7ec1(%rax) .byte 59,0 // cmp (%rax),%eax .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 5a79 <.literal4+0x2b5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 5a95 <.literal4+0x2d1> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 5ab1 <.literal4+0x2ed> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,0 // add %al,(%rax) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 5b06 <.literal4+0x342> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,240 // mov %ecx,-0xfffc278(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,240 // mov %ecx,-0xfffc278(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,0 // mov %ecx,0x3d88(%rax) .byte 112,65 // jo 5b69 <.literal4+0x3a5> .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 255 // (bad) .byte 127,71 // jg 5b9f <.literal4+0x3db> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,191,0,0,0 // add %al,0xbf(%rax) .byte 63 // (bad) .byte 208 // (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 152 // cwtl .byte 221,147,61,18,120,57 // fstl 0x3978123d(%rbx) .byte 64,45,16,17,192,32 // rex sub $0x20c01110,%eax .byte 148 // xchg %eax,%esp .byte 90 // pop %rdx .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,0,24 // add %bl,%ds:(%rax) .byte 161,57,1,0,0,0,111,43,231 // movabs 0xe72b6f0000000139,%eax .byte 187,159,215,202,60 // mov $0x3ccad79f,%ebx .byte 212 // (bad) .byte 100,84 // fs push %rsp .byte 189,169,240,34,62 // mov $0x3e22f0a9,%ebp .byte 0,0 // add %al,(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,128,63,171 // sarb $0xab,0x3f800000(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,114,28,199,62 // mov $0x3ec71c72,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,63,85 // sarb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,0,63 // mov $0x3f000000,%edi .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,63,85 // sarb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,57,142,99,61 // mov $0x3d638e39,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,171 // sarb $0xab,(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,114,28,199,62 // mov $0x3ec71c72,%esi .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,128,63,171 // sarb $0xab,0x3f800000(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,114,28,199,62 // mov $0x3ec71c72,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,63,85 // sarb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,0,63 // mov $0x3f000000,%edi .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,63,85 // sarb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,57,142,99,61 // mov $0x3d638e39,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,171 // sarb $0xab,(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,114,28,199,62 // mov $0x3ec71c72,%esi BALIGN32 .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005ca8 <_sk_callback_hsw+0xa000628> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005cb0 <_sk_callback_hsw+0x12000630> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005cb8 <_sk_callback_hsw+0x1a000638> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005cc0 <_sk_callback_hsw+0x3000640> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005d08 <_sk_callback_hsw+0xa000688> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005d10 <_sk_callback_hsw+0x12000690> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005d18 <_sk_callback_hsw+0x1a000698> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005d20 <_sk_callback_hsw+0x30006a0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005d68 <_sk_callback_hsw+0xa0006e8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005d70 <_sk_callback_hsw+0x120006f0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005d78 <_sk_callback_hsw+0x1a0006f8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005d80 <_sk_callback_hsw+0x3000700> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005dc8 <_sk_callback_hsw+0xa000748> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005dd0 <_sk_callback_hsw+0x12000750> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005dd8 <_sk_callback_hsw+0x1a000758> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005de0 <_sk_callback_hsw+0x3000760> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005e28 <_sk_callback_hsw+0xa0007a8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005e30 <_sk_callback_hsw+0x120007b0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005e38 <_sk_callback_hsw+0x1a0007b8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005e40 <_sk_callback_hsw+0x30007c0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005e88 <_sk_callback_hsw+0xa000808> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005e90 <_sk_callback_hsw+0x12000810> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005e98 <_sk_callback_hsw+0x1a000818> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005ea0 <_sk_callback_hsw+0x3000820> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005ee8 <_sk_callback_hsw+0xa000868> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005ef0 <_sk_callback_hsw+0x12000870> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005ef8 <_sk_callback_hsw+0x1a000878> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005f00 <_sk_callback_hsw+0x3000880> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005f48 <_sk_callback_hsw+0xa0008c8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005f50 <_sk_callback_hsw+0x120008d0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005f58 <_sk_callback_hsw+0x1a0008d8> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005f60 <_sk_callback_hsw+0x30008e0> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005fa8 <_sk_callback_hsw+0xa000928> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 12005fb0 <_sk_callback_hsw+0x12000930> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a005fb8 <_sk_callback_hsw+0x1a000938> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 3005fc0 <_sk_callback_hsw+0x3000940> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff BALIGN16 .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,2 // add %al,(%rdx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) BALIGN32 HIDDEN _sk_start_pipeline_avx .globl _sk_start_pipeline_avx FUNCTION(_sk_start_pipeline_avx) _sk_start_pipeline_avx: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,208 // mov %rdx,%r8 .byte 72,137,243 // mov %rsi,%rbx .byte 73,137,254 // mov %rdi,%r14 .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,247 // mov %rsi,%r15 .byte 73,141,78,8 // lea 0x8(%r14),%rcx .byte 76,57,193 // cmp %r8,%rcx .byte 118,5 // jbe 33 <_sk_start_pipeline_avx+0x33> .byte 76,137,242 // mov %r14,%rdx .byte 235,42 // jmp 5d <_sk_start_pipeline_avx+0x5d> .byte 76,137,69,208 // mov %r8,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 76,137,254 // mov %r15,%rsi .byte 76,137,242 // mov %r14,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,139,69,208 // mov -0x30(%rbp),%r8 .byte 73,141,86,8 // lea 0x8(%r14),%rdx .byte 73,131,198,16 // add $0x10,%r14 .byte 77,57,198 // cmp %r8,%r14 .byte 73,137,214 // mov %rdx,%r14 .byte 118,218 // jbe 37 <_sk_start_pipeline_avx+0x37> .byte 73,41,208 // sub %rdx,%r8 .byte 116,12 // je 6e <_sk_start_pipeline_avx+0x6e> .byte 76,137,231 // mov %r12,%rdi .byte 76,137,254 // mov %r15,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_avx .globl _sk_just_return_avx FUNCTION(_sk_just_return_avx) _sk_just_return_avx: .byte 195 // retq HIDDEN _sk_seed_shader_avx .globl _sk_seed_shader_avx FUNCTION(_sk_seed_shader_avx) _sk_seed_shader_avx: .byte 197,249,110,194 // vmovd %edx,%xmm0 .byte 197,249,112,192,0 // vpshufd $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,67,120,0,0 // vbroadcastss 0x7843(%rip),%ymm1 # 78e0 <_sk_callback_avx+0x144> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,88,7 // vaddps (%rdi),%ymm0,%ymm0 .byte 197,249,110,209 // vmovd %ecx,%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,227,109,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,21,29,120,0,0 // vbroadcastss 0x781d(%rip),%ymm2 # 78e4 <_sk_callback_avx+0x148> .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_avx .globl _sk_dither_avx FUNCTION(_sk_dither_avx) _sk_dither_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,16,71,32 // vmovups 0x20(%rdi),%ymm8 .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 197,121,110,210 // vmovd %edx,%xmm10 .byte 196,65,121,112,210,0 // vpshufd $0x0,%xmm10,%xmm10 .byte 196,65,49,254,202 // vpaddd %xmm10,%xmm9,%xmm9 .byte 196,65,57,254,194 // vpaddd %xmm10,%xmm8,%xmm8 .byte 196,67,61,24,193,1 // vinsertf128 $0x1,%xmm9,%ymm8,%ymm8 .byte 197,121,110,201 // vmovd %ecx,%xmm9 .byte 196,65,121,112,201,0 // vpshufd $0x0,%xmm9,%xmm9 .byte 196,67,53,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm9,%ymm9 .byte 196,65,52,87,208 // vxorps %ymm8,%ymm9,%ymm10 .byte 196,98,125,24,29,198,119,0,0 // vbroadcastss 0x77c6(%rip),%ymm11 # 78e8 <_sk_callback_avx+0x14c> .byte 196,65,44,84,203 // vandps %ymm11,%ymm10,%ymm9 .byte 196,193,25,114,241,5 // vpslld $0x5,%xmm9,%xmm12 .byte 196,67,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm9 .byte 196,193,49,114,241,5 // vpslld $0x5,%xmm9,%xmm9 .byte 196,67,29,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm12,%ymm9 .byte 196,65,60,84,219 // vandps %ymm11,%ymm8,%ymm11 .byte 196,193,25,114,243,4 // vpslld $0x4,%xmm11,%xmm12 .byte 196,67,125,25,219,1 // vextractf128 $0x1,%ymm11,%xmm11 .byte 196,193,33,114,243,4 // vpslld $0x4,%xmm11,%xmm11 .byte 196,67,29,24,219,1 // vinsertf128 $0x1,%xmm11,%ymm12,%ymm11 .byte 196,98,125,24,37,135,119,0,0 // vbroadcastss 0x7787(%rip),%ymm12 # 78ec <_sk_callback_avx+0x150> .byte 196,98,125,24,45,130,119,0,0 // vbroadcastss 0x7782(%rip),%ymm13 # 78f0 <_sk_callback_avx+0x154> .byte 196,65,44,84,245 // vandps %ymm13,%ymm10,%ymm14 .byte 196,193,1,114,246,2 // vpslld $0x2,%xmm14,%xmm15 .byte 196,67,125,25,246,1 // vextractf128 $0x1,%ymm14,%xmm14 .byte 196,193,9,114,246,2 // vpslld $0x2,%xmm14,%xmm14 .byte 196,67,5,24,246,1 // vinsertf128 $0x1,%xmm14,%ymm15,%ymm14 .byte 196,65,60,84,237 // vandps %ymm13,%ymm8,%ymm13 .byte 196,65,17,254,253 // vpaddd %xmm13,%xmm13,%xmm15 .byte 196,67,125,25,237,1 // vextractf128 $0x1,%ymm13,%xmm13 .byte 196,65,17,254,237 // vpaddd %xmm13,%xmm13,%xmm13 .byte 196,67,5,24,237,1 // vinsertf128 $0x1,%xmm13,%ymm15,%ymm13 .byte 196,65,44,84,212 // vandps %ymm12,%ymm10,%ymm10 .byte 196,193,1,114,210,1 // vpsrld $0x1,%xmm10,%xmm15 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,210,1 // vpsrld $0x1,%xmm10,%xmm10 .byte 196,67,5,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm15,%ymm10 .byte 196,65,60,84,196 // vandps %ymm12,%ymm8,%ymm8 .byte 196,193,25,114,208,2 // vpsrld $0x2,%xmm8,%xmm12 .byte 196,67,125,25,192,1 // vextractf128 $0x1,%ymm8,%xmm8 .byte 196,193,57,114,208,2 // vpsrld $0x2,%xmm8,%xmm8 .byte 196,67,29,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm12,%ymm8 .byte 196,65,20,86,219 // vorps %ymm11,%ymm13,%ymm11 .byte 196,65,36,86,192 // vorps %ymm8,%ymm11,%ymm8 .byte 196,65,52,86,206 // vorps %ymm14,%ymm9,%ymm9 .byte 196,65,60,86,193 // vorps %ymm9,%ymm8,%ymm8 .byte 196,65,60,86,194 // vorps %ymm10,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,237,118,0,0 // vbroadcastss 0x76ed(%rip),%ymm9 # 78f4 <_sk_callback_avx+0x158> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,13,227,118,0,0 // vbroadcastss 0x76e3(%rip),%ymm9 # 78f8 <_sk_callback_avx+0x15c> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,188,95,201 // vmaxps %ymm1,%ymm8,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 197,188,95,210 // vmaxps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_avx .globl _sk_uniform_color_avx FUNCTION(_sk_uniform_color_avx) _sk_uniform_color_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_avx .globl _sk_black_color_avx FUNCTION(_sk_black_color_avx) _sk_black_color_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,131,118,0,0 // vbroadcastss 0x7683(%rip),%ymm3 # 78fc <_sk_callback_avx+0x160> .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_avx .globl _sk_white_color_avx FUNCTION(_sk_white_color_avx) _sk_white_color_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,110,118,0,0 // vbroadcastss 0x766e(%rip),%ymm0 # 7900 <_sk_callback_avx+0x164> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,252,40,216 // vmovaps %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_rgba_avx .globl _sk_load_rgba_avx FUNCTION(_sk_load_rgba_avx) _sk_load_rgba_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,0 // vmovups (%rax),%ymm0 .byte 197,252,16,72,32 // vmovups 0x20(%rax),%ymm1 .byte 197,252,16,80,64 // vmovups 0x40(%rax),%ymm2 .byte 197,252,16,88,96 // vmovups 0x60(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_rgba_avx .globl _sk_store_rgba_avx FUNCTION(_sk_store_rgba_avx) _sk_store_rgba_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,17,0 // vmovups %ymm0,(%rax) .byte 197,252,17,72,32 // vmovups %ymm1,0x20(%rax) .byte 197,252,17,80,64 // vmovups %ymm2,0x40(%rax) .byte 197,252,17,88,96 // vmovups %ymm3,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_avx .globl _sk_clear_avx FUNCTION(_sk_clear_avx) _sk_clear_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_avx .globl _sk_srcatop_avx FUNCTION(_sk_srcatop_avx) _sk_srcatop_avx: .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 196,98,125,24,5,17,118,0,0 // vbroadcastss 0x7611(%rip),%ymm8 # 7904 <_sk_callback_avx+0x168> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,204 // vmulps %ymm4,%ymm8,%ymm9 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,60,89,205 // vmulps %ymm5,%ymm8,%ymm9 .byte 197,180,88,201 // vaddps %ymm1,%ymm9,%ymm1 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,60,89,206 // vmulps %ymm6,%ymm8,%ymm9 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 196,193,100,88,216 // vaddps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_avx .globl _sk_dstatop_avx FUNCTION(_sk_dstatop_avx) _sk_dstatop_avx: .byte 197,100,89,196 // vmulps %ymm4,%ymm3,%ymm8 .byte 196,98,125,24,13,211,117,0,0 // vbroadcastss 0x75d3(%rip),%ymm9 # 7908 <_sk_callback_avx+0x16c> .byte 197,52,92,207 // vsubps %ymm7,%ymm9,%ymm9 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,100,89,197 // vmulps %ymm5,%ymm3,%ymm8 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 197,100,89,198 // vmulps %ymm6,%ymm3,%ymm8 .byte 197,180,89,210 // vmulps %ymm2,%ymm9,%ymm2 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,100,89,199 // vmulps %ymm7,%ymm3,%ymm8 .byte 197,180,89,219 // vmulps %ymm3,%ymm9,%ymm3 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_avx .globl _sk_srcin_avx FUNCTION(_sk_srcin_avx) _sk_srcin_avx: .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_avx .globl _sk_dstin_avx FUNCTION(_sk_dstin_avx) _sk_dstin_avx: .byte 197,228,89,196 // vmulps %ymm4,%ymm3,%ymm0 .byte 197,228,89,205 // vmulps %ymm5,%ymm3,%ymm1 .byte 197,228,89,214 // vmulps %ymm6,%ymm3,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_avx .globl _sk_srcout_avx FUNCTION(_sk_srcout_avx) _sk_srcout_avx: .byte 196,98,125,24,5,114,117,0,0 // vbroadcastss 0x7572(%rip),%ymm8 # 790c <_sk_callback_avx+0x170> .byte 197,60,92,199 // vsubps %ymm7,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_avx .globl _sk_dstout_avx FUNCTION(_sk_dstout_avx) _sk_dstout_avx: .byte 196,226,125,24,5,85,117,0,0 // vbroadcastss 0x7555(%rip),%ymm0 # 7910 <_sk_callback_avx+0x174> .byte 197,252,92,219 // vsubps %ymm3,%ymm0,%ymm3 .byte 197,228,89,196 // vmulps %ymm4,%ymm3,%ymm0 .byte 197,228,89,205 // vmulps %ymm5,%ymm3,%ymm1 .byte 197,228,89,214 // vmulps %ymm6,%ymm3,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_avx .globl _sk_srcover_avx FUNCTION(_sk_srcover_avx) _sk_srcover_avx: .byte 196,98,125,24,5,56,117,0,0 // vbroadcastss 0x7538(%rip),%ymm8 # 7914 <_sk_callback_avx+0x178> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,204 // vmulps %ymm4,%ymm8,%ymm9 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 197,60,89,205 // vmulps %ymm5,%ymm8,%ymm9 .byte 197,180,88,201 // vaddps %ymm1,%ymm9,%ymm1 .byte 197,60,89,206 // vmulps %ymm6,%ymm8,%ymm9 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_avx .globl _sk_dstover_avx FUNCTION(_sk_dstover_avx) _sk_dstover_avx: .byte 196,98,125,24,5,11,117,0,0 // vbroadcastss 0x750b(%rip),%ymm8 # 7918 <_sk_callback_avx+0x17c> .byte 197,60,92,199 // vsubps %ymm7,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_avx .globl _sk_modulate_avx FUNCTION(_sk_modulate_avx) _sk_modulate_avx: .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_avx .globl _sk_multiply_avx FUNCTION(_sk_multiply_avx) _sk_multiply_avx: .byte 196,98,125,24,5,202,116,0,0 // vbroadcastss 0x74ca(%rip),%ymm8 # 791c <_sk_callback_avx+0x180> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,208 // vmulps %ymm0,%ymm9,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 197,52,89,209 // vmulps %ymm1,%ymm9,%ymm10 .byte 197,60,89,221 // vmulps %ymm5,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 197,52,89,210 // vmulps %ymm2,%ymm9,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 197,52,89,203 // vmulps %ymm3,%ymm9,%ymm9 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 196,193,100,88,216 // vaddps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__avx .globl _sk_plus__avx FUNCTION(_sk_plus__avx) _sk_plus__avx: .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_avx .globl _sk_screen_avx FUNCTION(_sk_screen_avx) _sk_screen_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 197,100,88,199 // vaddps %ymm7,%ymm3,%ymm8 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 197,188,92,219 // vsubps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__avx .globl _sk_xor__avx FUNCTION(_sk_xor__avx) _sk_xor__avx: .byte 196,98,125,24,5,25,116,0,0 // vbroadcastss 0x7419(%rip),%ymm8 # 7920 <_sk_callback_avx+0x184> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,212 // vmulps %ymm4,%ymm8,%ymm10 .byte 197,172,88,192 // vaddps %ymm0,%ymm10,%ymm0 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 197,60,89,213 // vmulps %ymm5,%ymm8,%ymm10 .byte 197,172,88,201 // vaddps %ymm1,%ymm10,%ymm1 .byte 197,180,89,210 // vmulps %ymm2,%ymm9,%ymm2 .byte 197,60,89,214 // vmulps %ymm6,%ymm8,%ymm10 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 197,180,89,219 // vmulps %ymm3,%ymm9,%ymm3 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_avx .globl _sk_darken_avx FUNCTION(_sk_darken_avx) _sk_darken_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,95,193 // vmaxps %ymm9,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,95,201 // vmaxps %ymm9,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,95,209 // vmaxps %ymm9,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,153,115,0,0 // vbroadcastss 0x7399(%rip),%ymm8 # 7924 <_sk_callback_avx+0x188> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_avx .globl _sk_lighten_avx FUNCTION(_sk_lighten_avx) _sk_lighten_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,93,193 // vminps %ymm9,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,93,201 // vminps %ymm9,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,93,209 // vminps %ymm9,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,69,115,0,0 // vbroadcastss 0x7345(%rip),%ymm8 # 7928 <_sk_callback_avx+0x18c> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_avx .globl _sk_difference_avx FUNCTION(_sk_difference_avx) _sk_difference_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 196,193,124,93,193 // vminps %ymm9,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,207 // vmulps %ymm7,%ymm1,%ymm1 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,193,116,93,201 // vminps %ymm9,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,215 // vmulps %ymm7,%ymm2,%ymm2 .byte 197,100,89,206 // vmulps %ymm6,%ymm3,%ymm9 .byte 196,193,108,93,209 // vminps %ymm9,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,229,114,0,0 // vbroadcastss 0x72e5(%rip),%ymm8 # 792c <_sk_callback_avx+0x190> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_avx .globl _sk_exclusion_avx FUNCTION(_sk_exclusion_avx) _sk_exclusion_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 196,98,125,24,5,160,114,0,0 // vbroadcastss 0x72a0(%rip),%ymm8 # 7930 <_sk_callback_avx+0x194> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_avx .globl _sk_colorburn_avx FUNCTION(_sk_colorburn_avx) _sk_colorburn_avx: .byte 196,98,125,24,5,139,114,0,0 // vbroadcastss 0x728b(%rip),%ymm8 # 7934 <_sk_callback_avx+0x198> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,216 // vmulps %ymm0,%ymm9,%ymm11 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,228 // vmulps %ymm4,%ymm8,%ymm12 .byte 197,68,92,236 // vsubps %ymm4,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,20,94,232 // vdivps %ymm0,%ymm13,%ymm13 .byte 196,65,68,93,237 // vminps %ymm13,%ymm7,%ymm13 .byte 196,65,68,92,237 // vsubps %ymm13,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 196,65,36,88,237 // vaddps %ymm13,%ymm11,%ymm13 .byte 196,65,28,88,237 // vaddps %ymm13,%ymm12,%ymm13 .byte 197,28,88,224 // vaddps %ymm0,%ymm12,%ymm12 .byte 196,193,124,194,194,0 // vcmpeqps %ymm10,%ymm0,%ymm0 .byte 196,195,21,74,196,0 // vblendvps %ymm0,%ymm12,%ymm13,%ymm0 .byte 197,92,194,231,0 // vcmpeqps %ymm7,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,52,89,217 // vmulps %ymm1,%ymm9,%ymm11 .byte 197,60,89,229 // vmulps %ymm5,%ymm8,%ymm12 .byte 197,68,92,237 // vsubps %ymm5,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,20,94,233 // vdivps %ymm1,%ymm13,%ymm13 .byte 196,65,68,93,237 // vminps %ymm13,%ymm7,%ymm13 .byte 196,65,68,92,237 // vsubps %ymm13,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 196,65,36,88,237 // vaddps %ymm13,%ymm11,%ymm13 .byte 196,65,28,88,237 // vaddps %ymm13,%ymm12,%ymm13 .byte 197,28,88,225 // vaddps %ymm1,%ymm12,%ymm12 .byte 196,193,116,194,202,0 // vcmpeqps %ymm10,%ymm1,%ymm1 .byte 196,195,21,74,204,16 // vblendvps %ymm1,%ymm12,%ymm13,%ymm1 .byte 197,84,194,231,0 // vcmpeqps %ymm7,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,52,89,202 // vmulps %ymm2,%ymm9,%ymm9 .byte 196,65,108,194,210,0 // vcmpeqps %ymm10,%ymm2,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 197,68,92,230 // vsubps %ymm6,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 197,28,94,226 // vdivps %ymm2,%ymm12,%ymm12 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,65,68,92,228 // vsubps %ymm12,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,52,88,228 // vaddps %ymm12,%ymm9,%ymm12 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,227,37,74,210,160 // vblendvps %ymm10,%ymm2,%ymm11,%ymm2 .byte 197,76,194,215,0 // vcmpeqps %ymm7,%ymm6,%ymm10 .byte 197,52,88,206 // vaddps %ymm6,%ymm9,%ymm9 .byte 196,195,109,74,209,160 // vblendvps %ymm10,%ymm9,%ymm2,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_avx .globl _sk_colordodge_avx FUNCTION(_sk_colordodge_avx) _sk_colordodge_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,98,125,24,13,135,113,0,0 // vbroadcastss 0x7187(%rip),%ymm9 # 7938 <_sk_callback_avx+0x19c> .byte 197,52,92,215 // vsubps %ymm7,%ymm9,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,52,92,203 // vsubps %ymm3,%ymm9,%ymm9 .byte 197,100,89,228 // vmulps %ymm4,%ymm3,%ymm12 .byte 197,100,92,232 // vsubps %ymm0,%ymm3,%ymm13 .byte 196,65,28,94,229 // vdivps %ymm13,%ymm12,%ymm12 .byte 197,52,89,236 // vmulps %ymm4,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,36,88,228 // vaddps %ymm12,%ymm11,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,232 // vaddps %ymm0,%ymm13,%ymm13 .byte 197,252,194,195,0 // vcmpeqps %ymm3,%ymm0,%ymm0 .byte 196,195,29,74,197,0 // vblendvps %ymm0,%ymm13,%ymm12,%ymm0 .byte 196,65,92,194,224,0 // vcmpeqps %ymm8,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,100,89,229 // vmulps %ymm5,%ymm3,%ymm12 .byte 197,100,92,233 // vsubps %ymm1,%ymm3,%ymm13 .byte 196,65,28,94,229 // vdivps %ymm13,%ymm12,%ymm12 .byte 197,52,89,237 // vmulps %ymm5,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,36,88,228 // vaddps %ymm12,%ymm11,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,233 // vaddps %ymm1,%ymm13,%ymm13 .byte 197,244,194,203,0 // vcmpeqps %ymm3,%ymm1,%ymm1 .byte 196,195,29,74,205,16 // vblendvps %ymm1,%ymm13,%ymm12,%ymm1 .byte 196,65,84,194,224,0 // vcmpeqps %ymm8,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,100,92,226 // vsubps %ymm2,%ymm3,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 197,52,89,230 // vmulps %ymm6,%ymm9,%ymm12 .byte 196,65,68,93,219 // vminps %ymm11,%ymm7,%ymm11 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 197,236,194,211,0 // vcmpeqps %ymm3,%ymm2,%ymm2 .byte 196,195,37,74,212,32 // vblendvps %ymm2,%ymm12,%ymm11,%ymm2 .byte 196,65,76,194,192,0 // vcmpeqps %ymm8,%ymm6,%ymm8 .byte 197,44,88,214 // vaddps %ymm6,%ymm10,%ymm10 .byte 196,195,109,74,210,128 // vblendvps %ymm8,%ymm10,%ymm2,%ymm2 .byte 197,52,89,199 // vmulps %ymm7,%ymm9,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_avx .globl _sk_hardlight_avx FUNCTION(_sk_hardlight_avx) _sk_hardlight_avx: .byte 196,98,125,24,5,153,112,0,0 // vbroadcastss 0x7099(%rip),%ymm8 # 793c <_sk_callback_avx+0x1a0> .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,44,89,200 // vmulps %ymm0,%ymm10,%ymm9 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 196,65,36,88,217 // vaddps %ymm9,%ymm11,%ymm11 .byte 197,124,88,200 // vaddps %ymm0,%ymm0,%ymm9 .byte 197,52,194,227,2 // vcmpleps %ymm3,%ymm9,%ymm12 .byte 197,124,89,204 // vmulps %ymm4,%ymm0,%ymm9 .byte 196,65,52,88,233 // vaddps %ymm9,%ymm9,%ymm13 .byte 197,100,89,207 // vmulps %ymm7,%ymm3,%ymm9 .byte 197,68,92,244 // vsubps %ymm4,%ymm7,%ymm14 .byte 197,228,92,192 // vsubps %ymm0,%ymm3,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,60,89,229 // vmulps %ymm5,%ymm8,%ymm12 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,116,88,225 // vaddps %ymm1,%ymm1,%ymm12 .byte 197,28,194,227,2 // vcmpleps %ymm3,%ymm12,%ymm12 .byte 197,116,89,237 // vmulps %ymm5,%ymm1,%ymm13 .byte 196,65,20,88,237 // vaddps %ymm13,%ymm13,%ymm13 .byte 197,68,92,245 // vsubps %ymm5,%ymm7,%ymm14 .byte 197,228,92,201 // vsubps %ymm1,%ymm3,%ymm1 .byte 196,193,116,89,206 // vmulps %ymm14,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,180,92,201 // vsubps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,108,88,218 // vaddps %ymm2,%ymm2,%ymm11 .byte 197,36,194,219,2 // vcmpleps %ymm3,%ymm11,%ymm11 .byte 197,108,89,230 // vmulps %ymm6,%ymm2,%ymm12 .byte 196,65,28,88,228 // vaddps %ymm12,%ymm12,%ymm12 .byte 197,68,92,238 // vsubps %ymm6,%ymm7,%ymm13 .byte 197,228,92,210 // vsubps %ymm2,%ymm3,%ymm2 .byte 196,193,108,89,213 // vmulps %ymm13,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,180,92,210 // vsubps %ymm2,%ymm9,%ymm2 .byte 196,195,109,74,212,176 // vblendvps %ymm11,%ymm12,%ymm2,%ymm2 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_avx .globl _sk_overlay_avx FUNCTION(_sk_overlay_avx) _sk_overlay_avx: .byte 196,98,125,24,5,194,111,0,0 // vbroadcastss 0x6fc2(%rip),%ymm8 # 7940 <_sk_callback_avx+0x1a4> .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,44,89,200 // vmulps %ymm0,%ymm10,%ymm9 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 196,65,36,88,217 // vaddps %ymm9,%ymm11,%ymm11 .byte 197,92,88,204 // vaddps %ymm4,%ymm4,%ymm9 .byte 197,52,194,231,2 // vcmpleps %ymm7,%ymm9,%ymm12 .byte 197,124,89,204 // vmulps %ymm4,%ymm0,%ymm9 .byte 196,65,52,88,233 // vaddps %ymm9,%ymm9,%ymm13 .byte 197,100,89,207 // vmulps %ymm7,%ymm3,%ymm9 .byte 197,68,92,244 // vsubps %ymm4,%ymm7,%ymm14 .byte 197,228,92,192 // vsubps %ymm0,%ymm3,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,252,88,192 // vaddps %ymm0,%ymm0,%ymm0 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,60,89,229 // vmulps %ymm5,%ymm8,%ymm12 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,84,88,229 // vaddps %ymm5,%ymm5,%ymm12 .byte 197,28,194,231,2 // vcmpleps %ymm7,%ymm12,%ymm12 .byte 197,116,89,237 // vmulps %ymm5,%ymm1,%ymm13 .byte 196,65,20,88,237 // vaddps %ymm13,%ymm13,%ymm13 .byte 197,68,92,245 // vsubps %ymm5,%ymm7,%ymm14 .byte 197,228,92,201 // vsubps %ymm1,%ymm3,%ymm1 .byte 196,193,116,89,206 // vmulps %ymm14,%ymm1,%ymm1 .byte 197,244,88,201 // vaddps %ymm1,%ymm1,%ymm1 .byte 197,180,92,201 // vsubps %ymm1,%ymm9,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,76,88,222 // vaddps %ymm6,%ymm6,%ymm11 .byte 197,36,194,223,2 // vcmpleps %ymm7,%ymm11,%ymm11 .byte 197,108,89,230 // vmulps %ymm6,%ymm2,%ymm12 .byte 196,65,28,88,228 // vaddps %ymm12,%ymm12,%ymm12 .byte 197,68,92,238 // vsubps %ymm6,%ymm7,%ymm13 .byte 197,228,92,210 // vsubps %ymm2,%ymm3,%ymm2 .byte 196,193,108,89,213 // vmulps %ymm13,%ymm2,%ymm2 .byte 197,236,88,210 // vaddps %ymm2,%ymm2,%ymm2 .byte 197,180,92,210 // vsubps %ymm2,%ymm9,%ymm2 .byte 196,195,109,74,212,176 // vblendvps %ymm11,%ymm12,%ymm2,%ymm2 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_softlight_avx .globl _sk_softlight_avx FUNCTION(_sk_softlight_avx) _sk_softlight_avx: .byte 197,252,17,84,36,200 // vmovups %ymm2,-0x38(%rsp) .byte 197,252,40,209 // vmovaps %ymm1,%ymm2 .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 197,52,194,215,1 // vcmpltps %ymm7,%ymm9,%ymm10 .byte 197,92,94,199 // vdivps %ymm7,%ymm4,%ymm8 .byte 196,67,53,74,224,160 // vblendvps %ymm10,%ymm8,%ymm9,%ymm12 .byte 196,65,28,88,196 // vaddps %ymm12,%ymm12,%ymm8 .byte 196,65,60,88,192 // vaddps %ymm8,%ymm8,%ymm8 .byte 196,65,60,89,216 // vmulps %ymm8,%ymm8,%ymm11 .byte 196,65,60,88,195 // vaddps %ymm11,%ymm8,%ymm8 .byte 196,98,125,24,29,185,110,0,0 // vbroadcastss 0x6eb9(%rip),%ymm11 # 7948 <_sk_callback_avx+0x1ac> .byte 196,65,28,88,235 // vaddps %ymm11,%ymm12,%ymm13 .byte 196,65,20,89,192 // vmulps %ymm8,%ymm13,%ymm8 .byte 196,98,125,24,45,170,110,0,0 // vbroadcastss 0x6eaa(%rip),%ymm13 # 794c <_sk_callback_avx+0x1b0> .byte 196,65,28,89,245 // vmulps %ymm13,%ymm12,%ymm14 .byte 196,65,12,88,192 // vaddps %ymm8,%ymm14,%ymm8 .byte 196,65,124,82,244 // vrsqrtps %ymm12,%ymm14 .byte 196,65,124,83,246 // vrcpps %ymm14,%ymm14 .byte 196,65,12,92,244 // vsubps %ymm12,%ymm14,%ymm14 .byte 197,92,88,252 // vaddps %ymm4,%ymm4,%ymm15 .byte 196,65,4,88,255 // vaddps %ymm15,%ymm15,%ymm15 .byte 197,4,194,255,2 // vcmpleps %ymm7,%ymm15,%ymm15 .byte 196,67,13,74,240,240 // vblendvps %ymm15,%ymm8,%ymm14,%ymm14 .byte 197,116,88,249 // vaddps %ymm1,%ymm1,%ymm15 .byte 196,98,125,24,5,104,110,0,0 // vbroadcastss 0x6e68(%rip),%ymm8 # 7944 <_sk_callback_avx+0x1a8> .byte 196,65,60,92,228 // vsubps %ymm12,%ymm8,%ymm12 .byte 197,132,92,195 // vsubps %ymm3,%ymm15,%ymm0 .byte 196,65,124,89,228 // vmulps %ymm12,%ymm0,%ymm12 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 197,100,89,244 // vmulps %ymm4,%ymm3,%ymm14 .byte 197,140,88,192 // vaddps %ymm0,%ymm14,%ymm0 .byte 197,28,88,227 // vaddps %ymm3,%ymm12,%ymm12 .byte 197,28,89,228 // vmulps %ymm4,%ymm12,%ymm12 .byte 197,4,194,243,2 // vcmpleps %ymm3,%ymm15,%ymm14 .byte 196,195,125,74,196,224 // vblendvps %ymm14,%ymm12,%ymm0,%ymm0 .byte 197,252,17,68,36,168 // vmovups %ymm0,-0x58(%rsp) .byte 197,212,94,199 // vdivps %ymm7,%ymm5,%ymm0 .byte 196,227,53,74,192,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm0 .byte 197,124,88,240 // vaddps %ymm0,%ymm0,%ymm14 .byte 196,65,12,88,246 // vaddps %ymm14,%ymm14,%ymm14 .byte 196,65,12,89,254 // vmulps %ymm14,%ymm14,%ymm15 .byte 196,65,12,88,247 // vaddps %ymm15,%ymm14,%ymm14 .byte 196,65,124,88,251 // vaddps %ymm11,%ymm0,%ymm15 .byte 196,65,4,89,246 // vmulps %ymm14,%ymm15,%ymm14 .byte 196,65,124,89,253 // vmulps %ymm13,%ymm0,%ymm15 .byte 196,65,4,88,246 // vaddps %ymm14,%ymm15,%ymm14 .byte 197,124,82,248 // vrsqrtps %ymm0,%ymm15 .byte 196,65,124,83,255 // vrcpps %ymm15,%ymm15 .byte 197,4,92,248 // vsubps %ymm0,%ymm15,%ymm15 .byte 197,84,88,229 // vaddps %ymm5,%ymm5,%ymm12 .byte 196,65,28,88,228 // vaddps %ymm12,%ymm12,%ymm12 .byte 197,28,194,231,2 // vcmpleps %ymm7,%ymm12,%ymm12 .byte 196,67,5,74,230,192 // vblendvps %ymm12,%ymm14,%ymm15,%ymm12 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,108,88,242 // vaddps %ymm2,%ymm2,%ymm14 .byte 197,12,92,251 // vsubps %ymm3,%ymm14,%ymm15 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,4,89,255 // vmulps %ymm7,%ymm15,%ymm15 .byte 196,65,4,89,228 // vmulps %ymm12,%ymm15,%ymm12 .byte 197,100,89,253 // vmulps %ymm5,%ymm3,%ymm15 .byte 196,65,4,88,228 // vaddps %ymm12,%ymm15,%ymm12 .byte 197,252,88,195 // vaddps %ymm3,%ymm0,%ymm0 .byte 197,252,89,197 // vmulps %ymm5,%ymm0,%ymm0 .byte 197,12,194,243,2 // vcmpleps %ymm3,%ymm14,%ymm14 .byte 196,99,29,74,240,224 // vblendvps %ymm14,%ymm0,%ymm12,%ymm14 .byte 197,204,94,199 // vdivps %ymm7,%ymm6,%ymm0 .byte 196,227,53,74,192,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm0 .byte 197,124,88,200 // vaddps %ymm0,%ymm0,%ymm9 .byte 196,65,52,88,201 // vaddps %ymm9,%ymm9,%ymm9 .byte 196,65,52,89,209 // vmulps %ymm9,%ymm9,%ymm10 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,65,124,88,211 // vaddps %ymm11,%ymm0,%ymm10 .byte 196,65,44,89,201 // vmulps %ymm9,%ymm10,%ymm9 .byte 196,65,124,89,213 // vmulps %ymm13,%ymm0,%ymm10 .byte 196,65,44,88,201 // vaddps %ymm9,%ymm10,%ymm9 .byte 197,124,82,208 // vrsqrtps %ymm0,%ymm10 .byte 196,65,124,83,210 // vrcpps %ymm10,%ymm10 .byte 197,44,92,208 // vsubps %ymm0,%ymm10,%ymm10 .byte 197,76,88,222 // vaddps %ymm6,%ymm6,%ymm11 .byte 196,65,36,88,219 // vaddps %ymm11,%ymm11,%ymm11 .byte 197,36,194,223,2 // vcmpleps %ymm7,%ymm11,%ymm11 .byte 196,67,45,74,201,176 // vblendvps %ymm11,%ymm9,%ymm10,%ymm9 .byte 197,124,16,100,36,200 // vmovups -0x38(%rsp),%ymm12 .byte 196,65,28,88,212 // vaddps %ymm12,%ymm12,%ymm10 .byte 197,44,92,219 // vsubps %ymm3,%ymm10,%ymm11 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,36,89,223 // vmulps %ymm7,%ymm11,%ymm11 .byte 196,65,36,89,201 // vmulps %ymm9,%ymm11,%ymm9 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 196,65,36,88,201 // vaddps %ymm9,%ymm11,%ymm9 .byte 197,252,88,195 // vaddps %ymm3,%ymm0,%ymm0 .byte 197,252,89,198 // vmulps %ymm6,%ymm0,%ymm0 .byte 197,44,194,211,2 // vcmpleps %ymm3,%ymm10,%ymm10 .byte 196,99,53,74,200,160 // vblendvps %ymm10,%ymm0,%ymm9,%ymm9 .byte 197,60,92,215 // vsubps %ymm7,%ymm8,%ymm10 .byte 197,172,89,193 // vmulps %ymm1,%ymm10,%ymm0 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,188,89,204 // vmulps %ymm4,%ymm8,%ymm1 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,252,88,68,36,168 // vaddps -0x58(%rsp),%ymm0,%ymm0 .byte 197,172,89,202 // vmulps %ymm2,%ymm10,%ymm1 .byte 197,188,89,213 // vmulps %ymm5,%ymm8,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 196,193,116,88,206 // vaddps %ymm14,%ymm1,%ymm1 .byte 196,193,44,89,212 // vmulps %ymm12,%ymm10,%ymm2 .byte 197,60,89,214 // vmulps %ymm6,%ymm8,%ymm10 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 196,193,108,88,209 // vaddps %ymm9,%ymm2,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hue_avx .globl _sk_hue_avx FUNCTION(_sk_hue_avx) _sk_hue_avx: .byte 197,252,17,84,36,200 // vmovups %ymm2,-0x38(%rsp) .byte 197,124,40,193 // vmovaps %ymm1,%ymm8 .byte 197,124,17,68,36,168 // vmovups %ymm8,-0x58(%rsp) .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,116,89,203 // vmulps %ymm3,%ymm1,%ymm9 .byte 197,60,89,211 // vmulps %ymm3,%ymm8,%ymm10 .byte 197,108,89,219 // vmulps %ymm3,%ymm2,%ymm11 .byte 197,84,95,198 // vmaxps %ymm6,%ymm5,%ymm8 .byte 196,65,92,95,192 // vmaxps %ymm8,%ymm4,%ymm8 .byte 197,84,93,230 // vminps %ymm6,%ymm5,%ymm12 .byte 196,65,92,93,228 // vminps %ymm12,%ymm4,%ymm12 .byte 196,65,60,92,196 // vsubps %ymm12,%ymm8,%ymm8 .byte 197,60,89,227 // vmulps %ymm3,%ymm8,%ymm12 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,232 // vminps %ymm8,%ymm9,%ymm13 .byte 196,65,44,95,195 // vmaxps %ymm11,%ymm10,%ymm8 .byte 196,65,52,95,192 // vmaxps %ymm8,%ymm9,%ymm8 .byte 196,65,60,92,245 // vsubps %ymm13,%ymm8,%ymm14 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,12,194,248,0 // vcmpeqps %ymm8,%ymm14,%ymm15 .byte 196,65,52,92,205 // vsubps %ymm13,%ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,52,94,206 // vdivps %ymm14,%ymm9,%ymm9 .byte 196,67,53,74,200,240 // vblendvps %ymm15,%ymm8,%ymm9,%ymm9 .byte 196,65,44,92,213 // vsubps %ymm13,%ymm10,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,67,45,74,208,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm10 .byte 196,65,36,92,221 // vsubps %ymm13,%ymm11,%ymm11 .byte 196,65,28,89,219 // vmulps %ymm11,%ymm12,%ymm11 .byte 196,65,36,94,222 // vdivps %ymm14,%ymm11,%ymm11 .byte 196,67,37,74,224,240 // vblendvps %ymm15,%ymm8,%ymm11,%ymm12 .byte 196,98,125,24,53,55,108,0,0 // vbroadcastss 0x6c37(%rip),%ymm14 # 7950 <_sk_callback_avx+0x1b4> .byte 196,65,92,89,222 // vmulps %ymm14,%ymm4,%ymm11 .byte 196,98,125,24,61,45,108,0,0 // vbroadcastss 0x6c2d(%rip),%ymm15 # 7954 <_sk_callback_avx+0x1b8> .byte 196,65,84,89,239 // vmulps %ymm15,%ymm5,%ymm13 .byte 196,65,36,88,221 // vaddps %ymm13,%ymm11,%ymm11 .byte 196,226,125,24,5,30,108,0,0 // vbroadcastss 0x6c1e(%rip),%ymm0 # 7958 <_sk_callback_avx+0x1bc> .byte 197,76,89,232 // vmulps %ymm0,%ymm6,%ymm13 .byte 196,65,36,88,221 // vaddps %ymm13,%ymm11,%ymm11 .byte 196,65,52,89,238 // vmulps %ymm14,%ymm9,%ymm13 .byte 196,193,44,89,215 // vmulps %ymm15,%ymm10,%ymm2 .byte 197,148,88,210 // vaddps %ymm2,%ymm13,%ymm2 .byte 197,28,89,232 // vmulps %ymm0,%ymm12,%ymm13 .byte 196,193,108,88,213 // vaddps %ymm13,%ymm2,%ymm2 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 197,164,92,210 // vsubps %ymm2,%ymm11,%ymm2 .byte 197,52,88,202 // vaddps %ymm2,%ymm9,%ymm9 .byte 197,44,88,218 // vaddps %ymm2,%ymm10,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 196,193,36,93,212 // vminps %ymm12,%ymm11,%ymm2 .byte 197,52,93,234 // vminps %ymm2,%ymm9,%ymm13 .byte 196,193,52,89,214 // vmulps %ymm14,%ymm9,%ymm2 .byte 196,65,36,89,215 // vmulps %ymm15,%ymm11,%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,124,88,210 // vaddps %ymm2,%ymm0,%ymm10 .byte 196,193,52,92,194 // vsubps %ymm10,%ymm9,%ymm0 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 196,193,44,92,213 // vsubps %ymm13,%ymm10,%ymm2 .byte 197,252,94,194 // vdivps %ymm2,%ymm0,%ymm0 .byte 196,65,36,92,242 // vsubps %ymm10,%ymm11,%ymm14 .byte 196,65,44,89,246 // vmulps %ymm14,%ymm10,%ymm14 .byte 197,12,94,242 // vdivps %ymm2,%ymm14,%ymm14 .byte 196,65,28,92,250 // vsubps %ymm10,%ymm12,%ymm15 .byte 196,65,44,89,255 // vmulps %ymm15,%ymm10,%ymm15 .byte 197,132,94,210 // vdivps %ymm2,%ymm15,%ymm2 .byte 196,65,60,194,237,2 // vcmpleps %ymm13,%ymm8,%ymm13 .byte 196,65,44,88,246 // vaddps %ymm14,%ymm10,%ymm14 .byte 196,67,13,74,243,208 // vblendvps %ymm13,%ymm11,%ymm14,%ymm14 .byte 196,65,36,95,220 // vmaxps %ymm12,%ymm11,%ymm11 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 196,195,109,74,212,208 // vblendvps %ymm13,%ymm12,%ymm2,%ymm2 .byte 197,172,88,192 // vaddps %ymm0,%ymm10,%ymm0 .byte 196,195,125,74,193,208 // vblendvps %ymm13,%ymm9,%ymm0,%ymm0 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,52,95,203 // vmaxps %ymm11,%ymm9,%ymm9 .byte 196,65,124,92,218 // vsubps %ymm10,%ymm0,%ymm11 .byte 196,65,28,92,234 // vsubps %ymm10,%ymm12,%ymm13 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,28,194,249,1 // vcmpltps %ymm9,%ymm12,%ymm15 .byte 196,65,52,92,202 // vsubps %ymm10,%ymm9,%ymm9 .byte 196,65,36,94,217 // vdivps %ymm9,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,195,125,74,195,240 // vblendvps %ymm15,%ymm11,%ymm0,%ymm0 .byte 196,65,12,92,218 // vsubps %ymm10,%ymm14,%ymm11 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,36,94,217 // vdivps %ymm9,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,67,13,74,219,240 // vblendvps %ymm15,%ymm11,%ymm14,%ymm11 .byte 196,65,108,92,242 // vsubps %ymm10,%ymm2,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,201 // vdivps %ymm9,%ymm13,%ymm9 .byte 196,65,44,88,201 // vaddps %ymm9,%ymm10,%ymm9 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,65,36,95,208 // vmaxps %ymm8,%ymm11,%ymm10 .byte 196,195,109,74,209,240 // vblendvps %ymm15,%ymm9,%ymm2,%ymm2 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,247,106,0,0 // vbroadcastss 0x6af7(%rip),%ymm8 # 795c <_sk_callback_avx+0x1c0> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,180,89,76,36,168 // vmulps -0x58(%rsp),%ymm9,%ymm1 .byte 197,60,89,221 // vmulps %ymm5,%ymm8,%ymm11 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 197,52,89,76,36,200 // vmulps -0x38(%rsp),%ymm9,%ymm9 .byte 197,60,89,198 // vmulps %ymm6,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_saturation_avx .globl _sk_saturation_avx FUNCTION(_sk_saturation_avx) _sk_saturation_avx: .byte 197,124,40,193 // vmovaps %ymm1,%ymm8 .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,100,89,204 // vmulps %ymm4,%ymm3,%ymm9 .byte 197,100,89,213 // vmulps %ymm5,%ymm3,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,252,17,84,36,200 // vmovups %ymm2,-0x38(%rsp) .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,17,68,36,168 // vmovups %ymm0,-0x58(%rsp) .byte 197,124,95,194 // vmaxps %ymm2,%ymm0,%ymm8 .byte 196,65,116,95,192 // vmaxps %ymm8,%ymm1,%ymm8 .byte 197,124,93,226 // vminps %ymm2,%ymm0,%ymm12 .byte 196,65,116,93,228 // vminps %ymm12,%ymm1,%ymm12 .byte 196,65,60,92,196 // vsubps %ymm12,%ymm8,%ymm8 .byte 197,60,89,231 // vmulps %ymm7,%ymm8,%ymm12 .byte 196,65,44,93,195 // vminps %ymm11,%ymm10,%ymm8 .byte 196,65,52,93,232 // vminps %ymm8,%ymm9,%ymm13 .byte 196,65,44,95,195 // vmaxps %ymm11,%ymm10,%ymm8 .byte 196,65,52,95,192 // vmaxps %ymm8,%ymm9,%ymm8 .byte 196,65,60,92,245 // vsubps %ymm13,%ymm8,%ymm14 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,12,194,248,0 // vcmpeqps %ymm8,%ymm14,%ymm15 .byte 196,65,52,92,205 // vsubps %ymm13,%ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,52,94,206 // vdivps %ymm14,%ymm9,%ymm9 .byte 196,67,53,74,200,240 // vblendvps %ymm15,%ymm8,%ymm9,%ymm9 .byte 196,65,44,92,213 // vsubps %ymm13,%ymm10,%ymm10 .byte 196,65,28,89,210 // vmulps %ymm10,%ymm12,%ymm10 .byte 196,65,44,94,214 // vdivps %ymm14,%ymm10,%ymm10 .byte 196,67,45,74,208,240 // vblendvps %ymm15,%ymm8,%ymm10,%ymm10 .byte 196,65,36,92,221 // vsubps %ymm13,%ymm11,%ymm11 .byte 196,65,28,89,219 // vmulps %ymm11,%ymm12,%ymm11 .byte 196,65,36,94,222 // vdivps %ymm14,%ymm11,%ymm11 .byte 196,67,37,74,224,240 // vblendvps %ymm15,%ymm8,%ymm11,%ymm12 .byte 196,98,125,24,53,5,106,0,0 // vbroadcastss 0x6a05(%rip),%ymm14 # 7960 <_sk_callback_avx+0x1c4> .byte 196,65,92,89,222 // vmulps %ymm14,%ymm4,%ymm11 .byte 196,98,125,24,61,251,105,0,0 // vbroadcastss 0x69fb(%rip),%ymm15 # 7964 <_sk_callback_avx+0x1c8> .byte 196,65,84,89,239 // vmulps %ymm15,%ymm5,%ymm13 .byte 196,65,36,88,221 // vaddps %ymm13,%ymm11,%ymm11 .byte 196,226,125,24,5,236,105,0,0 // vbroadcastss 0x69ec(%rip),%ymm0 # 7968 <_sk_callback_avx+0x1cc> .byte 197,76,89,232 // vmulps %ymm0,%ymm6,%ymm13 .byte 196,65,36,88,221 // vaddps %ymm13,%ymm11,%ymm11 .byte 196,65,52,89,238 // vmulps %ymm14,%ymm9,%ymm13 .byte 196,193,44,89,215 // vmulps %ymm15,%ymm10,%ymm2 .byte 197,148,88,210 // vaddps %ymm2,%ymm13,%ymm2 .byte 197,28,89,232 // vmulps %ymm0,%ymm12,%ymm13 .byte 196,193,108,88,213 // vaddps %ymm13,%ymm2,%ymm2 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 197,164,92,210 // vsubps %ymm2,%ymm11,%ymm2 .byte 197,52,88,202 // vaddps %ymm2,%ymm9,%ymm9 .byte 197,44,88,218 // vaddps %ymm2,%ymm10,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 196,193,36,93,212 // vminps %ymm12,%ymm11,%ymm2 .byte 197,52,93,234 // vminps %ymm2,%ymm9,%ymm13 .byte 196,193,52,89,214 // vmulps %ymm14,%ymm9,%ymm2 .byte 196,65,36,89,215 // vmulps %ymm15,%ymm11,%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,124,88,210 // vaddps %ymm2,%ymm0,%ymm10 .byte 196,193,52,92,194 // vsubps %ymm10,%ymm9,%ymm0 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 196,193,44,92,213 // vsubps %ymm13,%ymm10,%ymm2 .byte 197,252,94,194 // vdivps %ymm2,%ymm0,%ymm0 .byte 196,65,36,92,242 // vsubps %ymm10,%ymm11,%ymm14 .byte 196,65,44,89,246 // vmulps %ymm14,%ymm10,%ymm14 .byte 197,12,94,242 // vdivps %ymm2,%ymm14,%ymm14 .byte 196,65,28,92,250 // vsubps %ymm10,%ymm12,%ymm15 .byte 196,65,44,89,255 // vmulps %ymm15,%ymm10,%ymm15 .byte 197,132,94,210 // vdivps %ymm2,%ymm15,%ymm2 .byte 196,65,60,194,237,2 // vcmpleps %ymm13,%ymm8,%ymm13 .byte 196,65,44,88,246 // vaddps %ymm14,%ymm10,%ymm14 .byte 196,67,13,74,243,208 // vblendvps %ymm13,%ymm11,%ymm14,%ymm14 .byte 196,65,36,95,220 // vmaxps %ymm12,%ymm11,%ymm11 .byte 197,172,88,210 // vaddps %ymm2,%ymm10,%ymm2 .byte 196,195,109,74,212,208 // vblendvps %ymm13,%ymm12,%ymm2,%ymm2 .byte 197,172,88,192 // vaddps %ymm0,%ymm10,%ymm0 .byte 196,195,125,74,193,208 // vblendvps %ymm13,%ymm9,%ymm0,%ymm0 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,52,95,203 // vmaxps %ymm11,%ymm9,%ymm9 .byte 196,65,124,92,218 // vsubps %ymm10,%ymm0,%ymm11 .byte 196,65,28,92,234 // vsubps %ymm10,%ymm12,%ymm13 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,28,194,249,1 // vcmpltps %ymm9,%ymm12,%ymm15 .byte 196,65,52,92,202 // vsubps %ymm10,%ymm9,%ymm9 .byte 196,65,36,94,217 // vdivps %ymm9,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,195,125,74,195,240 // vblendvps %ymm15,%ymm11,%ymm0,%ymm0 .byte 196,65,12,92,218 // vsubps %ymm10,%ymm14,%ymm11 .byte 196,65,20,89,219 // vmulps %ymm11,%ymm13,%ymm11 .byte 196,65,36,94,217 // vdivps %ymm9,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,67,13,74,219,240 // vblendvps %ymm15,%ymm11,%ymm14,%ymm11 .byte 196,65,108,92,242 // vsubps %ymm10,%ymm2,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,201 // vdivps %ymm9,%ymm13,%ymm9 .byte 196,65,44,88,201 // vaddps %ymm9,%ymm10,%ymm9 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,65,36,95,208 // vmaxps %ymm8,%ymm11,%ymm10 .byte 196,195,109,74,209,240 // vblendvps %ymm15,%ymm9,%ymm2,%ymm2 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,197,104,0,0 // vbroadcastss 0x68c5(%rip),%ymm8 # 796c <_sk_callback_avx+0x1d0> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,180,89,76,36,168 // vmulps -0x58(%rsp),%ymm9,%ymm1 .byte 197,60,89,221 // vmulps %ymm5,%ymm8,%ymm11 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 197,52,89,76,36,200 // vmulps -0x38(%rsp),%ymm9,%ymm9 .byte 197,60,89,198 // vmulps %ymm6,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_color_avx .globl _sk_color_avx FUNCTION(_sk_color_avx) _sk_color_avx: .byte 197,252,17,84,36,136 // vmovups %ymm2,-0x78(%rsp) .byte 197,252,17,76,36,200 // vmovups %ymm1,-0x38(%rsp) .byte 197,252,17,68,36,168 // vmovups %ymm0,-0x58(%rsp) .byte 197,124,89,199 // vmulps %ymm7,%ymm0,%ymm8 .byte 197,116,89,207 // vmulps %ymm7,%ymm1,%ymm9 .byte 196,98,125,24,45,91,104,0,0 // vbroadcastss 0x685b(%rip),%ymm13 # 7970 <_sk_callback_avx+0x1d4> .byte 196,65,92,89,213 // vmulps %ymm13,%ymm4,%ymm10 .byte 196,98,125,24,53,81,104,0,0 // vbroadcastss 0x6851(%rip),%ymm14 # 7974 <_sk_callback_avx+0x1d8> .byte 196,65,84,89,222 // vmulps %ymm14,%ymm5,%ymm11 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,61,66,104,0,0 // vbroadcastss 0x6842(%rip),%ymm15 # 7978 <_sk_callback_avx+0x1dc> .byte 196,65,76,89,223 // vmulps %ymm15,%ymm6,%ymm11 .byte 196,193,44,88,195 // vaddps %ymm11,%ymm10,%ymm0 .byte 196,65,60,89,221 // vmulps %ymm13,%ymm8,%ymm11 .byte 196,65,52,89,230 // vmulps %ymm14,%ymm9,%ymm12 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,108,89,231 // vmulps %ymm7,%ymm2,%ymm12 .byte 196,65,28,89,215 // vmulps %ymm15,%ymm12,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 197,60,88,192 // vaddps %ymm0,%ymm8,%ymm8 .byte 197,52,88,208 // vaddps %ymm0,%ymm9,%ymm10 .byte 197,28,88,216 // vaddps %ymm0,%ymm12,%ymm11 .byte 196,193,44,93,195 // vminps %ymm11,%ymm10,%ymm0 .byte 197,60,93,224 // vminps %ymm0,%ymm8,%ymm12 .byte 196,193,60,89,197 // vmulps %ymm13,%ymm8,%ymm0 .byte 196,65,44,89,206 // vmulps %ymm14,%ymm10,%ymm9 .byte 196,193,124,88,193 // vaddps %ymm9,%ymm0,%ymm0 .byte 196,65,36,89,207 // vmulps %ymm15,%ymm11,%ymm9 .byte 197,52,88,200 // vaddps %ymm0,%ymm9,%ymm9 .byte 196,193,60,92,193 // vsubps %ymm9,%ymm8,%ymm0 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,65,52,92,236 // vsubps %ymm12,%ymm9,%ymm13 .byte 196,193,124,94,197 // vdivps %ymm13,%ymm0,%ymm0 .byte 196,65,44,92,241 // vsubps %ymm9,%ymm10,%ymm14 .byte 196,65,52,89,246 // vmulps %ymm14,%ymm9,%ymm14 .byte 196,65,12,94,245 // vdivps %ymm13,%ymm14,%ymm14 .byte 196,65,36,92,249 // vsubps %ymm9,%ymm11,%ymm15 .byte 196,65,52,89,255 // vmulps %ymm15,%ymm9,%ymm15 .byte 196,65,4,94,237 // vdivps %ymm13,%ymm15,%ymm13 .byte 196,65,4,87,255 // vxorps %ymm15,%ymm15,%ymm15 .byte 196,65,4,194,228,2 // vcmpleps %ymm12,%ymm15,%ymm12 .byte 196,65,52,88,246 // vaddps %ymm14,%ymm9,%ymm14 .byte 196,67,13,74,242,192 // vblendvps %ymm12,%ymm10,%ymm14,%ymm14 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,52,88,237 // vaddps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,219,192 // vblendvps %ymm12,%ymm11,%ymm13,%ymm11 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,200,192 // vblendvps %ymm12,%ymm8,%ymm0,%ymm1 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,60,95,194 // vmaxps %ymm10,%ymm8,%ymm8 .byte 196,65,116,92,209 // vsubps %ymm9,%ymm1,%ymm10 .byte 196,65,28,92,233 // vsubps %ymm9,%ymm12,%ymm13 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,193,28,194,192,1 // vcmpltps %ymm8,%ymm12,%ymm0 .byte 196,65,60,92,193 // vsubps %ymm9,%ymm8,%ymm8 .byte 196,65,44,94,208 // vdivps %ymm8,%ymm10,%ymm10 .byte 196,65,52,88,210 // vaddps %ymm10,%ymm9,%ymm10 .byte 196,195,117,74,202,0 // vblendvps %ymm0,%ymm10,%ymm1,%ymm1 .byte 196,65,12,92,209 // vsubps %ymm9,%ymm14,%ymm10 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,65,44,94,208 // vdivps %ymm8,%ymm10,%ymm10 .byte 196,65,52,88,210 // vaddps %ymm10,%ymm9,%ymm10 .byte 196,67,13,74,210,0 // vblendvps %ymm0,%ymm10,%ymm14,%ymm10 .byte 196,65,36,92,241 // vsubps %ymm9,%ymm11,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,192 // vdivps %ymm8,%ymm13,%ymm8 .byte 196,65,52,88,192 // vaddps %ymm8,%ymm9,%ymm8 .byte 196,193,116,95,207 // vmaxps %ymm15,%ymm1,%ymm1 .byte 196,65,44,95,207 // vmaxps %ymm15,%ymm10,%ymm9 .byte 196,195,37,74,192,0 // vblendvps %ymm0,%ymm8,%ymm11,%ymm0 .byte 196,65,124,95,199 // vmaxps %ymm15,%ymm0,%ymm8 .byte 196,226,125,24,5,9,103,0,0 // vbroadcastss 0x6709(%rip),%ymm0 # 797c <_sk_callback_avx+0x1e0> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,84,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 197,164,89,196 // vmulps %ymm4,%ymm11,%ymm0 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,172,89,76,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm1 .byte 197,164,89,213 // vmulps %ymm5,%ymm11,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,84,36,136 // vmulps -0x78(%rsp),%ymm10,%ymm2 .byte 197,36,89,206 // vmulps %ymm6,%ymm11,%ymm9 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 196,193,108,88,208 // vaddps %ymm8,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminosity_avx .globl _sk_luminosity_avx FUNCTION(_sk_luminosity_avx) _sk_luminosity_avx: .byte 197,124,40,226 // vmovaps %ymm2,%ymm12 .byte 197,124,17,100,36,168 // vmovups %ymm12,-0x58(%rsp) .byte 197,252,17,76,36,200 // vmovups %ymm1,-0x38(%rsp) .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,100,89,196 // vmulps %ymm4,%ymm3,%ymm8 .byte 197,100,89,205 // vmulps %ymm5,%ymm3,%ymm9 .byte 196,98,125,24,45,155,102,0,0 // vbroadcastss 0x669b(%rip),%ymm13 # 7980 <_sk_callback_avx+0x1e4> .byte 196,65,108,89,213 // vmulps %ymm13,%ymm2,%ymm10 .byte 196,98,125,24,53,145,102,0,0 // vbroadcastss 0x6691(%rip),%ymm14 # 7984 <_sk_callback_avx+0x1e8> .byte 196,65,116,89,222 // vmulps %ymm14,%ymm1,%ymm11 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,61,130,102,0,0 // vbroadcastss 0x6682(%rip),%ymm15 # 7988 <_sk_callback_avx+0x1ec> .byte 196,65,28,89,223 // vmulps %ymm15,%ymm12,%ymm11 .byte 196,193,44,88,195 // vaddps %ymm11,%ymm10,%ymm0 .byte 196,65,60,89,221 // vmulps %ymm13,%ymm8,%ymm11 .byte 196,65,52,89,230 // vmulps %ymm14,%ymm9,%ymm12 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,100,89,230 // vmulps %ymm6,%ymm3,%ymm12 .byte 196,65,28,89,215 // vmulps %ymm15,%ymm12,%ymm10 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,252,89,199 // vmulps %ymm7,%ymm0,%ymm0 .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 197,60,88,192 // vaddps %ymm0,%ymm8,%ymm8 .byte 197,52,88,208 // vaddps %ymm0,%ymm9,%ymm10 .byte 197,28,88,216 // vaddps %ymm0,%ymm12,%ymm11 .byte 196,193,44,93,195 // vminps %ymm11,%ymm10,%ymm0 .byte 197,60,93,224 // vminps %ymm0,%ymm8,%ymm12 .byte 196,193,60,89,197 // vmulps %ymm13,%ymm8,%ymm0 .byte 196,65,44,89,206 // vmulps %ymm14,%ymm10,%ymm9 .byte 196,193,124,88,193 // vaddps %ymm9,%ymm0,%ymm0 .byte 196,65,36,89,207 // vmulps %ymm15,%ymm11,%ymm9 .byte 197,52,88,200 // vaddps %ymm0,%ymm9,%ymm9 .byte 196,193,60,92,193 // vsubps %ymm9,%ymm8,%ymm0 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,65,52,92,236 // vsubps %ymm12,%ymm9,%ymm13 .byte 196,193,124,94,197 // vdivps %ymm13,%ymm0,%ymm0 .byte 196,65,44,92,241 // vsubps %ymm9,%ymm10,%ymm14 .byte 196,65,52,89,246 // vmulps %ymm14,%ymm9,%ymm14 .byte 196,65,12,94,245 // vdivps %ymm13,%ymm14,%ymm14 .byte 196,65,36,92,249 // vsubps %ymm9,%ymm11,%ymm15 .byte 196,65,52,89,255 // vmulps %ymm15,%ymm9,%ymm15 .byte 196,65,4,94,237 // vdivps %ymm13,%ymm15,%ymm13 .byte 196,65,4,87,255 // vxorps %ymm15,%ymm15,%ymm15 .byte 196,65,4,194,228,2 // vcmpleps %ymm12,%ymm15,%ymm12 .byte 196,65,52,88,246 // vaddps %ymm14,%ymm9,%ymm14 .byte 196,67,13,74,242,192 // vblendvps %ymm12,%ymm10,%ymm14,%ymm14 .byte 196,65,44,95,211 // vmaxps %ymm11,%ymm10,%ymm10 .byte 196,65,52,88,237 // vaddps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,219,192 // vblendvps %ymm12,%ymm11,%ymm13,%ymm11 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 196,195,125,74,200,192 // vblendvps %ymm12,%ymm8,%ymm0,%ymm1 .byte 197,100,89,231 // vmulps %ymm7,%ymm3,%ymm12 .byte 196,65,60,95,194 // vmaxps %ymm10,%ymm8,%ymm8 .byte 196,65,116,92,209 // vsubps %ymm9,%ymm1,%ymm10 .byte 196,65,28,92,233 // vsubps %ymm9,%ymm12,%ymm13 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,193,28,194,192,1 // vcmpltps %ymm8,%ymm12,%ymm0 .byte 196,65,60,92,193 // vsubps %ymm9,%ymm8,%ymm8 .byte 196,65,44,94,208 // vdivps %ymm8,%ymm10,%ymm10 .byte 196,65,52,88,210 // vaddps %ymm10,%ymm9,%ymm10 .byte 196,195,117,74,202,0 // vblendvps %ymm0,%ymm10,%ymm1,%ymm1 .byte 196,65,12,92,209 // vsubps %ymm9,%ymm14,%ymm10 .byte 196,65,20,89,210 // vmulps %ymm10,%ymm13,%ymm10 .byte 196,65,44,94,208 // vdivps %ymm8,%ymm10,%ymm10 .byte 196,65,52,88,210 // vaddps %ymm10,%ymm9,%ymm10 .byte 196,67,13,74,210,0 // vblendvps %ymm0,%ymm10,%ymm14,%ymm10 .byte 196,65,36,92,241 // vsubps %ymm9,%ymm11,%ymm14 .byte 196,65,20,89,238 // vmulps %ymm14,%ymm13,%ymm13 .byte 196,65,20,94,192 // vdivps %ymm8,%ymm13,%ymm8 .byte 196,65,52,88,192 // vaddps %ymm8,%ymm9,%ymm8 .byte 196,193,116,95,207 // vmaxps %ymm15,%ymm1,%ymm1 .byte 196,65,44,95,207 // vmaxps %ymm15,%ymm10,%ymm9 .byte 196,195,37,74,192,0 // vblendvps %ymm0,%ymm8,%ymm11,%ymm0 .byte 196,65,124,95,199 // vmaxps %ymm15,%ymm0,%ymm8 .byte 196,226,125,24,5,73,101,0,0 // vbroadcastss 0x6549(%rip),%ymm0 # 798c <_sk_callback_avx+0x1f0> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 197,164,89,196 // vmulps %ymm4,%ymm11,%ymm0 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,172,89,76,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm1 .byte 197,164,89,213 // vmulps %ymm5,%ymm11,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,84,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm2 .byte 197,36,89,206 // vmulps %ymm6,%ymm11,%ymm9 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 196,193,108,88,208 // vaddps %ymm8,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_avx .globl _sk_srcover_rgba_8888_avx FUNCTION(_sk_srcover_rgba_8888_avx) _sk_srcover_rgba_8888_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,43,1,0,0 // jne 15d2 <_sk_srcover_rgba_8888_avx+0x144> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,124,40,13,204,106,0,0 // vmovaps 0x6acc(%rip),%ymm9 # 7f80 <_sk_callback_avx+0x7e4> .byte 196,193,68,84,225 // vandps %ymm9,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 197,209,114,215,8 // vpsrld $0x8,%xmm7,%xmm5 .byte 196,195,125,25,248,1 // vextractf128 $0x1,%ymm7,%xmm8 .byte 196,193,73,114,208,8 // vpsrld $0x8,%xmm8,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 196,193,84,84,233 // vandps %ymm9,%ymm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 197,169,114,215,16 // vpsrld $0x10,%xmm7,%xmm10 .byte 196,193,73,114,208,16 // vpsrld $0x10,%xmm8,%xmm6 .byte 196,227,45,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm10,%ymm6 .byte 196,193,76,84,241 // vandps %ymm9,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 197,177,114,215,24 // vpsrld $0x18,%xmm7,%xmm9 .byte 196,193,65,114,208,24 // vpsrld $0x18,%xmm8,%xmm7 .byte 196,227,53,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm9,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,123,100,0,0 // vbroadcastss 0x647b(%rip),%ymm8 # 7990 <_sk_callback_avx+0x1f4> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,125,24,13,114,100,0,0 // vbroadcastss 0x6472(%rip),%ymm9 # 7994 <_sk_callback_avx+0x1f8> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,60,89,212 // vmulps %ymm4,%ymm8,%ymm10 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 197,60,89,213 // vmulps %ymm5,%ymm8,%ymm10 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 197,60,89,214 // vmulps %ymm6,%ymm8,%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 196,193,100,88,216 // vaddps %ymm8,%ymm3,%ymm3 .byte 197,125,91,192 // vcvtps2dq %ymm0,%ymm8 .byte 197,125,91,201 // vcvtps2dq %ymm1,%ymm9 .byte 196,193,41,114,241,8 // vpslld $0x8,%xmm9,%xmm10 .byte 196,67,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm9 .byte 196,193,49,114,241,8 // vpslld $0x8,%xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,65,53,86,192 // vorpd %ymm8,%ymm9,%ymm8 .byte 197,125,91,202 // vcvtps2dq %ymm2,%ymm9 .byte 196,193,41,114,241,16 // vpslld $0x10,%xmm9,%xmm10 .byte 196,67,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm9 .byte 196,193,49,114,241,16 // vpslld $0x10,%xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 197,125,91,211 // vcvtps2dq %ymm3,%ymm10 .byte 196,193,33,114,242,24 // vpslld $0x18,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,24 // vpslld $0x18,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,53,86,202 // vorpd %ymm10,%ymm9,%ymm9 .byte 196,65,61,86,193 // vorpd %ymm9,%ymm8,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,87 // jne 161d <_sk_srcover_rgba_8888_avx+0x18f> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,121,48,228 // vpmovzxbw %xmm4,%xmm4 .byte 196,226,89,0,45,214,103,0,0 // vpshufb 0x67d6(%rip),%xmm4,%xmm5 # 7dd0 <_sk_callback_avx+0x634> .byte 196,226,121,33,237 // vpmovsxbd %xmm5,%xmm5 .byte 196,226,89,0,37,216,103,0,0 // vpshufb 0x67d8(%rip),%xmm4,%xmm4 # 7de0 <_sk_callback_avx+0x644> .byte 196,226,121,33,228 // vpmovsxbd %xmm4,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 233,143,254,255,255 // jmpq 14ac <_sk_srcover_rgba_8888_avx+0x1e> .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,98,49,0,21,139,103,0,0 // vpshufb 0x678b(%rip),%xmm9,%xmm10 # 7dd0 <_sk_callback_avx+0x634> .byte 196,66,121,33,210 // vpmovsxbd %xmm10,%xmm10 .byte 196,98,49,0,13,141,103,0,0 // vpshufb 0x678d(%rip),%xmm9,%xmm9 # 7de0 <_sk_callback_avx+0x644> .byte 196,66,121,33,201 // vpmovsxbd %xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 233,99,255,255,255 // jmpq 15cb <_sk_srcover_rgba_8888_avx+0x13d> HIDDEN _sk_clamp_0_avx .globl _sk_clamp_0_avx FUNCTION(_sk_clamp_0_avx) _sk_clamp_0_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,193,116,95,200 // vmaxps %ymm8,%ymm1,%ymm1 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,193,100,95,216 // vmaxps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_1_avx .globl _sk_clamp_1_avx FUNCTION(_sk_clamp_1_avx) _sk_clamp_1_avx: .byte 196,98,125,24,5,10,99,0,0 // vbroadcastss 0x630a(%rip),%ymm8 # 7998 <_sk_callback_avx+0x1fc> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_avx .globl _sk_clamp_a_avx FUNCTION(_sk_clamp_a_avx) _sk_clamp_a_avx: .byte 196,98,125,24,5,237,98,0,0 // vbroadcastss 0x62ed(%rip),%ymm8 # 799c <_sk_callback_avx+0x200> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_dst_avx .globl _sk_clamp_a_dst_avx FUNCTION(_sk_clamp_a_dst_avx) _sk_clamp_a_dst_avx: .byte 196,98,125,24,5,211,98,0,0 // vbroadcastss 0x62d3(%rip),%ymm8 # 79a0 <_sk_callback_avx+0x204> .byte 196,193,68,93,248 // vminps %ymm8,%ymm7,%ymm7 .byte 197,220,93,231 // vminps %ymm7,%ymm4,%ymm4 .byte 197,212,93,239 // vminps %ymm7,%ymm5,%ymm5 .byte 197,204,93,247 // vminps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_avx .globl _sk_set_rgb_avx FUNCTION(_sk_set_rgb_avx) _sk_set_rgb_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_avx .globl _sk_swap_rb_avx FUNCTION(_sk_swap_rb_avx) _sk_swap_rb_avx: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_avx .globl _sk_move_src_dst_avx FUNCTION(_sk_move_src_dst_avx) _sk_move_src_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_avx .globl _sk_move_dst_src_avx FUNCTION(_sk_move_dst_src_avx) _sk_move_dst_src_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_avx .globl _sk_premul_avx FUNCTION(_sk_premul_avx) _sk_premul_avx: .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_avx .globl _sk_unpremul_avx FUNCTION(_sk_unpremul_avx) _sk_unpremul_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,100,194,200,0 // vcmpeqps %ymm8,%ymm3,%ymm9 .byte 196,98,125,24,21,79,98,0,0 // vbroadcastss 0x624f(%rip),%ymm10 # 79a4 <_sk_callback_avx+0x208> .byte 197,44,94,211 // vdivps %ymm3,%ymm10,%ymm10 .byte 196,67,45,74,192,144 // vblendvps %ymm9,%ymm8,%ymm10,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_avx .globl _sk_from_srgb_avx FUNCTION(_sk_from_srgb_avx) _sk_from_srgb_avx: .byte 196,98,125,24,5,48,98,0,0 // vbroadcastss 0x6230(%rip),%ymm8 # 79a8 <_sk_callback_avx+0x20c> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 197,124,89,208 // vmulps %ymm0,%ymm0,%ymm10 .byte 196,98,125,24,29,34,98,0,0 // vbroadcastss 0x6222(%rip),%ymm11 # 79ac <_sk_callback_avx+0x210> .byte 196,65,124,89,227 // vmulps %ymm11,%ymm0,%ymm12 .byte 196,98,125,24,45,24,98,0,0 // vbroadcastss 0x6218(%rip),%ymm13 # 79b0 <_sk_callback_avx+0x214> .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,65,44,89,212 // vmulps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,9,98,0,0 // vbroadcastss 0x6209(%rip),%ymm12 # 79b4 <_sk_callback_avx+0x218> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,53,255,97,0,0 // vbroadcastss 0x61ff(%rip),%ymm14 # 79b8 <_sk_callback_avx+0x21c> .byte 196,193,124,194,198,1 // vcmpltps %ymm14,%ymm0,%ymm0 .byte 196,195,45,74,193,0 // vblendvps %ymm0,%ymm9,%ymm10,%ymm0 .byte 196,65,116,89,200 // vmulps %ymm8,%ymm1,%ymm9 .byte 197,116,89,209 // vmulps %ymm1,%ymm1,%ymm10 .byte 196,65,116,89,251 // vmulps %ymm11,%ymm1,%ymm15 .byte 196,65,4,88,253 // vaddps %ymm13,%ymm15,%ymm15 .byte 196,65,44,89,215 // vmulps %ymm15,%ymm10,%ymm10 .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,193,116,194,206,1 // vcmpltps %ymm14,%ymm1,%ymm1 .byte 196,195,45,74,201,16 // vblendvps %ymm1,%ymm9,%ymm10,%ymm1 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 197,108,89,202 // vmulps %ymm2,%ymm2,%ymm9 .byte 196,65,108,89,211 // vmulps %ymm11,%ymm2,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,52,88,204 // vaddps %ymm12,%ymm9,%ymm9 .byte 196,193,108,194,214,1 // vcmpltps %ymm14,%ymm2,%ymm2 .byte 196,195,53,74,208,32 // vblendvps %ymm2,%ymm8,%ymm9,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_dst_avx .globl _sk_from_srgb_dst_avx FUNCTION(_sk_from_srgb_dst_avx) _sk_from_srgb_dst_avx: .byte 196,98,125,24,5,152,97,0,0 // vbroadcastss 0x6198(%rip),%ymm8 # 79bc <_sk_callback_avx+0x220> .byte 196,65,92,89,200 // vmulps %ymm8,%ymm4,%ymm9 .byte 197,92,89,212 // vmulps %ymm4,%ymm4,%ymm10 .byte 196,98,125,24,29,138,97,0,0 // vbroadcastss 0x618a(%rip),%ymm11 # 79c0 <_sk_callback_avx+0x224> .byte 196,65,92,89,227 // vmulps %ymm11,%ymm4,%ymm12 .byte 196,98,125,24,45,128,97,0,0 // vbroadcastss 0x6180(%rip),%ymm13 # 79c4 <_sk_callback_avx+0x228> .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,65,44,89,212 // vmulps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,113,97,0,0 // vbroadcastss 0x6171(%rip),%ymm12 # 79c8 <_sk_callback_avx+0x22c> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,53,103,97,0,0 // vbroadcastss 0x6167(%rip),%ymm14 # 79cc <_sk_callback_avx+0x230> .byte 196,193,92,194,230,1 // vcmpltps %ymm14,%ymm4,%ymm4 .byte 196,195,45,74,225,64 // vblendvps %ymm4,%ymm9,%ymm10,%ymm4 .byte 196,65,84,89,200 // vmulps %ymm8,%ymm5,%ymm9 .byte 197,84,89,213 // vmulps %ymm5,%ymm5,%ymm10 .byte 196,65,84,89,251 // vmulps %ymm11,%ymm5,%ymm15 .byte 196,65,4,88,253 // vaddps %ymm13,%ymm15,%ymm15 .byte 196,65,44,89,215 // vmulps %ymm15,%ymm10,%ymm10 .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,193,84,194,238,1 // vcmpltps %ymm14,%ymm5,%ymm5 .byte 196,195,45,74,233,80 // vblendvps %ymm5,%ymm9,%ymm10,%ymm5 .byte 196,65,76,89,192 // vmulps %ymm8,%ymm6,%ymm8 .byte 197,76,89,206 // vmulps %ymm6,%ymm6,%ymm9 .byte 196,65,76,89,211 // vmulps %ymm11,%ymm6,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,52,88,204 // vaddps %ymm12,%ymm9,%ymm9 .byte 196,193,76,194,246,1 // vcmpltps %ymm14,%ymm6,%ymm6 .byte 196,195,53,74,240,96 // vblendvps %ymm6,%ymm8,%ymm9,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_to_srgb_avx .globl _sk_to_srgb_avx FUNCTION(_sk_to_srgb_avx) _sk_to_srgb_avx: .byte 197,124,82,200 // vrsqrtps %ymm0,%ymm9 .byte 196,98,125,24,5,252,96,0,0 // vbroadcastss 0x60fc(%rip),%ymm8 # 79d0 <_sk_callback_avx+0x234> .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,98,125,24,29,242,96,0,0 // vbroadcastss 0x60f2(%rip),%ymm11 # 79d4 <_sk_callback_avx+0x238> .byte 196,65,52,89,227 // vmulps %ymm11,%ymm9,%ymm12 .byte 196,98,125,24,45,232,96,0,0 // vbroadcastss 0x60e8(%rip),%ymm13 # 79d8 <_sk_callback_avx+0x23c> .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,65,52,89,228 // vmulps %ymm12,%ymm9,%ymm12 .byte 196,98,125,24,53,217,96,0,0 // vbroadcastss 0x60d9(%rip),%ymm14 # 79dc <_sk_callback_avx+0x240> .byte 196,65,28,88,230 // vaddps %ymm14,%ymm12,%ymm12 .byte 196,98,125,24,61,207,96,0,0 // vbroadcastss 0x60cf(%rip),%ymm15 # 79e0 <_sk_callback_avx+0x244> .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,52,89,204 // vmulps %ymm12,%ymm9,%ymm9 .byte 196,98,125,24,37,187,96,0,0 // vbroadcastss 0x60bb(%rip),%ymm12 # 79e4 <_sk_callback_avx+0x248> .byte 196,193,124,194,196,1 // vcmpltps %ymm12,%ymm0,%ymm0 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 197,124,82,201 // vrsqrtps %ymm1,%ymm9 .byte 196,65,52,89,211 // vmulps %ymm11,%ymm9,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,214 // vaddps %ymm14,%ymm10,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,193,116,194,204,1 // vcmpltps %ymm12,%ymm1,%ymm1 .byte 196,195,53,74,202,16 // vblendvps %ymm1,%ymm10,%ymm9,%ymm1 .byte 197,124,82,202 // vrsqrtps %ymm2,%ymm9 .byte 196,65,52,89,211 // vmulps %ymm11,%ymm9,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,214 // vaddps %ymm14,%ymm10,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,193,108,194,212,1 // vcmpltps %ymm12,%ymm2,%ymm2 .byte 196,195,53,74,208,32 // vblendvps %ymm2,%ymm8,%ymm9,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_avx .globl _sk_rgb_to_hsl_avx FUNCTION(_sk_rgb_to_hsl_avx) _sk_rgb_to_hsl_avx: .byte 197,124,95,193 // vmaxps %ymm1,%ymm0,%ymm8 .byte 197,60,95,194 // vmaxps %ymm2,%ymm8,%ymm8 .byte 197,124,93,201 // vminps %ymm1,%ymm0,%ymm9 .byte 197,52,93,202 // vminps %ymm2,%ymm9,%ymm9 .byte 196,65,60,92,209 // vsubps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,29,33,96,0,0 // vbroadcastss 0x6021(%rip),%ymm11 # 79e8 <_sk_callback_avx+0x24c> .byte 196,65,36,94,218 // vdivps %ymm10,%ymm11,%ymm11 .byte 197,116,92,226 // vsubps %ymm2,%ymm1,%ymm12 .byte 196,65,28,89,227 // vmulps %ymm11,%ymm12,%ymm12 .byte 197,116,194,234,1 // vcmpltps %ymm2,%ymm1,%ymm13 .byte 197,60,194,241,0 // vcmpeqps %ymm1,%ymm8,%ymm14 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,193,108,89,211 // vmulps %ymm11,%ymm2,%ymm2 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 196,193,116,89,203 // vmulps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,250,95,0,0 // vbroadcastss 0x5ffa(%rip),%ymm11 # 79f4 <_sk_callback_avx+0x258> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,232,95,0,0 // vbroadcastss 0x5fe8(%rip),%ymm11 # 79f0 <_sk_callback_avx+0x254> .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,227,117,74,202,224 // vblendvps %ymm14,%ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,208,95,0,0 // vbroadcastss 0x5fd0(%rip),%ymm2 # 79ec <_sk_callback_avx+0x250> .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,227,13,74,210,208 // vblendvps %ymm13,%ymm2,%ymm14,%ymm2 .byte 197,188,194,192,0 // vcmpeqps %ymm0,%ymm8,%ymm0 .byte 196,193,108,88,212 // vaddps %ymm12,%ymm2,%ymm2 .byte 196,227,117,74,194,0 // vblendvps %ymm0,%ymm2,%ymm1,%ymm0 .byte 196,193,60,88,201 // vaddps %ymm9,%ymm8,%ymm1 .byte 196,98,125,24,37,183,95,0,0 // vbroadcastss 0x5fb7(%rip),%ymm12 # 79fc <_sk_callback_avx+0x260> .byte 196,193,116,89,212 // vmulps %ymm12,%ymm1,%ymm2 .byte 197,28,194,226,1 // vcmpltps %ymm2,%ymm12,%ymm12 .byte 196,65,36,92,216 // vsubps %ymm8,%ymm11,%ymm11 .byte 196,65,36,92,217 // vsubps %ymm9,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 196,65,60,194,193,0 // vcmpeqps %ymm9,%ymm8,%ymm8 .byte 197,172,94,201 // vdivps %ymm1,%ymm10,%ymm1 .byte 196,195,125,74,198,128 // vblendvps %ymm8,%ymm14,%ymm0,%ymm0 .byte 196,195,117,74,206,128 // vblendvps %ymm8,%ymm14,%ymm1,%ymm1 .byte 196,98,125,24,5,122,95,0,0 // vbroadcastss 0x5f7a(%rip),%ymm8 # 79f8 <_sk_callback_avx+0x25c> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hsl_to_rgb_avx .globl _sk_hsl_to_rgb_avx FUNCTION(_sk_hsl_to_rgb_avx) _sk_hsl_to_rgb_avx: .byte 72,131,236,56 // sub $0x38,%rsp .byte 197,252,17,60,36 // vmovups %ymm7,(%rsp) .byte 197,252,17,116,36,224 // vmovups %ymm6,-0x20(%rsp) .byte 197,252,17,108,36,192 // vmovups %ymm5,-0x40(%rsp) .byte 197,252,17,100,36,160 // vmovups %ymm4,-0x60(%rsp) .byte 197,252,17,92,36,128 // vmovups %ymm3,-0x80(%rsp) .byte 197,252,40,225 // vmovaps %ymm1,%ymm4 .byte 197,252,40,216 // vmovaps %ymm0,%ymm3 .byte 196,98,125,24,5,71,95,0,0 // vbroadcastss 0x5f47(%rip),%ymm8 # 7a00 <_sk_callback_avx+0x264> .byte 197,60,194,202,2 // vcmpleps %ymm2,%ymm8,%ymm9 .byte 197,92,89,210 // vmulps %ymm2,%ymm4,%ymm10 .byte 196,65,92,92,218 // vsubps %ymm10,%ymm4,%ymm11 .byte 196,67,45,74,203,144 // vblendvps %ymm9,%ymm11,%ymm10,%ymm9 .byte 197,52,88,210 // vaddps %ymm2,%ymm9,%ymm10 .byte 197,108,88,202 // vaddps %ymm2,%ymm2,%ymm9 .byte 196,65,52,92,202 // vsubps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,29,33,95,0,0 // vbroadcastss 0x5f21(%rip),%ymm11 # 7a04 <_sk_callback_avx+0x268> .byte 196,65,100,88,219 // vaddps %ymm11,%ymm3,%ymm11 .byte 196,67,125,8,227,1 // vroundps $0x1,%ymm11,%ymm12 .byte 196,65,36,92,252 // vsubps %ymm12,%ymm11,%ymm15 .byte 196,65,44,92,217 // vsubps %ymm9,%ymm10,%ymm11 .byte 196,98,125,24,37,11,95,0,0 // vbroadcastss 0x5f0b(%rip),%ymm12 # 7a0c <_sk_callback_avx+0x270> .byte 196,193,4,89,196 // vmulps %ymm12,%ymm15,%ymm0 .byte 196,98,125,24,45,1,95,0,0 // vbroadcastss 0x5f01(%rip),%ymm13 # 7a10 <_sk_callback_avx+0x274> .byte 197,20,92,240 // vsubps %ymm0,%ymm13,%ymm14 .byte 196,65,36,89,246 // vmulps %ymm14,%ymm11,%ymm14 .byte 196,65,52,88,246 // vaddps %ymm14,%ymm9,%ymm14 .byte 196,226,125,24,13,226,94,0,0 // vbroadcastss 0x5ee2(%rip),%ymm1 # 7a08 <_sk_callback_avx+0x26c> .byte 196,193,116,194,255,2 // vcmpleps %ymm15,%ymm1,%ymm7 .byte 196,195,13,74,249,112 // vblendvps %ymm7,%ymm9,%ymm14,%ymm7 .byte 196,65,60,194,247,2 // vcmpleps %ymm15,%ymm8,%ymm14 .byte 196,227,45,74,255,224 // vblendvps %ymm14,%ymm7,%ymm10,%ymm7 .byte 196,98,125,24,53,205,94,0,0 // vbroadcastss 0x5ecd(%rip),%ymm14 # 7a14 <_sk_callback_avx+0x278> .byte 196,65,12,194,255,2 // vcmpleps %ymm15,%ymm14,%ymm15 .byte 196,193,124,89,195 // vmulps %ymm11,%ymm0,%ymm0 .byte 197,180,88,192 // vaddps %ymm0,%ymm9,%ymm0 .byte 196,99,125,74,255,240 // vblendvps %ymm15,%ymm7,%ymm0,%ymm15 .byte 196,227,125,8,195,1 // vroundps $0x1,%ymm3,%ymm0 .byte 197,228,92,192 // vsubps %ymm0,%ymm3,%ymm0 .byte 196,193,124,89,252 // vmulps %ymm12,%ymm0,%ymm7 .byte 197,148,92,247 // vsubps %ymm7,%ymm13,%ymm6 .byte 197,164,89,246 // vmulps %ymm6,%ymm11,%ymm6 .byte 197,180,88,246 // vaddps %ymm6,%ymm9,%ymm6 .byte 197,244,194,232,2 // vcmpleps %ymm0,%ymm1,%ymm5 .byte 196,195,77,74,233,80 // vblendvps %ymm5,%ymm9,%ymm6,%ymm5 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,237,96 // vblendvps %ymm6,%ymm5,%ymm10,%ymm5 .byte 197,140,194,192,2 // vcmpleps %ymm0,%ymm14,%ymm0 .byte 197,164,89,247 // vmulps %ymm7,%ymm11,%ymm6 .byte 197,180,88,246 // vaddps %ymm6,%ymm9,%ymm6 .byte 196,227,77,74,237,0 // vblendvps %ymm0,%ymm5,%ymm6,%ymm5 .byte 196,226,125,24,5,111,94,0,0 // vbroadcastss 0x5e6f(%rip),%ymm0 # 7a18 <_sk_callback_avx+0x27c> .byte 197,228,88,192 // vaddps %ymm0,%ymm3,%ymm0 .byte 196,227,125,8,216,1 // vroundps $0x1,%ymm0,%ymm3 .byte 197,252,92,195 // vsubps %ymm3,%ymm0,%ymm0 .byte 197,244,194,200,2 // vcmpleps %ymm0,%ymm1,%ymm1 .byte 196,193,124,89,220 // vmulps %ymm12,%ymm0,%ymm3 .byte 197,148,92,243 // vsubps %ymm3,%ymm13,%ymm6 .byte 197,164,89,246 // vmulps %ymm6,%ymm11,%ymm6 .byte 197,180,88,246 // vaddps %ymm6,%ymm9,%ymm6 .byte 196,195,77,74,201,16 // vblendvps %ymm1,%ymm9,%ymm6,%ymm1 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,201,96 // vblendvps %ymm6,%ymm1,%ymm10,%ymm1 .byte 197,140,194,192,2 // vcmpleps %ymm0,%ymm14,%ymm0 .byte 197,164,89,219 // vmulps %ymm3,%ymm11,%ymm3 .byte 197,180,88,219 // vaddps %ymm3,%ymm9,%ymm3 .byte 196,227,101,74,217,0 // vblendvps %ymm0,%ymm1,%ymm3,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,220,194,224,0 // vcmpeqps %ymm0,%ymm4,%ymm4 .byte 196,227,5,74,194,64 // vblendvps %ymm4,%ymm2,%ymm15,%ymm0 .byte 196,227,85,74,202,64 // vblendvps %ymm4,%ymm2,%ymm5,%ymm1 .byte 196,227,101,74,210,64 // vblendvps %ymm4,%ymm2,%ymm3,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,92,36,128 // vmovups -0x80(%rsp),%ymm3 .byte 197,252,16,100,36,160 // vmovups -0x60(%rsp),%ymm4 .byte 197,252,16,108,36,192 // vmovups -0x40(%rsp),%ymm5 .byte 197,252,16,116,36,224 // vmovups -0x20(%rsp),%ymm6 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_avx .globl _sk_scale_1_float_avx FUNCTION(_sk_scale_1_float_avx) _sk_scale_1_float_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_avx .globl _sk_scale_u8_avx FUNCTION(_sk_scale_u8_avx) _sk_scale_u8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,74 // jne 1ca0 <_sk_scale_u8_avx+0x54> .byte 196,66,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm8 .byte 197,57,219,5,140,97,0,0 // vpand 0x618c(%rip),%xmm8,%xmm8 # 7df0 <_sk_callback_avx+0x654> .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,57,105,201 // vpunpckhwd %xmm9,%xmm8,%xmm9 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,61,24,193,1 // vinsertf128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,149,93,0,0 // vbroadcastss 0x5d95(%rip),%ymm9 # 7a1c <_sk_callback_avx+0x280> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,167 // ja 1c5c <_sk_scale_u8_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,124,0,0,0 // lea 0x7c(%rip),%r10 # 1d3c <_sk_scale_u8_avx+0xf0> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,136 // jmp 1c5c <_sk_scale_u8_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,57,14,193,3 // vpblendw $0x3,%xmm9,%xmm8,%xmm8 .byte 233,95,255,255,255 // jmpq 1c5c <_sk_scale_u8_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,49,14,192,240 // vpblendw $0xf0,%xmm8,%xmm9,%xmm8 .byte 233,35,255,255,255 // jmpq 1c5c <_sk_scale_u8_avx+0x10> .byte 15,31,0 // nopl (%rax) .byte 141 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,168,255,255,255,152 // ljmp *-0x67000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_avx .globl _sk_lerp_1_float_avx FUNCTION(_sk_lerp_1_float_avx) _sk_lerp_1_float_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_avx .globl _sk_lerp_u8_avx FUNCTION(_sk_lerp_u8_avx) _sk_lerp_u8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,110 // jne 1e0f <_sk_lerp_u8_avx+0x78> .byte 196,66,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm8 .byte 197,57,219,5,81,96,0,0 // vpand 0x6051(%rip),%xmm8,%xmm8 # 7e00 <_sk_callback_avx+0x664> .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,57,105,201 // vpunpckhwd %xmm9,%xmm8,%xmm9 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,61,24,193,1 // vinsertf128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,78,92,0,0 // vbroadcastss 0x5c4e(%rip),%ymm9 # 7a20 <_sk_callback_avx+0x284> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,131 // ja 1da7 <_sk_lerp_u8_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,125,0,0,0 // lea 0x7d(%rip),%r10 # 1eac <_sk_lerp_u8_avx+0x115> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,97,255,255,255 // jmpq 1da7 <_sk_lerp_u8_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,57,14,193,3 // vpblendw $0x3,%xmm9,%xmm8,%xmm8 .byte 233,56,255,255,255 // jmpq 1da7 <_sk_lerp_u8_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,67,49,14,192,240 // vpblendw $0xf0,%xmm8,%xmm9,%xmm8 .byte 233,252,254,255,255 // jmpq 1da7 <_sk_lerp_u8_avx+0x10> .byte 144 // nop .byte 140,255 // mov %?,%edi .byte 255 // (bad) .byte 255,170,255,255,255,154 // ljmp *-0x65000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 233,255,255,255,222 // jmpq ffffffffdf001ebc <_sk_callback_avx+0xffffffffdeffa720> .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_avx .globl _sk_lerp_565_avx FUNCTION(_sk_lerp_565_avx) _sk_lerp_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,208,0,0,0 // jne 1fa6 <_sk_lerp_565_avx+0xde> .byte 196,65,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,57,105,201 // vpunpckhwd %xmm9,%xmm8,%xmm9 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,61,24,193,1 // vinsertf128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,98,125,24,13,42,91,0,0 // vbroadcastss 0x5b2a(%rip),%ymm9 # 7a24 <_sk_callback_avx+0x288> .byte 196,65,60,84,201 // vandps %ymm9,%ymm8,%ymm9 .byte 196,65,124,91,201 // vcvtdq2ps %ymm9,%ymm9 .byte 196,98,125,24,21,27,91,0,0 // vbroadcastss 0x5b1b(%rip),%ymm10 # 7a28 <_sk_callback_avx+0x28c> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,21,17,91,0,0 // vbroadcastss 0x5b11(%rip),%ymm10 # 7a2c <_sk_callback_avx+0x290> .byte 196,65,60,84,210 // vandps %ymm10,%ymm8,%ymm10 .byte 196,65,124,91,210 // vcvtdq2ps %ymm10,%ymm10 .byte 196,98,125,24,29,2,91,0,0 // vbroadcastss 0x5b02(%rip),%ymm11 # 7a30 <_sk_callback_avx+0x294> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,29,248,90,0,0 // vbroadcastss 0x5af8(%rip),%ymm11 # 7a34 <_sk_callback_avx+0x298> .byte 196,65,60,84,195 // vandps %ymm11,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,29,233,90,0,0 // vbroadcastss 0x5ae9(%rip),%ymm11 # 7a38 <_sk_callback_avx+0x29c> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,65,100,89,201 // vmulps %ymm9,%ymm3,%ymm9 .byte 197,52,88,207 // vaddps %ymm7,%ymm9,%ymm9 .byte 196,65,100,89,210 // vmulps %ymm10,%ymm3,%ymm10 .byte 197,44,88,215 // vaddps %ymm7,%ymm10,%ymm10 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 197,172,95,219 // vmaxps %ymm3,%ymm10,%ymm3 .byte 197,180,95,219 // vmaxps %ymm3,%ymm9,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,29,255,255,255 // ja 1edc <_sk_lerp_565_avx+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,102,0,0,0 // lea 0x66(%rip),%r10 # 2030 <_sk_lerp_565_avx+0x168> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,251,254,255,255 // jmpq 1edc <_sk_lerp_565_avx+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm9 .byte 196,67,57,14,193,3 // vpblendw $0x3,%xmm9,%xmm8,%xmm8 .byte 233,221,254,255,255 // jmpq 1edc <_sk_lerp_565_avx+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,57,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,57,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8 .byte 196,65,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm9 .byte 196,67,49,14,192,240 // vpblendw $0xf0,%xmm8,%xmm9,%xmm8 .byte 233,175,254,255,255 // jmpq 1edc <_sk_lerp_565_avx+0x14> .byte 15,31,0 // nopl (%rax) .byte 163,255,255,255,190,255,255,255,177 // movabs %eax,0xb1ffffffbeffffff .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_avx .globl _sk_load_tables_avx FUNCTION(_sk_load_tables_avx) _sk_load_tables_avx: .byte 83 // push %rbx .byte 197,252,17,124,36,208 // vmovups %ymm7,-0x30(%rsp) .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,248,1,0,0 // jne 2264 <_sk_load_tables_avx+0x218> .byte 196,65,124,16,18 // vmovups (%r10),%ymm10 .byte 197,124,40,13,39,95,0,0 // vmovaps 0x5f27(%rip),%ymm9 # 7fa0 <_sk_callback_avx+0x804> .byte 196,193,44,84,201 // vandps %ymm9,%ymm10,%ymm1 .byte 196,227,125,25,200,1 // vextractf128 $0x1,%ymm1,%xmm0 .byte 196,193,249,126,195 // vmovq %xmm0,%r11 .byte 69,137,218 // mov %r11d,%r10d .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 196,161,122,16,20,147 // vmovss (%rbx,%r10,4),%xmm2 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,163,105,33,4,155,16 // vinsertps $0x10,(%rbx,%r11,4),%xmm2,%xmm0 .byte 68,137,209 // mov %r10d,%ecx .byte 196,227,121,33,4,139,32 // vinsertps $0x20,(%rbx,%rcx,4),%xmm0,%xmm0 .byte 196,193,249,126,203 // vmovq %xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,35,121,33,44,147,48 // vinsertps $0x30,(%rbx,%r10,4),%xmm0,%xmm13 .byte 68,137,217 // mov %r11d,%ecx .byte 197,250,16,20,139 // vmovss (%rbx,%rcx,4),%xmm2 .byte 196,227,249,22,201,1 // vpextrq $0x1,%xmm1,%rcx .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,163,105,33,12,155,16 // vinsertps $0x10,(%rbx,%r11,4),%xmm2,%xmm1 .byte 65,137,202 // mov %ecx,%r10d .byte 72,193,233,32 // shr $0x20,%rcx .byte 196,163,113,33,12,147,32 // vinsertps $0x20,(%rbx,%r10,4),%xmm1,%xmm1 .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 196,99,113,33,36,139,48 // vinsertps $0x30,(%rbx,%rcx,4),%xmm1,%xmm12 .byte 196,193,105,114,210,8 // vpsrld $0x8,%xmm10,%xmm2 .byte 196,67,125,25,208,1 // vextractf128 $0x1,%ymm10,%xmm8 .byte 196,193,121,114,208,8 // vpsrld $0x8,%xmm8,%xmm0 .byte 196,227,109,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm0 .byte 196,193,124,84,209 // vandps %ymm9,%ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 196,225,249,126,193 // vmovq %xmm0,%rcx .byte 137,203 // mov %ecx,%ebx .byte 196,193,122,16,12,154 // vmovss (%r10,%rbx,4),%xmm1 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 72,193,233,32 // shr $0x20,%rcx .byte 196,67,113,33,52,138,16 // vinsertps $0x10,(%r10,%rcx,4),%xmm1,%xmm14 .byte 137,217 // mov %ebx,%ecx .byte 196,193,122,16,28,138 // vmovss (%r10,%rcx,4),%xmm3 .byte 196,225,249,126,209 // vmovq %xmm2,%rcx .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,122,16,12,154 // vmovss (%r10,%rbx,4),%xmm1 .byte 137,203 // mov %ecx,%ebx .byte 196,193,122,16,4,154 // vmovss (%r10,%rbx,4),%xmm0 .byte 196,227,249,22,211,1 // vpextrq $0x1,%xmm2,%rbx .byte 72,193,233,32 // shr $0x20,%rcx .byte 196,67,121,33,28,138,16 // vinsertps $0x10,(%r10,%rcx,4),%xmm0,%xmm11 .byte 137,217 // mov %ebx,%ecx .byte 196,65,122,16,60,138 // vmovss (%r10,%rcx,4),%xmm15 .byte 196,195,29,24,197,1 // vinsertf128 $0x1,%xmm13,%ymm12,%ymm0 .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,227,9,33,219,32 // vinsertps $0x20,%xmm3,%xmm14,%xmm3 .byte 196,227,97,33,249,48 // vinsertps $0x30,%xmm1,%xmm3,%xmm7 .byte 196,65,122,16,52,154 // vmovss (%r10,%rbx,4),%xmm14 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,193,97,114,210,16 // vpsrld $0x10,%xmm10,%xmm3 .byte 196,193,105,114,208,16 // vpsrld $0x10,%xmm8,%xmm2 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 196,65,108,84,201 // vandps %ymm9,%ymm2,%ymm9 .byte 196,99,125,25,202,1 // vextractf128 $0x1,%ymm9,%xmm2 .byte 196,225,249,126,209 // vmovq %xmm2,%rcx .byte 137,203 // mov %ecx,%ebx .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,227,249,22,211,1 // vpextrq $0x1,%xmm2,%rbx .byte 72,193,233,32 // shr $0x20,%rcx .byte 196,99,97,33,36,136,16 // vinsertps $0x10,(%rax,%rcx,4),%xmm3,%xmm12 .byte 137,217 // mov %ebx,%ecx .byte 197,250,16,28,136 // vmovss (%rax,%rcx,4),%xmm3 .byte 196,97,249,126,201 // vmovq %xmm9,%rcx .byte 72,193,235,32 // shr $0x20,%rbx .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 137,203 // mov %ecx,%ebx .byte 197,250,16,12,152 // vmovss (%rax,%rbx,4),%xmm1 .byte 196,99,249,22,203,1 // vpextrq $0x1,%xmm9,%rbx .byte 72,193,233,32 // shr $0x20,%rcx .byte 196,99,113,33,12,136,16 // vinsertps $0x10,(%rax,%rcx,4),%xmm1,%xmm9 .byte 137,217 // mov %ebx,%ecx .byte 197,122,16,44,136 // vmovss (%rax,%rcx,4),%xmm13 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 72,193,235,32 // shr $0x20,%rbx .byte 197,122,16,28,152 // vmovss (%rax,%rbx,4),%xmm11 .byte 196,195,113,33,206,48 // vinsertps $0x30,%xmm14,%xmm1,%xmm1 .byte 196,227,117,24,207,1 // vinsertf128 $0x1,%xmm7,%ymm1,%ymm1 .byte 196,227,25,33,219,32 // vinsertps $0x20,%xmm3,%xmm12,%xmm3 .byte 196,227,97,33,210,48 // vinsertps $0x30,%xmm2,%xmm3,%xmm2 .byte 196,195,49,33,221,32 // vinsertps $0x20,%xmm13,%xmm9,%xmm3 .byte 196,195,97,33,219,48 // vinsertps $0x30,%xmm11,%xmm3,%xmm3 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 196,193,97,114,210,24 // vpsrld $0x18,%xmm10,%xmm3 .byte 196,193,65,114,208,24 // vpsrld $0x18,%xmm8,%xmm7 .byte 196,227,101,24,223,1 // vinsertf128 $0x1,%xmm7,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,226,125,24,61,234,87,0,0 // vbroadcastss 0x57ea(%rip),%ymm7 # 7a3c <_sk_callback_avx+0x2a0> .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 197,252,16,124,36,208 // vmovups -0x30(%rsp),%ymm7 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 73,199,195,255,255,255,255 // mov $0xffffffffffffffff,%r11 .byte 73,211,235 // shr %cl,%r11 .byte 196,193,249,110,195 // vmovq %r11,%xmm0 .byte 196,226,121,48,192 // vpmovzxbw %xmm0,%xmm0 .byte 196,226,121,0,13,132,91,0,0 // vpshufb 0x5b84(%rip),%xmm0,%xmm1 # 7e10 <_sk_callback_avx+0x674> .byte 196,226,121,33,201 // vpmovsxbd %xmm1,%xmm1 .byte 196,226,121,0,5,134,91,0,0 // vpshufb 0x5b86(%rip),%xmm0,%xmm0 # 7e20 <_sk_callback_avx+0x684> .byte 196,226,121,33,192 // vpmovsxbd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,66,125,44,18 // vmaskmovps (%r10),%ymm0,%ymm10 .byte 233,194,253,255,255 // jmpq 2071 <_sk_load_tables_avx+0x25> HIDDEN _sk_load_tables_u16_be_avx .globl _sk_load_tables_u16_be_avx FUNCTION(_sk_load_tables_u16_be_avx) _sk_load_tables_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 77,133,192 // test %r8,%r8 .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 15,133,84,2,0,0 // jne 251f <_sk_load_tables_u16_be_avx+0x270> .byte 196,1,121,16,4,81 // vmovupd (%r9,%r10,2),%xmm8 .byte 196,129,121,16,84,81,16 // vmovupd 0x10(%r9,%r10,2),%xmm2 .byte 196,129,121,16,92,81,32 // vmovupd 0x20(%r9,%r10,2),%xmm3 .byte 196,1,122,111,76,81,48 // vmovdqu 0x30(%r9,%r10,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,202 // vpunpcklwd %xmm2,%xmm0,%xmm9 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,241,97,195 // vpunpcklwd %xmm3,%xmm1,%xmm0 .byte 197,113,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm11 .byte 197,177,108,200 // vpunpcklqdq %xmm0,%xmm9,%xmm1 .byte 197,49,109,224 // vpunpckhqdq %xmm0,%xmm9,%xmm12 .byte 197,121,111,21,24,91,0,0 // vmovdqa 0x5b18(%rip),%xmm10 # 7e30 <_sk_callback_avx+0x694> .byte 196,193,113,219,202 // vpand %xmm10,%xmm1,%xmm1 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,113,105,209 // vpunpckhwd %xmm9,%xmm1,%xmm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,88,8 // mov 0x8(%rax),%r11 .byte 196,129,122,16,28,147 // vmovss (%r11,%r10,4),%xmm3 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,97,33,44,139,16 // vinsertps $0x10,(%r11,%r9,4),%xmm3,%xmm13 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,129,122,16,28,139 // vmovss (%r11,%r9,4),%xmm3 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,129,122,16,4,147 // vmovss (%r11,%r10,4),%xmm0 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,129,122,16,20,147 // vmovss (%r11,%r10,4),%xmm2 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,131,105,33,12,11,16 // vinsertps $0x10,(%r11,%r9,1),%xmm2,%xmm1 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,122,16,20,139 // vmovss (%r11,%r9,4),%xmm2 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,227,17,33,219,32 // vinsertps $0x20,%xmm3,%xmm13,%xmm3 .byte 196,99,97,33,232,48 // vinsertps $0x30,%xmm0,%xmm3,%xmm13 .byte 196,99,113,33,242,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm14 .byte 196,1,122,16,60,19 // vmovss (%r11,%r10,1),%xmm15 .byte 196,193,25,219,210 // vpand %xmm10,%xmm12,%xmm2 .byte 196,193,105,105,193 // vpunpckhwd %xmm9,%xmm2,%xmm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,129,122,16,12,153 // vmovss (%r9,%r11,4),%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,113,33,36,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm1,%xmm12 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,226,121,51,194 // vpmovzxwd %xmm2,%xmm0 .byte 196,129,122,16,20,145 // vmovss (%r9,%r10,4),%xmm2 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 196,129,122,16,28,153 // vmovss (%r9,%r11,4),%xmm3 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,122,16,12,153 // vmovss (%r9,%r11,4),%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 196,131,113,33,12,17,16 // vinsertps $0x10,(%r9,%r10,1),%xmm1,%xmm1 .byte 69,137,218 // mov %r11d,%r10d .byte 196,129,122,16,60,145 // vmovss (%r9,%r10,4),%xmm7 .byte 196,195,9,33,199,48 // vinsertps $0x30,%xmm15,%xmm14,%xmm0 .byte 196,65,57,108,243 // vpunpcklqdq %xmm11,%xmm8,%xmm14 .byte 196,195,125,24,197,1 // vinsertf128 $0x1,%xmm13,%ymm0,%ymm0 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,227,25,33,210,32 // vinsertps $0x20,%xmm2,%xmm12,%xmm2 .byte 196,227,105,33,219,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm3 .byte 196,99,113,33,239,32 // vinsertps $0x20,%xmm7,%xmm1,%xmm13 .byte 196,1,122,16,60,25 // vmovss (%r9,%r11,1),%xmm15 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,193,9,219,250 // vpand %xmm10,%xmm14,%xmm7 .byte 196,193,65,105,209 // vpunpckhwd %xmm9,%xmm7,%xmm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,12,130 // vmovss (%r10,%rax,4),%xmm1 .byte 196,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,113,33,20,138,16 // vinsertps $0x10,(%r10,%r9,4),%xmm1,%xmm10 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,226,121,51,207 // vpmovzxwd %xmm7,%xmm1 .byte 196,1,122,16,52,138 // vmovss (%r10,%r9,4),%xmm14 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,65,122,16,36,130 // vmovss (%r10,%rax,4),%xmm12 .byte 68,137,200 // mov %r9d,%eax .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,193,122,16,20,130 // vmovss (%r10,%rax,4),%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 196,131,105,33,20,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm2,%xmm2 .byte 68,137,216 // mov %r11d,%eax .byte 196,193,122,16,60,130 // vmovss (%r10,%rax,4),%xmm7 .byte 196,195,17,33,207,48 // vinsertps $0x30,%xmm15,%xmm13,%xmm1 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,1,122,16,44,26 // vmovss (%r10,%r11,1),%xmm13 .byte 196,227,117,24,203,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm1 .byte 196,195,41,33,222,32 // vinsertps $0x20,%xmm14,%xmm10,%xmm3 .byte 196,195,97,33,220,48 // vinsertps $0x30,%xmm12,%xmm3,%xmm3 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,195,105,33,213,48 // vinsertps $0x30,%xmm13,%xmm2,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 196,193,57,109,219 // vpunpckhqdq %xmm11,%xmm8,%xmm3 .byte 197,193,113,243,8 // vpsllw $0x8,%xmm3,%xmm7 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,193,235,219 // vpor %xmm3,%xmm7,%xmm3 .byte 196,193,97,105,249 // vpunpckhwd %xmm9,%xmm3,%xmm7 .byte 196,226,121,51,219 // vpmovzxwd %xmm3,%xmm3 .byte 196,227,101,24,223,1 // vinsertf128 $0x1,%xmm7,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,226,125,24,61,47,85,0,0 // vbroadcastss 0x552f(%rip),%ymm7 # 7a40 <_sk_callback_avx+0x2a4> .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 255,224 // jmpq *%rax .byte 196,1,123,16,4,81 // vmovsd (%r9,%r10,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,85 // je 2585 <_sk_load_tables_u16_be_avx+0x2d6> .byte 196,1,57,22,68,81,8 // vmovhpd 0x8(%r9,%r10,2),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,72 // jb 2585 <_sk_load_tables_u16_be_avx+0x2d6> .byte 196,129,123,16,84,81,16 // vmovsd 0x10(%r9,%r10,2),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,72 // je 2592 <_sk_load_tables_u16_be_avx+0x2e3> .byte 196,129,105,22,84,81,24 // vmovhpd 0x18(%r9,%r10,2),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,59 // jb 2592 <_sk_load_tables_u16_be_avx+0x2e3> .byte 196,129,123,16,92,81,32 // vmovsd 0x20(%r9,%r10,2),%xmm3 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,126,253,255,255 // je 22e6 <_sk_load_tables_u16_be_avx+0x37> .byte 196,129,97,22,92,81,40 // vmovhpd 0x28(%r9,%r10,2),%xmm3,%xmm3 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,109,253,255,255 // jb 22e6 <_sk_load_tables_u16_be_avx+0x37> .byte 196,1,122,126,76,81,48 // vmovq 0x30(%r9,%r10,2),%xmm9 .byte 233,97,253,255,255 // jmpq 22e6 <_sk_load_tables_u16_be_avx+0x37> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,84,253,255,255 // jmpq 22e6 <_sk_load_tables_u16_be_avx+0x37> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,75,253,255,255 // jmpq 22e6 <_sk_load_tables_u16_be_avx+0x37> HIDDEN _sk_load_tables_rgb_u16_be_avx .globl _sk_load_tables_rgb_u16_be_avx FUNCTION(_sk_load_tables_rgb_u16_be_avx) _sk_load_tables_rgb_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,82 // lea (%rdx,%rdx,2),%r10 .byte 77,133,192 // test %r8,%r8 .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 197,252,17,116,36,168 // vmovups %ymm6,-0x58(%rsp) .byte 15,133,71,2,0,0 // jne 2800 <_sk_load_tables_rgb_u16_be_avx+0x265> .byte 196,129,122,111,4,81 // vmovdqu (%r9,%r10,2),%xmm0 .byte 196,129,122,111,84,81,12 // vmovdqu 0xc(%r9,%r10,2),%xmm2 .byte 196,129,122,111,76,81,24 // vmovdqu 0x18(%r9,%r10,2),%xmm1 .byte 196,129,122,111,92,81,32 // vmovdqu 0x20(%r9,%r10,2),%xmm3 .byte 197,225,115,219,4 // vpsrldq $0x4,%xmm3,%xmm3 .byte 197,185,115,216,6 // vpsrldq $0x6,%xmm0,%xmm8 .byte 197,177,115,218,6 // vpsrldq $0x6,%xmm2,%xmm9 .byte 197,161,115,217,6 // vpsrldq $0x6,%xmm1,%xmm11 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,249,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm0 .byte 196,193,57,97,209 // vpunpcklwd %xmm9,%xmm8,%xmm2 .byte 197,241,97,203 // vpunpcklwd %xmm3,%xmm1,%xmm1 .byte 196,193,33,97,218 // vpunpcklwd %xmm10,%xmm11,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,249,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm0 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,241,105,203 // vpunpckhwd %xmm3,%xmm1,%xmm1 .byte 197,185,108,218 // vpunpcklqdq %xmm2,%xmm8,%xmm3 .byte 197,57,109,218 // vpunpckhqdq %xmm2,%xmm8,%xmm11 .byte 197,121,108,193 // vpunpcklqdq %xmm1,%xmm0,%xmm8 .byte 197,121,111,13,29,88,0,0 // vmovdqa 0x581d(%rip),%xmm9 # 7e40 <_sk_callback_avx+0x6a4> .byte 196,193,97,219,193 // vpand %xmm9,%xmm3,%xmm0 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 196,193,121,105,202 // vpunpckhwd %xmm10,%xmm0,%xmm1 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,88,8 // mov 0x8(%rax),%r11 .byte 196,129,122,16,20,147 // vmovss (%r11,%r10,4),%xmm2 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,105,33,36,139,16 // vinsertps $0x10,(%r11,%r9,4),%xmm2,%xmm12 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,129,122,16,20,139 // vmovss (%r11,%r9,4),%xmm2 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,129,122,16,12,147 // vmovss (%r11,%r10,4),%xmm1 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,129,122,16,28,147 // vmovss (%r11,%r10,4),%xmm3 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,131,97,33,28,11,16 // vinsertps $0x10,(%r11,%r9,1),%xmm3,%xmm3 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,122,16,4,139 // vmovss (%r11,%r9,4),%xmm0 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,227,25,33,210,32 // vinsertps $0x20,%xmm2,%xmm12,%xmm2 .byte 196,227,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm1 .byte 196,129,122,16,20,19 // vmovss (%r11,%r10,1),%xmm2 .byte 196,65,33,219,225 // vpand %xmm9,%xmm11,%xmm12 .byte 196,65,25,105,218 // vpunpckhwd %xmm10,%xmm12,%xmm11 .byte 196,65,249,126,218 // vmovq %xmm11,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,1,122,16,44,153 // vmovss (%r9,%r11,4),%xmm13 .byte 196,67,249,22,219,1 // vpextrq $0x1,%xmm11,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,17,33,28,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm13,%xmm11 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,66,121,51,244 // vpmovzxwd %xmm12,%xmm14 .byte 196,1,122,16,44,145 // vmovss (%r9,%r10,4),%xmm13 .byte 196,65,249,126,242 // vmovq %xmm14,%r10 .byte 196,1,122,16,36,153 // vmovss (%r9,%r11,4),%xmm12 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,1,122,16,60,153 // vmovss (%r9,%r11,4),%xmm15 .byte 196,67,249,22,243,1 // vpextrq $0x1,%xmm14,%r11 .byte 196,3,1,33,52,17,16 // vinsertps $0x10,(%r9,%r10,1),%xmm15,%xmm14 .byte 69,137,218 // mov %r11d,%r10d .byte 196,1,122,16,60,145 // vmovss (%r9,%r10,4),%xmm15 .byte 196,227,97,33,192,32 // vinsertps $0x20,%xmm0,%xmm3,%xmm0 .byte 196,227,121,33,194,48 // vinsertps $0x30,%xmm2,%xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,129,122,16,52,25 // vmovss (%r9,%r11,1),%xmm6 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,65,57,219,193 // vpand %xmm9,%xmm8,%xmm8 .byte 196,193,57,105,210 // vpunpckhwd %xmm10,%xmm8,%xmm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,12,130 // vmovss (%r10,%rax,4),%xmm1 .byte 196,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,113,33,12,138,16 // vinsertps $0x10,(%r10,%r9,4),%xmm1,%xmm9 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,194,121,51,200 // vpmovzxwd %xmm8,%xmm1 .byte 196,1,122,16,4,138 // vmovss (%r10,%r9,4),%xmm8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,65,122,16,20,130 // vmovss (%r10,%rax,4),%xmm10 .byte 68,137,200 // mov %r9d,%eax .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,193,122,16,20,130 // vmovss (%r10,%rax,4),%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 196,131,105,33,20,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm2,%xmm2 .byte 68,137,216 // mov %r11d,%eax .byte 196,193,122,16,60,130 // vmovss (%r10,%rax,4),%xmm7 .byte 196,195,33,33,205,32 // vinsertps $0x20,%xmm13,%xmm11,%xmm1 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,1,122,16,28,26 // vmovss (%r10,%r11,1),%xmm11 .byte 196,195,113,33,204,48 // vinsertps $0x30,%xmm12,%xmm1,%xmm1 .byte 196,195,9,33,223,32 // vinsertps $0x20,%xmm15,%xmm14,%xmm3 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 196,195,49,33,216,32 // vinsertps $0x20,%xmm8,%xmm9,%xmm3 .byte 196,195,97,33,218,48 // vinsertps $0x30,%xmm10,%xmm3,%xmm3 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,195,105,33,211,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,82,82,0,0 // vbroadcastss 0x5252(%rip),%ymm3 # 7a44 <_sk_callback_avx+0x2a8> .byte 197,252,16,116,36,168 // vmovups -0x58(%rsp),%ymm6 .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 255,224 // jmpq *%rax .byte 196,129,121,110,4,81 // vmovd (%r9,%r10,2),%xmm0 .byte 196,129,121,196,68,81,4,2 // vpinsrw $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,5 // jne 2819 <_sk_load_tables_rgb_u16_be_avx+0x27e> .byte 233,212,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 196,129,121,110,76,81,6 // vmovd 0x6(%r9,%r10,2),%xmm1 .byte 196,1,113,196,68,81,10,2 // vpinsrw $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,26 // jb 2848 <_sk_load_tables_rgb_u16_be_avx+0x2ad> .byte 196,129,121,110,76,81,12 // vmovd 0xc(%r9,%r10,2),%xmm1 .byte 196,129,113,196,84,81,16,2 // vpinsrw $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 117,10 // jne 284d <_sk_load_tables_rgb_u16_be_avx+0x2b2> .byte 233,165,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 233,160,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 196,129,121,110,76,81,18 // vmovd 0x12(%r9,%r10,2),%xmm1 .byte 196,1,113,196,76,81,22,2 // vpinsrw $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,26 // jb 287c <_sk_load_tables_rgb_u16_be_avx+0x2e1> .byte 196,129,121,110,76,81,24 // vmovd 0x18(%r9,%r10,2),%xmm1 .byte 196,129,113,196,76,81,28,2 // vpinsrw $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 117,10 // jne 2881 <_sk_load_tables_rgb_u16_be_avx+0x2e6> .byte 233,113,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 233,108,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 196,129,121,110,92,81,30 // vmovd 0x1e(%r9,%r10,2),%xmm3 .byte 196,1,97,196,92,81,34,2 // vpinsrw $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,20 // jb 28aa <_sk_load_tables_rgb_u16_be_avx+0x30f> .byte 196,129,121,110,92,81,36 // vmovd 0x24(%r9,%r10,2),%xmm3 .byte 196,129,97,196,92,81,40,2 // vpinsrw $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3 .byte 233,67,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> .byte 233,62,253,255,255 // jmpq 25ed <_sk_load_tables_rgb_u16_be_avx+0x52> HIDDEN _sk_byte_tables_avx .globl _sk_byte_tables_avx FUNCTION(_sk_byte_tables_avx) _sk_byte_tables_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,142,81,0,0 // vbroadcastss 0x518e(%rip),%ymm8 # 7a48 <_sk_callback_avx+0x2ac> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,201 // vmovq %xmm9,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,24 // mov (%rax),%r11 .byte 196,131,121,32,4,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm0 .byte 196,67,249,22,202,1 // vpextrq $0x1,%xmm9,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,32,20,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm0,%xmm10 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,67,41,32,201,2 // vpinsrb $0x2,%r9d,%xmm10,%xmm9 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,3 // vpinsrb $0x3,%r10d,%xmm9,%xmm9 .byte 69,137,202 // mov %r9d,%r10d .byte 196,3,121,32,20,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm10 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,41,32,4,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm10,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,121,32,210,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm10 .byte 196,193,116,89,192 // vmulps %ymm8,%ymm1,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,12,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,113,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm1,%xmm1 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,113,32,202,2 // vpinsrb $0x2,%r10d,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,67,113,32,227,3 // vpinsrb $0x3,%r11d,%xmm1,%xmm12 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,12,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,113,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm1,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,2 // vpinsrb $0x2,%r10d,%xmm0,%xmm0 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,67,121,32,233,3 // vpinsrb $0x3,%r9d,%xmm0,%xmm13 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,193,108,89,200 // vmulps %ymm8,%ymm2,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,20,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,20,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm2 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,105,32,210,2 // vpinsrb $0x2,%r10d,%xmm2,%xmm2 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,67,105,32,219,3 // vpinsrb $0x3,%r11d,%xmm2,%xmm11 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,20,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm1 .byte 69,137,218 // mov %r11d,%r10d .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,113,32,202,2 // vpinsrb $0x2,%r10d,%xmm1,%xmm1 .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,67,113,32,241,3 // vpinsrb $0x3,%r9d,%xmm1,%xmm14 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,193,100,89,200 // vmulps %ymm8,%ymm3,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,28,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm3 .byte 196,227,249,22,200,1 // vpextrq $0x1,%xmm1,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,97,32,28,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm3,%xmm3 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,195,97,32,217,2 // vpinsrb $0x2,%r9d,%xmm3,%xmm3 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,99,97,32,192,3 // vpinsrb $0x3,%eax,%xmm3,%xmm8 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,4,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,121,32,4,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm0,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,99,121,32,248,2 // vpinsrb $0x2,%eax,%xmm0,%xmm15 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,26 // movzbl (%r10,%r11,1),%eax .byte 196,194,121,49,193 // vpmovzxbd %xmm9,%xmm0 .byte 196,194,121,49,202 // vpmovzxbd %xmm10,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,194,121,49,204 // vpmovzxbd %xmm12,%xmm1 .byte 196,194,121,49,213 // vpmovzxbd %xmm13,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,98,125,24,13,56,79,0,0 // vbroadcastss 0x4f38(%rip),%ymm9 # 7a4c <_sk_callback_avx+0x2b0> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,194,121,49,211 // vpmovzxbd %xmm11,%xmm2 .byte 196,194,121,49,222 // vpmovzxbd %xmm14,%xmm3 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,66,121,49,192 // vpmovzxbd %xmm8,%xmm8 .byte 196,227,1,32,216,3 // vpinsrb $0x3,%eax,%xmm15,%xmm3 .byte 196,226,121,49,219 // vpmovzxbd %xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_avx .globl _sk_byte_tables_rgb_avx FUNCTION(_sk_byte_tables_rgb_avx) _sk_byte_tables_rgb_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,72,24 // mov 0x18(%rax),%r9d .byte 65,255,201 // dec %r9d .byte 196,65,121,110,193 // vmovd %r9d,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,201 // vmovq %xmm9,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 76,139,24 // mov (%rax),%r11 .byte 196,131,121,32,4,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm0 .byte 196,67,249,22,202,1 // vpextrq $0x1,%xmm9,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,32,20,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm0,%xmm10 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,67,41,32,201,2 // vpinsrb $0x2,%r9d,%xmm10,%xmm9 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,49,32,202,3 // vpinsrb $0x3,%r10d,%xmm9,%xmm9 .byte 69,137,202 // mov %r9d,%r10d .byte 196,3,121,32,20,19,0 // vpinsrb $0x0,(%r11,%r10,1),%xmm0,%xmm10 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,41,32,4,11,1 // vpinsrb $0x1,(%r11,%r9,1),%xmm10,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,11 // movzbl (%r11,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 71,15,182,20,19 // movzbl (%r11,%r10,1),%r10d .byte 196,67,121,32,218,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm11 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,4,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,2 // vpinsrb $0x2,%r10d,%xmm0,%xmm0 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 196,67,121,32,211,3 // vpinsrb $0x3,%r11d,%xmm0,%xmm10 .byte 69,137,211 // mov %r10d,%r11d .byte 196,131,121,32,4,25,0 // vpinsrb $0x0,(%r9,%r11,1),%xmm0,%xmm0 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm0,%xmm0 .byte 69,137,218 // mov %r11d,%r10d .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 196,195,121,32,194,2 // vpinsrb $0x2,%r10d,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 71,15,182,12,25 // movzbl (%r9,%r11,1),%r9d .byte 196,67,121,32,225,3 // vpinsrb $0x3,%r9d,%xmm0,%xmm12 .byte 76,139,80,16 // mov 0x10(%rax),%r10 .byte 197,188,89,194 // vmulps %ymm2,%ymm8,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,20,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm2 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,105,32,20,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm2,%xmm2 .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,195,105,32,209,2 // vpinsrb $0x2,%r9d,%xmm2,%xmm2 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,99,105,32,192,3 // vpinsrb $0x3,%eax,%xmm2,%xmm8 .byte 68,137,200 // mov %r9d,%eax .byte 196,195,121,32,12,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,113,32,4,10,1 // vpinsrb $0x1,(%r10,%r9,1),%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 196,99,121,32,232,2 // vpinsrb $0x2,%eax,%xmm0,%xmm13 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,26 // movzbl (%r10,%r11,1),%eax .byte 196,194,121,49,193 // vpmovzxbd %xmm9,%xmm0 .byte 196,194,121,49,203 // vpmovzxbd %xmm11,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,25,77,0,0 // vbroadcastss 0x4d19(%rip),%ymm9 # 7a50 <_sk_callback_avx+0x2b4> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 196,194,121,49,202 // vpmovzxbd %xmm10,%xmm1 .byte 196,194,121,49,212 // vpmovzxbd %xmm12,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,66,121,49,192 // vpmovzxbd %xmm8,%xmm8 .byte 196,227,17,32,208,3 // vpinsrb $0x3,%eax,%xmm13,%xmm2 .byte 196,226,121,49,210 // vpmovzxbd %xmm2,%xmm2 .byte 196,227,61,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm8,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_avx .globl _sk_table_r_avx FUNCTION(_sk_table_r_avx) _sk_table_r_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,192 // vcvtps2dq %ymm0,%ymm8 .byte 196,99,125,25,192,1 // vextractf128 $0x1,%ymm8,%xmm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,65,122,16,12,129 // vmovss (%r9,%rax,4),%xmm9 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,49,33,12,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm9,%xmm9 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,20,129 // vmovss (%r9,%rax,4),%xmm10 .byte 196,65,249,126,194 // vmovq %xmm8,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,28,153 // vmovss (%r9,%r11,4),%xmm11 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,122,16,4,129 // vmovss (%r9,%rax,4),%xmm0 .byte 196,67,249,22,195,1 // vpextrq $0x1,%xmm8,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,121,33,4,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm0,%xmm8 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,36,129 // vmovss (%r9,%rax,4),%xmm12 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,44,153 // vmovss (%r9,%r11,4),%xmm13 .byte 196,195,49,33,194,32 // vinsertps $0x20,%xmm10,%xmm9,%xmm0 .byte 196,67,121,33,203,48 // vinsertps $0x30,%xmm11,%xmm0,%xmm9 .byte 196,195,57,33,196,32 // vinsertps $0x20,%xmm12,%xmm8,%xmm0 .byte 196,195,121,33,197,48 // vinsertps $0x30,%xmm13,%xmm0,%xmm0 .byte 196,195,125,24,193,1 // vinsertf128 $0x1,%xmm9,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_avx .globl _sk_table_g_avx FUNCTION(_sk_table_g_avx) _sk_table_g_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,125,91,193 // vcvtps2dq %ymm1,%ymm8 .byte 196,99,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,65,122,16,12,129 // vmovss (%r9,%rax,4),%xmm9 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,49,33,12,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm9,%xmm9 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,20,129 // vmovss (%r9,%rax,4),%xmm10 .byte 196,65,249,126,194 // vmovq %xmm8,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,28,153 // vmovss (%r9,%r11,4),%xmm11 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,122,16,12,129 // vmovss (%r9,%rax,4),%xmm1 .byte 196,67,249,22,195,1 // vpextrq $0x1,%xmm8,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,113,33,4,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm1,%xmm8 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,36,129 // vmovss (%r9,%rax,4),%xmm12 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,44,153 // vmovss (%r9,%r11,4),%xmm13 .byte 196,195,49,33,202,32 // vinsertps $0x20,%xmm10,%xmm9,%xmm1 .byte 196,67,113,33,203,48 // vinsertps $0x30,%xmm11,%xmm1,%xmm9 .byte 196,195,57,33,204,32 // vinsertps $0x20,%xmm12,%xmm8,%xmm1 .byte 196,195,113,33,205,48 // vinsertps $0x30,%xmm13,%xmm1,%xmm1 .byte 196,195,117,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_avx .globl _sk_table_b_avx FUNCTION(_sk_table_b_avx) _sk_table_b_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,125,91,194 // vcvtps2dq %ymm2,%ymm8 .byte 196,99,125,25,194,1 // vextractf128 $0x1,%ymm8,%xmm2 .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,65,122,16,12,129 // vmovss (%r9,%rax,4),%xmm9 .byte 196,195,249,22,211,1 // vpextrq $0x1,%xmm2,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,49,33,12,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm9,%xmm9 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,20,129 // vmovss (%r9,%rax,4),%xmm10 .byte 196,65,249,126,194 // vmovq %xmm8,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,28,153 // vmovss (%r9,%r11,4),%xmm11 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,122,16,20,129 // vmovss (%r9,%rax,4),%xmm2 .byte 196,67,249,22,195,1 // vpextrq $0x1,%xmm8,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,105,33,4,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm2,%xmm8 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,36,129 // vmovss (%r9,%rax,4),%xmm12 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,44,153 // vmovss (%r9,%r11,4),%xmm13 .byte 196,195,49,33,210,32 // vinsertps $0x20,%xmm10,%xmm9,%xmm2 .byte 196,67,105,33,203,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm9 .byte 196,195,57,33,212,32 // vinsertps $0x20,%xmm12,%xmm8,%xmm2 .byte 196,195,105,33,213,48 // vinsertps $0x30,%xmm13,%xmm2,%xmm2 .byte 196,195,109,24,209,1 // vinsertf128 $0x1,%xmm9,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_avx .globl _sk_table_a_avx FUNCTION(_sk_table_a_avx) _sk_table_a_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 197,125,91,195 // vcvtps2dq %ymm3,%ymm8 .byte 196,99,125,25,195,1 // vextractf128 $0x1,%ymm8,%xmm3 .byte 196,193,249,126,218 // vmovq %xmm3,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,65,122,16,12,129 // vmovss (%r9,%rax,4),%xmm9 .byte 196,195,249,22,219,1 // vpextrq $0x1,%xmm3,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,49,33,12,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm9,%xmm9 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,20,129 // vmovss (%r9,%rax,4),%xmm10 .byte 196,65,249,126,194 // vmovq %xmm8,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,28,153 // vmovss (%r9,%r11,4),%xmm11 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,122,16,28,129 // vmovss (%r9,%rax,4),%xmm3 .byte 196,67,249,22,195,1 // vpextrq $0x1,%xmm8,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,3,97,33,4,145,16 // vinsertps $0x10,(%r9,%r10,4),%xmm3,%xmm8 .byte 68,137,216 // mov %r11d,%eax .byte 196,65,122,16,36,129 // vmovss (%r9,%rax,4),%xmm12 .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,1,122,16,44,153 // vmovss (%r9,%r11,4),%xmm13 .byte 196,195,49,33,218,32 // vinsertps $0x20,%xmm10,%xmm9,%xmm3 .byte 196,67,97,33,203,48 // vinsertps $0x30,%xmm11,%xmm3,%xmm9 .byte 196,195,57,33,220,32 // vinsertps $0x20,%xmm12,%xmm8,%xmm3 .byte 196,195,97,33,221,48 // vinsertps $0x30,%xmm13,%xmm3,%xmm3 .byte 196,195,101,24,217,1 // vinsertf128 $0x1,%xmm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_avx .globl _sk_parametric_r_avx FUNCTION(_sk_parametric_r_avx) _sk_parametric_r_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,124,194,192,2 // vcmpleps %ymm8,%ymm0,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 197,52,89,200 // vmulps %ymm0,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,16 // vbroadcastss (%rax),%ymm10 .byte 197,124,91,216 // vcvtdq2ps %ymm0,%ymm11 .byte 196,98,125,24,37,198,73,0,0 // vbroadcastss 0x49c6(%rip),%ymm12 # 7a54 <_sk_callback_avx+0x2b8> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,188,73,0,0 // vbroadcastss 0x49bc(%rip),%ymm12 # 7a58 <_sk_callback_avx+0x2bc> .byte 196,193,124,84,196 // vandps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,178,73,0,0 // vbroadcastss 0x49b2(%rip),%ymm12 # 7a5c <_sk_callback_avx+0x2c0> .byte 196,193,124,86,196 // vorps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,168,73,0,0 // vbroadcastss 0x49a8(%rip),%ymm12 # 7a60 <_sk_callback_avx+0x2c4> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,158,73,0,0 // vbroadcastss 0x499e(%rip),%ymm12 # 7a64 <_sk_callback_avx+0x2c8> .byte 196,65,124,89,228 // vmulps %ymm12,%ymm0,%ymm12 .byte 196,65,36,92,220 // vsubps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,143,73,0,0 // vbroadcastss 0x498f(%rip),%ymm12 # 7a68 <_sk_callback_avx+0x2cc> .byte 196,193,124,88,196 // vaddps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,133,73,0,0 // vbroadcastss 0x4985(%rip),%ymm12 # 7a6c <_sk_callback_avx+0x2d0> .byte 197,156,94,192 // vdivps %ymm0,%ymm12,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 196,99,125,8,208,1 // vroundps $0x1,%ymm0,%ymm10 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,105,73,0,0 // vbroadcastss 0x4969(%rip),%ymm11 # 7a70 <_sk_callback_avx+0x2d4> .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,29,95,73,0,0 // vbroadcastss 0x495f(%rip),%ymm11 # 7a74 <_sk_callback_avx+0x2d8> .byte 196,65,44,89,219 // vmulps %ymm11,%ymm10,%ymm11 .byte 196,193,124,92,195 // vsubps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,29,80,73,0,0 // vbroadcastss 0x4950(%rip),%ymm11 # 7a78 <_sk_callback_avx+0x2dc> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,70,73,0,0 // vbroadcastss 0x4946(%rip),%ymm11 # 7a7c <_sk_callback_avx+0x2e0> .byte 196,65,36,94,210 // vdivps %ymm10,%ymm11,%ymm10 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 196,98,125,24,21,55,73,0,0 // vbroadcastss 0x4937(%rip),%ymm10 # 7a80 <_sk_callback_avx+0x2e4> .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 196,195,125,74,193,128 // vblendvps %ymm8,%ymm9,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,14,73,0,0 // vbroadcastss 0x490e(%rip),%ymm8 # 7a84 <_sk_callback_avx+0x2e8> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_g_avx .globl _sk_parametric_g_avx FUNCTION(_sk_parametric_g_avx) _sk_parametric_g_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,116,194,192,2 // vcmpleps %ymm8,%ymm1,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 197,52,89,201 // vmulps %ymm1,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,16 // vbroadcastss (%rax),%ymm10 .byte 197,124,91,217 // vcvtdq2ps %ymm1,%ymm11 .byte 196,98,125,24,37,191,72,0,0 // vbroadcastss 0x48bf(%rip),%ymm12 # 7a88 <_sk_callback_avx+0x2ec> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,181,72,0,0 // vbroadcastss 0x48b5(%rip),%ymm12 # 7a8c <_sk_callback_avx+0x2f0> .byte 196,193,116,84,204 // vandps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,171,72,0,0 // vbroadcastss 0x48ab(%rip),%ymm12 # 7a90 <_sk_callback_avx+0x2f4> .byte 196,193,116,86,204 // vorps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,161,72,0,0 // vbroadcastss 0x48a1(%rip),%ymm12 # 7a94 <_sk_callback_avx+0x2f8> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,151,72,0,0 // vbroadcastss 0x4897(%rip),%ymm12 # 7a98 <_sk_callback_avx+0x2fc> .byte 196,65,116,89,228 // vmulps %ymm12,%ymm1,%ymm12 .byte 196,65,36,92,220 // vsubps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,136,72,0,0 // vbroadcastss 0x4888(%rip),%ymm12 # 7a9c <_sk_callback_avx+0x300> .byte 196,193,116,88,204 // vaddps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,126,72,0,0 // vbroadcastss 0x487e(%rip),%ymm12 # 7aa0 <_sk_callback_avx+0x304> .byte 197,156,94,201 // vdivps %ymm1,%ymm12,%ymm1 .byte 197,164,92,201 // vsubps %ymm1,%ymm11,%ymm1 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 196,99,125,8,209,1 // vroundps $0x1,%ymm1,%ymm10 .byte 196,65,116,92,210 // vsubps %ymm10,%ymm1,%ymm10 .byte 196,98,125,24,29,98,72,0,0 // vbroadcastss 0x4862(%rip),%ymm11 # 7aa4 <_sk_callback_avx+0x308> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,88,72,0,0 // vbroadcastss 0x4858(%rip),%ymm11 # 7aa8 <_sk_callback_avx+0x30c> .byte 196,65,44,89,219 // vmulps %ymm11,%ymm10,%ymm11 .byte 196,193,116,92,203 // vsubps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,73,72,0,0 // vbroadcastss 0x4849(%rip),%ymm11 # 7aac <_sk_callback_avx+0x310> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,63,72,0,0 // vbroadcastss 0x483f(%rip),%ymm11 # 7ab0 <_sk_callback_avx+0x314> .byte 196,65,36,94,210 // vdivps %ymm10,%ymm11,%ymm10 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,98,125,24,21,48,72,0,0 // vbroadcastss 0x4830(%rip),%ymm10 # 7ab4 <_sk_callback_avx+0x318> .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,195,117,74,201,128 // vblendvps %ymm8,%ymm9,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,116,95,200 // vmaxps %ymm8,%ymm1,%ymm1 .byte 196,98,125,24,5,7,72,0,0 // vbroadcastss 0x4807(%rip),%ymm8 # 7ab8 <_sk_callback_avx+0x31c> .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_b_avx .globl _sk_parametric_b_avx FUNCTION(_sk_parametric_b_avx) _sk_parametric_b_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,108,194,192,2 // vcmpleps %ymm8,%ymm2,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 197,52,89,202 // vmulps %ymm2,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,16 // vbroadcastss (%rax),%ymm10 .byte 197,124,91,218 // vcvtdq2ps %ymm2,%ymm11 .byte 196,98,125,24,37,184,71,0,0 // vbroadcastss 0x47b8(%rip),%ymm12 # 7abc <_sk_callback_avx+0x320> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,174,71,0,0 // vbroadcastss 0x47ae(%rip),%ymm12 # 7ac0 <_sk_callback_avx+0x324> .byte 196,193,108,84,212 // vandps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,164,71,0,0 // vbroadcastss 0x47a4(%rip),%ymm12 # 7ac4 <_sk_callback_avx+0x328> .byte 196,193,108,86,212 // vorps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,154,71,0,0 // vbroadcastss 0x479a(%rip),%ymm12 # 7ac8 <_sk_callback_avx+0x32c> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,144,71,0,0 // vbroadcastss 0x4790(%rip),%ymm12 # 7acc <_sk_callback_avx+0x330> .byte 196,65,108,89,228 // vmulps %ymm12,%ymm2,%ymm12 .byte 196,65,36,92,220 // vsubps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,129,71,0,0 // vbroadcastss 0x4781(%rip),%ymm12 # 7ad0 <_sk_callback_avx+0x334> .byte 196,193,108,88,212 // vaddps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,119,71,0,0 // vbroadcastss 0x4777(%rip),%ymm12 # 7ad4 <_sk_callback_avx+0x338> .byte 197,156,94,210 // vdivps %ymm2,%ymm12,%ymm2 .byte 197,164,92,210 // vsubps %ymm2,%ymm11,%ymm2 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 196,99,125,8,210,1 // vroundps $0x1,%ymm2,%ymm10 .byte 196,65,108,92,210 // vsubps %ymm10,%ymm2,%ymm10 .byte 196,98,125,24,29,91,71,0,0 // vbroadcastss 0x475b(%rip),%ymm11 # 7ad8 <_sk_callback_avx+0x33c> .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,29,81,71,0,0 // vbroadcastss 0x4751(%rip),%ymm11 # 7adc <_sk_callback_avx+0x340> .byte 196,65,44,89,219 // vmulps %ymm11,%ymm10,%ymm11 .byte 196,193,108,92,211 // vsubps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,29,66,71,0,0 // vbroadcastss 0x4742(%rip),%ymm11 # 7ae0 <_sk_callback_avx+0x344> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,56,71,0,0 // vbroadcastss 0x4738(%rip),%ymm11 # 7ae4 <_sk_callback_avx+0x348> .byte 196,65,36,94,210 // vdivps %ymm10,%ymm11,%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 196,98,125,24,21,41,71,0,0 // vbroadcastss 0x4729(%rip),%ymm10 # 7ae8 <_sk_callback_avx+0x34c> .byte 196,193,108,89,210 // vmulps %ymm10,%ymm2,%ymm2 .byte 197,253,91,210 // vcvtps2dq %ymm2,%ymm2 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 196,195,109,74,209,128 // vblendvps %ymm8,%ymm9,%ymm2,%ymm2 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,108,95,208 // vmaxps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,0,71,0,0 // vbroadcastss 0x4700(%rip),%ymm8 # 7aec <_sk_callback_avx+0x350> .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_a_avx .globl _sk_parametric_a_avx FUNCTION(_sk_parametric_a_avx) _sk_parametric_a_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,100,194,192,2 // vcmpleps %ymm8,%ymm3,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 197,52,89,203 // vmulps %ymm3,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 197,172,89,219 // vmulps %ymm3,%ymm10,%ymm3 .byte 196,193,100,88,219 // vaddps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,16 // vbroadcastss (%rax),%ymm10 .byte 197,124,91,219 // vcvtdq2ps %ymm3,%ymm11 .byte 196,98,125,24,37,177,70,0,0 // vbroadcastss 0x46b1(%rip),%ymm12 # 7af0 <_sk_callback_avx+0x354> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,167,70,0,0 // vbroadcastss 0x46a7(%rip),%ymm12 # 7af4 <_sk_callback_avx+0x358> .byte 196,193,100,84,220 // vandps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,157,70,0,0 // vbroadcastss 0x469d(%rip),%ymm12 # 7af8 <_sk_callback_avx+0x35c> .byte 196,193,100,86,220 // vorps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,147,70,0,0 // vbroadcastss 0x4693(%rip),%ymm12 # 7afc <_sk_callback_avx+0x360> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,137,70,0,0 // vbroadcastss 0x4689(%rip),%ymm12 # 7b00 <_sk_callback_avx+0x364> .byte 196,65,100,89,228 // vmulps %ymm12,%ymm3,%ymm12 .byte 196,65,36,92,220 // vsubps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,122,70,0,0 // vbroadcastss 0x467a(%rip),%ymm12 # 7b04 <_sk_callback_avx+0x368> .byte 196,193,100,88,220 // vaddps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,112,70,0,0 // vbroadcastss 0x4670(%rip),%ymm12 # 7b08 <_sk_callback_avx+0x36c> .byte 197,156,94,219 // vdivps %ymm3,%ymm12,%ymm3 .byte 197,164,92,219 // vsubps %ymm3,%ymm11,%ymm3 .byte 197,172,89,219 // vmulps %ymm3,%ymm10,%ymm3 .byte 196,99,125,8,211,1 // vroundps $0x1,%ymm3,%ymm10 .byte 196,65,100,92,210 // vsubps %ymm10,%ymm3,%ymm10 .byte 196,98,125,24,29,84,70,0,0 // vbroadcastss 0x4654(%rip),%ymm11 # 7b0c <_sk_callback_avx+0x370> .byte 196,193,100,88,219 // vaddps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,29,74,70,0,0 // vbroadcastss 0x464a(%rip),%ymm11 # 7b10 <_sk_callback_avx+0x374> .byte 196,65,44,89,219 // vmulps %ymm11,%ymm10,%ymm11 .byte 196,193,100,92,219 // vsubps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,29,59,70,0,0 // vbroadcastss 0x463b(%rip),%ymm11 # 7b14 <_sk_callback_avx+0x378> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,49,70,0,0 // vbroadcastss 0x4631(%rip),%ymm11 # 7b18 <_sk_callback_avx+0x37c> .byte 196,65,36,94,210 // vdivps %ymm10,%ymm11,%ymm10 .byte 196,193,100,88,218 // vaddps %ymm10,%ymm3,%ymm3 .byte 196,98,125,24,21,34,70,0,0 // vbroadcastss 0x4622(%rip),%ymm10 # 7b1c <_sk_callback_avx+0x380> .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 197,253,91,219 // vcvtps2dq %ymm3,%ymm3 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,193,100,88,218 // vaddps %ymm10,%ymm3,%ymm3 .byte 196,195,101,74,217,128 // vblendvps %ymm8,%ymm9,%ymm3,%ymm3 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,193,100,95,216 // vmaxps %ymm8,%ymm3,%ymm3 .byte 196,98,125,24,5,249,69,0,0 // vbroadcastss 0x45f9(%rip),%ymm8 # 7b20 <_sk_callback_avx+0x384> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lab_to_xyz_avx .globl _sk_lab_to_xyz_avx FUNCTION(_sk_lab_to_xyz_avx) _sk_lab_to_xyz_avx: .byte 196,98,125,24,5,235,69,0,0 // vbroadcastss 0x45eb(%rip),%ymm8 # 7b24 <_sk_callback_avx+0x388> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,225,69,0,0 // vbroadcastss 0x45e1(%rip),%ymm8 # 7b28 <_sk_callback_avx+0x38c> .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,98,125,24,13,215,69,0,0 // vbroadcastss 0x45d7(%rip),%ymm9 # 7b2c <_sk_callback_avx+0x390> .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,193,108,88,209 // vaddps %ymm9,%ymm2,%ymm2 .byte 196,98,125,24,5,195,69,0,0 // vbroadcastss 0x45c3(%rip),%ymm8 # 7b30 <_sk_callback_avx+0x394> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,185,69,0,0 // vbroadcastss 0x45b9(%rip),%ymm8 # 7b34 <_sk_callback_avx+0x398> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,175,69,0,0 // vbroadcastss 0x45af(%rip),%ymm8 # 7b38 <_sk_callback_avx+0x39c> .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,252,88,201 // vaddps %ymm1,%ymm0,%ymm1 .byte 196,98,125,24,5,161,69,0,0 // vbroadcastss 0x45a1(%rip),%ymm8 # 7b3c <_sk_callback_avx+0x3a0> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,252,92,210 // vsubps %ymm2,%ymm0,%ymm2 .byte 197,116,89,193 // vmulps %ymm1,%ymm1,%ymm8 .byte 196,65,116,89,192 // vmulps %ymm8,%ymm1,%ymm8 .byte 196,98,125,24,13,138,69,0,0 // vbroadcastss 0x458a(%rip),%ymm9 # 7b40 <_sk_callback_avx+0x3a4> .byte 196,65,52,194,208,1 // vcmpltps %ymm8,%ymm9,%ymm10 .byte 196,98,125,24,29,127,69,0,0 // vbroadcastss 0x457f(%rip),%ymm11 # 7b44 <_sk_callback_avx+0x3a8> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,37,117,69,0,0 // vbroadcastss 0x4575(%rip),%ymm12 # 7b48 <_sk_callback_avx+0x3ac> .byte 196,193,116,89,204 // vmulps %ymm12,%ymm1,%ymm1 .byte 196,67,117,74,192,160 // vblendvps %ymm10,%ymm8,%ymm1,%ymm8 .byte 197,252,89,200 // vmulps %ymm0,%ymm0,%ymm1 .byte 197,252,89,201 // vmulps %ymm1,%ymm0,%ymm1 .byte 197,52,194,209,1 // vcmpltps %ymm1,%ymm9,%ymm10 .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,193,124,89,196 // vmulps %ymm12,%ymm0,%ymm0 .byte 196,227,125,74,201,160 // vblendvps %ymm10,%ymm1,%ymm0,%ymm1 .byte 197,236,89,194 // vmulps %ymm2,%ymm2,%ymm0 .byte 197,236,89,192 // vmulps %ymm0,%ymm2,%ymm0 .byte 197,52,194,200,1 // vcmpltps %ymm0,%ymm9,%ymm9 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,193,108,89,212 // vmulps %ymm12,%ymm2,%ymm2 .byte 196,227,109,74,208,144 // vblendvps %ymm9,%ymm0,%ymm2,%ymm2 .byte 196,226,125,24,5,43,69,0,0 // vbroadcastss 0x452b(%rip),%ymm0 # 7b4c <_sk_callback_avx+0x3b0> .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,34,69,0,0 // vbroadcastss 0x4522(%rip),%ymm8 # 7b50 <_sk_callback_avx+0x3b4> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_avx .globl _sk_load_a8_avx FUNCTION(_sk_load_a8_avx) _sk_load_a8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 3683 <_sk_load_a8_avx+0x4c> .byte 196,194,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm0 .byte 197,249,219,5,1,72,0,0 // vpand 0x4801(%rip),%xmm0,%xmm0 # 7e50 <_sk_callback_avx+0x6b4> .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,229,68,0,0 // vbroadcastss 0x44e5(%rip),%ymm1 # 7b54 <_sk_callback_avx+0x3b8> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,176 // ja 3647 <_sk_load_a8_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,122,0,0,0 // lea 0x7a(%rip),%r10 # 371c <_sk_load_a8_avx+0xe5> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,145 // jmp 3647 <_sk_load_a8_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,105,255,255,255 // jmpq 3647 <_sk_load_a8_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,46,255,255,255 // jmpq 3647 <_sk_load_a8_avx+0x10> .byte 15,31,0 // nopl (%rax) .byte 143 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,169,255,255,255,154 // ljmp *-0x65000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_avx .globl _sk_load_a8_dst_avx FUNCTION(_sk_load_a8_dst_avx) _sk_load_a8_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 3784 <_sk_load_a8_dst_avx+0x4c> .byte 196,194,121,48,36,19 // vpmovzxbw (%r11,%rdx,1),%xmm4 .byte 197,217,219,37,16,71,0,0 // vpand 0x4710(%rip),%xmm4,%xmm4 # 7e60 <_sk_callback_avx+0x6c4> .byte 197,209,239,237 // vpxor %xmm5,%xmm5,%xmm5 .byte 197,217,105,237 // vpunpckhwd %xmm5,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,232,67,0,0 // vbroadcastss 0x43e8(%rip),%ymm5 # 7b58 <_sk_callback_avx+0x3bc> .byte 197,220,89,253 // vmulps %ymm5,%ymm4,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,176 // ja 3748 <_sk_load_a8_dst_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,121,0,0,0 // lea 0x79(%rip),%r10 # 381c <_sk_load_a8_dst_avx+0xe4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,145 // jmp 3748 <_sk_load_a8_dst_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,105,255,255,255 // jmpq 3748 <_sk_load_a8_dst_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,46,255,255,255 // jmpq 3748 <_sk_load_a8_dst_avx+0x10> .byte 102,144 // xchg %ax,%ax .byte 144 // nop .byte 255 // (bad) .byte 255 // (bad) .byte 255,170,255,255,255,155 // ljmp *-0x64000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 232,255,255,255,221 // callq ffffffffde00382c <_sk_callback_avx+0xffffffffddffc090> .byte 255 // (bad) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_a8_avx .globl _sk_gather_a8_avx FUNCTION(_sk_gather_a8_avx) _sk_gather_a8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,20,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,2 // vpinsrb $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,20,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm2 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,2 // vpinsrb $0x2,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,226,121,49,201 // vpmovzxbd %xmm1,%xmm1 .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 196,226,121,49,192 // vpmovzxbd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,88,66,0,0 // vbroadcastss 0x4258(%rip),%ymm1 # 7b5c <_sk_callback_avx+0x3c0> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_avx .globl _sk_store_a8_avx FUNCTION(_sk_store_a8_avx) _sk_store_a8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,58,66,0,0 // vbroadcastss 0x423a(%rip),%ymm8 # 7b60 <_sk_callback_avx+0x3c4> .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 196,65,57,103,192 // vpackuswb %xmm8,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 394f <_sk_store_a8_avx+0x37> .byte 196,65,123,17,4,19 // vmovsd %xmm8,(%r11,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 394b <_sk_store_a8_avx+0x33> .byte 196,66,121,48,192 // vpmovzxbw %xmm8,%xmm8 .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,85,0,0,0 // lea 0x55(%rip),%r10 # 39c4 <_sk_store_a8_avx+0xac> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,20,4,19,0 // vpextrb $0x0,%xmm8,(%r11,%rdx,1) .byte 235,202 // jmp 394b <_sk_store_a8_avx+0x33> .byte 196,67,121,20,68,19,2,4 // vpextrb $0x4,%xmm8,0x2(%r11,%rdx,1) .byte 196,98,57,0,5,222,68,0,0 // vpshufb 0x44de(%rip),%xmm8,%xmm8 # 7e70 <_sk_callback_avx+0x6d4> .byte 196,67,121,21,4,19,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,1) .byte 235,176 // jmp 394b <_sk_store_a8_avx+0x33> .byte 196,67,121,20,68,19,6,12 // vpextrb $0xc,%xmm8,0x6(%r11,%rdx,1) .byte 196,67,121,20,68,19,5,10 // vpextrb $0xa,%xmm8,0x5(%r11,%rdx,1) .byte 196,67,121,20,68,19,4,8 // vpextrb $0x8,%xmm8,0x4(%r11,%rdx,1) .byte 196,98,57,0,5,196,68,0,0 // vpshufb 0x44c4(%rip),%xmm8,%xmm8 # 7e80 <_sk_callback_avx+0x6e4> .byte 196,65,121,126,4,19 // vmovd %xmm8,(%r11,%rdx,1) .byte 235,135 // jmp 394b <_sk_store_a8_avx+0x33> .byte 180,255 // mov $0xff,%ah .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,239 // mov $0xefffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_avx .globl _sk_load_g8_avx FUNCTION(_sk_load_g8_avx) _sk_load_g8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,71 // jne 3a31 <_sk_load_g8_avx+0x51> .byte 196,194,121,48,4,19 // vpmovzxbw (%r11,%rdx,1),%xmm0 .byte 197,249,219,5,152,68,0,0 // vpand 0x4498(%rip),%xmm0,%xmm0 # 7e90 <_sk_callback_avx+0x6f4> .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,76,65,0,0 // vbroadcastss 0x414c(%rip),%ymm1 # 7b64 <_sk_callback_avx+0x3c8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,65,65,0,0 // vbroadcastss 0x4141(%rip),%ymm3 # 7b68 <_sk_callback_avx+0x3cc> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,171 // ja 39f0 <_sk_load_g8_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # 3ac8 <_sk_load_g8_avx+0xe8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,140 // jmp 39f0 <_sk_load_g8_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,100,255,255,255 // jmpq 39f0 <_sk_load_g8_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,226,121,48,201 // vpmovzxbw %xmm1,%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,41,255,255,255 // jmpq 39f0 <_sk_load_g8_avx+0x10> .byte 144 // nop .byte 145 // xchg %eax,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,156 // ljmp *-0x63000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 233,255,255,255,222 // jmpq ffffffffdf003ad8 <_sk_callback_avx+0xffffffffdeffc33c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_avx .globl _sk_load_g8_dst_avx FUNCTION(_sk_load_g8_dst_avx) _sk_load_g8_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,71 // jne 3b35 <_sk_load_g8_dst_avx+0x51> .byte 196,194,121,48,36,19 // vpmovzxbw (%r11,%rdx,1),%xmm4 .byte 197,217,219,37,164,67,0,0 // vpand 0x43a4(%rip),%xmm4,%xmm4 # 7ea0 <_sk_callback_avx+0x704> .byte 197,209,239,237 // vpxor %xmm5,%xmm5,%xmm5 .byte 197,217,105,237 // vpunpckhwd %xmm5,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,80,64,0,0 // vbroadcastss 0x4050(%rip),%ymm5 # 7b6c <_sk_callback_avx+0x3d0> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,69,64,0,0 // vbroadcastss 0x4045(%rip),%ymm7 # 7b70 <_sk_callback_avx+0x3d4> .byte 197,252,40,236 // vmovaps %ymm4,%ymm5 .byte 197,252,40,244 // vmovaps %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,171 // ja 3af4 <_sk_load_g8_dst_avx+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # 3bcc <_sk_load_g8_dst_avx+0xe8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,140 // jmp 3af4 <_sk_load_g8_dst_avx+0x10> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,100,255,255,255 // jmpq 3af4 <_sk_load_g8_dst_avx+0x10> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,226,121,48,237 // vpmovzxbw %xmm5,%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,41,255,255,255 // jmpq 3af4 <_sk_load_g8_dst_avx+0x10> .byte 144 // nop .byte 145 // xchg %eax,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,156 // ljmp *-0x63000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 233,255,255,255,222 // jmpq ffffffffdf003bdc <_sk_callback_avx+0xffffffffdeffc440> .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_g8_avx .globl _sk_gather_g8_avx FUNCTION(_sk_gather_g8_avx) _sk_gather_g8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,20,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,12,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,113,32,200,2 // vpinsrb $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,32,20,1,0 // vpinsrb $0x0,(%r9,%rax,1),%xmm0,%xmm2 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,32,4,17,1 // vpinsrb $0x1,(%r9,%r10,1),%xmm2,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,2 // vpinsrb $0x2,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,182,4,25 // movzbl (%r9,%r11,1),%eax .byte 196,226,121,49,201 // vpmovzxbd %xmm1,%xmm1 .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 196,226,121,49,192 // vpmovzxbd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,192,62,0,0 // vbroadcastss 0x3ec0(%rip),%ymm1 # 7b74 <_sk_callback_avx+0x3d8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,181,62,0,0 // vbroadcastss 0x3eb5(%rip),%ymm3 # 7b78 <_sk_callback_avx+0x3dc> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_gather_i8_avx .globl _sk_gather_i8_avx FUNCTION(_sk_gather_i8_avx) _sk_gather_i8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,193 // mov %rax,%r9 .byte 77,133,201 // test %r9,%r9 .byte 116,5 // je 3cdc <_sk_gather_i8_avx+0xf> .byte 76,137,200 // mov %r9,%rax .byte 235,2 // jmp 3cde <_sk_gather_i8_avx+0x11> .byte 72,173 // lods %ds:(%rsi),%rax .byte 83 // push %rbx .byte 76,139,16 // mov (%rax),%r10 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,16 // vmovd 0x10(%rax),%xmm1 .byte 197,249,112,217,0 // vpshufd $0x0,%xmm1,%xmm3 .byte 196,226,97,64,202 // vpmulld %xmm2,%xmm3,%xmm1 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 196,226,97,64,210 // vpmulld %xmm2,%xmm3,%xmm2 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,227,125,25,195,1 // vextractf128 $0x1,%ymm0,%xmm3 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 196,193,249,126,211 // vmovq %xmm2,%r11 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,121,32,28,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm3 .byte 196,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,131,97,32,20,26,1 // vpinsrb $0x1,(%r10,%r11,1),%xmm3,%xmm2 .byte 65,137,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,131,105,32,12,26,2 // vpinsrb $0x2,(%r10,%r11,1),%xmm2,%xmm1 .byte 196,193,249,126,195 // vmovq %xmm0,%r11 .byte 196,195,113,32,12,2,3 // vpinsrb $0x3,(%r10,%rax,1),%xmm1,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,121,32,20,2,0 // vpinsrb $0x0,(%r10,%rax,1),%xmm0,%xmm2 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,131,105,32,4,26,1 // vpinsrb $0x1,(%r10,%r11,1),%xmm2,%xmm0 .byte 137,216 // mov %ebx,%eax .byte 196,195,121,32,4,2,2 // vpinsrb $0x2,(%r10,%rax,1),%xmm0,%xmm0 .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,226,121,49,201 // vpmovzxbd %xmm1,%xmm1 .byte 196,195,121,32,4,26,3 // vpinsrb $0x3,(%r10,%rbx,1),%xmm0,%xmm0 .byte 196,226,121,49,192 // vpmovzxbd %xmm0,%xmm0 .byte 77,139,89,8 // mov 0x8(%r9),%r11 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,121,110,20,139 // vmovd (%r11,%r9,4),%xmm2 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 196,131,105,34,4,19,1 // vpinsrd $0x1,(%r11,%r10,1),%xmm2,%xmm0 .byte 137,216 // mov %ebx,%eax .byte 196,195,121,34,4,131,2 // vpinsrd $0x2,(%r11,%rax,4),%xmm0,%xmm0 .byte 196,225,249,126,200 // vmovq %xmm1,%rax .byte 72,193,235,30 // shr $0x1e,%rbx .byte 196,67,121,34,4,27,3 // vpinsrd $0x3,(%r11,%rbx,1),%xmm0,%xmm8 .byte 137,195 // mov %eax,%ebx .byte 196,193,121,110,4,155 // vmovd (%r11,%rbx,4),%xmm0 .byte 196,227,249,22,203,1 // vpextrq $0x1,%xmm1,%rbx .byte 72,193,232,30 // shr $0x1e,%rax .byte 196,195,121,34,4,3,1 // vpinsrd $0x1,(%r11,%rax,1),%xmm0,%xmm0 .byte 137,216 // mov %ebx,%eax .byte 196,195,121,34,4,131,2 // vpinsrd $0x2,(%r11,%rax,4),%xmm0,%xmm0 .byte 72,193,235,30 // shr $0x1e,%rbx .byte 196,195,121,34,28,27,3 // vpinsrd $0x3,(%r11,%rbx,1),%xmm0,%xmm3 .byte 196,227,61,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm0 .byte 197,124,40,21,196,65,0,0 // vmovaps 0x41c4(%rip),%ymm10 # 7fc0 <_sk_callback_avx+0x824> .byte 196,193,124,84,194 // vandps %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,110,61,0,0 // vbroadcastss 0x3d6e(%rip),%ymm9 # 7b7c <_sk_callback_avx+0x3e0> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 196,193,113,114,208,8 // vpsrld $0x8,%xmm8,%xmm1 .byte 197,233,114,211,8 // vpsrld $0x8,%xmm3,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,202 // vandps %ymm10,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,193,33,114,208,16 // vpsrld $0x10,%xmm8,%xmm11 .byte 197,233,114,211,16 // vpsrld $0x10,%xmm3,%xmm2 .byte 196,227,37,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm11,%ymm2 .byte 196,193,108,84,210 // vandps %ymm10,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_avx .globl _sk_load_565_avx FUNCTION(_sk_load_565_avx) _sk_load_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,128,0,0,0 // jne 3efe <_sk_load_565_avx+0x8e> .byte 196,193,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm2 .byte 196,226,125,24,5,224,60,0,0 // vbroadcastss 0x3ce0(%rip),%ymm0 # 7b80 <_sk_callback_avx+0x3e4> .byte 197,236,84,192 // vandps %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,211,60,0,0 // vbroadcastss 0x3cd3(%rip),%ymm1 # 7b84 <_sk_callback_avx+0x3e8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,202,60,0,0 // vbroadcastss 0x3cca(%rip),%ymm1 # 7b88 <_sk_callback_avx+0x3ec> .byte 197,236,84,201 // vandps %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,189,60,0,0 // vbroadcastss 0x3cbd(%rip),%ymm3 # 7b8c <_sk_callback_avx+0x3f0> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,24,29,180,60,0,0 // vbroadcastss 0x3cb4(%rip),%ymm3 # 7b90 <_sk_callback_avx+0x3f4> .byte 197,236,84,211 // vandps %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,167,60,0,0 // vbroadcastss 0x3ca7(%rip),%ymm3 # 7b94 <_sk_callback_avx+0x3f8> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,156,60,0,0 // vbroadcastss 0x3c9c(%rip),%ymm3 # 7b98 <_sk_callback_avx+0x3fc> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,110,255,255,255 // ja 3e84 <_sk_load_565_avx+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 3f84 <_sk_load_565_avx+0x114> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,76,255,255,255 // jmpq 3e84 <_sk_load_565_avx+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,47,255,255,255 // jmpq 3e84 <_sk_load_565_avx+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,2,255,255,255 // jmpq 3e84 <_sk_load_565_avx+0x14> .byte 102,144 // xchg %ax,%ax .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,237,255 // pushq -0x120001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_avx .globl _sk_load_565_dst_avx FUNCTION(_sk_load_565_dst_avx) _sk_load_565_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,128,0,0,0 // jne 402e <_sk_load_565_dst_avx+0x8e> .byte 196,193,122,111,36,83 // vmovdqu (%r11,%rdx,2),%xmm4 .byte 197,209,239,237 // vpxor %xmm5,%xmm5,%xmm5 .byte 197,217,105,237 // vpunpckhwd %xmm5,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,245,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm6 .byte 196,226,125,24,37,204,59,0,0 // vbroadcastss 0x3bcc(%rip),%ymm4 # 7b9c <_sk_callback_avx+0x400> .byte 197,204,84,228 // vandps %ymm4,%ymm6,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,191,59,0,0 // vbroadcastss 0x3bbf(%rip),%ymm5 # 7ba0 <_sk_callback_avx+0x404> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,24,45,182,59,0,0 // vbroadcastss 0x3bb6(%rip),%ymm5 # 7ba4 <_sk_callback_avx+0x408> .byte 197,204,84,237 // vandps %ymm5,%ymm6,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,61,169,59,0,0 // vbroadcastss 0x3ba9(%rip),%ymm7 # 7ba8 <_sk_callback_avx+0x40c> .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 196,226,125,24,61,160,59,0,0 // vbroadcastss 0x3ba0(%rip),%ymm7 # 7bac <_sk_callback_avx+0x410> .byte 197,204,84,247 // vandps %ymm7,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,226,125,24,61,147,59,0,0 // vbroadcastss 0x3b93(%rip),%ymm7 # 7bb0 <_sk_callback_avx+0x414> .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,136,59,0,0 // vbroadcastss 0x3b88(%rip),%ymm7 # 7bb4 <_sk_callback_avx+0x418> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,110,255,255,255 // ja 3fb4 <_sk_load_565_dst_avx+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 40b4 <_sk_load_565_dst_avx+0x114> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,76,255,255,255 // jmpq 3fb4 <_sk_load_565_dst_avx+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,121,110,44,83 // vmovd (%r11,%rdx,2),%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,47,255,255,255 // jmpq 3fb4 <_sk_load_565_dst_avx+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,122,126,44,83 // vmovq (%r11,%rdx,2),%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,2,255,255,255 // jmpq 3fb4 <_sk_load_565_dst_avx+0x14> .byte 102,144 // xchg %ax,%ax .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,237,255 // pushq -0x120001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_565_avx .globl _sk_gather_565_avx FUNCTION(_sk_gather_565_avx) _sk_gather_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,110,208 // vmovd %eax,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,233,196,200,1 // vpinsrw $0x1,%eax,%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,2 // vpinsrw $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,241,196,200,3 // vpinsrw $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,4 // vpinsrw $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,192,5 // vpinsrw $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm2 .byte 196,226,125,24,5,22,58,0,0 // vbroadcastss 0x3a16(%rip),%ymm0 # 7bb8 <_sk_callback_avx+0x41c> .byte 197,236,84,192 // vandps %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,9,58,0,0 // vbroadcastss 0x3a09(%rip),%ymm1 # 7bbc <_sk_callback_avx+0x420> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,0,58,0,0 // vbroadcastss 0x3a00(%rip),%ymm1 # 7bc0 <_sk_callback_avx+0x424> .byte 197,236,84,201 // vandps %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,243,57,0,0 // vbroadcastss 0x39f3(%rip),%ymm3 # 7bc4 <_sk_callback_avx+0x428> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,24,29,234,57,0,0 // vbroadcastss 0x39ea(%rip),%ymm3 # 7bc8 <_sk_callback_avx+0x42c> .byte 197,236,84,211 // vandps %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,221,57,0,0 // vbroadcastss 0x39dd(%rip),%ymm3 # 7bcc <_sk_callback_avx+0x430> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,210,57,0,0 // vbroadcastss 0x39d2(%rip),%ymm3 # 7bd0 <_sk_callback_avx+0x434> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_avx .globl _sk_store_565_avx FUNCTION(_sk_store_565_avx) _sk_store_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,198,57,0,0 // vbroadcastss 0x39c6(%rip),%ymm8 # 7bd4 <_sk_callback_avx+0x438> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,193,41,114,241,11 // vpslld $0xb,%xmm9,%xmm10 .byte 196,67,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm9 .byte 196,193,49,114,241,11 // vpslld $0xb,%xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,98,125,24,21,159,57,0,0 // vbroadcastss 0x399f(%rip),%ymm10 # 7bd8 <_sk_callback_avx+0x43c> .byte 196,65,116,89,210 // vmulps %ymm10,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,5 // vpslld $0x5,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,5 // vpslld $0x5,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,45,86,201 // vorpd %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,65,53,86,192 // vorpd %ymm8,%ymm9,%ymm8 .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 4289 <_sk_store_565_avx+0x89> .byte 196,65,122,127,4,83 // vmovdqu %xmm8,(%r11,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 4285 <_sk_store_565_avx+0x85> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,68,0,0,0 // lea 0x44(%rip),%r10 # 42e8 <_sk_store_565_avx+0xe8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,21,4,83,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,2) .byte 235,207 // jmp 4285 <_sk_store_565_avx+0x85> .byte 196,67,121,21,68,83,4,2 // vpextrw $0x2,%xmm8,0x4(%r11,%rdx,2) .byte 196,65,121,126,4,83 // vmovd %xmm8,(%r11,%rdx,2) .byte 235,191 // jmp 4285 <_sk_store_565_avx+0x85> .byte 196,67,121,21,68,83,12,6 // vpextrw $0x6,%xmm8,0xc(%r11,%rdx,2) .byte 196,67,121,21,68,83,10,5 // vpextrw $0x5,%xmm8,0xa(%r11,%rdx,2) .byte 196,67,121,21,68,83,8,4 // vpextrw $0x4,%xmm8,0x8(%r11,%rdx,2) .byte 196,65,121,214,4,83 // vmovq %xmm8,(%r11,%rdx,2) .byte 235,159 // jmp 4285 <_sk_store_565_avx+0x85> .byte 102,144 // xchg %ax,%ax .byte 197,255,255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255,246 // push %rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_avx .globl _sk_load_4444_avx FUNCTION(_sk_load_4444_avx) _sk_load_4444_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,152,0,0,0 // jne 43aa <_sk_load_4444_avx+0xa6> .byte 196,193,122,111,4,83 // vmovdqu (%r11,%rdx,2),%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm3 .byte 196,226,125,24,5,168,56,0,0 // vbroadcastss 0x38a8(%rip),%ymm0 # 7bdc <_sk_callback_avx+0x440> .byte 197,228,84,192 // vandps %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,155,56,0,0 // vbroadcastss 0x389b(%rip),%ymm1 # 7be0 <_sk_callback_avx+0x444> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,146,56,0,0 // vbroadcastss 0x3892(%rip),%ymm1 # 7be4 <_sk_callback_avx+0x448> .byte 197,228,84,201 // vandps %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,133,56,0,0 // vbroadcastss 0x3885(%rip),%ymm2 # 7be8 <_sk_callback_avx+0x44c> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,124,56,0,0 // vbroadcastss 0x387c(%rip),%ymm2 # 7bec <_sk_callback_avx+0x450> .byte 197,228,84,210 // vandps %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,111,56,0,0 // vbroadcastss 0x386f(%rip),%ymm8 # 7bf0 <_sk_callback_avx+0x454> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,101,56,0,0 // vbroadcastss 0x3865(%rip),%ymm8 # 7bf4 <_sk_callback_avx+0x458> .byte 196,193,100,84,216 // vandps %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,87,56,0,0 // vbroadcastss 0x3857(%rip),%ymm8 # 7bf8 <_sk_callback_avx+0x45c> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,86,255,255,255 // ja 4318 <_sk_load_4444_avx+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 4430 <_sk_load_4444_avx+0x12c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,52,255,255,255 // jmpq 4318 <_sk_load_4444_avx+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,110,12,83 // vmovd (%r11,%rdx,2),%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,23,255,255,255 // jmpq 4318 <_sk_load_4444_avx+0x14> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,68,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,121,196,68,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0 .byte 196,193,122,126,12,83 // vmovq (%r11,%rdx,2),%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,234,254,255,255 // jmpq 4318 <_sk_load_4444_avx+0x14> .byte 102,144 // xchg %ax,%ax .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,237,255 // pushq -0x120001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_dst_avx .globl _sk_load_4444_dst_avx FUNCTION(_sk_load_4444_dst_avx) _sk_load_4444_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,152,0,0,0 // jne 44f2 <_sk_load_4444_dst_avx+0xa6> .byte 196,193,122,111,36,83 // vmovdqu (%r11,%rdx,2),%xmm4 .byte 197,209,239,237 // vpxor %xmm5,%xmm5,%xmm5 .byte 197,217,105,237 // vpunpckhwd %xmm5,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,253,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm7 .byte 196,226,125,24,37,128,55,0,0 // vbroadcastss 0x3780(%rip),%ymm4 # 7bfc <_sk_callback_avx+0x460> .byte 197,196,84,228 // vandps %ymm4,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,115,55,0,0 // vbroadcastss 0x3773(%rip),%ymm5 # 7c00 <_sk_callback_avx+0x464> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,24,45,106,55,0,0 // vbroadcastss 0x376a(%rip),%ymm5 # 7c04 <_sk_callback_avx+0x468> .byte 197,196,84,237 // vandps %ymm5,%ymm7,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,53,93,55,0,0 // vbroadcastss 0x375d(%rip),%ymm6 # 7c08 <_sk_callback_avx+0x46c> .byte 197,212,89,238 // vmulps %ymm6,%ymm5,%ymm5 .byte 196,226,125,24,53,84,55,0,0 // vbroadcastss 0x3754(%rip),%ymm6 # 7c0c <_sk_callback_avx+0x470> .byte 197,196,84,246 // vandps %ymm6,%ymm7,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,98,125,24,5,71,55,0,0 // vbroadcastss 0x3747(%rip),%ymm8 # 7c10 <_sk_callback_avx+0x474> .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 196,98,125,24,5,61,55,0,0 // vbroadcastss 0x373d(%rip),%ymm8 # 7c14 <_sk_callback_avx+0x478> .byte 196,193,68,84,248 // vandps %ymm8,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,47,55,0,0 // vbroadcastss 0x372f(%rip),%ymm8 # 7c18 <_sk_callback_avx+0x47c> .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,86,255,255,255 // ja 4460 <_sk_load_4444_dst_avx+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 4578 <_sk_load_4444_dst_avx+0x12c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,83 // movzwl (%r11,%rdx,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,52,255,255,255 // jmpq 4460 <_sk_load_4444_dst_avx+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,4,2 // vpinsrw $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,121,110,44,83 // vmovd (%r11,%rdx,2),%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,23,255,255,255 // jmpq 4460 <_sk_load_4444_dst_avx+0x14> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,100,83,12,6 // vpinsrw $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,10,5 // vpinsrw $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,89,196,100,83,8,4 // vpinsrw $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4 .byte 196,193,122,126,44,83 // vmovq (%r11,%rdx,2),%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,234,254,255,255 // jmpq 4460 <_sk_load_4444_dst_avx+0x14> .byte 102,144 // xchg %ax,%ax .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,237,255 // pushq -0x120001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_4444_avx .globl _sk_gather_4444_avx FUNCTION(_sk_gather_4444_avx) _sk_gather_4444_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,110,208 // vmovd %eax,%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,233,196,200,1 // vpinsrw $0x1,%eax,%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,2 // vpinsrw $0x2,%eax,%xmm1,%xmm1 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,241,196,200,3 // vpinsrw $0x3,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,241,196,200,4 // vpinsrw $0x4,%eax,%xmm1,%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,183,4,81 // movzwl (%r9,%r10,2),%eax .byte 197,241,196,192,5 // vpinsrw $0x5,%eax,%xmm1,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 73,193,235,32 // shr $0x20,%r11 .byte 67,15,183,4,89 // movzwl (%r9,%r11,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm3 .byte 196,226,125,24,5,182,53,0,0 // vbroadcastss 0x35b6(%rip),%ymm0 # 7c1c <_sk_callback_avx+0x480> .byte 197,228,84,192 // vandps %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,169,53,0,0 // vbroadcastss 0x35a9(%rip),%ymm1 # 7c20 <_sk_callback_avx+0x484> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,160,53,0,0 // vbroadcastss 0x35a0(%rip),%ymm1 # 7c24 <_sk_callback_avx+0x488> .byte 197,228,84,201 // vandps %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,147,53,0,0 // vbroadcastss 0x3593(%rip),%ymm2 # 7c28 <_sk_callback_avx+0x48c> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,138,53,0,0 // vbroadcastss 0x358a(%rip),%ymm2 # 7c2c <_sk_callback_avx+0x490> .byte 197,228,84,210 // vandps %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,125,53,0,0 // vbroadcastss 0x357d(%rip),%ymm8 # 7c30 <_sk_callback_avx+0x494> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,115,53,0,0 // vbroadcastss 0x3573(%rip),%ymm8 # 7c34 <_sk_callback_avx+0x498> .byte 196,193,100,84,216 // vandps %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,101,53,0,0 // vbroadcastss 0x3565(%rip),%ymm8 # 7c38 <_sk_callback_avx+0x49c> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_avx .globl _sk_store_4444_avx FUNCTION(_sk_store_4444_avx) _sk_store_4444_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 196,98,125,24,5,82,53,0,0 // vbroadcastss 0x3552(%rip),%ymm8 # 7c3c <_sk_callback_avx+0x4a0> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,193,41,114,241,12 // vpslld $0xc,%xmm9,%xmm10 .byte 196,67,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm9 .byte 196,193,49,114,241,12 // vpslld $0xc,%xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,8 // vpslld $0x8,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,8 // vpslld $0x8,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,45,86,201 // vorpd %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,208 // vmulps %ymm8,%ymm2,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,4 // vpslld $0x4,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,4 // vpslld $0x4,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,65,45,86,192 // vorpd %ymm8,%ymm10,%ymm8 .byte 196,65,53,86,192 // vorpd %ymm8,%ymm9,%ymm8 .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,66,57,43,193 // vpackusdw %xmm9,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 4783 <_sk_store_4444_avx+0xa7> .byte 196,65,122,127,4,83 // vmovdqu %xmm8,(%r11,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 477f <_sk_store_4444_avx+0xa3> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,66,0,0,0 // lea 0x42(%rip),%r10 # 47e0 <_sk_store_4444_avx+0x104> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,21,4,83,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,2) .byte 235,207 // jmp 477f <_sk_store_4444_avx+0xa3> .byte 196,67,121,21,68,83,4,2 // vpextrw $0x2,%xmm8,0x4(%r11,%rdx,2) .byte 196,65,121,126,4,83 // vmovd %xmm8,(%r11,%rdx,2) .byte 235,191 // jmp 477f <_sk_store_4444_avx+0xa3> .byte 196,67,121,21,68,83,12,6 // vpextrw $0x6,%xmm8,0xc(%r11,%rdx,2) .byte 196,67,121,21,68,83,10,5 // vpextrw $0x5,%xmm8,0xa(%r11,%rdx,2) .byte 196,67,121,21,68,83,8,4 // vpextrw $0x4,%xmm8,0x8(%r11,%rdx,2) .byte 196,65,121,214,4,83 // vmovq %xmm8,(%r11,%rdx,2) .byte 235,159 // jmp 477f <_sk_store_4444_avx+0xa3> .byte 199 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 248 // clc .byte 255 // (bad) .byte 255 // (bad) .byte 255,240 // push %rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 232,255,255,255,224 // callq ffffffffe10047f8 <_sk_callback_avx+0xffffffffe0ffd05c> .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_avx .globl _sk_load_8888_avx FUNCTION(_sk_load_8888_avx) _sk_load_8888_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,137,0,0,0 // jne 489e <_sk_load_8888_avx+0xa2> .byte 196,193,124,16,26 // vmovups (%r10),%ymm3 .byte 197,124,40,21,190,55,0,0 // vmovaps 0x37be(%rip),%ymm10 # 7fe0 <_sk_callback_avx+0x844> .byte 196,193,100,84,194 // vandps %ymm10,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,12,52,0,0 // vbroadcastss 0x340c(%rip),%ymm8 # 7c40 <_sk_callback_avx+0x4a4> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,241,114,211,8 // vpsrld $0x8,%xmm3,%xmm1 .byte 196,195,125,25,217,1 // vextractf128 $0x1,%ymm3,%xmm9 .byte 196,193,105,114,209,8 // vpsrld $0x8,%xmm9,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,202 // vandps %ymm10,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,161,114,211,16 // vpsrld $0x10,%xmm3,%xmm11 .byte 196,193,105,114,209,16 // vpsrld $0x10,%xmm9,%xmm2 .byte 196,227,37,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm11,%ymm2 .byte 196,193,108,84,210 // vandps %ymm10,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,169,114,211,24 // vpsrld $0x18,%xmm3,%xmm10 .byte 196,193,97,114,209,24 // vpsrld $0x18,%xmm9,%xmm3 .byte 196,227,45,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm10,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,192 // vmovq %rax,%xmm0 .byte 196,226,121,48,192 // vpmovzxbw %xmm0,%xmm0 .byte 196,226,121,0,13,234,53,0,0 // vpshufb 0x35ea(%rip),%xmm0,%xmm1 # 7eb0 <_sk_callback_avx+0x714> .byte 196,226,121,33,201 // vpmovsxbd %xmm1,%xmm1 .byte 196,226,121,0,5,236,53,0,0 // vpshufb 0x35ec(%rip),%xmm0,%xmm0 # 7ec0 <_sk_callback_avx+0x724> .byte 196,226,121,33,192 // vpmovsxbd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,194,125,44,26 // vmaskmovps (%r10),%ymm0,%ymm3 .byte 233,49,255,255,255 // jmpq 481a <_sk_load_8888_avx+0x1e> HIDDEN _sk_load_8888_dst_avx .globl _sk_load_8888_dst_avx FUNCTION(_sk_load_8888_dst_avx) _sk_load_8888_dst_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,137,0,0,0 // jne 498b <_sk_load_8888_dst_avx+0xa2> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,124,40,21,241,54,0,0 // vmovaps 0x36f1(%rip),%ymm10 # 8000 <_sk_callback_avx+0x864> .byte 196,193,68,84,226 // vandps %ymm10,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,35,51,0,0 // vbroadcastss 0x3323(%rip),%ymm8 # 7c44 <_sk_callback_avx+0x4a8> .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 197,209,114,215,8 // vpsrld $0x8,%xmm7,%xmm5 .byte 196,195,125,25,249,1 // vextractf128 $0x1,%ymm7,%xmm9 .byte 196,193,73,114,209,8 // vpsrld $0x8,%xmm9,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 196,193,84,84,234 // vandps %ymm10,%ymm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,193,84,89,232 // vmulps %ymm8,%ymm5,%ymm5 .byte 197,161,114,215,16 // vpsrld $0x10,%xmm7,%xmm11 .byte 196,193,73,114,209,16 // vpsrld $0x10,%xmm9,%xmm6 .byte 196,227,37,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm11,%ymm6 .byte 196,193,76,84,242 // vandps %ymm10,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 197,169,114,215,24 // vpsrld $0x18,%xmm7,%xmm10 .byte 196,193,65,114,209,24 // vpsrld $0x18,%xmm9,%xmm7 .byte 196,227,45,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm10,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,121,48,228 // vpmovzxbw %xmm4,%xmm4 .byte 196,226,89,0,45,29,53,0,0 // vpshufb 0x351d(%rip),%xmm4,%xmm5 # 7ed0 <_sk_callback_avx+0x734> .byte 196,226,121,33,237 // vpmovsxbd %xmm5,%xmm5 .byte 196,226,89,0,37,31,53,0,0 // vpshufb 0x351f(%rip),%xmm4,%xmm4 # 7ee0 <_sk_callback_avx+0x744> .byte 196,226,121,33,228 // vpmovsxbd %xmm4,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 233,49,255,255,255 // jmpq 4907 <_sk_load_8888_dst_avx+0x1e> HIDDEN _sk_gather_8888_avx .globl _sk_gather_8888_avx FUNCTION(_sk_gather_8888_avx) _sk_gather_8888_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,121,110,20,129 // vmovd (%r9,%rax,4),%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,34,12,145,1 // vpinsrd $0x1,(%r9,%r10,4),%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,113,34,12,129,2 // vpinsrd $0x2,(%r9,%rax,4),%xmm1,%xmm1 .byte 196,225,249,126,192 // vmovq %xmm0,%rax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,3,113,34,4,153,3 // vpinsrd $0x3,(%r9,%r11,4),%xmm1,%xmm8 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,129,121,110,12,145 // vmovd (%r9,%r10,4),%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,195,113,34,4,129,1 // vpinsrd $0x1,(%r9,%rax,4),%xmm1,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,34,4,129,2 // vpinsrd $0x2,(%r9,%rax,4),%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,34,28,145,3 // vpinsrd $0x3,(%r9,%r10,4),%xmm0,%xmm3 .byte 196,227,61,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm0 .byte 197,124,40,21,159,53,0,0 // vmovaps 0x359f(%rip),%ymm10 # 8020 <_sk_callback_avx+0x884> .byte 196,193,124,84,194 // vandps %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,181,49,0,0 // vbroadcastss 0x31b5(%rip),%ymm9 # 7c48 <_sk_callback_avx+0x4ac> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 196,193,113,114,208,8 // vpsrld $0x8,%xmm8,%xmm1 .byte 197,233,114,211,8 // vpsrld $0x8,%xmm3,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,202 // vandps %ymm10,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,193,33,114,208,16 // vpsrld $0x10,%xmm8,%xmm11 .byte 197,233,114,211,16 // vpsrld $0x10,%xmm3,%xmm2 .byte 196,227,37,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm11,%ymm2 .byte 196,193,108,84,210 // vandps %ymm10,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_avx .globl _sk_store_8888_avx FUNCTION(_sk_store_8888_avx) _sk_store_8888_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 196,98,125,24,5,63,49,0,0 // vbroadcastss 0x313f(%rip),%ymm8 # 7c4c <_sk_callback_avx+0x4b0> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,8 // vpslld $0x8,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,8 // vpslld $0x8,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,45,86,201 // vorpd %ymm9,%ymm10,%ymm9 .byte 196,65,108,89,208 // vmulps %ymm8,%ymm2,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,16 // vpslld $0x10,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,16 // vpslld $0x10,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,193,33,114,240,24 // vpslld $0x18,%xmm8,%xmm11 .byte 196,67,125,25,192,1 // vextractf128 $0x1,%ymm8,%xmm8 .byte 196,193,57,114,240,24 // vpslld $0x18,%xmm8,%xmm8 .byte 196,67,37,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm11,%ymm8 .byte 196,65,45,86,192 // vorpd %ymm8,%ymm10,%ymm8 .byte 196,65,53,86,192 // vorpd %ymm8,%ymm9,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,12 // jne 4b9d <_sk_store_8888_avx+0xa9> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,98,49,0,21,43,51,0,0 // vpshufb 0x332b(%rip),%xmm9,%xmm10 # 7ef0 <_sk_callback_avx+0x754> .byte 196,66,121,33,210 // vpmovsxbd %xmm10,%xmm10 .byte 196,98,49,0,13,45,51,0,0 // vpshufb 0x332d(%rip),%xmm9,%xmm9 # 7f00 <_sk_callback_avx+0x764> .byte 196,66,121,33,201 // vpmovsxbd %xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 235,177 // jmp 4b96 <_sk_store_8888_avx+0xa2> HIDDEN _sk_load_bgra_avx .globl _sk_load_bgra_avx FUNCTION(_sk_load_bgra_avx) _sk_load_bgra_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,137,0,0,0 // jne 4c87 <_sk_load_bgra_avx+0xa2> .byte 196,193,124,16,26 // vmovups (%r10),%ymm3 .byte 197,124,40,21,53,52,0,0 // vmovaps 0x3435(%rip),%ymm10 # 8040 <_sk_callback_avx+0x8a4> .byte 196,193,100,84,202 // vandps %ymm10,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,98,125,24,5,51,48,0,0 // vbroadcastss 0x3033(%rip),%ymm8 # 7c50 <_sk_callback_avx+0x4b4> .byte 196,193,116,89,208 // vmulps %ymm8,%ymm1,%ymm2 .byte 197,241,114,211,8 // vpsrld $0x8,%xmm3,%xmm1 .byte 196,195,125,25,217,1 // vextractf128 $0x1,%ymm3,%xmm9 .byte 196,193,121,114,209,8 // vpsrld $0x8,%xmm9,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,124,84,194 // vandps %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 197,161,114,211,16 // vpsrld $0x10,%xmm3,%xmm11 .byte 196,193,121,114,209,16 // vpsrld $0x10,%xmm9,%xmm0 .byte 196,227,37,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm11,%ymm0 .byte 196,193,124,84,194 // vandps %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,169,114,211,24 // vpsrld $0x18,%xmm3,%xmm10 .byte 196,193,97,114,209,24 // vpsrld $0x18,%xmm9,%xmm3 .byte 196,227,45,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm10,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,192 // vmovq %rax,%xmm0 .byte 196,226,121,48,192 // vpmovzxbw %xmm0,%xmm0 .byte 196,226,121,0,13,97,50,0,0 // vpshufb 0x3261(%rip),%xmm0,%xmm1 # 7f10 <_sk_callback_avx+0x774> .byte 196,226,121,33,201 // vpmovsxbd %xmm1,%xmm1 .byte 196,226,121,0,5,99,50,0,0 // vpshufb 0x3263(%rip),%xmm0,%xmm0 # 7f20 <_sk_callback_avx+0x784> .byte 196,226,121,33,192 // vpmovsxbd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,194,125,44,26 // vmaskmovps (%r10),%ymm0,%ymm3 .byte 233,49,255,255,255 // jmpq 4c03 <_sk_load_bgra_avx+0x1e> HIDDEN _sk_load_bgra_dst_avx .globl _sk_load_bgra_dst_avx FUNCTION(_sk_load_bgra_dst_avx) _sk_load_bgra_dst_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,137,0,0,0 // jne 4d74 <_sk_load_bgra_dst_avx+0xa2> .byte 196,193,124,16,58 // vmovups (%r10),%ymm7 .byte 197,124,40,21,104,51,0,0 // vmovaps 0x3368(%rip),%ymm10 # 8060 <_sk_callback_avx+0x8c4> .byte 196,193,68,84,234 // vandps %ymm10,%ymm7,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,98,125,24,5,74,47,0,0 // vbroadcastss 0x2f4a(%rip),%ymm8 # 7c54 <_sk_callback_avx+0x4b8> .byte 196,193,84,89,240 // vmulps %ymm8,%ymm5,%ymm6 .byte 197,209,114,215,8 // vpsrld $0x8,%xmm7,%xmm5 .byte 196,195,125,25,249,1 // vextractf128 $0x1,%ymm7,%xmm9 .byte 196,193,89,114,209,8 // vpsrld $0x8,%xmm9,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,193,92,84,226 // vandps %ymm10,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,232 // vmulps %ymm8,%ymm4,%ymm5 .byte 197,161,114,215,16 // vpsrld $0x10,%xmm7,%xmm11 .byte 196,193,89,114,209,16 // vpsrld $0x10,%xmm9,%xmm4 .byte 196,227,37,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm11,%ymm4 .byte 196,193,92,84,226 // vandps %ymm10,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 197,169,114,215,24 // vpsrld $0x18,%xmm7,%xmm10 .byte 196,193,65,114,209,24 // vpsrld $0x18,%xmm9,%xmm7 .byte 196,227,45,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm10,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,225,249,110,224 // vmovq %rax,%xmm4 .byte 196,226,121,48,228 // vpmovzxbw %xmm4,%xmm4 .byte 196,226,89,0,45,148,49,0,0 // vpshufb 0x3194(%rip),%xmm4,%xmm5 # 7f30 <_sk_callback_avx+0x794> .byte 196,226,121,33,237 // vpmovsxbd %xmm5,%xmm5 .byte 196,226,89,0,37,150,49,0,0 // vpshufb 0x3196(%rip),%xmm4,%xmm4 # 7f40 <_sk_callback_avx+0x7a4> .byte 196,226,121,33,228 // vpmovsxbd %xmm4,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,194,93,44,58 // vmaskmovps (%r10),%ymm4,%ymm7 .byte 233,49,255,255,255 // jmpq 4cf0 <_sk_load_bgra_dst_avx+0x1e> HIDDEN _sk_gather_bgra_avx .globl _sk_gather_bgra_avx FUNCTION(_sk_gather_bgra_avx) _sk_gather_bgra_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,121,110,20,129 // vmovd (%r9,%rax,4),%xmm2 .byte 196,195,249,22,203,1 // vpextrq $0x1,%xmm1,%r11 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,105,34,12,145,1 // vpinsrd $0x1,(%r9,%r10,4),%xmm2,%xmm1 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,113,34,12,129,2 // vpinsrd $0x2,(%r9,%rax,4),%xmm1,%xmm1 .byte 196,225,249,126,192 // vmovq %xmm0,%rax .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,3,113,34,4,153,3 // vpinsrd $0x3,(%r9,%r11,4),%xmm1,%xmm8 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,129,121,110,12,145 // vmovd (%r9,%r10,4),%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,195,113,34,4,129,1 // vpinsrd $0x1,(%r9,%rax,4),%xmm1,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 196,195,121,34,4,129,2 // vpinsrd $0x2,(%r9,%rax,4),%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,131,121,34,28,145,3 // vpinsrd $0x3,(%r9,%r10,4),%xmm0,%xmm3 .byte 196,227,61,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm0 .byte 197,124,40,13,22,50,0,0 // vmovaps 0x3216(%rip),%ymm9 # 8080 <_sk_callback_avx+0x8e4> .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,21,220,45,0,0 // vbroadcastss 0x2ddc(%rip),%ymm10 # 7c58 <_sk_callback_avx+0x4bc> .byte 196,193,124,89,210 // vmulps %ymm10,%ymm0,%ymm2 .byte 196,193,121,114,208,8 // vpsrld $0x8,%xmm8,%xmm0 .byte 197,241,114,211,8 // vpsrld $0x8,%xmm3,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,202 // vmulps %ymm10,%ymm0,%ymm1 .byte 196,193,33,114,208,16 // vpsrld $0x10,%xmm8,%xmm11 .byte 197,249,114,211,16 // vpsrld $0x10,%xmm3,%xmm0 .byte 196,227,37,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm11,%ymm0 .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_avx .globl _sk_store_bgra_avx FUNCTION(_sk_store_bgra_avx) _sk_store_bgra_avx: .byte 73,137,201 // mov %rcx,%r9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,3,16 // add (%rax),%r10 .byte 196,98,125,24,5,102,45,0,0 // vbroadcastss 0x2d66(%rip),%ymm8 # 7c5c <_sk_callback_avx+0x4c0> .byte 196,65,108,89,200 // vmulps %ymm8,%ymm2,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,8 // vpslld $0x8,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,8 // vpslld $0x8,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,45,86,201 // vorpd %ymm9,%ymm10,%ymm9 .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,193,33,114,242,16 // vpslld $0x10,%xmm10,%xmm11 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,16 // vpslld $0x10,%xmm10,%xmm10 .byte 196,67,37,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm11,%ymm10 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,193,33,114,240,24 // vpslld $0x18,%xmm8,%xmm11 .byte 196,67,125,25,192,1 // vextractf128 $0x1,%ymm8,%xmm8 .byte 196,193,57,114,240,24 // vpslld $0x18,%xmm8,%xmm8 .byte 196,67,37,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm11,%ymm8 .byte 196,65,45,86,192 // vorpd %ymm8,%ymm10,%ymm8 .byte 196,65,53,86,192 // vorpd %ymm8,%ymm9,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,12 // jne 4f86 <_sk_store_bgra_avx+0xa9> .byte 196,65,124,17,2 // vmovups %ymm8,(%r10) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,201 // mov %r9,%rcx .byte 255,224 // jmpq *%rax .byte 185,8,0,0,0 // mov $0x8,%ecx .byte 68,41,193 // sub %r8d,%ecx .byte 192,225,3 // shl $0x3,%cl .byte 72,199,192,255,255,255,255 // mov $0xffffffffffffffff,%rax .byte 72,211,232 // shr %cl,%rax .byte 196,97,249,110,200 // vmovq %rax,%xmm9 .byte 196,66,121,48,201 // vpmovzxbw %xmm9,%xmm9 .byte 196,98,49,0,21,162,47,0,0 // vpshufb 0x2fa2(%rip),%xmm9,%xmm10 # 7f50 <_sk_callback_avx+0x7b4> .byte 196,66,121,33,210 // vpmovsxbd %xmm10,%xmm10 .byte 196,98,49,0,13,164,47,0,0 // vpshufb 0x2fa4(%rip),%xmm9,%xmm9 # 7f60 <_sk_callback_avx+0x7c4> .byte 196,66,121,33,201 // vpmovsxbd %xmm9,%xmm9 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,66,53,46,2 // vmaskmovps %ymm8,%ymm9,(%r10) .byte 235,177 // jmp 4f7f <_sk_store_bgra_avx+0xa2> HIDDEN _sk_load_f16_avx .globl _sk_load_f16_avx FUNCTION(_sk_load_f16_avx) _sk_load_f16_avx: .byte 72,131,236,24 // sub $0x18,%rsp .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 197,252,17,124,36,224 // vmovups %ymm7,-0x20(%rsp) .byte 197,252,17,116,36,192 // vmovups %ymm6,-0x40(%rsp) .byte 197,252,17,108,36,160 // vmovups %ymm5,-0x60(%rsp) .byte 197,254,127,100,36,128 // vmovdqu %ymm4,-0x80(%rsp) .byte 15,133,141,2,0,0 // jne 5285 <_sk_load_f16_avx+0x2b7> .byte 197,121,16,4,208 // vmovupd (%rax,%rdx,8),%xmm8 .byte 197,249,16,84,208,16 // vmovupd 0x10(%rax,%rdx,8),%xmm2 .byte 197,249,16,76,208,32 // vmovupd 0x20(%rax,%rdx,8),%xmm1 .byte 197,122,111,76,208,48 // vmovdqu 0x30(%rax,%rdx,8),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,113,97,217 // vpunpcklwd %xmm9,%xmm1,%xmm3 .byte 196,193,113,105,201 // vpunpckhwd %xmm9,%xmm1,%xmm1 .byte 197,121,97,250 // vpunpcklwd %xmm2,%xmm0,%xmm15 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,225,97,209 // vpunpcklwd %xmm1,%xmm3,%xmm2 .byte 197,97,105,201 // vpunpckhwd %xmm1,%xmm3,%xmm9 .byte 197,129,108,194 // vpunpcklqdq %xmm2,%xmm15,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,98,125,24,37,15,44,0,0 // vbroadcastss 0x2c0f(%rip),%ymm12 # 7c60 <_sk_callback_avx+0x4c4> .byte 196,193,124,84,204 // vandps %ymm12,%ymm0,%ymm1 .byte 197,252,87,193 // vxorps %ymm1,%ymm0,%ymm0 .byte 196,195,125,25,198,1 // vextractf128 $0x1,%ymm0,%xmm14 .byte 196,98,121,24,29,251,43,0,0 // vbroadcastss 0x2bfb(%rip),%xmm11 # 7c64 <_sk_callback_avx+0x4c8> .byte 196,193,8,87,219 // vxorps %xmm11,%xmm14,%xmm3 .byte 196,98,121,24,45,241,43,0,0 // vbroadcastss 0x2bf1(%rip),%xmm13 # 7c68 <_sk_callback_avx+0x4cc> .byte 197,145,102,219 // vpcmpgtd %xmm3,%xmm13,%xmm3 .byte 196,65,120,87,211 // vxorps %xmm11,%xmm0,%xmm10 .byte 196,65,17,102,210 // vpcmpgtd %xmm10,%xmm13,%xmm10 .byte 196,99,45,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm10,%ymm10 .byte 197,225,114,241,16 // vpslld $0x10,%xmm1,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 197,241,114,241,16 // vpslld $0x10,%xmm1,%xmm1 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 197,249,114,240,13 // vpslld $0xd,%xmm0,%xmm0 .byte 196,193,97,114,246,13 // vpslld $0xd,%xmm14,%xmm3 .byte 196,227,125,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm0,%ymm0 .byte 197,252,86,193 // vorps %ymm1,%ymm0,%ymm0 .byte 196,227,125,25,193,1 // vextractf128 $0x1,%ymm0,%xmm1 .byte 196,226,121,24,29,167,43,0,0 // vbroadcastss 0x2ba7(%rip),%xmm3 # 7c6c <_sk_callback_avx+0x4d0> .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 197,249,254,195 // vpaddd %xmm3,%xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,195,125,74,198,160 // vblendvps %ymm10,%ymm14,%ymm0,%ymm0 .byte 197,129,109,202 // vpunpckhqdq %xmm2,%xmm15,%xmm1 .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,241,105,212 // vpunpckhwd %xmm4,%xmm1,%xmm2 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,212 // vandps %ymm12,%ymm1,%ymm2 .byte 197,244,87,202 // vxorps %ymm2,%ymm1,%ymm1 .byte 196,195,125,25,202,1 // vextractf128 $0x1,%ymm1,%xmm10 .byte 196,193,40,87,251 // vxorps %xmm11,%xmm10,%xmm7 .byte 197,145,102,255 // vpcmpgtd %xmm7,%xmm13,%xmm7 .byte 196,193,112,87,243 // vxorps %xmm11,%xmm1,%xmm6 .byte 197,145,102,246 // vpcmpgtd %xmm6,%xmm13,%xmm6 .byte 196,227,77,24,247,1 // vinsertf128 $0x1,%xmm7,%ymm6,%ymm6 .byte 197,193,114,242,16 // vpslld $0x10,%xmm2,%xmm7 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 196,227,69,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm7,%ymm2 .byte 197,241,114,241,13 // vpslld $0xd,%xmm1,%xmm1 .byte 196,193,65,114,242,13 // vpslld $0xd,%xmm10,%xmm7 .byte 196,227,117,24,207,1 // vinsertf128 $0x1,%xmm7,%ymm1,%ymm1 .byte 197,244,86,202 // vorps %ymm2,%ymm1,%ymm1 .byte 196,227,125,25,202,1 // vextractf128 $0x1,%ymm1,%xmm2 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,195,117,74,206,96 // vblendvps %ymm6,%ymm14,%ymm1,%ymm1 .byte 196,193,57,108,209 // vpunpcklqdq %xmm9,%xmm8,%xmm2 .byte 197,233,105,244 // vpunpckhwd %xmm4,%xmm2,%xmm6 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,109,24,214,1 // vinsertf128 $0x1,%xmm6,%ymm2,%ymm2 .byte 196,193,108,84,244 // vandps %ymm12,%ymm2,%ymm6 .byte 197,236,87,214 // vxorps %ymm6,%ymm2,%ymm2 .byte 196,227,125,25,215,1 // vextractf128 $0x1,%ymm2,%xmm7 .byte 196,193,64,87,235 // vxorps %xmm11,%xmm7,%xmm5 .byte 197,145,102,237 // vpcmpgtd %xmm5,%xmm13,%xmm5 .byte 196,193,104,87,227 // vxorps %xmm11,%xmm2,%xmm4 .byte 197,145,102,228 // vpcmpgtd %xmm4,%xmm13,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,209,114,246,16 // vpslld $0x10,%xmm6,%xmm5 .byte 196,227,125,25,246,1 // vextractf128 $0x1,%ymm6,%xmm6 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,201,114,247,13 // vpslld $0xd,%xmm7,%xmm6 .byte 196,227,109,24,214,1 // vinsertf128 $0x1,%xmm6,%ymm2,%ymm2 .byte 197,236,86,213 // vorps %ymm5,%ymm2,%ymm2 .byte 196,227,125,25,213,1 // vextractf128 $0x1,%ymm2,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 196,227,109,24,213,1 // vinsertf128 $0x1,%xmm5,%ymm2,%ymm2 .byte 196,195,109,74,214,64 // vblendvps %ymm4,%ymm14,%ymm2,%ymm2 .byte 196,193,57,109,225 // vpunpckhqdq %xmm9,%xmm8,%xmm4 .byte 196,193,89,105,234 // vpunpckhwd %xmm10,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,92,84,236 // vandps %ymm12,%ymm4,%ymm5 .byte 197,220,87,229 // vxorps %ymm5,%ymm4,%ymm4 .byte 196,227,125,25,230,1 // vextractf128 $0x1,%ymm4,%xmm6 .byte 196,193,72,87,251 // vxorps %xmm11,%xmm6,%xmm7 .byte 197,17,102,199 // vpcmpgtd %xmm7,%xmm13,%xmm8 .byte 196,193,88,87,251 // vxorps %xmm11,%xmm4,%xmm7 .byte 197,145,102,255 // vpcmpgtd %xmm7,%xmm13,%xmm7 .byte 196,195,69,24,248,1 // vinsertf128 $0x1,%xmm8,%ymm7,%ymm7 .byte 197,185,114,245,16 // vpslld $0x10,%xmm5,%xmm8 .byte 196,227,125,25,237,1 // vextractf128 $0x1,%ymm5,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 196,227,61,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm8,%ymm5 .byte 197,217,114,244,13 // vpslld $0xd,%xmm4,%xmm4 .byte 197,201,114,246,13 // vpslld $0xd,%xmm6,%xmm6 .byte 196,227,93,24,230,1 // vinsertf128 $0x1,%xmm6,%ymm4,%ymm4 .byte 197,220,86,229 // vorps %ymm5,%ymm4,%ymm4 .byte 196,227,125,25,229,1 // vextractf128 $0x1,%ymm4,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,217,254,219 // vpaddd %xmm3,%xmm4,%xmm3 .byte 196,227,101,24,221,1 // vinsertf128 $0x1,%xmm5,%ymm3,%ymm3 .byte 196,195,101,74,222,112 // vblendvps %ymm7,%ymm14,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 197,252,16,108,36,160 // vmovups -0x60(%rsp),%ymm5 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,252,16,124,36,224 // vmovups -0x20(%rsp),%ymm7 .byte 72,131,196,24 // add $0x18,%rsp .byte 255,224 // jmpq *%rax .byte 197,123,16,4,208 // vmovsd (%rax,%rdx,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,79 // je 52e4 <_sk_load_f16_avx+0x316> .byte 197,57,22,68,208,8 // vmovhpd 0x8(%rax,%rdx,8),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,67 // jb 52e4 <_sk_load_f16_avx+0x316> .byte 197,251,16,84,208,16 // vmovsd 0x10(%rax,%rdx,8),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,68 // je 52f1 <_sk_load_f16_avx+0x323> .byte 197,233,22,84,208,24 // vmovhpd 0x18(%rax,%rdx,8),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,56 // jb 52f1 <_sk_load_f16_avx+0x323> .byte 197,251,16,76,208,32 // vmovsd 0x20(%rax,%rdx,8),%xmm1 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,70,253,255,255 // je 500f <_sk_load_f16_avx+0x41> .byte 197,241,22,76,208,40 // vmovhpd 0x28(%rax,%rdx,8),%xmm1,%xmm1 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,54,253,255,255 // jb 500f <_sk_load_f16_avx+0x41> .byte 197,122,126,76,208,48 // vmovq 0x30(%rax,%rdx,8),%xmm9 .byte 233,43,253,255,255 // jmpq 500f <_sk_load_f16_avx+0x41> .byte 197,241,87,201 // vxorpd %xmm1,%xmm1,%xmm1 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,30,253,255,255 // jmpq 500f <_sk_load_f16_avx+0x41> .byte 197,241,87,201 // vxorpd %xmm1,%xmm1,%xmm1 .byte 233,21,253,255,255 // jmpq 500f <_sk_load_f16_avx+0x41> HIDDEN _sk_load_f16_dst_avx .globl _sk_load_f16_dst_avx FUNCTION(_sk_load_f16_dst_avx) _sk_load_f16_dst_avx: .byte 72,131,236,24 // sub $0x18,%rsp .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 197,252,17,92,36,224 // vmovups %ymm3,-0x20(%rsp) .byte 197,252,17,84,36,192 // vmovups %ymm2,-0x40(%rsp) .byte 197,252,17,76,36,160 // vmovups %ymm1,-0x60(%rsp) .byte 197,254,127,68,36,128 // vmovdqu %ymm0,-0x80(%rsp) .byte 15,133,141,2,0,0 // jne 55b1 <_sk_load_f16_dst_avx+0x2b7> .byte 197,121,16,4,208 // vmovupd (%rax,%rdx,8),%xmm8 .byte 197,249,16,116,208,16 // vmovupd 0x10(%rax,%rdx,8),%xmm6 .byte 197,249,16,108,208,32 // vmovupd 0x20(%rax,%rdx,8),%xmm5 .byte 197,122,111,76,208,48 // vmovdqu 0x30(%rax,%rdx,8),%xmm9 .byte 197,185,97,230 // vpunpcklwd %xmm6,%xmm8,%xmm4 .byte 197,185,105,246 // vpunpckhwd %xmm6,%xmm8,%xmm6 .byte 196,193,81,97,249 // vpunpcklwd %xmm9,%xmm5,%xmm7 .byte 196,193,81,105,233 // vpunpckhwd %xmm9,%xmm5,%xmm5 .byte 197,89,97,254 // vpunpcklwd %xmm6,%xmm4,%xmm15 .byte 197,89,105,198 // vpunpckhwd %xmm6,%xmm4,%xmm8 .byte 197,193,97,245 // vpunpcklwd %xmm5,%xmm7,%xmm6 .byte 197,65,105,205 // vpunpckhwd %xmm5,%xmm7,%xmm9 .byte 197,129,108,230 // vpunpcklqdq %xmm6,%xmm15,%xmm4 .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,217,105,232 // vpunpckhwd %xmm0,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,98,125,24,37,243,40,0,0 // vbroadcastss 0x28f3(%rip),%ymm12 # 7c70 <_sk_callback_avx+0x4d4> .byte 196,193,92,84,236 // vandps %ymm12,%ymm4,%ymm5 .byte 197,220,87,229 // vxorps %ymm5,%ymm4,%ymm4 .byte 196,195,125,25,230,1 // vextractf128 $0x1,%ymm4,%xmm14 .byte 196,98,121,24,29,223,40,0,0 // vbroadcastss 0x28df(%rip),%xmm11 # 7c74 <_sk_callback_avx+0x4d8> .byte 196,193,8,87,251 // vxorps %xmm11,%xmm14,%xmm7 .byte 196,98,121,24,45,213,40,0,0 // vbroadcastss 0x28d5(%rip),%xmm13 # 7c78 <_sk_callback_avx+0x4dc> .byte 197,145,102,255 // vpcmpgtd %xmm7,%xmm13,%xmm7 .byte 196,65,88,87,211 // vxorps %xmm11,%xmm4,%xmm10 .byte 196,65,17,102,210 // vpcmpgtd %xmm10,%xmm13,%xmm10 .byte 196,99,45,24,215,1 // vinsertf128 $0x1,%xmm7,%ymm10,%ymm10 .byte 197,193,114,245,16 // vpslld $0x10,%xmm5,%xmm7 .byte 196,227,125,25,237,1 // vextractf128 $0x1,%ymm5,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 196,227,69,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm7,%ymm5 .byte 197,217,114,244,13 // vpslld $0xd,%xmm4,%xmm4 .byte 196,193,65,114,246,13 // vpslld $0xd,%xmm14,%xmm7 .byte 196,227,93,24,231,1 // vinsertf128 $0x1,%xmm7,%ymm4,%ymm4 .byte 197,220,86,229 // vorps %ymm5,%ymm4,%ymm4 .byte 196,227,125,25,229,1 // vextractf128 $0x1,%ymm4,%xmm5 .byte 196,226,121,24,61,139,40,0,0 // vbroadcastss 0x288b(%rip),%xmm7 # 7c7c <_sk_callback_avx+0x4e0> .byte 197,209,254,239 // vpaddd %xmm7,%xmm5,%xmm5 .byte 197,217,254,231 // vpaddd %xmm7,%xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,195,93,74,230,160 // vblendvps %ymm10,%ymm14,%ymm4,%ymm4 .byte 197,129,109,238 // vpunpckhqdq %xmm6,%xmm15,%xmm5 .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,209,105,240 // vpunpckhwd %xmm0,%xmm5,%xmm6 .byte 196,226,121,51,237 // vpmovzxwd %xmm5,%xmm5 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 196,193,84,84,244 // vandps %ymm12,%ymm5,%ymm6 .byte 197,212,87,238 // vxorps %ymm6,%ymm5,%ymm5 .byte 196,195,125,25,234,1 // vextractf128 $0x1,%ymm5,%xmm10 .byte 196,193,40,87,219 // vxorps %xmm11,%xmm10,%xmm3 .byte 197,145,102,219 // vpcmpgtd %xmm3,%xmm13,%xmm3 .byte 196,193,80,87,211 // vxorps %xmm11,%xmm5,%xmm2 .byte 197,145,102,210 // vpcmpgtd %xmm2,%xmm13,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 197,225,114,246,16 // vpslld $0x10,%xmm6,%xmm3 .byte 196,227,125,25,246,1 // vextractf128 $0x1,%ymm6,%xmm6 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 196,227,101,24,222,1 // vinsertf128 $0x1,%xmm6,%ymm3,%ymm3 .byte 197,209,114,245,13 // vpslld $0xd,%xmm5,%xmm5 .byte 196,193,73,114,242,13 // vpslld $0xd,%xmm10,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 197,212,86,219 // vorps %ymm3,%ymm5,%ymm3 .byte 196,227,125,25,221,1 // vextractf128 $0x1,%ymm3,%xmm5 .byte 197,209,254,239 // vpaddd %xmm7,%xmm5,%xmm5 .byte 197,225,254,223 // vpaddd %xmm7,%xmm3,%xmm3 .byte 196,227,101,24,221,1 // vinsertf128 $0x1,%xmm5,%ymm3,%ymm3 .byte 196,195,101,74,238,32 // vblendvps %ymm2,%ymm14,%ymm3,%ymm5 .byte 196,193,57,108,209 // vpunpcklqdq %xmm9,%xmm8,%xmm2 .byte 197,233,105,216 // vpunpckhwd %xmm0,%xmm2,%xmm3 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 196,193,108,84,220 // vandps %ymm12,%ymm2,%ymm3 .byte 197,236,87,211 // vxorps %ymm3,%ymm2,%ymm2 .byte 196,227,125,25,214,1 // vextractf128 $0x1,%ymm2,%xmm6 .byte 196,193,72,87,203 // vxorps %xmm11,%xmm6,%xmm1 .byte 197,145,102,201 // vpcmpgtd %xmm1,%xmm13,%xmm1 .byte 196,193,104,87,195 // vxorps %xmm11,%xmm2,%xmm0 .byte 197,145,102,192 // vpcmpgtd %xmm0,%xmm13,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,241,114,243,16 // vpslld $0x10,%xmm3,%xmm1 .byte 196,227,125,25,219,1 // vextractf128 $0x1,%ymm3,%xmm3 .byte 197,225,114,243,16 // vpslld $0x10,%xmm3,%xmm3 .byte 196,227,117,24,203,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm1 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,225,114,246,13 // vpslld $0xd,%xmm6,%xmm3 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 197,236,86,201 // vorps %ymm1,%ymm2,%ymm1 .byte 196,227,125,25,202,1 // vextractf128 $0x1,%ymm1,%xmm2 .byte 197,233,254,215 // vpaddd %xmm7,%xmm2,%xmm2 .byte 197,241,254,207 // vpaddd %xmm7,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,195,117,74,246,0 // vblendvps %ymm0,%ymm14,%ymm1,%ymm6 .byte 196,193,57,109,193 // vpunpckhqdq %xmm9,%xmm8,%xmm0 .byte 196,193,121,105,202 // vpunpckhwd %xmm10,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,124,84,204 // vandps %ymm12,%ymm0,%ymm1 .byte 197,252,87,193 // vxorps %ymm1,%ymm0,%ymm0 .byte 196,227,125,25,194,1 // vextractf128 $0x1,%ymm0,%xmm2 .byte 196,193,104,87,219 // vxorps %xmm11,%xmm2,%xmm3 .byte 197,17,102,195 // vpcmpgtd %xmm3,%xmm13,%xmm8 .byte 196,193,120,87,219 // vxorps %xmm11,%xmm0,%xmm3 .byte 197,145,102,219 // vpcmpgtd %xmm3,%xmm13,%xmm3 .byte 196,195,101,24,216,1 // vinsertf128 $0x1,%xmm8,%ymm3,%ymm3 .byte 197,185,114,241,16 // vpslld $0x10,%xmm1,%xmm8 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 197,241,114,241,16 // vpslld $0x10,%xmm1,%xmm1 .byte 196,227,61,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm8,%ymm1 .byte 197,249,114,240,13 // vpslld $0xd,%xmm0,%xmm0 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 196,227,125,24,194,1 // vinsertf128 $0x1,%xmm2,%ymm0,%ymm0 .byte 197,252,86,193 // vorps %ymm1,%ymm0,%ymm0 .byte 196,227,125,25,193,1 // vextractf128 $0x1,%ymm0,%xmm1 .byte 197,241,254,207 // vpaddd %xmm7,%xmm1,%xmm1 .byte 197,249,254,199 // vpaddd %xmm7,%xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,195,125,74,254,48 // vblendvps %ymm3,%ymm14,%ymm0,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 197,252,16,76,36,160 // vmovups -0x60(%rsp),%ymm1 .byte 197,252,16,84,36,192 // vmovups -0x40(%rsp),%ymm2 .byte 197,252,16,92,36,224 // vmovups -0x20(%rsp),%ymm3 .byte 72,131,196,24 // add $0x18,%rsp .byte 255,224 // jmpq *%rax .byte 197,123,16,4,208 // vmovsd (%rax,%rdx,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,79 // je 5610 <_sk_load_f16_dst_avx+0x316> .byte 197,57,22,68,208,8 // vmovhpd 0x8(%rax,%rdx,8),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,67 // jb 5610 <_sk_load_f16_dst_avx+0x316> .byte 197,251,16,116,208,16 // vmovsd 0x10(%rax,%rdx,8),%xmm6 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,68 // je 561d <_sk_load_f16_dst_avx+0x323> .byte 197,201,22,116,208,24 // vmovhpd 0x18(%rax,%rdx,8),%xmm6,%xmm6 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,56 // jb 561d <_sk_load_f16_dst_avx+0x323> .byte 197,251,16,108,208,32 // vmovsd 0x20(%rax,%rdx,8),%xmm5 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,70,253,255,255 // je 533b <_sk_load_f16_dst_avx+0x41> .byte 197,209,22,108,208,40 // vmovhpd 0x28(%rax,%rdx,8),%xmm5,%xmm5 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,54,253,255,255 // jb 533b <_sk_load_f16_dst_avx+0x41> .byte 197,122,126,76,208,48 // vmovq 0x30(%rax,%rdx,8),%xmm9 .byte 233,43,253,255,255 // jmpq 533b <_sk_load_f16_dst_avx+0x41> .byte 197,209,87,237 // vxorpd %xmm5,%xmm5,%xmm5 .byte 197,201,87,246 // vxorpd %xmm6,%xmm6,%xmm6 .byte 233,30,253,255,255 // jmpq 533b <_sk_load_f16_dst_avx+0x41> .byte 197,209,87,237 // vxorpd %xmm5,%xmm5,%xmm5 .byte 233,21,253,255,255 // jmpq 533b <_sk_load_f16_dst_avx+0x41> HIDDEN _sk_gather_f16_avx .globl _sk_gather_f16_avx FUNCTION(_sk_gather_f16_avx) _sk_gather_f16_avx: .byte 72,131,236,24 // sub $0x18,%rsp .byte 197,252,17,124,36,224 // vmovups %ymm7,-0x20(%rsp) .byte 197,252,17,116,36,192 // vmovups %ymm6,-0x40(%rsp) .byte 197,252,17,108,36,160 // vmovups %ymm5,-0x60(%rsp) .byte 197,254,127,100,36,128 // vmovdqu %ymm4,-0x80(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,16 // vmovd 0x10(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 197,113,254,192 // vpaddd %xmm0,%xmm1,%xmm8 .byte 197,225,254,202 // vpaddd %xmm2,%xmm3,%xmm1 .byte 196,225,249,126,200 // vmovq %xmm1,%rax .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,65,122,126,12,193 // vmovq (%r9,%rax,8),%xmm9 .byte 196,227,249,22,200,1 // vpextrq $0x1,%xmm1,%rax .byte 196,1,122,126,20,209 // vmovq (%r9,%r10,8),%xmm10 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,65,122,126,28,193 // vmovq (%r9,%rax,8),%xmm11 .byte 196,97,249,126,192 // vmovq %xmm8,%rax .byte 196,1,122,126,36,209 // vmovq (%r9,%r10,8),%xmm12 .byte 65,137,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,65,122,126,44,193 // vmovq (%r9,%rax,8),%xmm13 .byte 196,67,249,22,195,1 // vpextrq $0x1,%xmm8,%r11 .byte 196,1,122,126,4,209 // vmovq (%r9,%r10,8),%xmm8 .byte 76,137,216 // mov %r11,%rax .byte 72,193,232,32 // shr $0x20,%rax .byte 196,65,122,126,52,193 // vmovq (%r9,%rax,8),%xmm14 .byte 68,137,216 // mov %r11d,%eax .byte 196,193,122,126,4,193 // vmovq (%r9,%rax,8),%xmm0 .byte 196,193,41,108,209 // vpunpcklqdq %xmm9,%xmm10,%xmm2 .byte 196,193,25,108,203 // vpunpcklqdq %xmm11,%xmm12,%xmm1 .byte 196,193,57,108,221 // vpunpcklqdq %xmm13,%xmm8,%xmm3 .byte 196,193,121,108,198 // vpunpcklqdq %xmm14,%xmm0,%xmm0 .byte 197,105,97,193 // vpunpcklwd %xmm1,%xmm2,%xmm8 .byte 197,233,105,209 // vpunpckhwd %xmm1,%xmm2,%xmm2 .byte 197,225,97,200 // vpunpcklwd %xmm0,%xmm3,%xmm1 .byte 197,225,105,192 // vpunpckhwd %xmm0,%xmm3,%xmm0 .byte 197,57,97,250 // vpunpcklwd %xmm2,%xmm8,%xmm15 .byte 197,57,105,194 // vpunpckhwd %xmm2,%xmm8,%xmm8 .byte 197,241,97,208 // vpunpcklwd %xmm0,%xmm1,%xmm2 .byte 197,113,105,200 // vpunpckhwd %xmm0,%xmm1,%xmm9 .byte 197,129,108,194 // vpunpcklqdq %xmm2,%xmm15,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,249,105,201 // vpunpckhwd %xmm1,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,98,125,24,37,80,37,0,0 // vbroadcastss 0x2550(%rip),%ymm12 # 7c80 <_sk_callback_avx+0x4e4> .byte 196,193,124,84,204 // vandps %ymm12,%ymm0,%ymm1 .byte 197,252,87,193 // vxorps %ymm1,%ymm0,%ymm0 .byte 196,195,125,25,198,1 // vextractf128 $0x1,%ymm0,%xmm14 .byte 196,98,121,24,29,60,37,0,0 // vbroadcastss 0x253c(%rip),%xmm11 # 7c84 <_sk_callback_avx+0x4e8> .byte 196,193,8,87,219 // vxorps %xmm11,%xmm14,%xmm3 .byte 196,98,121,24,45,50,37,0,0 // vbroadcastss 0x2532(%rip),%xmm13 # 7c88 <_sk_callback_avx+0x4ec> .byte 197,145,102,219 // vpcmpgtd %xmm3,%xmm13,%xmm3 .byte 196,65,120,87,211 // vxorps %xmm11,%xmm0,%xmm10 .byte 196,65,17,102,210 // vpcmpgtd %xmm10,%xmm13,%xmm10 .byte 196,99,45,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm10,%ymm10 .byte 197,225,114,241,16 // vpslld $0x10,%xmm1,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 197,241,114,241,16 // vpslld $0x10,%xmm1,%xmm1 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 197,249,114,240,13 // vpslld $0xd,%xmm0,%xmm0 .byte 196,193,97,114,246,13 // vpslld $0xd,%xmm14,%xmm3 .byte 196,227,125,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm0,%ymm0 .byte 197,252,86,193 // vorps %ymm1,%ymm0,%ymm0 .byte 196,227,125,25,193,1 // vextractf128 $0x1,%ymm0,%xmm1 .byte 196,226,121,24,29,232,36,0,0 // vbroadcastss 0x24e8(%rip),%xmm3 # 7c8c <_sk_callback_avx+0x4f0> .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 197,249,254,195 // vpaddd %xmm3,%xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,195,125,74,198,160 // vblendvps %ymm10,%ymm14,%ymm0,%ymm0 .byte 197,129,109,202 // vpunpckhqdq %xmm2,%xmm15,%xmm1 .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,241,105,212 // vpunpckhwd %xmm4,%xmm1,%xmm2 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,212 // vandps %ymm12,%ymm1,%ymm2 .byte 197,244,87,202 // vxorps %ymm2,%ymm1,%ymm1 .byte 196,195,125,25,202,1 // vextractf128 $0x1,%ymm1,%xmm10 .byte 196,193,40,87,251 // vxorps %xmm11,%xmm10,%xmm7 .byte 197,145,102,255 // vpcmpgtd %xmm7,%xmm13,%xmm7 .byte 196,193,112,87,243 // vxorps %xmm11,%xmm1,%xmm6 .byte 197,145,102,246 // vpcmpgtd %xmm6,%xmm13,%xmm6 .byte 196,227,77,24,247,1 // vinsertf128 $0x1,%xmm7,%ymm6,%ymm6 .byte 197,193,114,242,16 // vpslld $0x10,%xmm2,%xmm7 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 196,227,69,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm7,%ymm2 .byte 197,241,114,241,13 // vpslld $0xd,%xmm1,%xmm1 .byte 196,193,65,114,242,13 // vpslld $0xd,%xmm10,%xmm7 .byte 196,227,117,24,207,1 // vinsertf128 $0x1,%xmm7,%ymm1,%ymm1 .byte 197,244,86,202 // vorps %ymm2,%ymm1,%ymm1 .byte 196,227,125,25,202,1 // vextractf128 $0x1,%ymm1,%xmm2 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,195,117,74,206,96 // vblendvps %ymm6,%ymm14,%ymm1,%ymm1 .byte 196,193,57,108,209 // vpunpcklqdq %xmm9,%xmm8,%xmm2 .byte 197,233,105,244 // vpunpckhwd %xmm4,%xmm2,%xmm6 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,109,24,214,1 // vinsertf128 $0x1,%xmm6,%ymm2,%ymm2 .byte 196,193,108,84,244 // vandps %ymm12,%ymm2,%ymm6 .byte 197,236,87,214 // vxorps %ymm6,%ymm2,%ymm2 .byte 196,227,125,25,215,1 // vextractf128 $0x1,%ymm2,%xmm7 .byte 196,193,64,87,235 // vxorps %xmm11,%xmm7,%xmm5 .byte 197,145,102,237 // vpcmpgtd %xmm5,%xmm13,%xmm5 .byte 196,193,104,87,227 // vxorps %xmm11,%xmm2,%xmm4 .byte 197,145,102,228 // vpcmpgtd %xmm4,%xmm13,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,209,114,246,16 // vpslld $0x10,%xmm6,%xmm5 .byte 196,227,125,25,246,1 // vextractf128 $0x1,%ymm6,%xmm6 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,201,114,247,13 // vpslld $0xd,%xmm7,%xmm6 .byte 196,227,109,24,214,1 // vinsertf128 $0x1,%xmm6,%ymm2,%ymm2 .byte 197,236,86,213 // vorps %ymm5,%ymm2,%ymm2 .byte 196,227,125,25,213,1 // vextractf128 $0x1,%ymm2,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 196,227,109,24,213,1 // vinsertf128 $0x1,%xmm5,%ymm2,%ymm2 .byte 196,195,109,74,214,64 // vblendvps %ymm4,%ymm14,%ymm2,%ymm2 .byte 196,193,57,109,225 // vpunpckhqdq %xmm9,%xmm8,%xmm4 .byte 196,193,89,105,234 // vpunpckhwd %xmm10,%xmm4,%xmm5 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,92,84,236 // vandps %ymm12,%ymm4,%ymm5 .byte 197,220,87,229 // vxorps %ymm5,%ymm4,%ymm4 .byte 196,227,125,25,230,1 // vextractf128 $0x1,%ymm4,%xmm6 .byte 196,193,72,87,251 // vxorps %xmm11,%xmm6,%xmm7 .byte 197,17,102,199 // vpcmpgtd %xmm7,%xmm13,%xmm8 .byte 196,193,88,87,251 // vxorps %xmm11,%xmm4,%xmm7 .byte 197,145,102,255 // vpcmpgtd %xmm7,%xmm13,%xmm7 .byte 196,195,69,24,248,1 // vinsertf128 $0x1,%xmm8,%ymm7,%ymm7 .byte 197,185,114,245,16 // vpslld $0x10,%xmm5,%xmm8 .byte 196,227,125,25,237,1 // vextractf128 $0x1,%ymm5,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 196,227,61,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm8,%ymm5 .byte 197,217,114,244,13 // vpslld $0xd,%xmm4,%xmm4 .byte 197,201,114,246,13 // vpslld $0xd,%xmm6,%xmm6 .byte 196,227,93,24,230,1 // vinsertf128 $0x1,%xmm6,%ymm4,%ymm4 .byte 197,220,86,229 // vorps %ymm5,%ymm4,%ymm4 .byte 196,227,125,25,229,1 // vextractf128 $0x1,%ymm4,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,217,254,219 // vpaddd %xmm3,%xmm4,%xmm3 .byte 196,227,101,24,221,1 // vinsertf128 $0x1,%xmm5,%ymm3,%ymm3 .byte 196,195,101,74,222,112 // vblendvps %ymm7,%ymm14,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 197,252,16,108,36,160 // vmovups -0x60(%rsp),%ymm5 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,252,16,124,36,224 // vmovups -0x20(%rsp),%ymm7 .byte 72,131,196,24 // add $0x18,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_avx .globl _sk_store_f16_avx FUNCTION(_sk_store_f16_avx) _sk_store_f16_avx: .byte 72,131,236,88 // sub $0x58,%rsp .byte 197,252,17,124,36,32 // vmovups %ymm7,0x20(%rsp) .byte 197,252,17,52,36 // vmovups %ymm6,(%rsp) .byte 197,252,17,108,36,224 // vmovups %ymm5,-0x20(%rsp) .byte 197,252,17,100,36,192 // vmovups %ymm4,-0x40(%rsp) .byte 196,98,125,24,13,8,35,0,0 // vbroadcastss 0x2308(%rip),%ymm9 # 7c90 <_sk_callback_avx+0x4f4> .byte 196,65,124,84,209 // vandps %ymm9,%ymm0,%ymm10 .byte 197,252,17,68,36,128 // vmovups %ymm0,-0x80(%rsp) .byte 196,65,124,87,218 // vxorps %ymm10,%ymm0,%ymm11 .byte 196,67,125,25,220,1 // vextractf128 $0x1,%ymm11,%xmm12 .byte 196,98,121,24,5,237,34,0,0 // vbroadcastss 0x22ed(%rip),%xmm8 # 7c94 <_sk_callback_avx+0x4f8> .byte 196,65,57,102,236 // vpcmpgtd %xmm12,%xmm8,%xmm13 .byte 196,65,57,102,243 // vpcmpgtd %xmm11,%xmm8,%xmm14 .byte 196,67,13,24,237,1 // vinsertf128 $0x1,%xmm13,%ymm14,%ymm13 .byte 196,193,9,114,210,16 // vpsrld $0x10,%xmm10,%xmm14 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,210,16 // vpsrld $0x10,%xmm10,%xmm10 .byte 196,67,13,24,242,1 // vinsertf128 $0x1,%xmm10,%ymm14,%ymm14 .byte 196,193,33,114,211,13 // vpsrld $0xd,%xmm11,%xmm11 .byte 196,193,25,114,212,13 // vpsrld $0xd,%xmm12,%xmm12 .byte 196,98,125,24,21,180,34,0,0 // vbroadcastss 0x22b4(%rip),%ymm10 # 7c98 <_sk_callback_avx+0x4fc> .byte 196,65,12,86,242 // vorps %ymm10,%ymm14,%ymm14 .byte 196,67,125,25,247,1 // vextractf128 $0x1,%ymm14,%xmm15 .byte 196,65,1,254,228 // vpaddd %xmm12,%xmm15,%xmm12 .byte 196,65,9,254,219 // vpaddd %xmm11,%xmm14,%xmm11 .byte 196,67,37,24,228,1 // vinsertf128 $0x1,%xmm12,%ymm11,%ymm12 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,99,29,74,224,208 // vblendvps %ymm13,%ymm0,%ymm12,%ymm12 .byte 196,65,116,84,233 // vandps %ymm9,%ymm1,%ymm13 .byte 197,252,17,76,36,160 // vmovups %ymm1,-0x60(%rsp) .byte 196,65,116,87,245 // vxorps %ymm13,%ymm1,%ymm14 .byte 196,67,125,25,247,1 // vextractf128 $0x1,%ymm14,%xmm15 .byte 196,193,57,102,255 // vpcmpgtd %xmm15,%xmm8,%xmm7 .byte 196,65,57,102,222 // vpcmpgtd %xmm14,%xmm8,%xmm11 .byte 196,227,37,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm11,%ymm7 .byte 196,193,33,114,213,16 // vpsrld $0x10,%xmm13,%xmm11 .byte 196,99,125,25,238,1 // vextractf128 $0x1,%ymm13,%xmm6 .byte 197,201,114,214,16 // vpsrld $0x10,%xmm6,%xmm6 .byte 196,227,37,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm11,%ymm6 .byte 196,193,33,114,215,13 // vpsrld $0xd,%xmm15,%xmm11 .byte 196,193,76,86,242 // vorps %ymm10,%ymm6,%ymm6 .byte 196,227,125,25,245,1 // vextractf128 $0x1,%ymm6,%xmm5 .byte 196,193,81,254,235 // vpaddd %xmm11,%xmm5,%xmm5 .byte 196,193,89,114,214,13 // vpsrld $0xd,%xmm14,%xmm4 .byte 197,201,254,228 // vpaddd %xmm4,%xmm6,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,99,93,74,232,112 // vblendvps %ymm7,%ymm0,%ymm4,%ymm13 .byte 196,193,108,84,225 // vandps %ymm9,%ymm2,%ymm4 .byte 197,236,87,236 // vxorps %ymm4,%ymm2,%ymm5 .byte 196,227,125,25,238,1 // vextractf128 $0x1,%ymm5,%xmm6 .byte 197,185,102,254 // vpcmpgtd %xmm6,%xmm8,%xmm7 .byte 197,57,102,221 // vpcmpgtd %xmm5,%xmm8,%xmm11 .byte 196,227,37,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm11,%ymm7 .byte 197,161,114,212,16 // vpsrld $0x10,%xmm4,%xmm11 .byte 196,227,125,25,228,1 // vextractf128 $0x1,%ymm4,%xmm4 .byte 197,217,114,212,16 // vpsrld $0x10,%xmm4,%xmm4 .byte 196,227,37,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm11,%ymm4 .byte 197,201,114,214,13 // vpsrld $0xd,%xmm6,%xmm6 .byte 196,193,92,86,226 // vorps %ymm10,%ymm4,%ymm4 .byte 196,227,125,25,225,1 // vextractf128 $0x1,%ymm4,%xmm1 .byte 197,241,254,206 // vpaddd %xmm6,%xmm1,%xmm1 .byte 197,209,114,213,13 // vpsrld $0xd,%xmm5,%xmm5 .byte 197,217,254,229 // vpaddd %xmm5,%xmm4,%xmm4 .byte 196,227,93,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm4,%ymm1 .byte 196,99,117,74,216,112 // vblendvps %ymm7,%ymm0,%ymm1,%ymm11 .byte 196,193,100,84,225 // vandps %ymm9,%ymm3,%ymm4 .byte 197,228,87,236 // vxorps %ymm4,%ymm3,%ymm5 .byte 196,227,125,25,238,1 // vextractf128 $0x1,%ymm5,%xmm6 .byte 197,185,102,254 // vpcmpgtd %xmm6,%xmm8,%xmm7 .byte 197,57,102,197 // vpcmpgtd %xmm5,%xmm8,%xmm8 .byte 196,227,61,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm8,%ymm7 .byte 197,185,114,212,16 // vpsrld $0x10,%xmm4,%xmm8 .byte 196,227,125,25,228,1 // vextractf128 $0x1,%ymm4,%xmm4 .byte 197,217,114,212,16 // vpsrld $0x10,%xmm4,%xmm4 .byte 196,227,61,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm8,%ymm4 .byte 196,193,92,86,226 // vorps %ymm10,%ymm4,%ymm4 .byte 197,201,114,214,13 // vpsrld $0xd,%xmm6,%xmm6 .byte 196,227,125,25,225,1 // vextractf128 $0x1,%ymm4,%xmm1 .byte 197,241,254,206 // vpaddd %xmm6,%xmm1,%xmm1 .byte 197,209,114,213,13 // vpsrld $0xd,%xmm5,%xmm5 .byte 197,217,254,229 // vpaddd %xmm5,%xmm4,%xmm4 .byte 196,227,93,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm4,%ymm1 .byte 196,227,117,74,200,112 // vblendvps %ymm7,%ymm0,%ymm1,%ymm1 .byte 196,99,125,25,224,1 // vextractf128 $0x1,%ymm12,%xmm0 .byte 196,226,25,43,192 // vpackusdw %xmm0,%xmm12,%xmm0 .byte 196,99,125,25,236,1 // vextractf128 $0x1,%ymm13,%xmm4 .byte 196,226,17,43,228 // vpackusdw %xmm4,%xmm13,%xmm4 .byte 196,99,125,25,221,1 // vextractf128 $0x1,%ymm11,%xmm5 .byte 196,226,33,43,245 // vpackusdw %xmm5,%xmm11,%xmm6 .byte 196,227,125,25,205,1 // vextractf128 $0x1,%ymm1,%xmm5 .byte 196,226,113,43,205 // vpackusdw %xmm5,%xmm1,%xmm1 .byte 197,249,97,236 // vpunpcklwd %xmm4,%xmm0,%xmm5 .byte 197,249,105,196 // vpunpckhwd %xmm4,%xmm0,%xmm0 .byte 197,201,97,225 // vpunpcklwd %xmm1,%xmm6,%xmm4 .byte 197,201,105,201 // vpunpckhwd %xmm1,%xmm6,%xmm1 .byte 197,81,98,220 // vpunpckldq %xmm4,%xmm5,%xmm11 .byte 197,81,106,212 // vpunpckhdq %xmm4,%xmm5,%xmm10 .byte 197,121,98,201 // vpunpckldq %xmm1,%xmm0,%xmm9 .byte 197,121,106,193 // vpunpckhdq %xmm1,%xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 5bc2 <_sk_store_f16_avx+0x25e> .byte 197,120,17,28,208 // vmovups %xmm11,(%rax,%rdx,8) .byte 197,120,17,84,208,16 // vmovups %xmm10,0x10(%rax,%rdx,8) .byte 197,120,17,76,208,32 // vmovups %xmm9,0x20(%rax,%rdx,8) .byte 197,122,127,68,208,48 // vmovdqu %xmm8,0x30(%rax,%rdx,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 197,252,16,76,36,160 // vmovups -0x60(%rsp),%ymm1 .byte 197,252,16,100,36,192 // vmovups -0x40(%rsp),%ymm4 .byte 197,252,16,108,36,224 // vmovups -0x20(%rsp),%ymm5 .byte 197,252,16,52,36 // vmovups (%rsp),%ymm6 .byte 197,252,16,124,36,32 // vmovups 0x20(%rsp),%ymm7 .byte 72,131,196,88 // add $0x58,%rsp .byte 255,224 // jmpq *%rax .byte 197,121,214,28,208 // vmovq %xmm11,(%rax,%rdx,8) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,202 // je 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,23,92,208,8 // vmovhpd %xmm11,0x8(%rax,%rdx,8) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,190 // jb 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,214,84,208,16 // vmovq %xmm10,0x10(%rax,%rdx,8) .byte 116,182 // je 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,23,84,208,24 // vmovhpd %xmm10,0x18(%rax,%rdx,8) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,170 // jb 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,214,76,208,32 // vmovq %xmm9,0x20(%rax,%rdx,8) .byte 116,162 // je 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,23,76,208,40 // vmovhpd %xmm9,0x28(%rax,%rdx,8) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,150 // jb 5b97 <_sk_store_f16_avx+0x233> .byte 197,121,214,68,208,48 // vmovq %xmm8,0x30(%rax,%rdx,8) .byte 235,142 // jmp 5b97 <_sk_store_f16_avx+0x233> HIDDEN _sk_load_u16_be_avx .globl _sk_load_u16_be_avx FUNCTION(_sk_load_u16_be_avx) _sk_load_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,253,0,0,0 // jne 5d1c <_sk_load_u16_be_avx+0x113> .byte 196,65,121,16,4,65 // vmovupd (%r9,%rax,2),%xmm8 .byte 196,193,121,16,84,65,16 // vmovupd 0x10(%r9,%rax,2),%xmm2 .byte 196,193,121,16,92,65,32 // vmovupd 0x20(%r9,%rax,2),%xmm3 .byte 196,65,122,111,76,65,48 // vmovdqu 0x30(%r9,%rax,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,202 // vpunpcklwd %xmm2,%xmm0,%xmm9 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,113,105,227 // vpunpckhwd %xmm3,%xmm1,%xmm12 .byte 197,177,108,194 // vpunpcklqdq %xmm2,%xmm9,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 196,193,121,105,202 // vpunpckhwd %xmm10,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,29,12,32,0,0 // vbroadcastss 0x200c(%rip),%ymm11 # 7c9c <_sk_callback_avx+0x500> .byte 196,193,124,89,195 // vmulps %ymm11,%ymm0,%ymm0 .byte 197,177,109,202 // vpunpckhqdq %xmm2,%xmm9,%xmm1 .byte 197,233,113,241,8 // vpsllw $0x8,%xmm1,%xmm2 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,193,113,105,210 // vpunpckhwd %xmm10,%xmm1,%xmm2 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,203 // vmulps %ymm11,%ymm1,%ymm1 .byte 196,193,57,108,212 // vpunpcklqdq %xmm12,%xmm8,%xmm2 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,193,105,105,218 // vpunpckhwd %xmm10,%xmm2,%xmm3 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,211 // vmulps %ymm11,%ymm2,%ymm2 .byte 196,193,57,109,220 // vpunpckhqdq %xmm12,%xmm8,%xmm3 .byte 197,185,113,243,8 // vpsllw $0x8,%xmm3,%xmm8 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,185,235,219 // vpor %xmm3,%xmm8,%xmm3 .byte 196,65,97,105,194 // vpunpckhwd %xmm10,%xmm3,%xmm8 .byte 196,226,121,51,219 // vpmovzxwd %xmm3,%xmm3 .byte 196,195,101,24,216,1 // vinsertf128 $0x1,%xmm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,219 // vmulps %ymm11,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,65 // vmovsd (%r9,%rax,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,85 // je 5d82 <_sk_load_u16_be_avx+0x179> .byte 196,65,57,22,68,65,8 // vmovhpd 0x8(%r9,%rax,2),%xmm8,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,72 // jb 5d82 <_sk_load_u16_be_avx+0x179> .byte 196,193,123,16,84,65,16 // vmovsd 0x10(%r9,%rax,2),%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 116,72 // je 5d8f <_sk_load_u16_be_avx+0x186> .byte 196,193,105,22,84,65,24 // vmovhpd 0x18(%r9,%rax,2),%xmm2,%xmm2 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,59 // jb 5d8f <_sk_load_u16_be_avx+0x186> .byte 196,193,123,16,92,65,32 // vmovsd 0x20(%r9,%rax,2),%xmm3 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 15,132,213,254,255,255 // je 5c3a <_sk_load_u16_be_avx+0x31> .byte 196,193,97,22,92,65,40 // vmovhpd 0x28(%r9,%rax,2),%xmm3,%xmm3 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 15,130,196,254,255,255 // jb 5c3a <_sk_load_u16_be_avx+0x31> .byte 196,65,122,126,76,65,48 // vmovq 0x30(%r9,%rax,2),%xmm9 .byte 233,184,254,255,255 // jmpq 5c3a <_sk_load_u16_be_avx+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,171,254,255,255 // jmpq 5c3a <_sk_load_u16_be_avx+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,162,254,255,255 // jmpq 5c3a <_sk_load_u16_be_avx+0x31> HIDDEN _sk_load_rgb_u16_be_avx .globl _sk_load_rgb_u16_be_avx FUNCTION(_sk_load_rgb_u16_be_avx) _sk_load_rgb_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,82 // lea (%rdx,%rdx,2),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,243,0,0,0 // jne 5e9d <_sk_load_rgb_u16_be_avx+0x105> .byte 196,193,122,111,4,65 // vmovdqu (%r9,%rax,2),%xmm0 .byte 196,193,122,111,84,65,12 // vmovdqu 0xc(%r9,%rax,2),%xmm2 .byte 196,193,122,111,76,65,24 // vmovdqu 0x18(%r9,%rax,2),%xmm1 .byte 196,193,122,111,92,65,32 // vmovdqu 0x20(%r9,%rax,2),%xmm3 .byte 197,225,115,219,4 // vpsrldq $0x4,%xmm3,%xmm3 .byte 197,185,115,216,6 // vpsrldq $0x6,%xmm0,%xmm8 .byte 197,177,115,218,6 // vpsrldq $0x6,%xmm2,%xmm9 .byte 197,161,115,217,6 // vpsrldq $0x6,%xmm1,%xmm11 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,249,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm0 .byte 196,193,57,97,209 // vpunpcklwd %xmm9,%xmm8,%xmm2 .byte 197,241,97,203 // vpunpcklwd %xmm3,%xmm1,%xmm1 .byte 196,193,33,97,218 // vpunpcklwd %xmm10,%xmm11,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,113,105,211 // vpunpckhwd %xmm3,%xmm1,%xmm10 .byte 197,185,108,194 // vpunpcklqdq %xmm2,%xmm8,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,65,25,239,228 // vpxor %xmm12,%xmm12,%xmm12 .byte 196,193,121,105,204 // vpunpckhwd %xmm12,%xmm0,%xmm1 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,29,108,30,0,0 // vbroadcastss 0x1e6c(%rip),%ymm11 # 7ca0 <_sk_callback_avx+0x504> .byte 196,193,124,89,195 // vmulps %ymm11,%ymm0,%ymm0 .byte 197,185,109,202 // vpunpckhqdq %xmm2,%xmm8,%xmm1 .byte 197,233,113,241,8 // vpsllw $0x8,%xmm1,%xmm2 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,193,113,105,212 // vpunpckhwd %xmm12,%xmm1,%xmm2 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,203 // vmulps %ymm11,%ymm1,%ymm1 .byte 196,193,49,108,210 // vpunpcklqdq %xmm10,%xmm9,%xmm2 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,193,105,105,220 // vpunpckhwd %xmm12,%xmm2,%xmm3 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,109,24,211,1 // vinsertf128 $0x1,%xmm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,211 // vmulps %ymm11,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,9,30,0,0 // vbroadcastss 0x1e09(%rip),%ymm3 # 7ca4 <_sk_callback_avx+0x508> .byte 255,224 // jmpq *%rax .byte 196,193,121,110,4,65 // vmovd (%r9,%rax,2),%xmm0 .byte 196,193,121,196,68,65,4,2 // vpinsrw $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,5 // jne 5eb6 <_sk_load_rgb_u16_be_avx+0x11e> .byte 233,40,255,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 196,193,121,110,76,65,6 // vmovd 0x6(%r9,%rax,2),%xmm1 .byte 196,65,113,196,68,65,10,2 // vpinsrw $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,26 // jb 5ee5 <_sk_load_rgb_u16_be_avx+0x14d> .byte 196,193,121,110,76,65,12 // vmovd 0xc(%r9,%rax,2),%xmm1 .byte 196,193,113,196,84,65,16,2 // vpinsrw $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 117,10 // jne 5eea <_sk_load_rgb_u16_be_avx+0x152> .byte 233,249,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 233,244,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 196,193,121,110,76,65,18 // vmovd 0x12(%r9,%rax,2),%xmm1 .byte 196,65,113,196,76,65,22,2 // vpinsrw $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,26 // jb 5f19 <_sk_load_rgb_u16_be_avx+0x181> .byte 196,193,121,110,76,65,24 // vmovd 0x18(%r9,%rax,2),%xmm1 .byte 196,193,113,196,76,65,28,2 // vpinsrw $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1 .byte 73,131,248,5 // cmp $0x5,%r8 .byte 117,10 // jne 5f1e <_sk_load_rgb_u16_be_avx+0x186> .byte 233,197,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 233,192,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 196,193,121,110,92,65,30 // vmovd 0x1e(%r9,%rax,2),%xmm3 .byte 196,65,97,196,92,65,34,2 // vpinsrw $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11 .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,20 // jb 5f47 <_sk_load_rgb_u16_be_avx+0x1af> .byte 196,193,121,110,92,65,36 // vmovd 0x24(%r9,%rax,2),%xmm3 .byte 196,193,97,196,92,65,40,2 // vpinsrw $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3 .byte 233,151,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> .byte 233,146,254,255,255 // jmpq 5dde <_sk_load_rgb_u16_be_avx+0x46> HIDDEN _sk_store_u16_be_avx .globl _sk_store_u16_be_avx FUNCTION(_sk_store_u16_be_avx) _sk_store_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 196,98,125,24,5,70,29,0,0 // vbroadcastss 0x1d46(%rip),%ymm8 # 7ca8 <_sk_callback_avx+0x50c> .byte 196,65,124,89,200 // vmulps %ymm8,%ymm0,%ymm9 .byte 196,65,125,91,201 // vcvtps2dq %ymm9,%ymm9 .byte 196,67,125,25,202,1 // vextractf128 $0x1,%ymm9,%xmm10 .byte 196,66,49,43,202 // vpackusdw %xmm10,%xmm9,%xmm9 .byte 196,193,41,113,241,8 // vpsllw $0x8,%xmm9,%xmm10 .byte 196,193,49,113,209,8 // vpsrlw $0x8,%xmm9,%xmm9 .byte 196,65,41,235,201 // vpor %xmm9,%xmm10,%xmm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,65,125,91,210 // vcvtps2dq %ymm10,%ymm10 .byte 196,67,125,25,211,1 // vextractf128 $0x1,%ymm10,%xmm11 .byte 196,66,41,43,211 // vpackusdw %xmm11,%xmm10,%xmm10 .byte 196,193,33,113,242,8 // vpsllw $0x8,%xmm10,%xmm11 .byte 196,193,41,113,210,8 // vpsrlw $0x8,%xmm10,%xmm10 .byte 196,65,33,235,210 // vpor %xmm10,%xmm11,%xmm10 .byte 196,65,108,89,216 // vmulps %ymm8,%ymm2,%ymm11 .byte 196,65,125,91,219 // vcvtps2dq %ymm11,%ymm11 .byte 196,67,125,25,220,1 // vextractf128 $0x1,%ymm11,%xmm12 .byte 196,66,33,43,220 // vpackusdw %xmm12,%xmm11,%xmm11 .byte 196,193,25,113,243,8 // vpsllw $0x8,%xmm11,%xmm12 .byte 196,193,33,113,211,8 // vpsrlw $0x8,%xmm11,%xmm11 .byte 196,65,25,235,219 // vpor %xmm11,%xmm12,%xmm11 .byte 196,65,100,89,192 // vmulps %ymm8,%ymm3,%ymm8 .byte 196,65,125,91,192 // vcvtps2dq %ymm8,%ymm8 .byte 196,67,125,25,196,1 // vextractf128 $0x1,%ymm8,%xmm12 .byte 196,66,57,43,196 // vpackusdw %xmm12,%xmm8,%xmm8 .byte 196,193,25,113,240,8 // vpsllw $0x8,%xmm8,%xmm12 .byte 196,193,57,113,208,8 // vpsrlw $0x8,%xmm8,%xmm8 .byte 196,65,25,235,192 // vpor %xmm8,%xmm12,%xmm8 .byte 196,65,49,97,226 // vpunpcklwd %xmm10,%xmm9,%xmm12 .byte 196,65,49,105,234 // vpunpckhwd %xmm10,%xmm9,%xmm13 .byte 196,65,33,97,200 // vpunpcklwd %xmm8,%xmm11,%xmm9 .byte 196,65,33,105,192 // vpunpckhwd %xmm8,%xmm11,%xmm8 .byte 196,65,25,98,217 // vpunpckldq %xmm9,%xmm12,%xmm11 .byte 196,65,25,106,209 // vpunpckhdq %xmm9,%xmm12,%xmm10 .byte 196,65,17,98,200 // vpunpckldq %xmm8,%xmm13,%xmm9 .byte 196,65,17,106,192 // vpunpckhdq %xmm8,%xmm13,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,31 // jne 6046 <_sk_store_u16_be_avx+0xfa> .byte 196,65,120,17,28,65 // vmovups %xmm11,(%r9,%rax,2) .byte 196,65,120,17,84,65,16 // vmovups %xmm10,0x10(%r9,%rax,2) .byte 196,65,120,17,76,65,32 // vmovups %xmm9,0x20(%r9,%rax,2) .byte 196,65,122,127,68,65,48 // vmovdqu %xmm8,0x30(%r9,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,65 // vmovq %xmm11,(%r9,%rax,2) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,23,92,65,8 // vmovhpd %xmm11,0x8(%r9,%rax,2) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,214,84,65,16 // vmovq %xmm10,0x10(%r9,%rax,2) .byte 116,218 // je 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,23,84,65,24 // vmovhpd %xmm10,0x18(%r9,%rax,2) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,205 // jb 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,214,76,65,32 // vmovq %xmm9,0x20(%r9,%rax,2) .byte 116,196 // je 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,23,76,65,40 // vmovhpd %xmm9,0x28(%r9,%rax,2) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,183 // jb 6042 <_sk_store_u16_be_avx+0xf6> .byte 196,65,121,214,68,65,48 // vmovq %xmm8,0x30(%r9,%rax,2) .byte 235,174 // jmp 6042 <_sk_store_u16_be_avx+0xf6> HIDDEN _sk_load_f32_avx .globl _sk_load_f32_avx FUNCTION(_sk_load_f32_avx) _sk_load_f32_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,131,248,7 // cmp $0x7,%r8 .byte 119,110 // ja 610a <_sk_load_f32_avx+0x76> .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,141,29,134,0,0,0 // lea 0x86(%rip),%r11 # 6134 <_sk_load_f32_avx+0xa0> .byte 75,99,4,131 // movslq (%r11,%r8,4),%rax .byte 76,1,216 // add %r11,%rax .byte 255,224 // jmpq *%rax .byte 196,3,125,24,68,145,112,1 // vinsertf128 $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8 .byte 196,131,125,24,92,145,96,1 // vinsertf128 $0x1,0x60(%r9,%r10,4),%ymm0,%ymm3 .byte 196,131,125,24,76,145,80,1 // vinsertf128 $0x1,0x50(%r9,%r10,4),%ymm0,%ymm1 .byte 196,131,125,24,84,145,64,1 // vinsertf128 $0x1,0x40(%r9,%r10,4),%ymm0,%ymm2 .byte 196,129,121,16,68,145,48 // vmovupd 0x30(%r9,%r10,4),%xmm0 .byte 196,195,125,13,192,12 // vblendpd $0xc,%ymm8,%ymm0,%ymm0 .byte 196,1,121,16,68,145,32 // vmovupd 0x20(%r9,%r10,4),%xmm8 .byte 196,99,61,13,203,12 // vblendpd $0xc,%ymm3,%ymm8,%ymm9 .byte 196,129,121,16,92,145,16 // vmovupd 0x10(%r9,%r10,4),%xmm3 .byte 196,99,101,13,209,12 // vblendpd $0xc,%ymm1,%ymm3,%ymm10 .byte 196,129,121,16,12,145 // vmovupd (%r9,%r10,4),%xmm1 .byte 196,227,117,13,202,12 // vblendpd $0xc,%ymm2,%ymm1,%ymm1 .byte 196,193,116,20,210 // vunpcklps %ymm10,%ymm1,%ymm2 .byte 196,193,116,21,218 // vunpckhps %ymm10,%ymm1,%ymm3 .byte 197,180,20,200 // vunpcklps %ymm0,%ymm9,%ymm1 .byte 197,52,21,192 // vunpckhps %ymm0,%ymm9,%ymm8 .byte 197,237,20,193 // vunpcklpd %ymm1,%ymm2,%ymm0 .byte 197,237,21,201 // vunpckhpd %ymm1,%ymm2,%ymm1 .byte 196,193,101,20,208 // vunpcklpd %ymm8,%ymm3,%ymm2 .byte 196,193,101,21,216 // vunpckhpd %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 131,255,255 // cmp $0xffffffff,%edi .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,176 // mov $0xb0ffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,163,255,255,255,155 // jmpq *-0x64000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,147,255,255,255,139 // callq *-0x74000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_f32_dst_avx .globl _sk_load_f32_dst_avx FUNCTION(_sk_load_f32_dst_avx) _sk_load_f32_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,131,248,7 // cmp $0x7,%r8 .byte 119,110 // ja 61ca <_sk_load_f32_dst_avx+0x76> .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 76,141,29,134,0,0,0 // lea 0x86(%rip),%r11 # 61f4 <_sk_load_f32_dst_avx+0xa0> .byte 75,99,4,131 // movslq (%r11,%r8,4),%rax .byte 76,1,216 // add %r11,%rax .byte 255,224 // jmpq *%rax .byte 196,3,125,24,68,145,112,1 // vinsertf128 $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8 .byte 196,131,125,24,124,145,96,1 // vinsertf128 $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7 .byte 196,131,125,24,108,145,80,1 // vinsertf128 $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5 .byte 196,131,125,24,116,145,64,1 // vinsertf128 $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6 .byte 196,129,121,16,100,145,48 // vmovupd 0x30(%r9,%r10,4),%xmm4 .byte 196,195,93,13,224,12 // vblendpd $0xc,%ymm8,%ymm4,%ymm4 .byte 196,1,121,16,68,145,32 // vmovupd 0x20(%r9,%r10,4),%xmm8 .byte 196,99,61,13,207,12 // vblendpd $0xc,%ymm7,%ymm8,%ymm9 .byte 196,129,121,16,124,145,16 // vmovupd 0x10(%r9,%r10,4),%xmm7 .byte 196,99,69,13,213,12 // vblendpd $0xc,%ymm5,%ymm7,%ymm10 .byte 196,129,121,16,44,145 // vmovupd (%r9,%r10,4),%xmm5 .byte 196,227,85,13,238,12 // vblendpd $0xc,%ymm6,%ymm5,%ymm5 .byte 196,193,84,20,242 // vunpcklps %ymm10,%ymm5,%ymm6 .byte 196,193,84,21,250 // vunpckhps %ymm10,%ymm5,%ymm7 .byte 197,180,20,236 // vunpcklps %ymm4,%ymm9,%ymm5 .byte 197,52,21,196 // vunpckhps %ymm4,%ymm9,%ymm8 .byte 197,205,20,229 // vunpcklpd %ymm5,%ymm6,%ymm4 .byte 197,205,21,237 // vunpckhpd %ymm5,%ymm6,%ymm5 .byte 196,193,69,20,240 // vunpcklpd %ymm8,%ymm7,%ymm6 .byte 196,193,69,21,248 // vunpckhpd %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 131,255,255 // cmp $0xffffffff,%edi .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,176 // mov $0xb0ffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,163,255,255,255,155 // jmpq *-0x64000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,147,255,255,255,139 // callq *-0x74000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_f32_avx .globl _sk_store_f32_avx FUNCTION(_sk_store_f32_avx) _sk_store_f32_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 197,124,20,193 // vunpcklps %ymm1,%ymm0,%ymm8 .byte 197,124,21,217 // vunpckhps %ymm1,%ymm0,%ymm11 .byte 197,108,20,203 // vunpcklps %ymm3,%ymm2,%ymm9 .byte 197,108,21,227 // vunpckhps %ymm3,%ymm2,%ymm12 .byte 196,65,61,20,209 // vunpcklpd %ymm9,%ymm8,%ymm10 .byte 196,65,61,21,201 // vunpckhpd %ymm9,%ymm8,%ymm9 .byte 196,65,37,20,196 // vunpcklpd %ymm12,%ymm11,%ymm8 .byte 196,65,37,21,220 // vunpckhpd %ymm12,%ymm11,%ymm11 .byte 77,133,192 // test %r8,%r8 .byte 117,55 // jne 6281 <_sk_store_f32_avx+0x6d> .byte 196,67,45,24,225,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm12 .byte 196,67,61,24,235,1 // vinsertf128 $0x1,%xmm11,%ymm8,%ymm13 .byte 196,67,45,6,201,49 // vperm2f128 $0x31,%ymm9,%ymm10,%ymm9 .byte 196,67,61,6,195,49 // vperm2f128 $0x31,%ymm11,%ymm8,%ymm8 .byte 196,65,125,17,36,129 // vmovupd %ymm12,(%r9,%rax,4) .byte 196,65,125,17,108,129,32 // vmovupd %ymm13,0x20(%r9,%rax,4) .byte 196,65,125,17,76,129,64 // vmovupd %ymm9,0x40(%r9,%rax,4) .byte 196,65,125,17,68,129,96 // vmovupd %ymm8,0x60(%r9,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,17,20,129 // vmovupd %xmm10,(%r9,%rax,4) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 627d <_sk_store_f32_avx+0x69> .byte 196,65,121,17,76,129,16 // vmovupd %xmm9,0x10(%r9,%rax,4) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 627d <_sk_store_f32_avx+0x69> .byte 196,65,121,17,68,129,32 // vmovupd %xmm8,0x20(%r9,%rax,4) .byte 116,218 // je 627d <_sk_store_f32_avx+0x69> .byte 196,65,121,17,92,129,48 // vmovupd %xmm11,0x30(%r9,%rax,4) .byte 73,131,248,5 // cmp $0x5,%r8 .byte 114,205 // jb 627d <_sk_store_f32_avx+0x69> .byte 196,67,125,25,84,129,64,1 // vextractf128 $0x1,%ymm10,0x40(%r9,%rax,4) .byte 116,195 // je 627d <_sk_store_f32_avx+0x69> .byte 196,67,125,25,76,129,80,1 // vextractf128 $0x1,%ymm9,0x50(%r9,%rax,4) .byte 73,131,248,7 // cmp $0x7,%r8 .byte 114,181 // jb 627d <_sk_store_f32_avx+0x69> .byte 196,67,125,25,68,129,96,1 // vextractf128 $0x1,%ymm8,0x60(%r9,%rax,4) .byte 235,171 // jmp 627d <_sk_store_f32_avx+0x69> HIDDEN _sk_clamp_x_avx .globl _sk_clamp_x_avx FUNCTION(_sk_clamp_x_avx) _sk_clamp_x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,95,200 // vmaxps %ymm0,%ymm8,%ymm9 .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,99,125,25,192,1 // vextractf128 $0x1,%ymm8,%xmm0 .byte 196,65,41,118,210 // vpcmpeqd %xmm10,%xmm10,%xmm10 .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,65,57,254,194 // vpaddd %xmm10,%xmm8,%xmm8 .byte 196,227,61,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm8,%ymm0 .byte 197,180,93,192 // vminps %ymm0,%ymm9,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_y_avx .globl _sk_clamp_y_avx FUNCTION(_sk_clamp_y_avx) _sk_clamp_y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,95,201 // vmaxps %ymm1,%ymm8,%ymm9 .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,99,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm1 .byte 196,65,41,118,210 // vpcmpeqd %xmm10,%xmm10,%xmm10 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,65,57,254,194 // vpaddd %xmm10,%xmm8,%xmm8 .byte 196,227,61,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm8,%ymm1 .byte 197,180,93,201 // vminps %ymm1,%ymm9,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_avx .globl _sk_repeat_x_avx FUNCTION(_sk_repeat_x_avx) _sk_repeat_x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,67,125,8,192,1 // vroundps $0x1,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,65,124,92,192 // vsubps %ymm8,%ymm0,%ymm8 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 196,65,41,118,210 // vpcmpeqd %xmm10,%xmm10,%xmm10 .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,65,49,254,202 // vpaddd %xmm10,%xmm9,%xmm9 .byte 196,227,53,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm0 .byte 197,188,93,192 // vminps %ymm0,%ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_y_avx .globl _sk_repeat_y_avx FUNCTION(_sk_repeat_y_avx) _sk_repeat_y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,60,89,193 // vmulps %ymm1,%ymm8,%ymm8 .byte 196,67,125,8,192,1 // vroundps $0x1,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,65,116,92,192 // vsubps %ymm8,%ymm1,%ymm8 .byte 196,99,125,25,201,1 // vextractf128 $0x1,%ymm9,%xmm1 .byte 196,65,41,118,210 // vpcmpeqd %xmm10,%xmm10,%xmm10 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,65,49,254,202 // vpaddd %xmm10,%xmm9,%xmm9 .byte 196,227,53,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm9,%ymm1 .byte 197,188,93,201 // vminps %ymm1,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_avx .globl _sk_mirror_x_avx FUNCTION(_sk_mirror_x_avx) _sk_mirror_x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,121,110,0 // vmovd (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,65,121,112,208,0 // vpshufd $0x0,%xmm8,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 196,65,124,92,218 // vsubps %ymm10,%ymm0,%ymm11 .byte 196,193,58,88,192 // vaddss %xmm8,%xmm8,%xmm0 .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,99,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm8 .byte 197,178,89,5,183,24,0,0 // vmulss 0x18b7(%rip),%xmm9,%xmm0 # 7cac <_sk_callback_avx+0x510> .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 196,227,125,8,192,1 // vroundps $0x1,%ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,192 // vsubps %ymm0,%ymm8,%ymm8 .byte 197,60,84,192 // vandps %ymm0,%ymm8,%ymm8 .byte 196,99,125,25,208,1 // vextractf128 $0x1,%ymm10,%xmm0 .byte 196,65,49,118,201 // vpcmpeqd %xmm9,%xmm9,%xmm9 .byte 196,193,121,254,193 // vpaddd %xmm9,%xmm0,%xmm0 .byte 196,65,41,254,201 // vpaddd %xmm9,%xmm10,%xmm9 .byte 196,227,53,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm0 .byte 197,188,93,192 // vminps %ymm0,%ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_y_avx .globl _sk_mirror_y_avx FUNCTION(_sk_mirror_y_avx) _sk_mirror_y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,121,110,0 // vmovd (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,65,121,112,208,0 // vpshufd $0x0,%xmm8,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 196,65,116,92,218 // vsubps %ymm10,%ymm1,%ymm11 .byte 196,193,58,88,200 // vaddss %xmm8,%xmm8,%xmm1 .byte 196,227,121,4,201,0 // vpermilps $0x0,%xmm1,%xmm1 .byte 196,99,117,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm8 .byte 197,178,89,13,50,24,0,0 // vmulss 0x1832(%rip),%xmm9,%xmm1 # 7cb0 <_sk_callback_avx+0x514> .byte 196,227,121,4,201,0 // vpermilps $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 196,227,125,8,201,1 // vroundps $0x1,%ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,164,92,201 // vsubps %ymm1,%ymm11,%ymm1 .byte 196,193,116,92,202 // vsubps %ymm10,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,193 // vsubps %ymm1,%ymm8,%ymm8 .byte 197,60,84,193 // vandps %ymm1,%ymm8,%ymm8 .byte 196,99,125,25,209,1 // vextractf128 $0x1,%ymm10,%xmm1 .byte 196,65,49,118,201 // vpcmpeqd %xmm9,%xmm9,%xmm9 .byte 196,193,113,254,201 // vpaddd %xmm9,%xmm1,%xmm1 .byte 196,65,41,254,201 // vpaddd %xmm9,%xmm10,%xmm9 .byte 196,227,53,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm9,%ymm1 .byte 197,188,93,201 // vminps %ymm1,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_x_1_avx .globl _sk_clamp_x_1_avx FUNCTION(_sk_clamp_x_1_avx) _sk_clamp_x_1_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,208,23,0,0 // vbroadcastss 0x17d0(%rip),%ymm8 # 7cb4 <_sk_callback_avx+0x518> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_1_avx .globl _sk_repeat_x_1_avx FUNCTION(_sk_repeat_x_1_avx) _sk_repeat_x_1_avx: .byte 196,99,125,8,192,1 // vroundps $0x1,%ymm0,%ymm8 .byte 196,193,124,92,192 // vsubps %ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_1_avx .globl _sk_mirror_x_1_avx FUNCTION(_sk_mirror_x_1_avx) _sk_mirror_x_1_avx: .byte 196,98,125,24,5,179,23,0,0 // vbroadcastss 0x17b3(%rip),%ymm8 # 7cb8 <_sk_callback_avx+0x51c> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,13,169,23,0,0 // vbroadcastss 0x17a9(%rip),%ymm9 # 7cbc <_sk_callback_avx+0x520> .byte 196,65,124,89,201 // vmulps %ymm9,%ymm0,%ymm9 .byte 196,67,125,8,201,1 // vroundps $0x1,%ymm9,%ymm9 .byte 196,65,52,88,201 // vaddps %ymm9,%ymm9,%ymm9 .byte 196,193,124,92,193 // vsubps %ymm9,%ymm0,%ymm0 .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,192 // vsubps %ymm0,%ymm8,%ymm8 .byte 197,188,84,192 // vandps %ymm0,%ymm8,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminance_to_alpha_avx .globl _sk_luminance_to_alpha_avx FUNCTION(_sk_luminance_to_alpha_avx) _sk_luminance_to_alpha_avx: .byte 196,226,125,24,29,121,23,0,0 // vbroadcastss 0x1779(%rip),%ymm3 # 7cc0 <_sk_callback_avx+0x524> .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,29,112,23,0,0 // vbroadcastss 0x1770(%rip),%ymm3 # 7cc4 <_sk_callback_avx+0x528> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,99,23,0,0 // vbroadcastss 0x1763(%rip),%ymm1 # 7cc8 <_sk_callback_avx+0x52c> .byte 197,236,89,201 // vmulps %ymm1,%ymm2,%ymm1 .byte 197,252,88,217 // vaddps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_translate_avx .globl _sk_matrix_translate_avx FUNCTION(_sk_matrix_translate_avx) _sk_matrix_translate_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,64,4 // vbroadcastss 0x4(%rax),%ymm8 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_scale_translate_avx .globl _sk_matrix_scale_translate_avx FUNCTION(_sk_matrix_scale_translate_avx) _sk_matrix_scale_translate_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,8 // vbroadcastss 0x8(%rax),%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,193,124,88,193 // vaddps %ymm9,%ymm0,%ymm0 .byte 196,98,125,24,64,12 // vbroadcastss 0xc(%rax),%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_2x3_avx .globl _sk_matrix_2x3_avx FUNCTION(_sk_matrix_2x3_avx) _sk_matrix_2x3_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,98,125,24,72,8 // vbroadcastss 0x8(%rax),%ymm9 .byte 196,98,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm10 .byte 197,52,89,201 // vmulps %ymm1,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,98,125,24,80,12 // vbroadcastss 0xc(%rax),%ymm10 .byte 196,98,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm11 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,252,88,201 // vaddps %ymm1,%ymm0,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_3x4_avx .globl _sk_matrix_3x4_avx FUNCTION(_sk_matrix_3x4_avx) _sk_matrix_3x4_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,98,125,24,88,36 // vbroadcastss 0x24(%rax),%ymm11 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,52,89,201 // vmulps %ymm1,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,98,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm10 .byte 196,98,125,24,88,28 // vbroadcastss 0x1c(%rax),%ymm11 .byte 196,98,125,24,96,40 // vbroadcastss 0x28(%rax),%ymm12 .byte 197,36,89,218 // vmulps %ymm2,%ymm11,%ymm11 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,44,89,209 // vmulps %ymm1,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,52,89,200 // vmulps %ymm0,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm10 .byte 196,98,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm11 .byte 196,98,125,24,96,32 // vbroadcastss 0x20(%rax),%ymm12 .byte 196,98,125,24,104,44 // vbroadcastss 0x2c(%rax),%ymm13 .byte 197,156,89,210 // vmulps %ymm2,%ymm12,%ymm2 .byte 196,193,108,88,213 // vaddps %ymm13,%ymm2,%ymm2 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 197,252,88,209 // vaddps %ymm1,%ymm0,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x5_avx .globl _sk_matrix_4x5_avx FUNCTION(_sk_matrix_4x5_avx) _sk_matrix_4x5_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,98,125,24,72,16 // vbroadcastss 0x10(%rax),%ymm9 .byte 196,98,125,24,80,32 // vbroadcastss 0x20(%rax),%ymm10 .byte 196,98,125,24,88,48 // vbroadcastss 0x30(%rax),%ymm11 .byte 196,98,125,24,96,64 // vbroadcastss 0x40(%rax),%ymm12 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,52,89,201 // vmulps %ymm1,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,98,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm10 .byte 196,98,125,24,88,36 // vbroadcastss 0x24(%rax),%ymm11 .byte 196,98,125,24,96,52 // vbroadcastss 0x34(%rax),%ymm12 .byte 196,98,125,24,104,68 // vbroadcastss 0x44(%rax),%ymm13 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 197,36,89,218 // vmulps %ymm2,%ymm11,%ymm11 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,44,89,209 // vmulps %ymm1,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,52,89,200 // vmulps %ymm0,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm10 .byte 196,98,125,24,88,24 // vbroadcastss 0x18(%rax),%ymm11 .byte 196,98,125,24,96,40 // vbroadcastss 0x28(%rax),%ymm12 .byte 196,98,125,24,104,56 // vbroadcastss 0x38(%rax),%ymm13 .byte 196,98,125,24,112,72 // vbroadcastss 0x48(%rax),%ymm14 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 196,65,20,88,238 // vaddps %ymm14,%ymm13,%ymm13 .byte 197,28,89,226 // vmulps %ymm2,%ymm12,%ymm12 .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 197,36,89,217 // vmulps %ymm1,%ymm11,%ymm11 .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 197,44,89,208 // vmulps %ymm0,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm11 .byte 196,98,125,24,96,28 // vbroadcastss 0x1c(%rax),%ymm12 .byte 196,98,125,24,104,44 // vbroadcastss 0x2c(%rax),%ymm13 .byte 196,98,125,24,112,60 // vbroadcastss 0x3c(%rax),%ymm14 .byte 196,98,125,24,120,76 // vbroadcastss 0x4c(%rax),%ymm15 .byte 197,140,89,219 // vmulps %ymm3,%ymm14,%ymm3 .byte 196,193,100,88,223 // vaddps %ymm15,%ymm3,%ymm3 .byte 197,148,89,210 // vmulps %ymm2,%ymm13,%ymm2 .byte 197,236,88,211 // vaddps %ymm3,%ymm2,%ymm2 .byte 197,156,89,201 // vmulps %ymm1,%ymm12,%ymm1 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,252,88,217 // vaddps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 197,124,41,210 // vmovaps %ymm10,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x3_avx .globl _sk_matrix_4x3_avx FUNCTION(_sk_matrix_4x3_avx) _sk_matrix_4x3_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,16 // vbroadcastss (%rax),%ymm2 .byte 196,226,125,24,88,16 // vbroadcastss 0x10(%rax),%ymm3 .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 197,228,89,217 // vmulps %ymm1,%ymm3,%ymm3 .byte 196,193,100,88,216 // vaddps %ymm8,%ymm3,%ymm3 .byte 197,236,89,208 // vmulps %ymm0,%ymm2,%ymm2 .byte 197,108,88,195 // vaddps %ymm3,%ymm2,%ymm8 .byte 196,226,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm2 .byte 196,226,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm3 .byte 196,98,125,24,72,36 // vbroadcastss 0x24(%rax),%ymm9 .byte 197,228,89,217 // vmulps %ymm1,%ymm3,%ymm3 .byte 196,193,100,88,217 // vaddps %ymm9,%ymm3,%ymm3 .byte 197,236,89,208 // vmulps %ymm0,%ymm2,%ymm2 .byte 197,108,88,203 // vaddps %ymm3,%ymm2,%ymm9 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,24 // vbroadcastss 0x18(%rax),%ymm3 .byte 196,98,125,24,80,40 // vbroadcastss 0x28(%rax),%ymm10 .byte 197,228,89,217 // vmulps %ymm1,%ymm3,%ymm3 .byte 196,193,100,88,218 // vaddps %ymm10,%ymm3,%ymm3 .byte 197,236,89,208 // vmulps %ymm0,%ymm2,%ymm2 .byte 197,236,88,211 // vaddps %ymm3,%ymm2,%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 196,98,125,24,80,28 // vbroadcastss 0x1c(%rax),%ymm10 .byte 196,98,125,24,88,44 // vbroadcastss 0x2c(%rax),%ymm11 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,252,88,217 // vaddps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,124,41,201 // vmovaps %ymm9,%ymm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_perspective_avx .globl _sk_matrix_perspective_avx FUNCTION(_sk_matrix_perspective_avx) _sk_matrix_perspective_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,98,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm9 .byte 196,98,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm10 .byte 197,52,89,201 // vmulps %ymm1,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm10 .byte 196,98,125,24,88,20 // vbroadcastss 0x14(%rax),%ymm11 .byte 197,44,89,209 // vmulps %ymm1,%ymm10,%ymm10 .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 197,52,89,200 // vmulps %ymm0,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 196,98,125,24,88,28 // vbroadcastss 0x1c(%rax),%ymm11 .byte 196,98,125,24,96,32 // vbroadcastss 0x20(%rax),%ymm12 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 196,193,116,88,204 // vaddps %ymm12,%ymm1,%ymm1 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,83,200 // vrcpps %ymm0,%ymm1 .byte 197,188,89,193 // vmulps %ymm1,%ymm8,%ymm0 .byte 197,180,89,201 // vmulps %ymm1,%ymm9,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_gradient_avx .globl _sk_evenly_spaced_gradient_avx FUNCTION(_sk_evenly_spaced_gradient_avx) _sk_evenly_spaced_gradient_avx: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 197,252,17,124,36,216 // vmovups %ymm7,-0x28(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,24 // mov (%rax),%rbx .byte 72,139,104,8 // mov 0x8(%rax),%rbp .byte 72,255,203 // dec %rbx .byte 120,7 // js 6909 <_sk_evenly_spaced_gradient_avx+0x25> .byte 196,225,242,42,203 // vcvtsi2ss %rbx,%xmm1,%xmm1 .byte 235,21 // jmp 691e <_sk_evenly_spaced_gradient_avx+0x3a> .byte 73,137,217 // mov %rbx,%r9 .byte 73,209,233 // shr %r9 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,203 // or %r9,%rbx .byte 196,225,242,42,203 // vcvtsi2ss %rbx,%xmm1,%xmm1 .byte 197,242,88,201 // vaddss %xmm1,%xmm1,%xmm1 .byte 196,227,121,4,201,0 // vpermilps $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,195,249,22,201,1 // vpextrq $0x1,%xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,193,249,126,203 // vmovq %xmm1,%r11 .byte 69,137,222 // mov %r11d,%r14d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,195,249,22,204,1 // vpextrq $0x1,%xmm1,%r12 .byte 69,137,231 // mov %r12d,%r15d .byte 73,193,236,32 // shr $0x20,%r12 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,221 // mov %ebx,%r13d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,227,113,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,84,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm2 .byte 196,33,122,16,68,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm8 .byte 196,161,122,16,92,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm3 .byte 196,35,97,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm9 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,33,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm11 .byte 196,99,113,33,226,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm12 .byte 72,139,104,40 // mov 0x28(%rax),%rbp .byte 196,161,122,16,84,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm2 .byte 196,99,105,33,108,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm13 .byte 196,161,122,16,92,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm3 .byte 196,161,122,16,76,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm1 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,35,105,33,116,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm14 .byte 196,33,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm15 .byte 196,33,122,16,84,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm10 .byte 196,67,25,33,192,48 // vinsertps $0x30,%xmm8,%xmm12,%xmm8 .byte 196,227,49,33,215,32 // vinsertps $0x20,%xmm7,%xmm9,%xmm2 .byte 196,195,105,33,211,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm2 .byte 196,67,109,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm2,%ymm8 .byte 196,227,17,33,211,32 // vinsertps $0x20,%xmm3,%xmm13,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 72,139,104,16 // mov 0x10(%rax),%rbp .byte 196,161,122,16,84,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm2 .byte 196,99,105,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,161,122,16,76,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm1 .byte 196,161,122,16,124,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm7 .byte 196,163,65,33,124,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7 .byte 196,161,122,16,92,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm3 .byte 196,33,122,16,108,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm13 .byte 196,195,9,33,215,32 // vinsertps $0x20,%xmm15,%xmm14,%xmm2 .byte 196,195,105,33,210,48 // vinsertps $0x30,%xmm10,%xmm2,%xmm2 .byte 196,67,109,24,241,1 // vinsertf128 $0x1,%xmm9,%ymm2,%ymm14 .byte 196,195,33,33,212,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 196,99,65,33,211,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm10 .byte 72,139,104,48 // mov 0x30(%rax),%rbp .byte 196,161,122,16,92,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm3 .byte 196,99,97,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11 .byte 196,33,122,16,124,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm15 .byte 196,33,122,16,100,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm12 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,163,105,33,84,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,161,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm3 .byte 196,67,41,33,213,48 // vinsertps $0x30,%xmm13,%xmm10,%xmm10 .byte 196,67,45,24,233,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm13 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 196,67,113,33,204,48 // vinsertps $0x30,%xmm12,%xmm1,%xmm9 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,99,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm10 .byte 72,139,104,24 // mov 0x18(%rax),%rbp .byte 196,161,122,16,92,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm3 .byte 196,99,97,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,33,122,16,124,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm15 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,163,105,33,84,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2 .byte 196,161,122,16,92,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm3 .byte 196,161,122,16,124,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm7 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,195,33,33,204,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm1 .byte 196,195,113,33,207,48 // vinsertps $0x30,%xmm15,%xmm1,%xmm1 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,99,109,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm10 .byte 72,139,104,56 // mov 0x38(%rax),%rbp .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,99,113,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,33,122,16,124,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm15 .byte 196,161,122,16,124,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm7 .byte 196,163,65,33,124,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7 .byte 196,161,122,16,76,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm1 .byte 196,161,122,16,84,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm2 .byte 196,195,33,33,220,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm3 .byte 196,195,97,33,223,48 // vinsertps $0x30,%xmm15,%xmm3,%xmm3 .byte 196,227,65,33,201,32 // vinsertps $0x20,%xmm1,%xmm7,%xmm1 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,99,117,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm11 .byte 72,139,104,32 // mov 0x20(%rax),%rbp .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,227,113,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,84,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 196,161,122,16,84,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm2 .byte 196,161,122,16,92,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm3 .byte 196,35,97,33,100,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm12 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,161,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm3 .byte 196,99,113,33,250,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm15 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,161,122,16,20,168 // vmovss (%rax,%r13,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,227,25,33,255,32 // vinsertps $0x20,%xmm7,%xmm12,%xmm7 .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,227,65,33,219,48 // vinsertps $0x30,%xmm3,%xmm7,%xmm3 .byte 196,161,122,16,60,160 // vmovss (%rax,%r12,4),%xmm7 .byte 196,67,101,24,231,1 // vinsertf128 $0x1,%xmm15,%ymm3,%ymm12 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,163,97,33,28,152,16 // vinsertps $0x10,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,105,33,201,32 // vinsertps $0x20,%xmm1,%xmm2,%xmm1 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,207,48 // vinsertps $0x30,%xmm7,%xmm1,%xmm1 .byte 196,161,122,16,60,136 // vmovss (%rax,%r9,4),%xmm7 .byte 196,227,97,33,210,32 // vinsertps $0x20,%xmm2,%xmm3,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,109,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm3 .byte 197,188,89,200 // vmulps %ymm0,%ymm8,%ymm1 .byte 196,65,116,88,198 // vaddps %ymm14,%ymm1,%ymm8 .byte 197,148,89,200 // vmulps %ymm0,%ymm13,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,208 // vmulps %ymm0,%ymm10,%ymm2 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,252,88,219 // vaddps %ymm3,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,16,124,36,216 // vmovups -0x28(%rsp),%ymm7 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_gauss_a_to_rgba_avx .globl _sk_gauss_a_to_rgba_avx FUNCTION(_sk_gauss_a_to_rgba_avx) _sk_gauss_a_to_rgba_avx: .byte 196,226,125,24,5,74,16,0,0 // vbroadcastss 0x104a(%rip),%ymm0 # 7ccc <_sk_callback_avx+0x530> .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 196,226,125,24,13,65,16,0,0 // vbroadcastss 0x1041(%rip),%ymm1 # 7cd0 <_sk_callback_avx+0x534> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,52,16,0,0 // vbroadcastss 0x1034(%rip),%ymm1 # 7cd4 <_sk_callback_avx+0x538> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,39,16,0,0 // vbroadcastss 0x1027(%rip),%ymm1 # 7cd8 <_sk_callback_avx+0x53c> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,26,16,0,0 // vbroadcastss 0x101a(%rip),%ymm1 # 7cdc <_sk_callback_avx+0x540> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 197,252,40,216 // vmovaps %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_gradient_avx .globl _sk_gradient_avx FUNCTION(_sk_gradient_avx) _sk_gradient_avx: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 197,252,17,124,36,216 // vmovups %ymm7,-0x28(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 73,131,249,2 // cmp $0x2,%r9 .byte 114,80 // jb 6d45 <_sk_gradient_avx+0x6f> .byte 72,139,88,72 // mov 0x48(%rax),%rbx .byte 73,255,201 // dec %r9 .byte 72,131,195,4 // add $0x4,%rbx .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,98,125,24,21,210,15,0,0 // vbroadcastss 0xfd2(%rip),%ymm10 # 7ce0 <_sk_callback_avx+0x544> .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,98,125,24,3 // vbroadcastss (%rbx),%ymm8 .byte 197,60,194,192,2 // vcmpleps %ymm0,%ymm8,%ymm8 .byte 196,67,53,74,194,128 // vblendvps %ymm8,%ymm10,%ymm9,%ymm8 .byte 196,99,125,25,194,1 // vextractf128 $0x1,%ymm8,%xmm2 .byte 196,227,125,25,203,1 // vextractf128 $0x1,%ymm1,%xmm3 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 197,185,254,201 // vpaddd %xmm1,%xmm8,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 72,131,195,4 // add $0x4,%rbx .byte 73,255,201 // dec %r9 .byte 117,205 // jne 6d12 <_sk_gradient_avx+0x3c> .byte 196,195,249,22,201,1 // vpextrq $0x1,%xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,193,249,126,203 // vmovq %xmm1,%r11 .byte 69,137,222 // mov %r11d,%r14d .byte 73,193,235,32 // shr $0x20,%r11 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,195,249,22,204,1 // vpextrq $0x1,%xmm1,%r12 .byte 69,137,231 // mov %r12d,%r15d .byte 73,193,236,32 // shr $0x20,%r12 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,221 // mov %ebx,%r13d .byte 72,193,235,32 // shr $0x20,%rbx .byte 72,139,104,8 // mov 0x8(%rax),%rbp .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,227,113,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,84,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm2 .byte 196,33,122,16,68,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm8 .byte 196,161,122,16,92,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm3 .byte 196,35,97,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm9 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,33,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm11 .byte 196,99,113,33,226,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm12 .byte 72,139,104,40 // mov 0x28(%rax),%rbp .byte 196,161,122,16,84,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm2 .byte 196,99,105,33,108,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm13 .byte 196,161,122,16,92,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm3 .byte 196,161,122,16,76,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm1 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,35,105,33,116,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm14 .byte 196,33,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm15 .byte 196,33,122,16,84,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm10 .byte 196,67,25,33,192,48 // vinsertps $0x30,%xmm8,%xmm12,%xmm8 .byte 196,227,49,33,215,32 // vinsertps $0x20,%xmm7,%xmm9,%xmm2 .byte 196,195,105,33,211,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm2 .byte 196,67,109,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm2,%ymm8 .byte 196,227,17,33,211,32 // vinsertps $0x20,%xmm3,%xmm13,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 72,139,104,16 // mov 0x10(%rax),%rbp .byte 196,161,122,16,84,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm2 .byte 196,99,105,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,161,122,16,76,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm1 .byte 196,161,122,16,124,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm7 .byte 196,163,65,33,124,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7 .byte 196,161,122,16,92,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm3 .byte 196,33,122,16,108,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm13 .byte 196,195,9,33,215,32 // vinsertps $0x20,%xmm15,%xmm14,%xmm2 .byte 196,195,105,33,210,48 // vinsertps $0x30,%xmm10,%xmm2,%xmm2 .byte 196,67,109,24,241,1 // vinsertf128 $0x1,%xmm9,%ymm2,%ymm14 .byte 196,195,33,33,212,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 196,99,65,33,211,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm10 .byte 72,139,104,48 // mov 0x30(%rax),%rbp .byte 196,161,122,16,92,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm3 .byte 196,99,97,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11 .byte 196,33,122,16,124,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm15 .byte 196,33,122,16,100,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm12 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,163,105,33,84,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,161,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm3 .byte 196,67,41,33,213,48 // vinsertps $0x30,%xmm13,%xmm10,%xmm10 .byte 196,67,45,24,233,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm13 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 196,67,113,33,204,48 // vinsertps $0x30,%xmm12,%xmm1,%xmm9 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,99,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm10 .byte 72,139,104,24 // mov 0x18(%rax),%rbp .byte 196,161,122,16,92,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm3 .byte 196,99,97,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,33,122,16,124,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm15 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,163,105,33,84,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2 .byte 196,161,122,16,92,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm3 .byte 196,161,122,16,124,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm7 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,195,33,33,204,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm1 .byte 196,195,113,33,207,48 // vinsertps $0x30,%xmm15,%xmm1,%xmm1 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,99,109,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm10 .byte 72,139,104,56 // mov 0x38(%rax),%rbp .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,99,113,33,92,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm11 .byte 196,33,122,16,100,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm12 .byte 196,33,122,16,124,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm15 .byte 196,161,122,16,124,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm7 .byte 196,163,65,33,124,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7 .byte 196,161,122,16,76,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm1 .byte 196,161,122,16,84,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm2 .byte 196,195,33,33,220,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm3 .byte 196,195,97,33,223,48 // vinsertps $0x30,%xmm15,%xmm3,%xmm3 .byte 196,227,65,33,201,32 // vinsertps $0x20,%xmm1,%xmm7,%xmm1 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,99,117,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm11 .byte 72,139,104,32 // mov 0x20(%rax),%rbp .byte 196,161,122,16,76,173,0 // vmovss 0x0(%rbp,%r13,4),%xmm1 .byte 196,227,113,33,76,157,0,16 // vinsertps $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,84,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 196,161,122,16,84,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm2 .byte 196,161,122,16,92,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm3 .byte 196,35,97,33,100,157,0,16 // vinsertps $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm12 .byte 196,161,122,16,124,149,0 // vmovss 0x0(%rbp,%r10,4),%xmm7 .byte 196,161,122,16,92,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm3 .byte 196,99,113,33,250,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm15 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,161,122,16,20,168 // vmovss (%rax,%r13,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,227,25,33,255,32 // vinsertps $0x20,%xmm7,%xmm12,%xmm7 .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,227,65,33,219,48 // vinsertps $0x30,%xmm3,%xmm7,%xmm3 .byte 196,161,122,16,60,160 // vmovss (%rax,%r12,4),%xmm7 .byte 196,67,101,24,231,1 // vinsertf128 $0x1,%xmm15,%ymm3,%ymm12 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,163,97,33,28,152,16 // vinsertps $0x10,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,105,33,201,32 // vinsertps $0x20,%xmm1,%xmm2,%xmm1 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,207,48 // vinsertps $0x30,%xmm7,%xmm1,%xmm1 .byte 196,161,122,16,60,136 // vmovss (%rax,%r9,4),%xmm7 .byte 196,227,97,33,210,32 // vinsertps $0x20,%xmm2,%xmm3,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,109,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm3 .byte 197,188,89,200 // vmulps %ymm0,%ymm8,%ymm1 .byte 196,65,116,88,198 // vaddps %ymm14,%ymm1,%ymm8 .byte 197,148,89,200 // vmulps %ymm0,%ymm13,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,208 // vmulps %ymm0,%ymm10,%ymm2 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,252,88,219 // vaddps %ymm3,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,16,124,36,216 // vmovups -0x28(%rsp),%ymm7 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_avx .globl _sk_evenly_spaced_2_stop_gradient_avx FUNCTION(_sk_evenly_spaced_2_stop_gradient_avx) _sk_evenly_spaced_2_stop_gradient_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,8 // vbroadcastss (%rax),%ymm1 .byte 196,226,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm2 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,116,88,194 // vaddps %ymm2,%ymm1,%ymm8 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm2 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,24 // vbroadcastss 0x18(%rax),%ymm3 .byte 197,236,89,208 // vmulps %ymm0,%ymm2,%ymm2 .byte 197,236,88,211 // vaddps %ymm3,%ymm2,%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 196,98,125,24,72,28 // vbroadcastss 0x1c(%rax),%ymm9 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 196,193,124,88,217 // vaddps %ymm9,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_avx .globl _sk_xy_to_unit_angle_avx FUNCTION(_sk_xy_to_unit_angle_avx) _sk_xy_to_unit_angle_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,52,84,200 // vandps %ymm0,%ymm9,%ymm9 .byte 197,60,92,209 // vsubps %ymm1,%ymm8,%ymm10 .byte 197,44,84,209 // vandps %ymm1,%ymm10,%ymm10 .byte 196,65,52,93,218 // vminps %ymm10,%ymm9,%ymm11 .byte 196,65,52,95,226 // vmaxps %ymm10,%ymm9,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 196,65,36,89,227 // vmulps %ymm11,%ymm11,%ymm12 .byte 196,98,125,24,45,200,11,0,0 // vbroadcastss 0xbc8(%rip),%ymm13 # 7ce4 <_sk_callback_avx+0x548> .byte 196,65,28,89,237 // vmulps %ymm13,%ymm12,%ymm13 .byte 196,98,125,24,53,190,11,0,0 // vbroadcastss 0xbbe(%rip),%ymm14 # 7ce8 <_sk_callback_avx+0x54c> .byte 196,65,20,88,238 // vaddps %ymm14,%ymm13,%ymm13 .byte 196,65,28,89,237 // vmulps %ymm13,%ymm12,%ymm13 .byte 196,98,125,24,53,175,11,0,0 // vbroadcastss 0xbaf(%rip),%ymm14 # 7cec <_sk_callback_avx+0x550> .byte 196,65,20,88,238 // vaddps %ymm14,%ymm13,%ymm13 .byte 196,65,28,89,229 // vmulps %ymm13,%ymm12,%ymm12 .byte 196,98,125,24,45,160,11,0,0 // vbroadcastss 0xba0(%rip),%ymm13 # 7cf0 <_sk_callback_avx+0x554> .byte 196,65,28,88,229 // vaddps %ymm13,%ymm12,%ymm12 .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,65,52,194,202,1 // vcmpltps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,21,139,11,0,0 // vbroadcastss 0xb8b(%rip),%ymm10 # 7cf4 <_sk_callback_avx+0x558> .byte 196,65,44,92,211 // vsubps %ymm11,%ymm10,%ymm10 .byte 196,67,37,74,202,144 // vblendvps %ymm9,%ymm10,%ymm11,%ymm9 .byte 196,193,124,194,192,1 // vcmpltps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,21,117,11,0,0 // vbroadcastss 0xb75(%rip),%ymm10 # 7cf8 <_sk_callback_avx+0x55c> .byte 196,65,44,92,209 // vsubps %ymm9,%ymm10,%ymm10 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 196,65,116,194,200,1 // vcmpltps %ymm8,%ymm1,%ymm9 .byte 196,98,125,24,21,95,11,0,0 // vbroadcastss 0xb5f(%rip),%ymm10 # 7cfc <_sk_callback_avx+0x560> .byte 197,44,92,208 // vsubps %ymm0,%ymm10,%ymm10 .byte 196,195,125,74,194,144 // vblendvps %ymm9,%ymm10,%ymm0,%ymm0 .byte 196,65,124,194,200,3 // vcmpunordps %ymm8,%ymm0,%ymm9 .byte 196,195,125,74,192,144 // vblendvps %ymm9,%ymm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_radius_avx .globl _sk_xy_to_radius_avx FUNCTION(_sk_xy_to_radius_avx) _sk_xy_to_radius_avx: .byte 197,252,89,192 // vmulps %ymm0,%ymm0,%ymm0 .byte 197,116,89,193 // vmulps %ymm1,%ymm1,%ymm8 .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 197,252,81,192 // vsqrtps %ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_max_avx .globl _sk_xy_to_2pt_conical_quadratic_max_avx FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_avx) _sk_xy_to_2pt_conical_quadratic_max_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 197,122,16,72,40 // vmovss 0x28(%rax),%xmm9 .byte 197,50,89,80,44 // vmulss 0x2c(%rax),%xmm9,%xmm10 .byte 196,67,121,4,210,0 // vpermilps $0x0,%xmm10,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 197,44,88,208 // vaddps %ymm0,%ymm10,%ymm10 .byte 196,98,125,24,29,9,11,0,0 // vbroadcastss 0xb09(%rip),%ymm11 # 7d00 <_sk_callback_avx+0x564> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 197,252,89,192 // vmulps %ymm0,%ymm0,%ymm0 .byte 197,116,89,217 // vmulps %ymm1,%ymm1,%ymm11 .byte 196,65,124,88,219 // vaddps %ymm11,%ymm0,%ymm11 .byte 196,193,50,89,193 // vmulss %xmm9,%xmm9,%xmm0 .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,13,221,10,0,0 // vbroadcastss 0xadd(%rip),%ymm9 # 7d04 <_sk_callback_avx+0x568> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,65,44,89,194 // vmulps %ymm10,%ymm10,%ymm8 .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 197,252,81,192 // vsqrtps %ymm0,%ymm0 .byte 196,98,125,24,64,36 // vbroadcastss 0x24(%rax),%ymm8 .byte 196,98,125,24,13,187,10,0,0 // vbroadcastss 0xabb(%rip),%ymm9 # 7d08 <_sk_callback_avx+0x56c> .byte 196,65,44,87,201 // vxorps %ymm9,%ymm10,%ymm9 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,172,10,0,0 // vbroadcastss 0xaac(%rip),%ymm11 # 7d0c <_sk_callback_avx+0x570> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 196,65,60,89,210 // vmulps %ymm10,%ymm8,%ymm10 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,172,95,192 // vmaxps %ymm0,%ymm10,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_min_avx .globl _sk_xy_to_2pt_conical_quadratic_min_avx FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_avx) _sk_xy_to_2pt_conical_quadratic_min_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,32 // vbroadcastss 0x20(%rax),%ymm8 .byte 197,122,16,72,40 // vmovss 0x28(%rax),%xmm9 .byte 197,50,89,80,44 // vmulss 0x2c(%rax),%xmm9,%xmm10 .byte 196,67,121,4,210,0 // vpermilps $0x0,%xmm10,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 197,44,88,208 // vaddps %ymm0,%ymm10,%ymm10 .byte 196,98,125,24,29,107,10,0,0 // vbroadcastss 0xa6b(%rip),%ymm11 # 7d10 <_sk_callback_avx+0x574> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 197,252,89,192 // vmulps %ymm0,%ymm0,%ymm0 .byte 197,116,89,217 // vmulps %ymm1,%ymm1,%ymm11 .byte 196,65,124,88,219 // vaddps %ymm11,%ymm0,%ymm11 .byte 196,193,50,89,193 // vmulss %xmm9,%xmm9,%xmm0 .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,164,92,192 // vsubps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,13,63,10,0,0 // vbroadcastss 0xa3f(%rip),%ymm9 # 7d14 <_sk_callback_avx+0x578> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,65,44,89,194 // vmulps %ymm10,%ymm10,%ymm8 .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 197,252,81,192 // vsqrtps %ymm0,%ymm0 .byte 196,98,125,24,64,36 // vbroadcastss 0x24(%rax),%ymm8 .byte 196,98,125,24,13,29,10,0,0 // vbroadcastss 0xa1d(%rip),%ymm9 # 7d18 <_sk_callback_avx+0x57c> .byte 196,65,44,87,201 // vxorps %ymm9,%ymm10,%ymm9 .byte 196,65,124,92,210 // vsubps %ymm10,%ymm0,%ymm10 .byte 196,98,125,24,29,14,10,0,0 // vbroadcastss 0xa0e(%rip),%ymm11 # 7d1c <_sk_callback_avx+0x580> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 196,65,60,89,210 // vmulps %ymm10,%ymm8,%ymm10 .byte 197,180,92,192 // vsubps %ymm0,%ymm9,%ymm0 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,172,93,192 // vminps %ymm0,%ymm10,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_linear_avx .globl _sk_xy_to_2pt_conical_linear_avx FUNCTION(_sk_xy_to_2pt_conical_linear_avx) _sk_xy_to_2pt_conical_linear_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,64,40 // vmovss 0x28(%rax),%xmm8 .byte 197,58,89,72,44 // vmulss 0x2c(%rax),%xmm8,%xmm9 .byte 196,67,121,4,201,0 // vpermilps $0x0,%xmm9,%xmm9 .byte 196,67,53,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm9,%ymm9 .byte 197,52,88,200 // vaddps %ymm0,%ymm9,%ymm9 .byte 196,98,125,24,21,211,9,0,0 // vbroadcastss 0x9d3(%rip),%ymm10 # 7d20 <_sk_callback_avx+0x584> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 197,252,89,192 // vmulps %ymm0,%ymm0,%ymm0 .byte 197,116,89,209 // vmulps %ymm1,%ymm1,%ymm10 .byte 196,65,124,88,210 // vaddps %ymm10,%ymm0,%ymm10 .byte 196,193,58,89,192 // vmulss %xmm8,%xmm8,%xmm0 .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,172,92,192 // vsubps %ymm0,%ymm10,%ymm0 .byte 196,98,125,24,5,167,9,0,0 // vbroadcastss 0x9a7(%rip),%ymm8 # 7d24 <_sk_callback_avx+0x588> .byte 196,193,124,87,192 // vxorps %ymm8,%ymm0,%ymm0 .byte 196,193,124,94,193 // vdivps %ymm9,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mask_2pt_conical_degenerates_avx .globl _sk_mask_2pt_conical_degenerates_avx FUNCTION(_sk_mask_2pt_conical_degenerates_avx) _sk_mask_2pt_conical_degenerates_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,44 // vbroadcastss 0x2c(%rax),%ymm8 .byte 196,98,125,24,72,40 // vbroadcastss 0x28(%rax),%ymm9 .byte 197,60,89,192 // vmulps %ymm0,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,65,52,194,192,2 // vcmpleps %ymm8,%ymm9,%ymm8 .byte 196,65,124,194,201,7 // vcmpordps %ymm9,%ymm0,%ymm9 .byte 196,65,60,84,193 // vandps %ymm9,%ymm8,%ymm8 .byte 197,124,17,0 // vmovups %ymm8,(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_apply_vector_mask_avx .globl _sk_apply_vector_mask_avx FUNCTION(_sk_apply_vector_mask_avx) _sk_apply_vector_mask_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,16,0 // vmovups (%rax),%ymm8 .byte 197,188,84,192 // vandps %ymm0,%ymm8,%ymm0 .byte 197,188,84,201 // vandps %ymm1,%ymm8,%ymm1 .byte 197,188,84,210 // vandps %ymm2,%ymm8,%ymm2 .byte 197,188,84,219 // vandps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_save_xy_avx .globl _sk_save_xy_avx FUNCTION(_sk_save_xy_avx) _sk_save_xy_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,67,9,0,0 // vbroadcastss 0x943(%rip),%ymm8 # 7d28 <_sk_callback_avx+0x58c> .byte 196,65,124,88,200 // vaddps %ymm8,%ymm0,%ymm9 .byte 196,67,125,8,209,1 // vroundps $0x1,%ymm9,%ymm10 .byte 196,65,52,92,202 // vsubps %ymm10,%ymm9,%ymm9 .byte 196,65,116,88,192 // vaddps %ymm8,%ymm1,%ymm8 .byte 196,67,125,8,208,1 // vroundps $0x1,%ymm8,%ymm10 .byte 196,65,60,92,194 // vsubps %ymm10,%ymm8,%ymm8 .byte 197,252,17,0 // vmovups %ymm0,(%rax) .byte 197,252,17,72,32 // vmovups %ymm1,0x20(%rax) .byte 197,124,17,72,64 // vmovups %ymm9,0x40(%rax) .byte 197,124,17,64,96 // vmovups %ymm8,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_accumulate_avx .globl _sk_accumulate_avx FUNCTION(_sk_accumulate_avx) _sk_accumulate_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,16,128,128,0,0,0 // vmovups 0x80(%rax),%ymm8 .byte 197,60,89,128,160,0,0,0 // vmulps 0xa0(%rax),%ymm8,%ymm8 .byte 197,60,89,200 // vmulps %ymm0,%ymm8,%ymm9 .byte 197,180,88,228 // vaddps %ymm4,%ymm9,%ymm4 .byte 197,60,89,201 // vmulps %ymm1,%ymm8,%ymm9 .byte 197,180,88,237 // vaddps %ymm5,%ymm9,%ymm5 .byte 197,60,89,202 // vmulps %ymm2,%ymm8,%ymm9 .byte 197,180,88,246 // vaddps %ymm6,%ymm9,%ymm6 .byte 197,60,89,195 // vmulps %ymm3,%ymm8,%ymm8 .byte 197,188,88,255 // vaddps %ymm7,%ymm8,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_nx_avx .globl _sk_bilinear_nx_avx FUNCTION(_sk_bilinear_nx_avx) _sk_bilinear_nx_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,207,8,0,0 // vbroadcastss 0x8cf(%rip),%ymm0 # 7d2c <_sk_callback_avx+0x590> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,198,8,0,0 // vbroadcastss 0x8c6(%rip),%ymm8 # 7d30 <_sk_callback_avx+0x594> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_px_avx .globl _sk_bilinear_px_avx FUNCTION(_sk_bilinear_px_avx) _sk_bilinear_px_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,174,8,0,0 // vbroadcastss 0x8ae(%rip),%ymm0 # 7d34 <_sk_callback_avx+0x598> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 197,124,16,64,64 // vmovups 0x40(%rax),%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_ny_avx .globl _sk_bilinear_ny_avx FUNCTION(_sk_bilinear_ny_avx) _sk_bilinear_ny_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,146,8,0,0 // vbroadcastss 0x892(%rip),%ymm1 # 7d38 <_sk_callback_avx+0x59c> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,136,8,0,0 // vbroadcastss 0x888(%rip),%ymm8 # 7d3c <_sk_callback_avx+0x5a0> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_py_avx .globl _sk_bilinear_py_avx FUNCTION(_sk_bilinear_py_avx) _sk_bilinear_py_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,112,8,0,0 // vbroadcastss 0x870(%rip),%ymm1 # 7d40 <_sk_callback_avx+0x5a4> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 197,124,16,64,96 // vmovups 0x60(%rax),%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3x_avx .globl _sk_bicubic_n3x_avx FUNCTION(_sk_bicubic_n3x_avx) _sk_bicubic_n3x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,83,8,0,0 // vbroadcastss 0x853(%rip),%ymm0 # 7d44 <_sk_callback_avx+0x5a8> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,74,8,0,0 // vbroadcastss 0x84a(%rip),%ymm8 # 7d48 <_sk_callback_avx+0x5ac> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,59,8,0,0 // vbroadcastss 0x83b(%rip),%ymm10 # 7d4c <_sk_callback_avx+0x5b0> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,49,8,0,0 // vbroadcastss 0x831(%rip),%ymm10 # 7d50 <_sk_callback_avx+0x5b4> .byte 196,65,60,88,194 // vaddps %ymm10,%ymm8,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1x_avx .globl _sk_bicubic_n1x_avx FUNCTION(_sk_bicubic_n1x_avx) _sk_bicubic_n1x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,20,8,0,0 // vbroadcastss 0x814(%rip),%ymm0 # 7d54 <_sk_callback_avx+0x5b8> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,11,8,0,0 // vbroadcastss 0x80b(%rip),%ymm8 # 7d58 <_sk_callback_avx+0x5bc> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,1,8,0,0 // vbroadcastss 0x801(%rip),%ymm9 # 7d5c <_sk_callback_avx+0x5c0> .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,247,7,0,0 // vbroadcastss 0x7f7(%rip),%ymm10 # 7d60 <_sk_callback_avx+0x5c4> .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,232,7,0,0 // vbroadcastss 0x7e8(%rip),%ymm10 # 7d64 <_sk_callback_avx+0x5c8> .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,13,217,7,0,0 // vbroadcastss 0x7d9(%rip),%ymm9 # 7d68 <_sk_callback_avx+0x5cc> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p1x_avx .globl _sk_bicubic_p1x_avx FUNCTION(_sk_bicubic_p1x_avx) _sk_bicubic_p1x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,193,7,0,0 // vbroadcastss 0x7c1(%rip),%ymm8 # 7d6c <_sk_callback_avx+0x5d0> .byte 197,188,88,0 // vaddps (%rax),%ymm8,%ymm0 .byte 197,124,16,72,64 // vmovups 0x40(%rax),%ymm9 .byte 196,98,125,24,21,179,7,0,0 // vbroadcastss 0x7b3(%rip),%ymm10 # 7d70 <_sk_callback_avx+0x5d4> .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,98,125,24,29,169,7,0,0 // vbroadcastss 0x7a9(%rip),%ymm11 # 7d74 <_sk_callback_avx+0x5d8> .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,192 // vaddps %ymm8,%ymm10,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 196,98,125,24,13,144,7,0,0 // vbroadcastss 0x790(%rip),%ymm9 # 7d78 <_sk_callback_avx+0x5dc> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p3x_avx .globl _sk_bicubic_p3x_avx FUNCTION(_sk_bicubic_p3x_avx) _sk_bicubic_p3x_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,5,120,7,0,0 // vbroadcastss 0x778(%rip),%ymm0 # 7d7c <_sk_callback_avx+0x5e0> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 197,124,16,64,64 // vmovups 0x40(%rax),%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,101,7,0,0 // vbroadcastss 0x765(%rip),%ymm10 # 7d80 <_sk_callback_avx+0x5e4> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,91,7,0,0 // vbroadcastss 0x75b(%rip),%ymm10 # 7d84 <_sk_callback_avx+0x5e8> .byte 196,65,60,88,194 // vaddps %ymm10,%ymm8,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 197,124,17,128,128,0,0,0 // vmovups %ymm8,0x80(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3y_avx .globl _sk_bicubic_n3y_avx FUNCTION(_sk_bicubic_n3y_avx) _sk_bicubic_n3y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,62,7,0,0 // vbroadcastss 0x73e(%rip),%ymm1 # 7d88 <_sk_callback_avx+0x5ec> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,52,7,0,0 // vbroadcastss 0x734(%rip),%ymm8 # 7d8c <_sk_callback_avx+0x5f0> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,37,7,0,0 // vbroadcastss 0x725(%rip),%ymm10 # 7d90 <_sk_callback_avx+0x5f4> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,27,7,0,0 // vbroadcastss 0x71b(%rip),%ymm10 # 7d94 <_sk_callback_avx+0x5f8> .byte 196,65,60,88,194 // vaddps %ymm10,%ymm8,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1y_avx .globl _sk_bicubic_n1y_avx FUNCTION(_sk_bicubic_n1y_avx) _sk_bicubic_n1y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,254,6,0,0 // vbroadcastss 0x6fe(%rip),%ymm1 # 7d98 <_sk_callback_avx+0x5fc> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,244,6,0,0 // vbroadcastss 0x6f4(%rip),%ymm8 # 7d9c <_sk_callback_avx+0x600> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,234,6,0,0 // vbroadcastss 0x6ea(%rip),%ymm9 # 7da0 <_sk_callback_avx+0x604> .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,224,6,0,0 // vbroadcastss 0x6e0(%rip),%ymm10 # 7da4 <_sk_callback_avx+0x608> .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,209,6,0,0 // vbroadcastss 0x6d1(%rip),%ymm10 # 7da8 <_sk_callback_avx+0x60c> .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,13,194,6,0,0 // vbroadcastss 0x6c2(%rip),%ymm9 # 7dac <_sk_callback_avx+0x610> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p1y_avx .globl _sk_bicubic_p1y_avx FUNCTION(_sk_bicubic_p1y_avx) _sk_bicubic_p1y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,170,6,0,0 // vbroadcastss 0x6aa(%rip),%ymm8 # 7db0 <_sk_callback_avx+0x614> .byte 197,188,88,72,32 // vaddps 0x20(%rax),%ymm8,%ymm1 .byte 197,124,16,72,96 // vmovups 0x60(%rax),%ymm9 .byte 196,98,125,24,21,155,6,0,0 // vbroadcastss 0x69b(%rip),%ymm10 # 7db4 <_sk_callback_avx+0x618> .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,98,125,24,29,145,6,0,0 // vbroadcastss 0x691(%rip),%ymm11 # 7db8 <_sk_callback_avx+0x61c> .byte 196,65,44,88,211 // vaddps %ymm11,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,192 // vaddps %ymm8,%ymm10,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 196,98,125,24,13,120,6,0,0 // vbroadcastss 0x678(%rip),%ymm9 # 7dbc <_sk_callback_avx+0x620> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_p3y_avx .globl _sk_bicubic_p3y_avx FUNCTION(_sk_bicubic_p3y_avx) _sk_bicubic_p3y_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,13,96,6,0,0 // vbroadcastss 0x660(%rip),%ymm1 # 7dc0 <_sk_callback_avx+0x624> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 197,124,16,64,96 // vmovups 0x60(%rax),%ymm8 .byte 196,65,60,89,200 // vmulps %ymm8,%ymm8,%ymm9 .byte 196,98,125,24,21,76,6,0,0 // vbroadcastss 0x64c(%rip),%ymm10 # 7dc4 <_sk_callback_avx+0x628> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,66,6,0,0 // vbroadcastss 0x642(%rip),%ymm10 # 7dc8 <_sk_callback_avx+0x62c> .byte 196,65,60,88,194 // vaddps %ymm10,%ymm8,%ymm8 .byte 196,65,52,89,192 // vmulps %ymm8,%ymm9,%ymm8 .byte 197,124,17,128,160,0,0,0 // vmovups %ymm8,0xa0(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_callback_avx .globl _sk_callback_avx FUNCTION(_sk_callback_avx) _sk_callback_avx: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,228,224 // and $0xffffffffffffffe0,%rsp .byte 72,129,236,192,0,0,0 // sub $0xc0,%rsp .byte 197,252,41,188,36,128,0,0,0 // vmovaps %ymm7,0x80(%rsp) .byte 197,252,41,116,36,96 // vmovaps %ymm6,0x60(%rsp) .byte 197,252,41,108,36,64 // vmovaps %ymm5,0x40(%rsp) .byte 197,252,41,100,36,32 // vmovaps %ymm4,0x20(%rsp) .byte 76,137,195 // mov %r8,%rbx .byte 72,137,76,36,24 // mov %rcx,0x18(%rsp) .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,252 // mov %rdi,%r12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,198 // mov %rax,%r14 .byte 73,137,245 // mov %rsi,%r13 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,193 // vunpckhps %ymm1,%ymm0,%ymm0 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,211 // vunpckhps %ymm3,%ymm2,%ymm2 .byte 197,221,20,217 // vunpcklpd %ymm1,%ymm4,%ymm3 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,253,20,226 // vunpcklpd %ymm2,%ymm0,%ymm4 .byte 197,253,21,194 // vunpckhpd %ymm2,%ymm0,%ymm0 .byte 196,227,101,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm2 .byte 196,227,93,24,232,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm5 .byte 196,227,101,6,201,49 // vperm2f128 $0x31,%ymm1,%ymm3,%ymm1 .byte 196,227,93,6,192,49 // vperm2f128 $0x31,%ymm0,%ymm4,%ymm0 .byte 196,193,125,17,86,8 // vmovupd %ymm2,0x8(%r14) .byte 196,193,125,17,110,40 // vmovupd %ymm5,0x28(%r14) .byte 196,193,125,17,78,72 // vmovupd %ymm1,0x48(%r14) .byte 196,193,125,17,70,104 // vmovupd %ymm0,0x68(%r14) .byte 72,133,219 // test %rbx,%rbx .byte 190,8,0,0,0 // mov $0x8,%esi .byte 15,69,243 // cmovne %ebx,%esi .byte 76,137,247 // mov %r14,%rdi .byte 197,248,119 // vzeroupper .byte 65,255,22 // callq *(%r14) .byte 73,139,134,136,0,0,0 // mov 0x88(%r14),%rax .byte 197,248,16,0 // vmovups (%rax),%xmm0 .byte 197,248,16,72,16 // vmovups 0x10(%rax),%xmm1 .byte 197,248,16,80,32 // vmovups 0x20(%rax),%xmm2 .byte 197,248,16,88,48 // vmovups 0x30(%rax),%xmm3 .byte 196,227,101,24,88,112,1 // vinsertf128 $0x1,0x70(%rax),%ymm3,%ymm3 .byte 196,227,109,24,80,96,1 // vinsertf128 $0x1,0x60(%rax),%ymm2,%ymm2 .byte 196,227,117,24,72,80,1 // vinsertf128 $0x1,0x50(%rax),%ymm1,%ymm1 .byte 196,227,125,24,64,64,1 // vinsertf128 $0x1,0x40(%rax),%ymm0,%ymm0 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,233 // vunpckhps %ymm1,%ymm0,%ymm5 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,219 // vunpckhps %ymm3,%ymm2,%ymm3 .byte 197,221,20,193 // vunpcklpd %ymm1,%ymm4,%ymm0 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,213,20,211 // vunpcklpd %ymm3,%ymm5,%ymm2 .byte 197,213,21,219 // vunpckhpd %ymm3,%ymm5,%ymm3 .byte 76,137,238 // mov %r13,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,231 // mov %r12,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 72,139,76,36,24 // mov 0x18(%rsp),%rcx .byte 73,137,216 // mov %rbx,%r8 .byte 197,252,40,100,36,32 // vmovaps 0x20(%rsp),%ymm4 .byte 197,252,40,108,36,64 // vmovaps 0x40(%rsp),%ymm5 .byte 197,252,40,116,36,96 // vmovaps 0x60(%rsp),%ymm6 .byte 197,252,40,188,36,128,0,0,0 // vmovaps 0x80(%rsp),%ymm7 .byte 72,141,101,216 // lea -0x28(%rbp),%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax BALIGN4 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,1 // cmpb $0x1,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 252 // cld .byte 190,0,0,128,63 // mov $0x3f800000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,224,64,154 // cmpb $0x9a,0x40e00000(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 7999 <.literal4+0xb9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 79a9 <.literal4+0xc9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 79b9 <.literal4+0xd9> .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 79c9 <.literal4+0xe9> .byte 0,0 // add %al,(%rax) .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 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,145 // cmpb $0x91,(%rdi) .byte 131,158,61,154,153,153,62 // sbbl $0x3e,-0x666665c3(%rsi) .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,145,131,158,61 // cmp $0x3d9e8391,%eax .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,92 // ds pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,82,184,78,65 // cmp $0x414eb852,%eax .byte 57,215 // cmp %edx,%edi .byte 32,187,186,159,98,60 // and %bh,0x3c629fba(%rbx) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 252 // cld .byte 191,16,62,168,177 // mov $0xb1a83e10,%edi .byte 152 // cwtl .byte 59,0 // cmp (%rax),%eax .byte 0,128,63,0,0,192 // add %al,-0x3fffffc1(%rax) .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,128,64,171,170,42 // add %al,0x2aaaab40(%rax) .byte 62,0,0 // add %al,%ds:(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,129,128,128,59 // mov $0x3b808081,%esi .byte 129,128,128,59,0,248,0,0,8,33 // addl $0x21080000,-0x7ffc480(%rax) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 7a35 <.literal4+0x155> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,129,128,128,59 // and %eax,0x3b808081(,%rdi,1) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,129,128,128,59,0,0 // addl $0x3b80,-0x7f7ec480(%rax) .byte 0,52,255 // add %dh,(%rdi,%rdi,8) .byte 255 // (bad) .byte 127,0 // jg 7a5c <.literal4+0x17c> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 7ad5 <.literal4+0x1f5> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 7a90 <.literal4+0x1b0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 7b09 <.literal4+0x229> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 7ac4 <.literal4+0x1e4> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 7b3d <.literal4+0x25d> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,0 // add %al,0x3f(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 7af8 <.literal4+0x218> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 7b71 <.literal4+0x291> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,128,63,0,0,200 // add %al,-0x37ffffc1(%rax) .byte 66,0,0 // rex.X add %al,(%rax) .byte 127,67 // jg 7b6f <.literal4+0x28f> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,203,61,13 // movabs %eax,0xd3dcb3c1118c23b .byte 190,80,128,3,62 // mov $0x3e038050,%esi .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 7b8f <.literal4+0x2af> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,0,0,128,63,129,128 // addl $0x80813f80,0x3b80(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,128,63,129,128,128 // add %al,-0x7f7f7ec1(%rax) .byte 59,0 // cmp (%rax),%eax .byte 0,128,63,129,128,128 // add %al,-0x7f7f7ec1(%rax) .byte 59,0 // cmp (%rax),%eax .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 7b91 <.literal4+0x2b1> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 7bad <.literal4+0x2cd> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 7bc9 <.literal4+0x2e9> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,0,0,128,63 // and %eax,0x3f800000(,%rdi,1) .byte 0,0 // add %al,(%rax) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 7c1e <.literal4+0x33e> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,240 // mov %ecx,-0xfffc278(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,240 // mov %ecx,-0xfffc278(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,0 // mov %ecx,0x3d88(%rax) .byte 112,65 // jo 7c81 <.literal4+0x3a1> .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,128,56 // add %al,0x38800000(%rax) .byte 0,64,254 // add %al,-0x2(%rax) .byte 255,128,0,128,55,128 // incl -0x7fc88000(%rax) .byte 0,128,55,0,0,128 // add %al,-0x7fffffc9(%rax) .byte 63 // (bad) .byte 0,255 // add %bh,%bh .byte 127,71 // jg 7cf3 <.literal4+0x413> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,191,0,0,0 // add %al,0xbf(%rax) .byte 63 // (bad) .byte 208 // (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 152 // cwtl .byte 221,147,61,45,16,17 // fstl 0x11102d3d(%rbx) .byte 192,18,120 // rclb $0x78,(%rdx) .byte 57,64,32 // cmp %eax,0x20(%rax) .byte 148 // xchg %eax,%esp .byte 90 // pop %rdx .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,0,24 // add %bl,%ds:(%rax) .byte 161,57,1,0,0,0,111,43,231 // movabs 0xe72b6f0000000139,%eax .byte 187,159,215,202,60 // mov $0x3ccad79f,%ebx .byte 212 // (bad) .byte 100,84 // fs push %rsp .byte 189,169,240,34,62 // mov $0x3e22f0a9,%ebp .byte 0,0 // add %al,(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,128,63 // add %bh,0x3f800000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,128,63,114 // sarb $0x72,0x3f800000(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,0,0,0,191 // mov $0xbf000000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,192,63 // mov $0x3fc00000,%edi .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,192,63 // mov $0x3fc00000,%edi .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,114 // sarb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,0,0,192,191 // mov $0xbfc00000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,114 // cmpb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,0,0,0,191 // mov $0xbf000000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,192,63 // mov $0x3fc00000,%edi .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,0,0,192,63 // mov $0x3fc00000,%edi .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,114 // sarb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190 // .byte 0xbe BALIGN16 .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,2 // add %al,(%rdx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) BALIGN32 .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) BALIGN32 HIDDEN _sk_start_pipeline_sse41 .globl _sk_start_pipeline_sse41 FUNCTION(_sk_start_pipeline_sse41) _sk_start_pipeline_sse41: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,208 // mov %rdx,%r8 .byte 73,137,247 // mov %rsi,%r15 .byte 72,137,251 // mov %rdi,%rbx .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,245 // mov %rsi,%r13 .byte 72,141,75,4 // lea 0x4(%rbx),%rcx .byte 76,57,193 // cmp %r8,%rcx .byte 118,5 // jbe 30 <_sk_start_pipeline_sse41+0x30> .byte 72,137,218 // mov %rbx,%rdx .byte 235,48 // jmp 60 <_sk_start_pipeline_sse41+0x60> .byte 76,137,69,208 // mov %r8,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 76,137,238 // mov %r13,%rsi .byte 72,137,218 // mov %rbx,%rdx .byte 76,137,249 // mov %r15,%rcx .byte 73,137,198 // mov %rax,%r14 .byte 65,255,214 // callq *%r14 .byte 76,139,69,208 // mov -0x30(%rbp),%r8 .byte 76,137,240 // mov %r14,%rax .byte 72,141,83,4 // lea 0x4(%rbx),%rdx .byte 72,131,195,8 // add $0x8,%rbx .byte 76,57,195 // cmp %r8,%rbx .byte 72,137,211 // mov %rdx,%rbx .byte 118,212 // jbe 34 <_sk_start_pipeline_sse41+0x34> .byte 73,41,208 // sub %rdx,%r8 .byte 116,25 // je 7e <_sk_start_pipeline_sse41+0x7e> .byte 76,137,231 // mov %r12,%rdi .byte 76,137,238 // mov %r13,%rsi .byte 76,137,249 // mov %r15,%rcx .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse41 .globl _sk_just_return_sse41 FUNCTION(_sk_just_return_sse41) _sk_just_return_sse41: .byte 195 // retq HIDDEN _sk_seed_shader_sse41 .globl _sk_seed_shader_sse41 FUNCTION(_sk_seed_shader_sse41) _sk_seed_shader_sse41: .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 15,40,21,175,91,0,0 // movaps 0x5baf(%rip),%xmm2 # 5c50 <_sk_callback_sse41+0xff> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,16,7 // movups (%rdi),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 102,15,110,201 // movd %ecx,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,21,158,91,0,0 // movaps 0x5b9e(%rip),%xmm2 # 5c60 <_sk_callback_sse41+0x10f> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_sse41 .globl _sk_dither_sse41 FUNCTION(_sk_dither_sse41) _sk_dither_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,68,15,110,194 // movd %edx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 243,68,15,111,79,32 // movdqu 0x20(%rdi),%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 102,68,15,110,193 // movd %ecx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 102,69,15,239,193 // pxor %xmm9,%xmm8 .byte 102,68,15,111,21,108,91,0,0 // movdqa 0x5b6c(%rip),%xmm10 # 5c70 <_sk_callback_sse41+0x11f> .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,88,91,0,0 // movdqa 0x5b58(%rip),%xmm12 # 5c80 <_sk_callback_sse41+0x12f> .byte 102,68,15,111,45,95,91,0,0 // movdqa 0x5b5f(%rip),%xmm13 # 5c90 <_sk_callback_sse41+0x13f> .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 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,69,15,254,237 // paddd %xmm13,%xmm13 .byte 102,69,15,219,196 // pand %xmm12,%xmm8 .byte 102,65,15,114,208,1 // psrld $0x1,%xmm8 .byte 102,69,15,219,204 // pand %xmm12,%xmm9 .byte 102,65,15,114,209,2 // psrld $0x2,%xmm9 .byte 102,69,15,235,234 // por %xmm10,%xmm13 .byte 102,69,15,235,233 // por %xmm9,%xmm13 .byte 102,69,15,235,243 // por %xmm11,%xmm14 .byte 102,69,15,235,245 // por %xmm13,%xmm14 .byte 102,69,15,235,240 // por %xmm8,%xmm14 .byte 69,15,91,198 // cvtdq2ps %xmm14,%xmm8 .byte 68,15,89,5,26,91,0,0 // mulps 0x5b1a(%rip),%xmm8 # 5ca0 <_sk_callback_sse41+0x14f> .byte 68,15,88,5,34,91,0,0 // addps 0x5b22(%rip),%xmm8 # 5cb0 <_sk_callback_sse41+0x15f> .byte 243,68,15,16,16 // movss (%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 68,15,88,210 // addps %xmm2,%xmm10 .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 68,15,95,201 // maxps %xmm1,%xmm9 .byte 68,15,93,211 // minps %xmm3,%xmm10 .byte 65,15,95,210 // maxps %xmm10,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_sse41 .globl _sk_uniform_color_sse41 FUNCTION(_sk_uniform_color_sse41) _sk_uniform_color_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_sse41 .globl _sk_black_color_sse41 FUNCTION(_sk_black_color_sse41) _sk_black_color_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,184,90,0,0 // movaps 0x5ab8(%rip),%xmm3 # 5cc0 <_sk_callback_sse41+0x16f> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_sse41 .globl _sk_white_color_sse41 FUNCTION(_sk_white_color_sse41) _sk_white_color_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,5,180,90,0,0 // movaps 0x5ab4(%rip),%xmm0 # 5cd0 <_sk_callback_sse41+0x17f> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_rgba_sse41 .globl _sk_load_rgba_sse41 FUNCTION(_sk_load_rgba_sse41) _sk_load_rgba_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 15,16,72,16 // movups 0x10(%rax),%xmm1 .byte 15,16,80,32 // movups 0x20(%rax),%xmm2 .byte 15,16,88,48 // movups 0x30(%rax),%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_rgba_sse41 .globl _sk_store_rgba_sse41 FUNCTION(_sk_store_rgba_sse41) _sk_store_rgba_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,17,0 // movups %xmm0,(%rax) .byte 15,17,72,16 // movups %xmm1,0x10(%rax) .byte 15,17,80,32 // movups %xmm2,0x20(%rax) .byte 15,17,88,48 // movups %xmm3,0x30(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_sse41 .globl _sk_clear_sse41 FUNCTION(_sk_clear_sse41) _sk_clear_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_sse41 .globl _sk_srcatop_sse41 FUNCTION(_sk_srcatop_sse41) _sk_srcatop_sse41: .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 68,15,40,5,116,90,0,0 // movaps 0x5a74(%rip),%xmm8 # 5ce0 <_sk_callback_sse41+0x18f> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_sse41 .globl _sk_dstatop_sse41 FUNCTION(_sk_dstatop_sse41) _sk_dstatop_sse41: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 68,15,40,13,55,90,0,0 // movaps 0x5a37(%rip),%xmm9 # 5cf0 <_sk_callback_sse41+0x19f> .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,197 // mulps %xmm5,%xmm8 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 65,15,88,208 // addps %xmm8,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_sse41 .globl _sk_srcin_sse41 FUNCTION(_sk_srcin_sse41) _sk_srcin_sse41: .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_sse41 .globl _sk_dstin_sse41 FUNCTION(_sk_dstin_sse41) _sk_dstin_sse41: .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_sse41 .globl _sk_srcout_sse41 FUNCTION(_sk_srcout_sse41) _sk_srcout_sse41: .byte 68,15,40,5,219,89,0,0 // movaps 0x59db(%rip),%xmm8 # 5d00 <_sk_callback_sse41+0x1af> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_sse41 .globl _sk_dstout_sse41 FUNCTION(_sk_dstout_sse41) _sk_dstout_sse41: .byte 68,15,40,5,203,89,0,0 // movaps 0x59cb(%rip),%xmm8 # 5d10 <_sk_callback_sse41+0x1bf> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_sse41 .globl _sk_srcover_sse41 FUNCTION(_sk_srcover_sse41) _sk_srcover_sse41: .byte 68,15,40,5,174,89,0,0 // movaps 0x59ae(%rip),%xmm8 # 5d20 <_sk_callback_sse41+0x1cf> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_sse41 .globl _sk_dstover_sse41 FUNCTION(_sk_dstover_sse41) _sk_dstover_sse41: .byte 68,15,40,5,130,89,0,0 // movaps 0x5982(%rip),%xmm8 # 5d30 <_sk_callback_sse41+0x1df> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_sse41 .globl _sk_modulate_sse41 FUNCTION(_sk_modulate_sse41) _sk_modulate_sse41: .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_sse41 .globl _sk_multiply_sse41 FUNCTION(_sk_multiply_sse41) _sk_multiply_sse41: .byte 68,15,40,5,86,89,0,0 // movaps 0x5956(%rip),%xmm8 # 5d40 <_sk_callback_sse41+0x1ef> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,220 // mulps %xmm4,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,221 // mulps %xmm5,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse41 .globl _sk_plus__sse41 FUNCTION(_sk_plus__sse41) _sk_plus__sse41: .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse41 .globl _sk_screen_sse41 FUNCTION(_sk_screen_sse41) _sk_screen_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,92,202 // subps %xmm2,%xmm9 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse41 .globl _sk_xor__sse41 FUNCTION(_sk_xor__sse41) _sk_xor__sse41: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 15,40,29,139,88,0,0 // movaps 0x588b(%rip),%xmm3 # 5d50 <_sk_callback_sse41+0x1ff> .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,92,216 // subps %xmm8,%xmm3 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,212 // mulps %xmm4,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,213 // mulps %xmm5,%xmm10 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,214 // mulps %xmm6,%xmm10 .byte 65,15,88,210 // addps %xmm10,%xmm2 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_sse41 .globl _sk_darken_sse41 FUNCTION(_sk_darken_sse41) _sk_darken_sse41: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,95,201 // maxps %xmm1,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,95,193 // maxps %xmm9,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,95,209 // maxps %xmm9,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,246,87,0,0 // movaps 0x57f6(%rip),%xmm2 # 5d60 <_sk_callback_sse41+0x20f> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_sse41 .globl _sk_lighten_sse41 FUNCTION(_sk_lighten_sse41) _sk_lighten_sse41: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,93,201 // minps %xmm1,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,93,193 // minps %xmm9,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,93,209 // minps %xmm9,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,155,87,0,0 // movaps 0x579b(%rip),%xmm2 # 5d70 <_sk_callback_sse41+0x21f> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_sse41 .globl _sk_difference_sse41 FUNCTION(_sk_difference_sse41) _sk_difference_sse41: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,93,201 // minps %xmm1,%xmm9 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,93,193 // minps %xmm9,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,93,209 // minps %xmm9,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,53,87,0,0 // movaps 0x5735(%rip),%xmm2 # 5d80 <_sk_callback_sse41+0x22f> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_sse41 .globl _sk_exclusion_sse41 FUNCTION(_sk_exclusion_sse41) _sk_exclusion_sse41: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,197 // mulps %xmm5,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,245,86,0,0 // movaps 0x56f5(%rip),%xmm2 # 5d90 <_sk_callback_sse41+0x23f> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse41 .globl _sk_colorburn_sse41 FUNCTION(_sk_colorburn_sse41) _sk_colorburn_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,21,232,86,0,0 // movaps 0x56e8(%rip),%xmm10 # 5da0 <_sk_callback_sse41+0x24f> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,203 // movaps %xmm11,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,94,192 // divps %xmm8,%xmm0 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,93,224 // minps %xmm0,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 68,15,88,228 // addps %xmm4,%xmm12 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 102,69,15,56,20,232 // blendvps %xmm0,%xmm8,%xmm13 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 102,69,15,56,20,196 // blendvps %xmm0,%xmm12,%xmm8 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 68,15,89,225 // mulps %xmm1,%xmm12 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,94,193 // divps %xmm1,%xmm0 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,93,232 // minps %xmm0,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 69,15,92,245 // subps %xmm13,%xmm14 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 68,15,89,243 // mulps %xmm3,%xmm14 .byte 69,15,88,244 // addps %xmm12,%xmm14 .byte 102,68,15,56,20,241 // blendvps %xmm0,%xmm1,%xmm14 .byte 68,15,88,229 // addps %xmm5,%xmm12 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 102,65,15,56,20,204 // blendvps %xmm0,%xmm12,%xmm1 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,94,194 // divps %xmm2,%xmm0 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,93,224 // minps %xmm0,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 68,15,194,202,0 // cmpeqps %xmm2,%xmm9 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,68,15,56,20,234 // blendvps %xmm0,%xmm2,%xmm13 .byte 68,15,88,222 // addps %xmm6,%xmm11 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,213 // addps %xmm13,%xmm2 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 102,65,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm2 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_sse41 .globl _sk_colordodge_sse41 FUNCTION(_sk_colordodge_sse41) _sk_colordodge_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,21,198,85,0,0 // movaps 0x55c6(%rip),%xmm10 # 5db0 <_sk_callback_sse41+0x25f> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,89,224 // mulps %xmm8,%xmm12 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,94,200 // divps %xmm0,%xmm9 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 69,15,93,241 // minps %xmm9,%xmm14 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,243 // mulps %xmm3,%xmm14 .byte 69,15,88,244 // addps %xmm12,%xmm14 .byte 102,69,15,56,20,240 // blendvps %xmm0,%xmm8,%xmm14 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,88,228 // addps %xmm4,%xmm12 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 69,15,88,198 // addps %xmm14,%xmm8 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 102,69,15,56,20,196 // blendvps %xmm0,%xmm12,%xmm8 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,229 // mulps %xmm5,%xmm12 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 68,15,94,224 // divps %xmm0,%xmm12 .byte 69,15,40,243 // movaps %xmm11,%xmm14 .byte 68,15,89,241 // mulps %xmm1,%xmm14 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 102,68,15,56,20,233 // blendvps %xmm0,%xmm1,%xmm13 .byte 68,15,88,245 // addps %xmm5,%xmm14 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,205 // addps %xmm13,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 102,65,15,56,20,206 // blendvps %xmm0,%xmm14,%xmm1 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 68,15,94,224 // divps %xmm0,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 102,68,15,56,20,234 // blendvps %xmm0,%xmm2,%xmm13 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,213 // addps %xmm13,%xmm2 .byte 68,15,194,206,0 // cmpeqps %xmm6,%xmm9 .byte 68,15,88,222 // addps %xmm6,%xmm11 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm2 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse41 .globl _sk_hardlight_sse41 FUNCTION(_sk_hardlight_sse41) _sk_hardlight_sse41: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,40,21,159,84,0,0 // movaps 0x549f(%rip),%xmm10 # 5dc0 <_sk_callback_sse41+0x26f> .byte 65,15,40,234 // movaps %xmm10,%xmm5 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 68,15,92,212 // subps %xmm4,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 68,15,88,192 // addps %xmm0,%xmm8 .byte 68,15,40,252 // movaps %xmm4,%xmm15 .byte 69,15,92,249 // subps %xmm9,%xmm15 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 65,15,89,199 // mulps %xmm15,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 68,15,40,251 // movaps %xmm3,%xmm15 .byte 68,15,92,248 // subps %xmm0,%xmm15 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 102,69,15,56,20,249 // blendvps %xmm0,%xmm9,%xmm15 .byte 68,15,40,221 // movaps %xmm5,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 69,15,40,204 // movaps %xmm12,%xmm9 .byte 69,15,92,233 // subps %xmm9,%xmm13 .byte 68,15,89,232 // mulps %xmm0,%xmm13 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 102,68,15,56,20,225 // blendvps %xmm0,%xmm1,%xmm12 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 69,15,88,199 // addps %xmm15,%xmm8 .byte 65,15,89,205 // mulps %xmm13,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 68,15,40,92,36,232 // movaps -0x18(%rsp),%xmm11 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 68,15,88,205 // addps %xmm5,%xmm9 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 69,15,92,243 // subps %xmm11,%xmm14 .byte 68,15,89,245 // mulps %xmm5,%xmm14 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 65,15,92,222 // subps %xmm14,%xmm3 .byte 102,15,56,20,218 // blendvps %xmm0,%xmm2,%xmm3 .byte 68,15,88,203 // addps %xmm3,%xmm9 .byte 65,15,88,226 // addps %xmm10,%xmm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 65,15,40,237 // movaps %xmm13,%xmm5 .byte 65,15,40,243 // movaps %xmm11,%xmm6 .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_sse41 .globl _sk_overlay_sse41 FUNCTION(_sk_overlay_sse41) _sk_overlay_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 68,15,40,21,132,83,0,0 // movaps 0x5384(%rip),%xmm10 # 5dd0 <_sk_callback_sse41+0x27f> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 68,15,88,192 // addps %xmm0,%xmm8 .byte 68,15,40,235 // movaps %xmm3,%xmm13 .byte 69,15,92,238 // subps %xmm14,%xmm13 .byte 68,15,89,244 // mulps %xmm4,%xmm14 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,231 // mulps %xmm7,%xmm12 .byte 65,15,89,205 // mulps %xmm13,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 68,15,92,233 // subps %xmm1,%xmm13 .byte 102,69,15,56,20,238 // blendvps %xmm0,%xmm14,%xmm13 .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 68,15,40,235 // movaps %xmm3,%xmm13 .byte 69,15,92,233 // subps %xmm9,%xmm13 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 68,15,92,245 // subps %xmm5,%xmm14 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 69,15,92,238 // subps %xmm14,%xmm13 .byte 102,69,15,56,20,233 // blendvps %xmm0,%xmm9,%xmm13 .byte 65,15,88,205 // addps %xmm13,%xmm1 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 68,15,40,219 // movaps %xmm3,%xmm11 .byte 68,15,92,218 // subps %xmm2,%xmm11 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,92,238 // subps %xmm6,%xmm13 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 102,68,15,56,20,226 // blendvps %xmm0,%xmm2,%xmm12 .byte 69,15,88,204 // addps %xmm12,%xmm9 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_softlight_sse41 .globl _sk_softlight_sse41 FUNCTION(_sk_softlight_sse41) _sk_softlight_sse41: .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,41,84,36,232 // movaps %xmm2,-0x18(%rsp) .byte 15,41,76,36,200 // movaps %xmm1,-0x38(%rsp) .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,194,207,1 // cmpltps %xmm7,%xmm9 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 15,40,13,91,82,0,0 // movaps 0x525b(%rip),%xmm1 # 5de0 <_sk_callback_sse41+0x28f> .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 68,15,40,248 // movaps %xmm0,%xmm15 .byte 15,82,208 // rsqrtps %xmm0,%xmm2 .byte 68,15,83,218 // rcpps %xmm2,%xmm11 .byte 68,15,92,216 // subps %xmm0,%xmm11 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,210 // mulps %xmm2,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 68,15,40,45,57,82,0,0 // movaps 0x5239(%rip),%xmm13 # 5df0 <_sk_callback_sse41+0x29f> .byte 69,15,88,245 // addps %xmm13,%xmm14 .byte 68,15,89,242 // mulps %xmm2,%xmm14 .byte 68,15,40,37,57,82,0,0 // movaps 0x5239(%rip),%xmm12 # 5e00 <_sk_callback_sse41+0x2af> .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 69,15,88,254 // addps %xmm14,%xmm15 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 102,69,15,56,20,223 // blendvps %xmm0,%xmm15,%xmm11 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,88,211 // addps %xmm3,%xmm10 .byte 68,15,89,214 // mulps %xmm6,%xmm10 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,88,218 // addps %xmm2,%xmm11 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 102,69,15,56,20,218 // blendvps %xmm0,%xmm10,%xmm11 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 68,15,94,215 // divps %xmm7,%xmm10 .byte 69,15,84,209 // andps %xmm9,%xmm10 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,210 // mulps %xmm2,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,88,197 // addps %xmm13,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,89,212 // mulps %xmm12,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 65,15,82,194 // rsqrtps %xmm10,%xmm0 .byte 68,15,83,240 // rcpps %xmm0,%xmm14 .byte 69,15,92,242 // subps %xmm10,%xmm14 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 102,68,15,56,20,242 // blendvps %xmm0,%xmm2,%xmm14 .byte 68,15,40,249 // movaps %xmm1,%xmm15 .byte 69,15,92,250 // subps %xmm10,%xmm15 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 68,15,89,250 // mulps %xmm2,%xmm15 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,89,242 // mulps %xmm2,%xmm14 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,41,100,36,184 // movaps %xmm4,-0x48(%rsp) .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 68,15,88,242 // addps %xmm2,%xmm14 .byte 68,15,88,251 // addps %xmm3,%xmm15 .byte 68,15,89,252 // mulps %xmm4,%xmm15 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 102,69,15,56,20,247 // blendvps %xmm0,%xmm15,%xmm14 .byte 68,15,40,249 // movaps %xmm1,%xmm15 .byte 15,40,100,36,216 // movaps -0x28(%rsp),%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 68,15,88,232 // addps %xmm0,%xmm13 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 15,82,208 // rsqrtps %xmm0,%xmm2 .byte 68,15,83,202 // rcpps %xmm2,%xmm9 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,210 // mulps %xmm2,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 102,69,15,56,20,204 // blendvps %xmm0,%xmm12,%xmm9 .byte 68,15,40,100,36,232 // movaps -0x18(%rsp),%xmm12 .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 68,15,88,202 // addps %xmm2,%xmm9 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 102,68,15,56,20,201 // blendvps %xmm0,%xmm1,%xmm9 .byte 68,15,92,255 // subps %xmm7,%xmm15 .byte 69,15,89,199 // mulps %xmm15,%xmm8 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 65,15,89,207 // mulps %xmm15,%xmm1 .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 68,15,88,192 // addps %xmm0,%xmm8 .byte 69,15,88,195 // addps %xmm11,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,40,108,36,184 // movaps -0x48(%rsp),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 65,15,88,199 // addps %xmm15,%xmm0 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_hue_sse41 .globl _sk_hue_sse41 FUNCTION(_sk_hue_sse41) _sk_hue_sse41: .byte 15,41,124,36,152 // movaps %xmm7,-0x68(%rsp) .byte 68,15,40,246 // movaps %xmm6,%xmm14 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 15,41,84,36,232 // movaps %xmm2,-0x18(%rsp) .byte 15,41,76,36,216 // movaps %xmm1,-0x28(%rsp) .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 68,15,41,84,36,200 // movaps %xmm10,-0x38(%rsp) .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 68,15,40,234 // movaps %xmm2,%xmm13 .byte 69,15,89,232 // mulps %xmm8,%xmm13 .byte 68,15,40,205 // movaps %xmm5,%xmm9 .byte 68,15,40,221 // movaps %xmm5,%xmm11 .byte 15,41,108,36,184 // movaps %xmm5,-0x48(%rsp) .byte 69,15,95,222 // maxps %xmm14,%xmm11 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 68,15,40,230 // movaps %xmm6,%xmm12 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 65,15,95,211 // maxps %xmm11,%xmm2 .byte 65,15,40,230 // movaps %xmm14,%xmm4 .byte 15,41,100,36,168 // movaps %xmm4,-0x58(%rsp) .byte 68,15,93,204 // minps %xmm4,%xmm9 .byte 65,15,93,249 // minps %xmm9,%xmm7 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 65,15,93,253 // minps %xmm13,%xmm7 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,93,223 // minps %xmm7,%xmm3 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 65,15,95,253 // maxps %xmm13,%xmm7 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,95,199 // maxps %xmm7,%xmm0 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 68,15,92,235 // subps %xmm3,%xmm13 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,94,208 // divps %xmm0,%xmm10 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,94,200 // divps %xmm0,%xmm1 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 68,15,94,232 // divps %xmm0,%xmm13 .byte 15,194,195,4 // cmpneqps %xmm3,%xmm0 .byte 68,15,84,208 // andps %xmm0,%xmm10 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 68,15,84,232 // andps %xmm0,%xmm13 .byte 15,40,5,164,79,0,0 // movaps 0x4fa4(%rip),%xmm0 # 5e10 <_sk_callback_sse41+0x2bf> .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 15,40,21,169,79,0,0 // movaps 0x4fa9(%rip),%xmm2 # 5e20 <_sk_callback_sse41+0x2cf> .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 65,15,88,252 // addps %xmm12,%xmm7 .byte 68,15,40,53,170,79,0,0 // movaps 0x4faa(%rip),%xmm14 # 5e30 <_sk_callback_sse41+0x2df> .byte 68,15,40,252 // movaps %xmm4,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 68,15,88,255 // addps %xmm7,%xmm15 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 65,15,40,221 // movaps %xmm13,%xmm3 .byte 65,15,89,222 // mulps %xmm14,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 69,15,89,248 // mulps %xmm8,%xmm15 .byte 68,15,92,251 // subps %xmm3,%xmm15 .byte 69,15,88,215 // addps %xmm15,%xmm10 .byte 65,15,88,207 // addps %xmm15,%xmm1 .byte 69,15,88,253 // addps %xmm13,%xmm15 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 65,15,93,223 // minps %xmm15,%xmm3 .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 15,93,251 // minps %xmm3,%xmm7 .byte 65,15,89,194 // mulps %xmm10,%xmm0 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 69,15,89,247 // mulps %xmm15,%xmm14 .byte 68,15,88,242 // addps %xmm2,%xmm14 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,194,207,2 // cmpleps %xmm7,%xmm9 .byte 65,15,40,222 // movaps %xmm14,%xmm3 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 69,15,40,234 // movaps %xmm10,%xmm13 .byte 69,15,92,238 // subps %xmm14,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,94,235 // divps %xmm3,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,69,15,56,20,234 // blendvps %xmm0,%xmm10,%xmm13 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,95,199 // maxps %xmm15,%xmm0 .byte 68,15,95,208 // maxps %xmm0,%xmm10 .byte 65,15,40,248 // movaps %xmm8,%xmm7 .byte 15,40,108,36,152 // movaps -0x68(%rsp),%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 65,15,194,226,1 // cmpltps %xmm10,%xmm4 .byte 65,15,40,213 // movaps %xmm13,%xmm2 .byte 65,15,92,214 // subps %xmm14,%xmm2 .byte 68,15,40,223 // movaps %xmm7,%xmm11 .byte 69,15,92,222 // subps %xmm14,%xmm11 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 69,15,92,214 // subps %xmm14,%xmm10 .byte 65,15,94,210 // divps %xmm10,%xmm2 .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 102,68,15,56,20,234 // blendvps %xmm0,%xmm2,%xmm13 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,92,230 // subps %xmm14,%xmm12 .byte 69,15,89,230 // mulps %xmm14,%xmm12 .byte 68,15,94,227 // divps %xmm3,%xmm12 .byte 69,15,88,230 // addps %xmm14,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,68,15,56,20,225 // blendvps %xmm0,%xmm1,%xmm12 .byte 65,15,40,204 // movaps %xmm12,%xmm1 .byte 65,15,92,206 // subps %xmm14,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,94,202 // divps %xmm10,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 102,68,15,56,20,225 // blendvps %xmm0,%xmm1,%xmm12 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 65,15,92,206 // subps %xmm14,%xmm1 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 15,94,203 // divps %xmm3,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,207 // blendvps %xmm0,%xmm15,%xmm1 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 65,15,92,214 // subps %xmm14,%xmm2 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 65,15,94,210 // divps %xmm10,%xmm2 .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 102,15,56,20,202 // blendvps %xmm0,%xmm2,%xmm1 .byte 68,15,40,13,110,78,0,0 // movaps 0x4e6e(%rip),%xmm9 # 5e40 <_sk_callback_sse41+0x2ef> .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,68,36,200 // movaps -0x38(%rsp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,92,36,216 // movaps -0x28(%rsp),%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,89,100,36,232 // mulps -0x18(%rsp),%xmm4 .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 68,15,95,234 // maxps %xmm2,%xmm13 .byte 68,15,95,226 // maxps %xmm2,%xmm12 .byte 15,95,202 // maxps %xmm2,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 65,15,88,197 // addps %xmm13,%xmm0 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,40,108,36,184 // movaps -0x48(%rsp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,88,204 // addps %xmm4,%xmm9 .byte 68,15,88,201 // addps %xmm1,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_saturation_sse41 .globl _sk_saturation_sse41 FUNCTION(_sk_saturation_sse41) _sk_saturation_sse41: .byte 68,15,40,206 // movaps %xmm6,%xmm9 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,41,76,36,216 // movaps %xmm1,-0x28(%rsp) .byte 15,41,68,36,200 // movaps %xmm0,-0x38(%rsp) .byte 68,15,40,212 // movaps %xmm4,%xmm10 .byte 68,15,89,213 // mulps %xmm5,%xmm10 .byte 68,15,40,220 // movaps %xmm4,%xmm11 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 68,15,41,116,36,184 // movaps %xmm14,-0x48(%rsp) .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 68,15,41,76,36,232 // movaps %xmm9,-0x18(%rsp) .byte 65,15,95,217 // maxps %xmm9,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,95,211 // maxps %xmm3,%xmm2 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,93,225 // minps %xmm9,%xmm12 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 65,15,93,220 // minps %xmm12,%xmm3 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,41,100,36,168 // movaps %xmm12,-0x58(%rsp) .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,93,216 // minps %xmm0,%xmm3 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,95,192 // maxps %xmm8,%xmm0 .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,94,215 // divps %xmm7,%xmm10 .byte 68,15,92,219 // subps %xmm3,%xmm11 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 68,15,94,223 // divps %xmm7,%xmm11 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 68,15,94,199 // divps %xmm7,%xmm8 .byte 15,194,248,4 // cmpneqps %xmm0,%xmm7 .byte 68,15,84,215 // andps %xmm7,%xmm10 .byte 68,15,84,223 // andps %xmm7,%xmm11 .byte 68,15,84,199 // andps %xmm7,%xmm8 .byte 15,40,21,40,77,0,0 // movaps 0x4d28(%rip),%xmm2 # 5e50 <_sk_callback_sse41+0x2ff> .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,40,13,43,77,0,0 // movaps 0x4d2b(%rip),%xmm1 # 5e60 <_sk_callback_sse41+0x30f> .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,42,77,0,0 // movaps 0x4d2a(%rip),%xmm13 # 5e70 <_sk_callback_sse41+0x31f> .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 68,15,88,247 // addps %xmm7,%xmm14 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 65,15,40,251 // movaps %xmm11,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 65,15,89,221 // mulps %xmm13,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 68,15,89,244 // mulps %xmm4,%xmm14 .byte 68,15,92,243 // subps %xmm3,%xmm14 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 69,15,88,240 // addps %xmm8,%xmm14 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,93,198 // minps %xmm14,%xmm0 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,93,216 // minps %xmm0,%xmm3 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,88,233 // addps %xmm1,%xmm13 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,194,203,2 // cmpleps %xmm3,%xmm9 .byte 65,15,40,253 // movaps %xmm13,%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 69,15,40,250 // movaps %xmm10,%xmm15 .byte 69,15,92,253 // subps %xmm13,%xmm15 .byte 69,15,89,253 // mulps %xmm13,%xmm15 .byte 68,15,94,255 // divps %xmm7,%xmm15 .byte 69,15,88,253 // addps %xmm13,%xmm15 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,69,15,56,20,250 // blendvps %xmm0,%xmm10,%xmm15 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,95,198 // maxps %xmm14,%xmm0 .byte 68,15,95,208 // maxps %xmm0,%xmm10 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 65,15,89,212 // mulps %xmm12,%xmm2 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 69,15,194,194,1 // cmpltps %xmm10,%xmm8 .byte 65,15,40,223 // movaps %xmm15,%xmm3 .byte 65,15,92,221 // subps %xmm13,%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 65,15,92,205 // subps %xmm13,%xmm1 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 69,15,92,213 // subps %xmm13,%xmm10 .byte 65,15,94,218 // divps %xmm10,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 102,68,15,56,20,251 // blendvps %xmm0,%xmm3,%xmm15 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 68,15,94,231 // divps %xmm7,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,69,15,56,20,227 // blendvps %xmm0,%xmm11,%xmm12 .byte 65,15,40,220 // movaps %xmm12,%xmm3 .byte 65,15,92,221 // subps %xmm13,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 65,15,94,218 // divps %xmm10,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 102,68,15,56,20,227 // blendvps %xmm0,%xmm3,%xmm12 .byte 69,15,40,222 // movaps %xmm14,%xmm11 .byte 69,15,92,221 // subps %xmm13,%xmm11 .byte 69,15,89,221 // mulps %xmm13,%xmm11 .byte 68,15,94,223 // divps %xmm7,%xmm11 .byte 69,15,88,221 // addps %xmm13,%xmm11 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,69,15,56,20,222 // blendvps %xmm0,%xmm14,%xmm11 .byte 65,15,40,251 // movaps %xmm11,%xmm7 .byte 65,15,92,253 // subps %xmm13,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 65,15,94,250 // divps %xmm10,%xmm7 .byte 65,15,88,253 // addps %xmm13,%xmm7 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 102,68,15,56,20,223 // blendvps %xmm0,%xmm7,%xmm11 .byte 68,15,40,13,240,75,0,0 // movaps 0x4bf0(%rip),%xmm9 # 5e80 <_sk_callback_sse41+0x32f> .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,92,204 // subps %xmm4,%xmm9 .byte 15,40,124,36,168 // movaps -0x58(%rsp),%xmm7 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 68,15,95,248 // maxps %xmm0,%xmm15 .byte 68,15,95,224 // maxps %xmm0,%xmm12 .byte 68,15,95,216 // maxps %xmm0,%xmm11 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 15,40,68,36,200 // movaps -0x38(%rsp),%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 65,15,88,199 // addps %xmm15,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,84,36,216 // movaps -0x28(%rsp),%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 68,15,89,68,36,232 // mulps -0x18(%rsp),%xmm8 .byte 15,40,84,36,184 // movaps -0x48(%rsp),%xmm2 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_color_sse41 .globl _sk_color_sse41 FUNCTION(_sk_color_sse41) _sk_color_sse41: .byte 68,15,40,230 // movaps %xmm6,%xmm12 .byte 68,15,41,100,36,200 // movaps %xmm12,-0x38(%rsp) .byte 68,15,40,221 // movaps %xmm5,%xmm11 .byte 68,15,41,92,36,216 // movaps %xmm11,-0x28(%rsp) .byte 68,15,40,212 // movaps %xmm4,%xmm10 .byte 68,15,41,84,36,232 // movaps %xmm10,-0x18(%rsp) .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,84,36,184 // movaps %xmm2,-0x48(%rsp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,40,240 // movaps %xmm8,%xmm14 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 68,15,89,244 // mulps %xmm4,%xmm14 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,40,13,59,75,0,0 // movaps 0x4b3b(%rip),%xmm9 # 5e90 <_sk_callback_sse41+0x33f> .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 65,15,89,249 // mulps %xmm9,%xmm7 .byte 68,15,40,21,59,75,0,0 // movaps 0x4b3b(%rip),%xmm10 # 5ea0 <_sk_callback_sse41+0x34f> .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,56,75,0,0 // movaps 0x4b38(%rip),%xmm11 # 5eb0 <_sk_callback_sse41+0x35f> .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 68,15,88,235 // addps %xmm3,%xmm13 .byte 65,15,40,222 // movaps %xmm14,%xmm3 .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 65,15,89,250 // mulps %xmm10,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 68,15,89,238 // mulps %xmm6,%xmm13 .byte 68,15,92,235 // subps %xmm3,%xmm13 .byte 69,15,88,245 // addps %xmm13,%xmm14 .byte 65,15,88,205 // addps %xmm13,%xmm1 .byte 68,15,88,232 // addps %xmm0,%xmm13 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,93,197 // minps %xmm13,%xmm0 .byte 65,15,40,222 // movaps %xmm14,%xmm3 .byte 15,93,216 // minps %xmm0,%xmm3 .byte 69,15,89,206 // mulps %xmm14,%xmm9 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,88,209 // addps %xmm9,%xmm10 .byte 69,15,89,221 // mulps %xmm13,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,194,203,2 // cmpleps %xmm3,%xmm9 .byte 69,15,40,230 // movaps %xmm14,%xmm12 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 65,15,40,251 // movaps %xmm11,%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 68,15,94,231 // divps %xmm7,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,69,15,56,20,230 // blendvps %xmm0,%xmm14,%xmm12 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,95,197 // maxps %xmm13,%xmm0 .byte 65,15,40,214 // movaps %xmm14,%xmm2 .byte 15,95,208 // maxps %xmm0,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,194,210,1 // cmpltps %xmm2,%xmm10 .byte 69,15,40,244 // movaps %xmm12,%xmm14 .byte 69,15,92,243 // subps %xmm11,%xmm14 .byte 68,15,40,251 // movaps %xmm3,%xmm15 .byte 69,15,92,251 // subps %xmm11,%xmm15 .byte 69,15,89,247 // mulps %xmm15,%xmm14 .byte 65,15,92,211 // subps %xmm11,%xmm2 .byte 68,15,94,242 // divps %xmm2,%xmm14 .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,69,15,56,20,230 // blendvps %xmm0,%xmm14,%xmm12 .byte 68,15,40,241 // movaps %xmm1,%xmm14 .byte 69,15,92,243 // subps %xmm11,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 68,15,94,247 // divps %xmm7,%xmm14 .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,68,15,56,20,241 // blendvps %xmm0,%xmm1,%xmm14 .byte 65,15,40,206 // movaps %xmm14,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,89,207 // mulps %xmm15,%xmm1 .byte 15,94,202 // divps %xmm2,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,68,15,56,20,241 // blendvps %xmm0,%xmm1,%xmm14 .byte 65,15,40,205 // movaps %xmm13,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 15,94,207 // divps %xmm7,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,205 // blendvps %xmm0,%xmm13,%xmm1 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 65,15,92,251 // subps %xmm11,%xmm7 .byte 65,15,89,255 // mulps %xmm15,%xmm7 .byte 15,94,250 // divps %xmm2,%xmm7 .byte 65,15,88,251 // addps %xmm11,%xmm7 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,15,56,20,207 // blendvps %xmm0,%xmm7,%xmm1 .byte 68,15,40,13,244,73,0,0 // movaps 0x49f4(%rip),%xmm9 # 5ec0 <_sk_callback_sse41+0x36f> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,89,68,36,184 // mulps -0x48(%rsp),%xmm0 .byte 68,15,92,206 // subps %xmm6,%xmm9 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 68,15,95,226 // maxps %xmm2,%xmm12 .byte 68,15,95,242 // maxps %xmm2,%xmm14 .byte 15,95,202 // maxps %xmm2,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,40,100,36,232 // movaps -0x18(%rsp),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 69,15,88,196 // addps %xmm12,%xmm8 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,40,116,36,216 // movaps -0x28(%rsp),%xmm6 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 68,15,88,210 // addps %xmm2,%xmm10 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 15,40,84,36,200 // movaps -0x38(%rsp),%xmm2 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,88,201 // addps %xmm1,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_luminosity_sse41 .globl _sk_luminosity_sse41 FUNCTION(_sk_luminosity_sse41) _sk_luminosity_sse41: .byte 15,41,116,36,200 // movaps %xmm6,-0x38(%rsp) .byte 15,41,108,36,232 // movaps %xmm5,-0x18(%rsp) .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 68,15,41,68,36,216 // movaps %xmm8,-0x28(%rsp) .byte 15,41,84,36,184 // movaps %xmm2,-0x48(%rsp) .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 68,15,40,219 // movaps %xmm3,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 68,15,40,5,76,73,0,0 // movaps 0x494c(%rip),%xmm8 # 5ed0 <_sk_callback_sse41+0x37f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 68,15,40,21,80,73,0,0 // movaps 0x4950(%rip),%xmm10 # 5ee0 <_sk_callback_sse41+0x38f> .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,78,73,0,0 // movaps 0x494e(%rip),%xmm12 # 5ef0 <_sk_callback_sse41+0x39f> .byte 68,15,40,242 // movaps %xmm2,%xmm14 .byte 69,15,89,244 // mulps %xmm12,%xmm14 .byte 68,15,88,245 // addps %xmm5,%xmm14 .byte 65,15,40,235 // movaps %xmm11,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 65,15,89,236 // mulps %xmm12,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 68,15,89,247 // mulps %xmm7,%xmm14 .byte 68,15,92,245 // subps %xmm5,%xmm14 .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 68,15,88,240 // addps %xmm0,%xmm14 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,93,198 // minps %xmm14,%xmm0 .byte 65,15,40,235 // movaps %xmm11,%xmm5 .byte 15,93,232 // minps %xmm0,%xmm5 .byte 69,15,89,195 // mulps %xmm11,%xmm8 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,208 // addps %xmm8,%xmm10 .byte 69,15,89,230 // mulps %xmm14,%xmm12 .byte 69,15,88,226 // addps %xmm10,%xmm12 .byte 69,15,87,210 // xorps %xmm10,%xmm10 .byte 68,15,194,213,2 // cmpleps %xmm5,%xmm10 .byte 69,15,40,235 // movaps %xmm11,%xmm13 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 65,15,40,244 // movaps %xmm12,%xmm6 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 68,15,94,238 // divps %xmm6,%xmm13 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,69,15,56,20,235 // blendvps %xmm0,%xmm11,%xmm13 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,95,198 // maxps %xmm14,%xmm0 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 15,95,208 // maxps %xmm0,%xmm2 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 68,15,40,221 // movaps %xmm5,%xmm11 .byte 68,15,194,218,1 // cmpltps %xmm2,%xmm11 .byte 69,15,40,197 // movaps %xmm13,%xmm8 .byte 69,15,92,196 // subps %xmm12,%xmm8 .byte 68,15,40,253 // movaps %xmm5,%xmm15 .byte 69,15,92,252 // subps %xmm12,%xmm15 .byte 69,15,89,199 // mulps %xmm15,%xmm8 .byte 65,15,92,212 // subps %xmm12,%xmm2 .byte 68,15,94,194 // divps %xmm2,%xmm8 .byte 69,15,88,196 // addps %xmm12,%xmm8 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 102,69,15,56,20,232 // blendvps %xmm0,%xmm8,%xmm13 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 69,15,92,196 // subps %xmm12,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,94,198 // divps %xmm6,%xmm8 .byte 69,15,88,196 // addps %xmm12,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,207 // mulps %xmm15,%xmm9 .byte 68,15,94,202 // divps %xmm2,%xmm9 .byte 69,15,88,204 // addps %xmm12,%xmm9 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 69,15,40,206 // movaps %xmm14,%xmm9 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,204 // mulps %xmm12,%xmm9 .byte 68,15,94,206 // divps %xmm6,%xmm9 .byte 69,15,88,204 // addps %xmm12,%xmm9 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,69,15,56,20,206 // blendvps %xmm0,%xmm14,%xmm9 .byte 65,15,40,241 // movaps %xmm9,%xmm6 .byte 65,15,92,244 // subps %xmm12,%xmm6 .byte 65,15,89,247 // mulps %xmm15,%xmm6 .byte 15,94,242 // divps %xmm2,%xmm6 .byte 65,15,88,244 // addps %xmm12,%xmm6 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 102,68,15,56,20,206 // blendvps %xmm0,%xmm6,%xmm9 .byte 15,40,5,4,72,0,0 // movaps 0x4804(%rip),%xmm0 # 5f00 <_sk_callback_sse41+0x3af> .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,89,84,36,184 // mulps -0x48(%rsp),%xmm2 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 68,15,95,237 // maxps %xmm5,%xmm13 .byte 68,15,95,197 // maxps %xmm5,%xmm8 .byte 68,15,95,205 // maxps %xmm5,%xmm9 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 68,15,40,84,36,216 // movaps -0x28(%rsp),%xmm10 .byte 65,15,89,234 // mulps %xmm10,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 65,15,88,229 // addps %xmm13,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,40,108,36,232 // movaps -0x18(%rsp),%xmm5 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 15,40,116,36,200 // movaps -0x38(%rsp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,226 // movaps %xmm10,%xmm4 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_sse41 .globl _sk_srcover_rgba_8888_sse41 FUNCTION(_sk_srcover_rgba_8888_sse41) _sk_srcover_rgba_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,217,0,0,0 // jne 1850 <_sk_srcover_rgba_8888_sse41+0xe7> .byte 243,15,111,60,144 // movdqu (%rax,%rdx,4),%xmm7 .byte 77,133,192 // test %r8,%r8 .byte 102,15,111,37,137,71,0,0 // movdqa 0x4789(%rip),%xmm4 # 5f10 <_sk_callback_sse41+0x3bf> .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,133,71,0,0 // pshufb 0x4785(%rip),%xmm5 # 5f20 <_sk_callback_sse41+0x3cf> .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,15,56,0,53,133,71,0,0 // pshufb 0x4785(%rip),%xmm6 # 5f30 <_sk_callback_sse41+0x3df> .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,130,71,0,0 // movaps 0x4782(%rip),%xmm8 # 5f40 <_sk_callback_sse41+0x3ef> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,40,37,134,71,0,0 // movaps 0x4786(%rip),%xmm12 # 5f50 <_sk_callback_sse41+0x3ff> .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,85 // jne 188c <_sk_srcover_rgba_8888_sse41+0x123> .byte 243,15,127,4,144 // movdqu %xmm0,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,87 // je 18b4 <_sk_srcover_rgba_8888_sse41+0x14b> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 187c <_sk_srcover_rgba_8888_sse41+0x113> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,11,255,255,255 // jne 177c <_sk_srcover_rgba_8888_sse41+0x13> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,15,126,36,144 // movq (%rax,%rdx,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,240,254,255,255 // jmpq 177c <_sk_srcover_rgba_8888_sse41+0x13> .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,37 // je 18be <_sk_srcover_rgba_8888_sse41+0x155> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,14 // je 18ad <_sk_srcover_rgba_8888_sse41+0x144> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,151 // jne 183c <_sk_srcover_rgba_8888_sse41+0xd3> .byte 102,15,58,22,68,144,8,2 // pextrd $0x2,%xmm0,0x8(%rax,%rdx,4) .byte 102,15,214,4,144 // movq %xmm0,(%rax,%rdx,4) .byte 235,136 // jmp 183c <_sk_srcover_rgba_8888_sse41+0xd3> .byte 102,15,110,60,144 // movd (%rax,%rdx,4),%xmm7 .byte 233,190,254,255,255 // jmpq 177c <_sk_srcover_rgba_8888_sse41+0x13> .byte 102,15,126,4,144 // movd %xmm0,(%rax,%rdx,4) .byte 233,116,255,255,255 // jmpq 183c <_sk_srcover_rgba_8888_sse41+0xd3> HIDDEN _sk_clamp_0_sse41 .globl _sk_clamp_0_sse41 FUNCTION(_sk_clamp_0_sse41) _sk_clamp_0_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 65,15,95,192 // maxps %xmm8,%xmm0 .byte 65,15,95,200 // maxps %xmm8,%xmm1 .byte 65,15,95,208 // maxps %xmm8,%xmm2 .byte 65,15,95,216 // maxps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_1_sse41 .globl _sk_clamp_1_sse41 FUNCTION(_sk_clamp_1_sse41) _sk_clamp_1_sse41: .byte 68,15,40,5,120,70,0,0 // movaps 0x4678(%rip),%xmm8 # 5f60 <_sk_callback_sse41+0x40f> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 65,15,93,208 // minps %xmm8,%xmm2 .byte 65,15,93,216 // minps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_sse41 .globl _sk_clamp_a_sse41 FUNCTION(_sk_clamp_a_sse41) _sk_clamp_a_sse41: .byte 15,93,29,109,70,0,0 // minps 0x466d(%rip),%xmm3 # 5f70 <_sk_callback_sse41+0x41f> .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_dst_sse41 .globl _sk_clamp_a_dst_sse41 FUNCTION(_sk_clamp_a_dst_sse41) _sk_clamp_a_dst_sse41: .byte 15,93,61,105,70,0,0 // minps 0x4669(%rip),%xmm7 # 5f80 <_sk_callback_sse41+0x42f> .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,93,239 // minps %xmm7,%xmm5 .byte 15,93,247 // minps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse41 .globl _sk_set_rgb_sse41 FUNCTION(_sk_set_rgb_sse41) _sk_set_rgb_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse41 .globl _sk_swap_rb_sse41 FUNCTION(_sk_swap_rb_sse41) _sk_swap_rb_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse41 .globl _sk_move_src_dst_sse41 FUNCTION(_sk_move_src_dst_sse41) _sk_move_src_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse41 .globl _sk_move_dst_src_sse41 FUNCTION(_sk_move_dst_src_sse41) _sk_move_dst_src_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse41 .globl _sk_premul_sse41 FUNCTION(_sk_premul_sse41) _sk_premul_sse41: .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_sse41 .globl _sk_unpremul_sse41 FUNCTION(_sk_unpremul_sse41) _sk_unpremul_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,13,4,70,0,0 // movaps 0x4604(%rip),%xmm9 # 5f90 <_sk_callback_sse41+0x43f> .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 .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 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_sse41 .globl _sk_from_srgb_sse41 FUNCTION(_sk_from_srgb_sse41) _sk_from_srgb_sse41: .byte 68,15,40,29,239,69,0,0 // movaps 0x45ef(%rip),%xmm11 # 5fa0 <_sk_callback_sse41+0x44f> .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,231,69,0,0 // movaps 0x45e7(%rip),%xmm12 # 5fb0 <_sk_callback_sse41+0x45f> .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,40,45,231,69,0,0 // movaps 0x45e7(%rip),%xmm13 # 5fc0 <_sk_callback_sse41+0x46f> .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 68,15,40,53,231,69,0,0 // movaps 0x45e7(%rip),%xmm14 # 5fd0 <_sk_callback_sse41+0x47f> .byte 69,15,88,198 // addps %xmm14,%xmm8 .byte 68,15,40,61,235,69,0,0 // movaps 0x45eb(%rip),%xmm15 # 5fe0 <_sk_callback_sse41+0x48f> .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 69,15,89,204 // mulps %xmm12,%xmm9 .byte 69,15,88,205 // addps %xmm13,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 65,15,194,207,1 // cmpltps %xmm15,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 102,69,15,56,20,202 // blendvps %xmm0,%xmm10,%xmm9 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 68,15,40,210 // movaps %xmm2,%xmm10 .byte 69,15,89,210 // mulps %xmm10,%xmm10 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 65,15,194,215,1 // cmpltps %xmm15,%xmm2 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,69,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_dst_sse41 .globl _sk_from_srgb_dst_sse41 FUNCTION(_sk_from_srgb_dst_sse41) _sk_from_srgb_dst_sse41: .byte 68,15,40,204 // movaps %xmm4,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,29,118,69,0,0 // movaps 0x4576(%rip),%xmm11 # 5ff0 <_sk_callback_sse41+0x49f> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,37,111,69,0,0 // movaps 0x456f(%rip),%xmm12 # 6000 <_sk_callback_sse41+0x4af> .byte 65,15,89,228 // mulps %xmm12,%xmm4 .byte 68,15,40,45,115,69,0,0 // movaps 0x4573(%rip),%xmm13 # 6010 <_sk_callback_sse41+0x4bf> .byte 65,15,88,229 // addps %xmm13,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 68,15,40,53,116,69,0,0 // movaps 0x4574(%rip),%xmm14 # 6020 <_sk_callback_sse41+0x4cf> .byte 65,15,88,230 // addps %xmm14,%xmm4 .byte 68,15,40,61,120,69,0,0 // movaps 0x4578(%rip),%xmm15 # 6030 <_sk_callback_sse41+0x4df> .byte 69,15,194,207,1 // cmpltps %xmm15,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,226 // blendvps %xmm0,%xmm10,%xmm4 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,205 // movaps %xmm5,%xmm9 .byte 69,15,89,204 // mulps %xmm12,%xmm9 .byte 69,15,88,205 // addps %xmm13,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 65,15,194,239,1 // cmpltps %xmm15,%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,69,15,56,20,202 // blendvps %xmm0,%xmm10,%xmm9 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 68,15,40,214 // movaps %xmm6,%xmm10 .byte 69,15,89,210 // mulps %xmm10,%xmm10 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 65,15,194,247,1 // cmpltps %xmm15,%xmm6 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 102,69,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,233 // movaps %xmm9,%xmm5 .byte 65,15,40,242 // movaps %xmm10,%xmm6 .byte 255,224 // jmpq *%rax HIDDEN _sk_to_srgb_sse41 .globl _sk_to_srgb_sse41 FUNCTION(_sk_to_srgb_sse41) _sk_to_srgb_sse41: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 68,15,82,192 // rsqrtps %xmm0,%xmm8 .byte 68,15,40,29,236,68,0,0 // movaps 0x44ec(%rip),%xmm11 # 6040 <_sk_callback_sse41+0x4ef> .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 68,15,40,37,236,68,0,0 // movaps 0x44ec(%rip),%xmm12 # 6050 <_sk_callback_sse41+0x4ff> .byte 69,15,40,248 // movaps %xmm8,%xmm15 .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 68,15,40,21,236,68,0,0 // movaps 0x44ec(%rip),%xmm10 # 6060 <_sk_callback_sse41+0x50f> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,248 // mulps %xmm8,%xmm15 .byte 68,15,40,45,236,68,0,0 // movaps 0x44ec(%rip),%xmm13 # 6070 <_sk_callback_sse41+0x51f> .byte 69,15,88,253 // addps %xmm13,%xmm15 .byte 68,15,40,53,240,68,0,0 // movaps 0x44f0(%rip),%xmm14 # 6080 <_sk_callback_sse41+0x52f> .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,236,68,0,0 // movaps 0x44ec(%rip),%xmm15 # 6090 <_sk_callback_sse41+0x53f> .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 68,15,82,202 // rsqrtps %xmm2,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,88,197 // addps %xmm13,%xmm0 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 69,15,83,201 // rcpps %xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,194,215,1 // cmpltps %xmm15,%xmm2 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,68,15,56,20,201 // blendvps %xmm0,%xmm1,%xmm9 .byte 15,82,195 // rsqrtps %xmm3,%xmm0 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 69,15,88,226 // addps %xmm10,%xmm12 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 65,15,88,198 // addps %xmm14,%xmm0 .byte 68,15,83,208 // rcpps %xmm0,%xmm10 .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 65,15,194,223,1 // cmpltps %xmm15,%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 102,69,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_sse41 .globl _sk_rgb_to_hsl_sse41 FUNCTION(_sk_rgb_to_hsl_sse41) _sk_rgb_to_hsl_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 69,15,95,217 // maxps %xmm9,%xmm11 .byte 68,15,95,218 // maxps %xmm2,%xmm11 .byte 69,15,40,224 // movaps %xmm8,%xmm12 .byte 69,15,93,225 // minps %xmm9,%xmm12 .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,57,68,0,0 // movaps 0x4439(%rip),%xmm14 # 60a0 <_sk_callback_sse41+0x54f> .byte 68,15,94,241 // divps %xmm1,%xmm14 .byte 69,15,40,211 // movaps %xmm11,%xmm10 .byte 69,15,194,208,0 // cmpeqps %xmm8,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 69,15,40,249 // movaps %xmm9,%xmm15 .byte 68,15,194,250,1 // cmpltps %xmm2,%xmm15 .byte 68,15,84,61,32,68,0,0 // andps 0x4420(%rip),%xmm15 # 60b0 <_sk_callback_sse41+0x55f> .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,19,68,0,0 // movaps 0x4413(%rip),%xmm13 # 60c0 <_sk_callback_sse41+0x56f> .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,15,68,0,0 // addps 0x440f(%rip),%xmm8 # 60d0 <_sk_callback_sse41+0x57f> .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,7,68,0,0 // mulps 0x4407(%rip),%xmm8 # 60e0 <_sk_callback_sse41+0x58f> .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,251,67,0,0 // movaps 0x43fb(%rip),%xmm0 # 60f0 <_sk_callback_sse41+0x59f> .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,194,194,1 // cmpltps %xmm2,%xmm0 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 102,69,15,56,20,221 // blendvps %xmm0,%xmm13,%xmm11 .byte 65,15,94,203 // divps %xmm11,%xmm1 .byte 65,15,84,201 // andps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_hsl_to_rgb_sse41 .globl _sk_hsl_to_rgb_sse41 FUNCTION(_sk_hsl_to_rgb_sse41) _sk_hsl_to_rgb_sse41: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,41,108,36,200 // movaps %xmm5,-0x38(%rsp) .byte 15,41,100,36,184 // movaps %xmm4,-0x48(%rsp) .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 68,15,40,13,193,67,0,0 // movaps 0x43c1(%rip),%xmm9 # 6100 <_sk_callback_sse41+0x5af> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,194,194,2 // cmpleps %xmm2,%xmm0 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 102,15,56,20,235 // blendvps %xmm0,%xmm3,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 15,41,84,36,152 // movaps %xmm2,-0x68(%rsp) .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 68,15,92,197 // subps %xmm5,%xmm8 .byte 68,15,40,53,156,67,0,0 // movaps 0x439c(%rip),%xmm14 # 6110 <_sk_callback_sse41+0x5bf> .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,149,67,0,0 // movaps 0x4395(%rip),%xmm11 # 6120 <_sk_callback_sse41+0x5cf> .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,142,67,0,0 // movaps 0x438e(%rip),%xmm7 # 6130 <_sk_callback_sse41+0x5df> .byte 69,15,40,238 // movaps %xmm14,%xmm13 .byte 68,15,89,239 // mulps %xmm7,%xmm13 .byte 15,40,29,143,67,0,0 // movaps 0x438f(%rip),%xmm3 # 6140 <_sk_callback_sse41+0x5ef> .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 69,15,88,224 // addps %xmm8,%xmm12 .byte 102,69,15,56,20,224 // blendvps %xmm0,%xmm8,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,198,2 // cmpleps %xmm14,%xmm0 .byte 68,15,40,253 // movaps %xmm5,%xmm15 .byte 102,69,15,56,20,252 // blendvps %xmm0,%xmm12,%xmm15 .byte 68,15,40,37,110,67,0,0 // movaps 0x436e(%rip),%xmm12 # 6150 <_sk_callback_sse41+0x5ff> .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 65,15,194,198,2 // cmpleps %xmm14,%xmm0 .byte 68,15,89,238 // mulps %xmm6,%xmm13 .byte 69,15,88,232 // addps %xmm8,%xmm13 .byte 102,69,15,56,20,239 // blendvps %xmm0,%xmm15,%xmm13 .byte 69,15,87,246 // xorps %xmm14,%xmm14 .byte 68,15,194,241,0 // cmpeqps %xmm1,%xmm14 .byte 65,15,40,198 // movaps %xmm14,%xmm0 .byte 102,68,15,56,20,234 // blendvps %xmm0,%xmm2,%xmm13 .byte 102,65,15,58,8,194,1 // roundps $0x1,%xmm10,%xmm0 .byte 69,15,40,250 // movaps %xmm10,%xmm15 .byte 68,15,92,248 // subps %xmm0,%xmm15 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,194,199,2 // cmpleps %xmm15,%xmm0 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,208 // addps %xmm8,%xmm2 .byte 102,65,15,56,20,208 // blendvps %xmm0,%xmm8,%xmm2 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,199,2 // cmpleps %xmm15,%xmm0 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 102,15,56,20,226 // blendvps %xmm0,%xmm2,%xmm4 .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 65,15,194,199,2 // cmpleps %xmm15,%xmm0 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 102,15,56,20,204 // blendvps %xmm0,%xmm4,%xmm1 .byte 65,15,40,198 // movaps %xmm14,%xmm0 .byte 15,40,84,36,152 // movaps -0x68(%rsp),%xmm2 .byte 102,15,56,20,202 // blendvps %xmm0,%xmm2,%xmm1 .byte 68,15,88,21,230,66,0,0 // addps 0x42e6(%rip),%xmm10 # 6160 <_sk_callback_sse41+0x60f> .byte 102,65,15,58,8,194,1 // roundps $0x1,%xmm10,%xmm0 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 69,15,194,218,2 // cmpleps %xmm10,%xmm11 .byte 65,15,89,250 // mulps %xmm10,%xmm7 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 102,65,15,56,20,216 // blendvps %xmm0,%xmm8,%xmm3 .byte 69,15,194,202,2 // cmpleps %xmm10,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,15,56,20,235 // blendvps %xmm0,%xmm3,%xmm5 .byte 69,15,194,226,2 // cmpleps %xmm10,%xmm12 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 68,15,88,199 // addps %xmm7,%xmm8 .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 102,68,15,56,20,197 // blendvps %xmm0,%xmm5,%xmm8 .byte 65,15,40,198 // movaps %xmm14,%xmm0 .byte 102,68,15,56,20,194 // blendvps %xmm0,%xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,197 // movaps %xmm13,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,100,36,184 // movaps -0x48(%rsp),%xmm4 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,40,116,36,216 // movaps -0x28(%rsp),%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse41 .globl _sk_scale_1_float_sse41 FUNCTION(_sk_scale_1_float_sse41) _sk_scale_1_float_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse41 .globl _sk_scale_u8_sse41 FUNCTION(_sk_scale_u8_sse41) _sk_scale_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,52 // jne 1f53 <_sk_scale_u8_sse41+0x3e> .byte 102,69,15,56,49,4,18 // pmovzxbd (%r10,%rdx,1),%xmm8 .byte 102,68,15,219,5,65,66,0,0 // pand 0x4241(%rip),%xmm8 # 6170 <_sk_callback_sse41+0x61f> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,69,66,0,0 // mulps 0x4245(%rip),%xmm8 # 6180 <_sk_callback_sse41+0x62f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,59 // je 1f9b <_sk_scale_u8_sse41+0x86> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 1f82 <_sk_scale_u8_sse41+0x6d> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,181 // jne 1f26 <_sk_scale_u8_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,69,15,56,49,201 // pmovzxbd %xmm9,%xmm9 .byte 102,69,15,58,14,193,15 // pblendw $0xf,%xmm9,%xmm8 .byte 235,139 // jmp 1f26 <_sk_scale_u8_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,124,255,255,255 // jmpq 1f26 <_sk_scale_u8_sse41+0x11> HIDDEN _sk_lerp_1_float_sse41 .globl _sk_lerp_1_float_sse41 FUNCTION(_sk_lerp_1_float_sse41) _sk_lerp_1_float_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_sse41 .globl _sk_lerp_u8_sse41 FUNCTION(_sk_lerp_u8_sse41) _sk_lerp_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,72 // jne 2034 <_sk_lerp_u8_sse41+0x52> .byte 102,69,15,56,49,4,18 // pmovzxbd (%r10,%rdx,1),%xmm8 .byte 102,68,15,219,5,148,65,0,0 // pand 0x4194(%rip),%xmm8 # 6190 <_sk_callback_sse41+0x63f> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,152,65,0,0 // mulps 0x4198(%rip),%xmm8 # 61a0 <_sk_callback_sse41+0x64f> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,62 // je 207f <_sk_lerp_u8_sse41+0x9d> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 2063 <_sk_lerp_u8_sse41+0x81> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,161 // jne 1ff3 <_sk_lerp_u8_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,69,15,56,49,201 // pmovzxbd %xmm9,%xmm9 .byte 102,69,15,58,14,193,15 // pblendw $0xf,%xmm9,%xmm8 .byte 233,116,255,255,255 // jmpq 1ff3 <_sk_lerp_u8_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,101,255,255,255 // jmpq 1ff3 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,152,0,0,0 // jne 2134 <_sk_lerp_565_sse41+0xa6> .byte 102,69,15,56,51,20,82 // pmovzxwd (%r10,%rdx,2),%xmm10 .byte 102,68,15,111,5,4,65,0,0 // movdqa 0x4104(%rip),%xmm8 # 61b0 <_sk_callback_sse41+0x65f> .byte 102,69,15,219,194 // pand %xmm10,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,3,65,0,0 // mulps 0x4103(%rip),%xmm8 # 61c0 <_sk_callback_sse41+0x66f> .byte 102,68,15,111,13,10,65,0,0 // movdqa 0x410a(%rip),%xmm9 # 61d0 <_sk_callback_sse41+0x67f> .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 .byte 68,15,89,13,9,65,0,0 // mulps 0x4109(%rip),%xmm9 # 61e0 <_sk_callback_sse41+0x68f> .byte 102,68,15,219,21,16,65,0,0 // pand 0x4110(%rip),%xmm10 # 61f0 <_sk_callback_sse41+0x69f> .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 68,15,89,21,20,65,0,0 // mulps 0x4114(%rip),%xmm10 # 6200 <_sk_callback_sse41+0x6af> .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 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 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 15,88,223 // addps %xmm7,%xmm3 .byte 68,15,95,203 // maxps %xmm3,%xmm9 .byte 69,15,95,193 // maxps %xmm9,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,62 // je 217f <_sk_lerp_565_sse41+0xf1> .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,27 // je 2167 <_sk_lerp_565_sse41+0xd9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,77,255,255,255 // jne 20a3 <_sk_lerp_565_sse41+0x15> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,208,69 // pshufd $0x45,%xmm8,%xmm10 .byte 102,69,15,110,4,82 // movd (%r10,%rdx,2),%xmm8 .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 .byte 102,69,15,58,14,208,15 // pblendw $0xf,%xmm8,%xmm10 .byte 233,36,255,255,255 // jmpq 20a3 <_sk_lerp_565_sse41+0x15> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,68,15,110,208 // movd %eax,%xmm10 .byte 233,21,255,255,255 // jmpq 20a3 <_sk_lerp_565_sse41+0x15> HIDDEN _sk_load_tables_sse41 .globl _sk_load_tables_sse41 FUNCTION(_sk_load_tables_sse41) _sk_load_tables_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 77,133,192 // test %r8,%r8 .byte 15,133,24,1,0,0 // jne 22b4 <_sk_load_tables_sse41+0x126> .byte 243,69,15,111,4,145 // movdqu (%r9,%rdx,4),%xmm8 .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,15,111,5,97,64,0,0 // movdqa 0x4061(%rip),%xmm0 # 6210 <_sk_callback_sse41+0x6bf> .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,73,15,58,22,193,1 // pextrq $0x1,%xmm0,%r9 .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 69,15,182,241 // movzbl %r9b,%r14d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 .byte 102,66,15,58,33,4,19,16 // insertps $0x10,(%rbx,%r10,1),%xmm0 .byte 102,66,15,58,33,4,179,32 // insertps $0x20,(%rbx,%r14,4),%xmm0 .byte 102,66,15,58,33,4,11,48 // insertps $0x30,(%rbx,%r9,1),%xmm0 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 .byte 102,15,56,0,13,28,64,0,0 // pshufb 0x401c(%rip),%xmm1 # 6220 <_sk_callback_sse41+0x6cf> .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,217 // movzbl %r9b,%r11d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 243,67,15,16,12,151 // movss (%r15,%r10,4),%xmm1 .byte 102,65,15,58,33,12,31,16 // insertps $0x10,(%r15,%rbx,1),%xmm1 .byte 243,67,15,16,20,159 // movss (%r15,%r11,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,15 // movss (%r15,%r9,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,15,56,0,21,216,63,0,0 // pshufb 0x3fd8(%rip),%xmm2 # 6230 <_sk_callback_sse41+0x6df> .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,219 // movzbl %bl,%r11d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 .byte 102,65,15,58,33,20,1,16 // insertps $0x10,(%r9,%rax,1),%xmm2 .byte 243,67,15,16,28,153 // movss (%r9,%r11,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,25 // movss (%r9,%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,149,63,0,0 // mulps 0x3f95(%rip),%xmm3 # 6240 <_sk_callback_sse41+0x6ef> .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 .byte 69,137,194 // mov %r8d,%r10d .byte 65,128,226,3 // and $0x3,%r10b .byte 65,128,250,1 // cmp $0x1,%r10b .byte 116,52 // je 22f5 <_sk_load_tables_sse41+0x167> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,250,2 // cmp $0x2,%r10b .byte 116,23 // je 22e3 <_sk_load_tables_sse41+0x155> .byte 65,128,250,3 // cmp $0x3,%r10b .byte 15,133,204,254,255,255 // jne 21a2 <_sk_load_tables_sse41+0x14> .byte 102,65,15,110,68,145,8 // movd 0x8(%r9,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,126,4,145 // movq (%r9,%rdx,4),%xmm0 .byte 102,68,15,58,14,192,15 // pblendw $0xf,%xmm0,%xmm8 .byte 233,173,254,255,255 // jmpq 21a2 <_sk_load_tables_sse41+0x14> .byte 102,69,15,110,4,145 // movd (%r9,%rdx,4),%xmm8 .byte 233,162,254,255,255 // jmpq 21a2 <_sk_load_tables_sse41+0x14> HIDDEN _sk_load_tables_u16_be_sse41 .globl _sk_load_tables_u16_be_sse41 FUNCTION(_sk_load_tables_u16_be_sse41) _sk_load_tables_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,99,1,0,0 // jne 2479 <_sk_load_tables_u16_be_sse41+0x179> .byte 102,67,15,16,4,81 // movupd (%r9,%r10,2),%xmm0 .byte 243,67,15,111,76,81,16 // movdqu 0x10(%r9,%r10,2),%xmm1 .byte 65,87 // push %r15 .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,3,63,0,0 // movdqa 0x3f03(%rip),%xmm8 # 6250 <_sk_callback_sse41+0x6ff> .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,73,15,126,194 // movq %xmm0,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 69,15,182,241 // movzbl %r9b,%r14d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 .byte 102,66,15,58,33,4,19,16 // insertps $0x10,(%rbx,%r10,1),%xmm0 .byte 243,66,15,16,20,179 // movss (%rbx,%r14,4),%xmm2 .byte 102,15,58,33,194,32 // insertps $0x20,%xmm2,%xmm0 .byte 243,66,15,16,20,11 // movss (%rbx,%r9,1),%xmm2 .byte 102,15,58,33,194,48 // insertps $0x30,%xmm2,%xmm0 .byte 102,15,56,0,13,178,62,0,0 // pshufb 0x3eb2(%rip),%xmm1 # 6260 <_sk_callback_sse41+0x70f> .byte 102,15,56,51,201 // pmovzxwd %xmm1,%xmm1 .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,217 // movzbl %r9b,%r11d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 243,67,15,16,12,151 // movss (%r15,%r10,4),%xmm1 .byte 102,65,15,58,33,12,31,16 // insertps $0x10,(%r15,%rbx,1),%xmm1 .byte 243,67,15,16,20,159 // movss (%r15,%r11,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,15 // movss (%r15,%r9,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,65,15,56,51,208 // pmovzxwd %xmm8,%xmm2 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,219 // movzbl %bl,%r11d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 .byte 102,65,15,58,33,20,1,16 // insertps $0x10,(%r9,%rax,1),%xmm2 .byte 243,67,15,16,28,153 // movss (%r9,%r11,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,25 // movss (%r9,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 102,65,15,112,217,78 // pshufd $0x4e,%xmm9,%xmm3 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,216 // por %xmm8,%xmm3 .byte 102,15,56,51,219 // pmovzxwd %xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,0,62,0,0 // mulps 0x3e00(%rip),%xmm3 # 6270 <_sk_callback_sse41+0x71f> .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 .byte 242,67,15,16,4,81 // movsd (%r9,%r10,2),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 2492 <_sk_load_tables_u16_be_sse41+0x192> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,145,254,255,255 // jmpq 2323 <_sk_load_tables_u16_be_sse41+0x23> .byte 102,67,15,22,68,81,8 // movhpd 0x8(%r9,%r10,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,124,254,255,255 // jb 2323 <_sk_load_tables_u16_be_sse41+0x23> .byte 243,67,15,126,76,81,16 // movq 0x10(%r9,%r10,2),%xmm1 .byte 233,112,254,255,255 // jmpq 2323 <_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,8 // mov (%rax),%r9 .byte 76,141,20,82 // lea (%rdx,%rdx,2),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,83,1,0,0 // jne 2618 <_sk_load_tables_rgb_u16_be_sse41+0x165> .byte 243,67,15,111,20,81 // movdqu (%r9,%r10,2),%xmm2 .byte 243,67,15,111,76,81,8 // movdqu 0x8(%r9,%r10,2),%xmm1 .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,65,15,115,217,6 // psrldq $0x6,%xmm9 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 65,87 // push %r15 .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,117,61,0,0 // movdqa 0x3d75(%rip),%xmm8 # 6280 <_sk_callback_sse41+0x72f> .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,73,15,126,194 // movq %xmm0,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 69,15,182,241 // movzbl %r9b,%r14d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 .byte 102,66,15,58,33,4,19,16 // insertps $0x10,(%rbx,%r10,1),%xmm0 .byte 243,66,15,16,28,179 // movss (%rbx,%r14,4),%xmm3 .byte 102,15,58,33,195,32 // insertps $0x20,%xmm3,%xmm0 .byte 243,66,15,16,28,11 // movss (%rbx,%r9,1),%xmm3 .byte 102,15,58,33,195,48 // insertps $0x30,%xmm3,%xmm0 .byte 102,15,56,0,13,36,61,0,0 // pshufb 0x3d24(%rip),%xmm1 # 6290 <_sk_callback_sse41+0x73f> .byte 102,15,56,51,201 // pmovzxwd %xmm1,%xmm1 .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,217 // movzbl %r9b,%r11d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 243,67,15,16,12,151 // movss (%r15,%r10,4),%xmm1 .byte 102,65,15,58,33,12,31,16 // insertps $0x10,(%r15,%rbx,1),%xmm1 .byte 243,67,15,16,28,159 // movss (%r15,%r11,4),%xmm3 .byte 102,15,58,33,203,32 // insertps $0x20,%xmm3,%xmm1 .byte 243,67,15,16,28,15 // movss (%r15,%r9,1),%xmm3 .byte 102,15,58,33,203,48 // insertps $0x30,%xmm3,%xmm1 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 102,65,15,105,209 // punpckhwd %xmm9,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,56,51,210 // pmovzxwd %xmm2,%xmm2 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,219 // movzbl %bl,%r11d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,145 // movss (%r9,%r10,4),%xmm2 .byte 102,65,15,58,33,20,1,16 // insertps $0x10,(%r9,%rax,1),%xmm2 .byte 243,67,15,16,28,153 // movss (%r9,%r11,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,25 // movss (%r9,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,143,60,0,0 // movaps 0x3c8f(%rip),%xmm3 # 62a0 <_sk_callback_sse41+0x74f> .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax .byte 102,67,15,110,20,81 // movd (%r9,%r10,2),%xmm2 .byte 102,67,15,196,84,81,4,2 // pinsrw $0x2,0x4(%r9,%r10,2),%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,14 // jne 263e <_sk_load_tables_rgb_u16_be_sse41+0x18b> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 233,173,254,255,255 // jmpq 24eb <_sk_load_tables_rgb_u16_be_sse41+0x38> .byte 102,71,15,110,76,81,6 // movd 0x6(%r9,%r10,2),%xmm9 .byte 102,71,15,196,76,81,10,2 // pinsrw $0x2,0xa(%r9,%r10,2),%xmm9 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,24 // jb 266f <_sk_load_tables_rgb_u16_be_sse41+0x1bc> .byte 102,67,15,110,76,81,12 // movd 0xc(%r9,%r10,2),%xmm1 .byte 102,67,15,196,76,81,16,2 // pinsrw $0x2,0x10(%r9,%r10,2),%xmm1 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,124,254,255,255 // jmpq 24eb <_sk_load_tables_rgb_u16_be_sse41+0x38> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,115,254,255,255 // jmpq 24eb <_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 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,39,60,0,0 // movaps 0x3c27(%rip),%xmm8 # 62b0 <_sk_callback_sse41+0x75f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,73,15,58,22,193,1 // pextrq $0x1,%xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,195 // movq %xmm0,%r11 .byte 69,137,222 // mov %r11d,%r14d .byte 73,193,235,32 // shr $0x20,%r11 .byte 76,139,32 // mov (%rax),%r12 .byte 76,139,120,8 // mov 0x8(%rax),%r15 .byte 102,67,15,58,32,4,52,0 // pinsrb $0x0,(%r12,%r14,1),%xmm0 .byte 102,67,15,58,32,4,28,1 // pinsrb $0x1,(%r12,%r11,1),%xmm0 .byte 67,15,182,28,20 // movzbl (%r12,%r10,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 .byte 67,15,182,28,12 // movzbl (%r12,%r9,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,216,59,0,0 // movaps 0x3bd8(%rip),%xmm9 # 62c0 <_sk_callback_sse41+0x76f> .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,203,1 // pextrq $0x1,%xmm1,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .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,31,0 // pinsrb $0x0,(%r15,%r11,1),%xmm1 .byte 102,67,15,58,32,12,23,1 // pinsrb $0x1,(%r15,%r10,1),%xmm1 .byte 71,15,182,12,15 // movzbl (%r15,%r9,1),%r9d .byte 102,65,15,58,32,201,2 // pinsrb $0x2,%r9d,%xmm1 .byte 65,15,182,28,31 // movzbl (%r15,%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,88,16 // mov 0x10(%rax),%r11 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 .byte 102,73,15,58,22,209,1 // pextrq $0x1,%xmm2,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,67,15,58,32,20,51,0 // pinsrb $0x0,(%r11,%r14,1),%xmm2 .byte 102,65,15,58,32,20,27,1 // pinsrb $0x1,(%r11,%rbx,1),%xmm2 .byte 67,15,182,28,19 // movzbl (%r11,%r10,1),%ebx .byte 102,15,58,32,211,2 // pinsrb $0x2,%ebx,%xmm2 .byte 67,15,182,28,11 // movzbl (%r11,%r9,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 76,139,80,24 // mov 0x18(%rax),%r10 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 102,15,91,219 // cvtps2dq %xmm3,%xmm3 .byte 102,72,15,58,22,219,1 // pextrq $0x1,%xmm3,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,72,15,126,216 // movq %xmm3,%rax .byte 65,137,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,67,15,58,32,28,26,0 // pinsrb $0x0,(%r10,%r11,1),%xmm3 .byte 102,65,15,58,32,28,2,1 // pinsrb $0x1,(%r10,%rax,1),%xmm3 .byte 67,15,182,4,10 // movzbl (%r10,%r9,1),%eax .byte 102,15,58,32,216,2 // pinsrb $0x2,%eax,%xmm3 .byte 65,15,182,4,26 // movzbl (%r10,%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 .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 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 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,72,24 // mov 0x18(%rax),%r9d .byte 65,255,201 // dec %r9d .byte 102,69,15,110,193 // movd %r9d,%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,73,15,58,22,193,1 // pextrq $0x1,%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 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,206 // mov %r9d,%r14d .byte 77,137,207 // mov %r9,%r15 .byte 73,193,239,32 // shr $0x20,%r15 .byte 76,139,32 // mov (%rax),%r12 .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 102,67,15,58,32,4,52,0 // pinsrb $0x0,(%r12,%r14,1),%xmm0 .byte 102,67,15,58,32,4,60,1 // pinsrb $0x1,(%r12,%r15,1),%xmm0 .byte 67,15,182,28,20 // movzbl (%r12,%r10,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 .byte 67,15,182,28,28 // movzbl (%r12,%r11,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,80,58,0,0 // movaps 0x3a50(%rip),%xmm9 # 62d0 <_sk_callback_sse41+0x77f> .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,203,1 // pextrq $0x1,%xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 69,137,222 // mov %r11d,%r14d .byte 73,193,235,32 // shr $0x20,%r11 .byte 102,67,15,58,32,12,49,0 // pinsrb $0x0,(%r9,%r14,1),%xmm1 .byte 102,67,15,58,32,12,25,1 // pinsrb $0x1,(%r9,%r11,1),%xmm1 .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 102,65,15,58,32,202,2 // pinsrb $0x2,%r10d,%xmm1 .byte 65,15,182,28,25 // movzbl (%r9,%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,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,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,67,15,58,32,20,26,0 // pinsrb $0x0,(%r10,%r11,1),%xmm2 .byte 102,65,15,58,32,20,2,1 // pinsrb $0x1,(%r10,%rax,1),%xmm2 .byte 67,15,182,4,10 // movzbl (%r10,%r9,1),%eax .byte 102,15,58,32,208,2 // pinsrb $0x2,%eax,%xmm2 .byte 65,15,182,4,26 // movzbl (%r10,%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 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse41 .globl _sk_table_r_sse41 FUNCTION(_sk_table_r_sse41) _sk_table_r_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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 243,65,15,16,4,153 // movss (%r9,%rbx,4),%xmm0 .byte 102,67,15,58,33,4,153,16 // insertps $0x10,(%r9,%r11,4),%xmm0 .byte 243,71,15,16,4,145 // movss (%r9,%r10,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 102,65,15,58,33,192,48 // insertps $0x30,%xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_sse41 .globl _sk_table_g_sse41 FUNCTION(_sk_table_g_sse41) _sk_table_g_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,65,15,16,12,153 // movss (%r9,%rbx,4),%xmm1 .byte 102,67,15,58,33,12,153,16 // insertps $0x10,(%r9,%r11,4),%xmm1 .byte 243,71,15,16,4,145 // movss (%r9,%r10,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 102,65,15,58,33,200,48 // insertps $0x30,%xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_sse41 .globl _sk_table_b_sse41 FUNCTION(_sk_table_b_sse41) _sk_table_b_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,211 // movq %xmm2,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,65,15,16,20,153 // movss (%r9,%rbx,4),%xmm2 .byte 102,67,15,58,33,20,153,16 // insertps $0x10,(%r9,%r11,4),%xmm2 .byte 243,71,15,16,4,145 // movss (%r9,%r10,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 102,65,15,58,33,208,48 // insertps $0x30,%xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_sse41 .globl _sk_table_a_sse41 FUNCTION(_sk_table_a_sse41) _sk_table_a_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,219 // movq %xmm3,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,65,15,16,28,153 // movss (%r9,%rbx,4),%xmm3 .byte 102,67,15,58,33,28,153,16 // insertps $0x10,(%r9,%r11,4),%xmm3 .byte 243,71,15,16,4,145 // movss (%r9,%r10,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 102,65,15,58,33,216,48 // insertps $0x30,%xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_sse41 .globl _sk_parametric_r_sse41 FUNCTION(_sk_parametric_r_sse41) _sk_parametric_r_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,16 // movss 0x10(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 65,15,194,192,2 // cmpleps %xmm8,%xmm0 .byte 243,68,15,16,64,24 // movss 0x18(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 243,68,15,16,24 // movss (%rax),%xmm11 .byte 243,68,15,16,64,8 // movss 0x8(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,88,208 // addps %xmm8,%xmm10 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,91,194 // cvtdq2ps %xmm10,%xmm8 .byte 68,15,89,5,152,55,0,0 // mulps 0x3798(%rip),%xmm8 # 62e0 <_sk_callback_sse41+0x78f> .byte 68,15,84,21,160,55,0,0 // andps 0x37a0(%rip),%xmm10 # 62f0 <_sk_callback_sse41+0x79f> .byte 68,15,86,21,168,55,0,0 // orps 0x37a8(%rip),%xmm10 # 6300 <_sk_callback_sse41+0x7af> .byte 68,15,88,5,176,55,0,0 // addps 0x37b0(%rip),%xmm8 # 6310 <_sk_callback_sse41+0x7bf> .byte 68,15,40,37,184,55,0,0 // movaps 0x37b8(%rip),%xmm12 # 6320 <_sk_callback_sse41+0x7cf> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,196 // subps %xmm12,%xmm8 .byte 68,15,88,21,184,55,0,0 // addps 0x37b8(%rip),%xmm10 # 6330 <_sk_callback_sse41+0x7df> .byte 68,15,40,37,192,55,0,0 // movaps 0x37c0(%rip),%xmm12 # 6340 <_sk_callback_sse41+0x7ef> .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,173,55,0,0 // addps 0x37ad(%rip),%xmm8 # 6350 <_sk_callback_sse41+0x7ff> .byte 68,15,40,21,181,55,0,0 // movaps 0x37b5(%rip),%xmm10 # 6360 <_sk_callback_sse41+0x80f> .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 69,15,92,194 // subps %xmm10,%xmm8 .byte 68,15,40,21,181,55,0,0 // movaps 0x37b5(%rip),%xmm10 # 6370 <_sk_callback_sse41+0x81f> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 68,15,40,29,185,55,0,0 // movaps 0x37b9(%rip),%xmm11 # 6380 <_sk_callback_sse41+0x82f> .byte 69,15,94,218 // divps %xmm10,%xmm11 .byte 69,15,88,216 // addps %xmm8,%xmm11 .byte 68,15,89,29,185,55,0,0 // mulps 0x37b9(%rip),%xmm11 # 6390 <_sk_callback_sse41+0x83f> .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 .byte 69,15,88,194 // addps %xmm10,%xmm8 .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,160,55,0,0 // minps 0x37a0(%rip),%xmm8 # 63a0 <_sk_callback_sse41+0x84f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_g_sse41 .globl _sk_parametric_g_sse41 FUNCTION(_sk_parametric_g_sse41) _sk_parametric_g_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 243,68,15,16,88,4 // movss 0x4(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,194,194,2 // cmpleps %xmm10,%xmm0 .byte 243,15,16,72,24 // movss 0x18(%rax),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 68,15,88,201 // addps %xmm1,%xmm9 .byte 243,68,15,16,16 // movss (%rax),%xmm10 .byte 243,15,16,72,8 // movss 0x8(%rax),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .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,65,55,0,0 // mulps 0x3741(%rip),%xmm12 # 63b0 <_sk_callback_sse41+0x85f> .byte 68,15,84,29,73,55,0,0 // andps 0x3749(%rip),%xmm11 # 63c0 <_sk_callback_sse41+0x86f> .byte 68,15,86,29,81,55,0,0 // orps 0x3751(%rip),%xmm11 # 63d0 <_sk_callback_sse41+0x87f> .byte 68,15,88,37,89,55,0,0 // addps 0x3759(%rip),%xmm12 # 63e0 <_sk_callback_sse41+0x88f> .byte 15,40,13,98,55,0,0 // movaps 0x3762(%rip),%xmm1 # 63f0 <_sk_callback_sse41+0x89f> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,88,29,98,55,0,0 // addps 0x3762(%rip),%xmm11 # 6400 <_sk_callback_sse41+0x8af> .byte 15,40,13,107,55,0,0 // movaps 0x376b(%rip),%xmm1 # 6410 <_sk_callback_sse41+0x8bf> .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,88,55,0,0 // addps 0x3758(%rip),%xmm12 # 6420 <_sk_callback_sse41+0x8cf> .byte 15,40,13,97,55,0,0 // movaps 0x3761(%rip),%xmm1 # 6430 <_sk_callback_sse41+0x8df> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,40,21,97,55,0,0 // movaps 0x3761(%rip),%xmm10 # 6440 <_sk_callback_sse41+0x8ef> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,13,102,55,0,0 // movaps 0x3766(%rip),%xmm1 # 6450 <_sk_callback_sse41+0x8ff> .byte 65,15,94,202 // divps %xmm10,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 .byte 15,89,13,103,55,0,0 // mulps 0x3767(%rip),%xmm1 # 6460 <_sk_callback_sse41+0x90f> .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 .byte 65,15,88,202 // addps %xmm10,%xmm1 .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,82,55,0,0 // minps 0x3752(%rip),%xmm1 # 6470 <_sk_callback_sse41+0x91f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_b_sse41 .globl _sk_parametric_b_sse41 FUNCTION(_sk_parametric_b_sse41) _sk_parametric_b_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 243,68,15,16,88,4 // movss 0x4(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,194,194,2 // cmpleps %xmm10,%xmm0 .byte 243,15,16,80,24 // movss 0x18(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 68,15,88,202 // addps %xmm2,%xmm9 .byte 243,68,15,16,16 // movss (%rax),%xmm10 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .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,243,54,0,0 // mulps 0x36f3(%rip),%xmm12 # 6480 <_sk_callback_sse41+0x92f> .byte 68,15,84,29,251,54,0,0 // andps 0x36fb(%rip),%xmm11 # 6490 <_sk_callback_sse41+0x93f> .byte 68,15,86,29,3,55,0,0 // orps 0x3703(%rip),%xmm11 # 64a0 <_sk_callback_sse41+0x94f> .byte 68,15,88,37,11,55,0,0 // addps 0x370b(%rip),%xmm12 # 64b0 <_sk_callback_sse41+0x95f> .byte 15,40,21,20,55,0,0 // movaps 0x3714(%rip),%xmm2 # 64c0 <_sk_callback_sse41+0x96f> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 .byte 68,15,88,29,20,55,0,0 // addps 0x3714(%rip),%xmm11 # 64d0 <_sk_callback_sse41+0x97f> .byte 15,40,21,29,55,0,0 // movaps 0x371d(%rip),%xmm2 # 64e0 <_sk_callback_sse41+0x98f> .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,10,55,0,0 // addps 0x370a(%rip),%xmm12 # 64f0 <_sk_callback_sse41+0x99f> .byte 15,40,21,19,55,0,0 // movaps 0x3713(%rip),%xmm2 # 6500 <_sk_callback_sse41+0x9af> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 .byte 68,15,40,21,19,55,0,0 // movaps 0x3713(%rip),%xmm10 # 6510 <_sk_callback_sse41+0x9bf> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,21,24,55,0,0 // movaps 0x3718(%rip),%xmm2 # 6520 <_sk_callback_sse41+0x9cf> .byte 65,15,94,210 // divps %xmm10,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 15,89,21,25,55,0,0 // mulps 0x3719(%rip),%xmm2 # 6530 <_sk_callback_sse41+0x9df> .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 .byte 65,15,88,210 // addps %xmm10,%xmm2 .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,4,55,0,0 // minps 0x3704(%rip),%xmm2 # 6540 <_sk_callback_sse41+0x9ef> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_a_sse41 .globl _sk_parametric_a_sse41 FUNCTION(_sk_parametric_a_sse41) _sk_parametric_a_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 243,68,15,16,88,4 // movss 0x4(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,194,194,2 // cmpleps %xmm10,%xmm0 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 68,15,88,203 // addps %xmm3,%xmm9 .byte 243,68,15,16,16 // movss (%rax),%xmm10 .byte 243,15,16,88,8 // movss 0x8(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .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,165,54,0,0 // mulps 0x36a5(%rip),%xmm12 # 6550 <_sk_callback_sse41+0x9ff> .byte 68,15,84,29,173,54,0,0 // andps 0x36ad(%rip),%xmm11 # 6560 <_sk_callback_sse41+0xa0f> .byte 68,15,86,29,181,54,0,0 // orps 0x36b5(%rip),%xmm11 # 6570 <_sk_callback_sse41+0xa1f> .byte 68,15,88,37,189,54,0,0 // addps 0x36bd(%rip),%xmm12 # 6580 <_sk_callback_sse41+0xa2f> .byte 15,40,29,198,54,0,0 // movaps 0x36c6(%rip),%xmm3 # 6590 <_sk_callback_sse41+0xa3f> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 .byte 68,15,88,29,198,54,0,0 // addps 0x36c6(%rip),%xmm11 # 65a0 <_sk_callback_sse41+0xa4f> .byte 15,40,29,207,54,0,0 // movaps 0x36cf(%rip),%xmm3 # 65b0 <_sk_callback_sse41+0xa5f> .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,188,54,0,0 // addps 0x36bc(%rip),%xmm12 # 65c0 <_sk_callback_sse41+0xa6f> .byte 15,40,29,197,54,0,0 // movaps 0x36c5(%rip),%xmm3 # 65d0 <_sk_callback_sse41+0xa7f> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 .byte 68,15,40,21,197,54,0,0 // movaps 0x36c5(%rip),%xmm10 # 65e0 <_sk_callback_sse41+0xa8f> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,29,202,54,0,0 // movaps 0x36ca(%rip),%xmm3 # 65f0 <_sk_callback_sse41+0xa9f> .byte 65,15,94,218 // divps %xmm10,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 15,89,29,203,54,0,0 // mulps 0x36cb(%rip),%xmm3 # 6600 <_sk_callback_sse41+0xaaf> .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 .byte 65,15,88,218 // addps %xmm10,%xmm3 .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,182,54,0,0 // minps 0x36b6(%rip),%xmm3 # 6610 <_sk_callback_sse41+0xabf> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_lab_to_xyz_sse41 .globl _sk_lab_to_xyz_sse41 FUNCTION(_sk_lab_to_xyz_sse41) _sk_lab_to_xyz_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,89,5,178,54,0,0 // mulps 0x36b2(%rip),%xmm8 # 6620 <_sk_callback_sse41+0xacf> .byte 68,15,40,13,186,54,0,0 // movaps 0x36ba(%rip),%xmm9 # 6630 <_sk_callback_sse41+0xadf> .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 15,40,5,191,54,0,0 // movaps 0x36bf(%rip),%xmm0 # 6640 <_sk_callback_sse41+0xaef> .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,189,54,0,0 // addps 0x36bd(%rip),%xmm8 # 6650 <_sk_callback_sse41+0xaff> .byte 68,15,89,5,197,54,0,0 // mulps 0x36c5(%rip),%xmm8 # 6660 <_sk_callback_sse41+0xb0f> .byte 15,89,13,206,54,0,0 // mulps 0x36ce(%rip),%xmm1 # 6670 <_sk_callback_sse41+0xb1f> .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 15,89,21,211,54,0,0 // mulps 0x36d3(%rip),%xmm2 # 6680 <_sk_callback_sse41+0xb2f> .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,199,54,0,0 // movaps 0x36c7(%rip),%xmm9 # 6690 <_sk_callback_sse41+0xb3f> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 .byte 15,40,21,199,54,0,0 // movaps 0x36c7(%rip),%xmm2 # 66a0 <_sk_callback_sse41+0xb4f> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 68,15,40,37,204,54,0,0 // movaps 0x36cc(%rip),%xmm12 # 66b0 <_sk_callback_sse41+0xb5f> .byte 65,15,89,204 // mulps %xmm12,%xmm1 .byte 102,65,15,56,20,203 // blendvps %xmm0,%xmm11,%xmm1 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 69,15,89,219 // mulps %xmm11,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 102,69,15,56,20,195 // blendvps %xmm0,%xmm11,%xmm8 .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 69,15,89,219 // mulps %xmm11,%xmm11 .byte 69,15,89,218 // mulps %xmm10,%xmm11 .byte 69,15,194,203,1 // cmpltps %xmm11,%xmm9 .byte 65,15,88,210 // addps %xmm10,%xmm2 .byte 65,15,89,212 // mulps %xmm12,%xmm2 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm2 .byte 15,89,13,133,54,0,0 // mulps 0x3685(%rip),%xmm1 # 66c0 <_sk_callback_sse41+0xb6f> .byte 15,89,21,142,54,0,0 // mulps 0x368e(%rip),%xmm2 # 66d0 <_sk_callback_sse41+0xb7f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_sse41 .globl _sk_load_a8_sse41 FUNCTION(_sk_load_a8_sse41) _sk_load_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,39 // jne 307e <_sk_load_a8_sse41+0x31> .byte 102,65,15,56,49,4,18 // pmovzxbd (%r10,%rdx,1),%xmm0 .byte 102,15,219,5,122,54,0,0 // pand 0x367a(%rip),%xmm0 # 66e0 <_sk_callback_sse41+0xb8f> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,128,54,0,0 // mulps 0x3680(%rip),%xmm3 # 66f0 <_sk_callback_sse41+0xb9f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 30c0 <_sk_load_a8_sse41+0x73> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 30aa <_sk_load_a8_sse41+0x5d> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 305e <_sk_load_a8_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 102,15,58,14,193,15 // pblendw $0xf,%xmm1,%xmm0 .byte 235,158 // jmp 305e <_sk_load_a8_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,147 // jmp 305e <_sk_load_a8_sse41+0x11> HIDDEN _sk_load_a8_dst_sse41 .globl _sk_load_a8_dst_sse41 FUNCTION(_sk_load_a8_dst_sse41) _sk_load_a8_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,39 // jne 30fc <_sk_load_a8_dst_sse41+0x31> .byte 102,65,15,56,49,36,18 // pmovzxbd (%r10,%rdx,1),%xmm4 .byte 102,15,219,37,28,54,0,0 // pand 0x361c(%rip),%xmm4 # 6700 <_sk_callback_sse41+0xbaf> .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,89,61,34,54,0,0 // mulps 0x3622(%rip),%xmm7 # 6710 <_sk_callback_sse41+0xbbf> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 313e <_sk_load_a8_dst_sse41+0x73> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 3128 <_sk_load_a8_dst_sse41+0x5d> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 30dc <_sk_load_a8_dst_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,56,49,237 // pmovzxbd %xmm5,%xmm5 .byte 102,15,58,14,229,15 // pblendw $0xf,%xmm5,%xmm4 .byte 235,158 // jmp 30dc <_sk_load_a8_dst_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,147 // jmp 30dc <_sk_load_a8_dst_sse41+0x11> HIDDEN _sk_gather_a8_sse41 .globl _sk_gather_a8_sse41 FUNCTION(_sk_gather_a8_sse41) _sk_gather_a8_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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 67,15,182,28,17 // movzbl (%r9,%r10,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 .byte 65,15,182,4,1 // movzbl (%r9,%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,103,53,0,0 // mulps 0x3567(%rip),%xmm3 # 6720 <_sk_callback_sse41+0xbcf> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_sse41 .globl _sk_store_a8_sse41 FUNCTION(_sk_store_a8_sse41) _sk_store_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 68,15,40,5,90,53,0,0 // movaps 0x355a(%rip),%xmm8 # 6730 <_sk_callback_sse41+0xbdf> .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,13 // jne 31fc <_sk_store_a8_sse41+0x33> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 65,137,4,18 // mov %eax,(%r10,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,49,192 // pmovzxbd %xmm8,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 3238 <_sk_store_a8_sse41+0x6f> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 3224 <_sk_store_a8_sse41+0x5b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 31f8 <_sk_store_a8_sse41+0x2f> .byte 102,69,15,58,20,68,18,2,8 // pextrb $0x8,%xmm8,0x2(%r10,%rdx,1) .byte 102,68,15,56,0,5,18,53,0,0 // pshufb 0x3512(%rip),%xmm8 # 6740 <_sk_callback_sse41+0xbef> .byte 102,69,15,58,21,4,18,0 // pextrw $0x0,%xmm8,(%r10,%rdx,1) .byte 235,192 // jmp 31f8 <_sk_store_a8_sse41+0x2f> .byte 102,69,15,58,20,4,18,0 // pextrb $0x0,%xmm8,(%r10,%rdx,1) .byte 235,182 // jmp 31f8 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,42 // jne 3276 <_sk_load_g8_sse41+0x34> .byte 102,65,15,56,49,4,18 // pmovzxbd (%r10,%rdx,1),%xmm0 .byte 102,15,219,5,245,52,0,0 // pand 0x34f5(%rip),%xmm0 # 6750 <_sk_callback_sse41+0xbff> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,251,52,0,0 // mulps 0x34fb(%rip),%xmm0 # 6760 <_sk_callback_sse41+0xc0f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,2,53,0,0 // movaps 0x3502(%rip),%xmm3 # 6770 <_sk_callback_sse41+0xc1f> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 32b8 <_sk_load_g8_sse41+0x76> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 32a2 <_sk_load_g8_sse41+0x60> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 3253 <_sk_load_g8_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 102,15,58,14,193,15 // pblendw $0xf,%xmm1,%xmm0 .byte 235,155 // jmp 3253 <_sk_load_g8_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,144 // jmp 3253 <_sk_load_g8_sse41+0x11> HIDDEN _sk_load_g8_dst_sse41 .globl _sk_load_g8_dst_sse41 FUNCTION(_sk_load_g8_dst_sse41) _sk_load_g8_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,42 // jne 32f7 <_sk_load_g8_dst_sse41+0x34> .byte 102,65,15,56,49,36,18 // pmovzxbd (%r10,%rdx,1),%xmm4 .byte 102,15,219,37,164,52,0,0 // pand 0x34a4(%rip),%xmm4 # 6780 <_sk_callback_sse41+0xc2f> .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,170,52,0,0 // mulps 0x34aa(%rip),%xmm4 # 6790 <_sk_callback_sse41+0xc3f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,177,52,0,0 // movaps 0x34b1(%rip),%xmm7 # 67a0 <_sk_callback_sse41+0xc4f> .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 3339 <_sk_load_g8_dst_sse41+0x76> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 3323 <_sk_load_g8_dst_sse41+0x60> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 32d4 <_sk_load_g8_dst_sse41+0x11> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,56,49,237 // pmovzxbd %xmm5,%xmm5 .byte 102,15,58,14,229,15 // pblendw $0xf,%xmm5,%xmm4 .byte 235,155 // jmp 32d4 <_sk_load_g8_dst_sse41+0x11> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,144 // jmp 32d4 <_sk_load_g8_dst_sse41+0x11> HIDDEN _sk_gather_g8_sse41 .globl _sk_gather_g8_sse41 FUNCTION(_sk_gather_g8_sse41) _sk_gather_g8_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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 67,15,182,28,17 // movzbl (%r9,%r10,1),%ebx .byte 102,15,58,32,195,2 // pinsrb $0x2,%ebx,%xmm0 .byte 65,15,182,4,1 // movzbl (%r9,%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,252,51,0,0 // mulps 0x33fc(%rip),%xmm0 # 67b0 <_sk_callback_sse41+0xc5f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,3,52,0,0 // movaps 0x3403(%rip),%xmm3 # 67c0 <_sk_callback_sse41+0xc6f> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_gather_i8_sse41 .globl _sk_gather_i8_sse41 FUNCTION(_sk_gather_i8_sse41) _sk_gather_i8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,193 // mov %rax,%r9 .byte 77,133,201 // test %r9,%r9 .byte 116,5 // je 33d5 <_sk_gather_i8_sse41+0xf> .byte 76,137,200 // mov %r9,%rax .byte 235,2 // jmp 33d7 <_sk_gather_i8_sse41+0x11> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 76,139,16 // mov (%rax),%r10 .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,67,15,58,32,4,50,0 // pinsrb $0x0,(%r10,%r14,1),%xmm0 .byte 102,65,15,58,32,4,26,1 // pinsrb $0x1,(%r10,%rbx,1),%xmm0 .byte 102,67,15,58,32,4,26,2 // pinsrb $0x2,(%r10,%r11,1),%xmm0 .byte 102,65,15,58,32,4,2,3 // pinsrb $0x3,(%r10,%rax,1),%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 73,139,65,8 // mov 0x8(%r9),%rax .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 102,66,15,110,28,136 // movd (%rax,%r9,4),%xmm3 .byte 102,15,58,34,28,24,1 // pinsrd $0x1,(%rax,%rbx,1),%xmm3 .byte 102,66,15,58,34,28,152,2 // pinsrd $0x2,(%rax,%r11,4),%xmm3 .byte 102,66,15,58,34,28,16,3 // pinsrd $0x3,(%rax,%r10,1),%xmm3 .byte 102,15,111,5,86,51,0,0 // movdqa 0x3356(%rip),%xmm0 # 67d0 <_sk_callback_sse41+0xc7f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,87,51,0,0 // movaps 0x3357(%rip),%xmm8 # 67e0 <_sk_callback_sse41+0xc8f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,56,0,13,86,51,0,0 // pshufb 0x3356(%rip),%xmm1 # 67f0 <_sk_callback_sse41+0xc9f> .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,82,51,0,0 // pshufb 0x3352(%rip),%xmm2 # 6800 <_sk_callback_sse41+0xcaf> .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 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse41 .globl _sk_load_565_sse41 FUNCTION(_sk_load_565_sse41) _sk_load_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,80 // jne 3522 <_sk_load_565_sse41+0x5a> .byte 102,65,15,56,51,20,82 // pmovzxwd (%r10,%rdx,2),%xmm2 .byte 102,15,111,5,47,51,0,0 // movdqa 0x332f(%rip),%xmm0 # 6810 <_sk_callback_sse41+0xcbf> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,49,51,0,0 // mulps 0x3331(%rip),%xmm0 # 6820 <_sk_callback_sse41+0xccf> .byte 102,15,111,13,57,51,0,0 // movdqa 0x3339(%rip),%xmm1 # 6830 <_sk_callback_sse41+0xcdf> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,59,51,0,0 // mulps 0x333b(%rip),%xmm1 # 6840 <_sk_callback_sse41+0xcef> .byte 102,15,219,21,67,51,0,0 // pand 0x3343(%rip),%xmm2 # 6850 <_sk_callback_sse41+0xcff> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,73,51,0,0 // mulps 0x3349(%rip),%xmm2 # 6860 <_sk_callback_sse41+0xd0f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,80,51,0,0 // movaps 0x3350(%rip),%xmm3 # 6870 <_sk_callback_sse41+0xd1f> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 3564 <_sk_load_565_sse41+0x9c> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 354e <_sk_load_565_sse41+0x86> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 34d9 <_sk_load_565_sse41+0x11> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,65,15,110,4,82 // movd (%r10,%rdx,2),%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,15,58,14,208,15 // pblendw $0xf,%xmm0,%xmm2 .byte 233,117,255,255,255 // jmpq 34d9 <_sk_load_565_sse41+0x11> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 233,103,255,255,255 // jmpq 34d9 <_sk_load_565_sse41+0x11> HIDDEN _sk_load_565_dst_sse41 .globl _sk_load_565_dst_sse41 FUNCTION(_sk_load_565_dst_sse41) _sk_load_565_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,80 // jne 35cc <_sk_load_565_dst_sse41+0x5a> .byte 102,65,15,56,51,52,82 // pmovzxwd (%r10,%rdx,2),%xmm6 .byte 102,15,111,37,245,50,0,0 // movdqa 0x32f5(%rip),%xmm4 # 6880 <_sk_callback_sse41+0xd2f> .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,247,50,0,0 // mulps 0x32f7(%rip),%xmm4 # 6890 <_sk_callback_sse41+0xd3f> .byte 102,15,111,45,255,50,0,0 // movdqa 0x32ff(%rip),%xmm5 # 68a0 <_sk_callback_sse41+0xd4f> .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,1,51,0,0 // mulps 0x3301(%rip),%xmm5 # 68b0 <_sk_callback_sse41+0xd5f> .byte 102,15,219,53,9,51,0,0 // pand 0x3309(%rip),%xmm6 # 68c0 <_sk_callback_sse41+0xd6f> .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,15,51,0,0 // mulps 0x330f(%rip),%xmm6 # 68d0 <_sk_callback_sse41+0xd7f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,22,51,0,0 // movaps 0x3316(%rip),%xmm7 # 68e0 <_sk_callback_sse41+0xd8f> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 360e <_sk_load_565_dst_sse41+0x9c> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 35f8 <_sk_load_565_dst_sse41+0x86> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 3583 <_sk_load_565_dst_sse41+0x11> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,65,15,110,36,82 // movd (%r10,%rdx,2),%xmm4 .byte 102,15,56,51,228 // pmovzxwd %xmm4,%xmm4 .byte 102,15,58,14,244,15 // pblendw $0xf,%xmm4,%xmm6 .byte 233,117,255,255,255 // jmpq 3583 <_sk_load_565_dst_sse41+0x11> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,240 // movd %eax,%xmm6 .byte 233,103,255,255,255 // jmpq 3583 <_sk_load_565_dst_sse41+0x11> HIDDEN _sk_gather_565_sse41 .globl _sk_gather_565_sse41 FUNCTION(_sk_gather_565_sse41) _sk_gather_565_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,196,4,89,0 // pinsrw $0x0,(%r9,%rbx,2),%xmm0 .byte 102,67,15,196,4,89,1 // pinsrw $0x1,(%r9,%r11,2),%xmm0 .byte 67,15,183,28,81 // movzwl (%r9,%r10,2),%ebx .byte 102,15,196,195,2 // pinsrw $0x2,%ebx,%xmm0 .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,208 // pmovzxwd %xmm0,%xmm2 .byte 102,15,111,5,106,50,0,0 // movdqa 0x326a(%rip),%xmm0 # 68f0 <_sk_callback_sse41+0xd9f> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,108,50,0,0 // mulps 0x326c(%rip),%xmm0 # 6900 <_sk_callback_sse41+0xdaf> .byte 102,15,111,13,116,50,0,0 // movdqa 0x3274(%rip),%xmm1 # 6910 <_sk_callback_sse41+0xdbf> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,118,50,0,0 // mulps 0x3276(%rip),%xmm1 # 6920 <_sk_callback_sse41+0xdcf> .byte 102,15,219,21,126,50,0,0 // pand 0x327e(%rip),%xmm2 # 6930 <_sk_callback_sse41+0xddf> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,132,50,0,0 // mulps 0x3284(%rip),%xmm2 # 6940 <_sk_callback_sse41+0xdef> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,139,50,0,0 // movaps 0x328b(%rip),%xmm3 # 6950 <_sk_callback_sse41+0xdff> .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse41 .globl _sk_store_565_sse41 FUNCTION(_sk_store_565_sse41) _sk_store_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,139,50,0,0 // movaps 0x328b(%rip),%xmm8 # 6960 <_sk_callback_sse41+0xe0f> .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,128,50,0,0 // movaps 0x3280(%rip),%xmm10 # 6970 <_sk_callback_sse41+0xe1f> .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 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .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 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3727 <_sk_store_565_sse41+0x5f> .byte 242,68,15,17,4,80 // movsd %xmm8,(%rax,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,35 // je 375d <_sk_store_565_sse41+0x95> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 374f <_sk_store_565_sse41+0x87> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 3723 <_sk_store_565_sse41+0x5b> .byte 102,68,15,58,21,68,80,4,4 // pextrw $0x4,%xmm8,0x4(%rax,%rdx,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,68,15,126,4,80 // movd %xmm8,(%rax,%rdx,2) .byte 235,198 // jmp 3723 <_sk_store_565_sse41+0x5b> .byte 102,68,15,58,21,4,80,0 // pextrw $0x0,%xmm8,(%rax,%rdx,2) .byte 235,188 // jmp 3723 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,95 // jne 37d0 <_sk_load_4444_sse41+0x69> .byte 102,65,15,56,51,28,82 // pmovzxwd (%r10,%rdx,2),%xmm3 .byte 102,15,111,5,0,50,0,0 // movdqa 0x3200(%rip),%xmm0 # 6980 <_sk_callback_sse41+0xe2f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,2,50,0,0 // mulps 0x3202(%rip),%xmm0 # 6990 <_sk_callback_sse41+0xe3f> .byte 102,15,111,13,10,50,0,0 // movdqa 0x320a(%rip),%xmm1 # 69a0 <_sk_callback_sse41+0xe4f> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,12,50,0,0 // mulps 0x320c(%rip),%xmm1 # 69b0 <_sk_callback_sse41+0xe5f> .byte 102,15,111,21,20,50,0,0 // movdqa 0x3214(%rip),%xmm2 # 69c0 <_sk_callback_sse41+0xe6f> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,22,50,0,0 // mulps 0x3216(%rip),%xmm2 # 69d0 <_sk_callback_sse41+0xe7f> .byte 102,15,219,29,30,50,0,0 // pand 0x321e(%rip),%xmm3 # 69e0 <_sk_callback_sse41+0xe8f> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,36,50,0,0 // mulps 0x3224(%rip),%xmm3 # 69f0 <_sk_callback_sse41+0xe9f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 3812 <_sk_load_4444_sse41+0xab> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 37fc <_sk_load_4444_sse41+0x95> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 3778 <_sk_load_4444_sse41+0x11> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,65,15,110,4,82 // movd (%r10,%rdx,2),%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm3 .byte 233,102,255,255,255 // jmpq 3778 <_sk_load_4444_sse41+0x11> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 233,88,255,255,255 // jmpq 3778 <_sk_load_4444_sse41+0x11> HIDDEN _sk_load_4444_dst_sse41 .globl _sk_load_4444_dst_sse41 FUNCTION(_sk_load_4444_dst_sse41) _sk_load_4444_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,95 // jne 3889 <_sk_load_4444_dst_sse41+0x69> .byte 102,65,15,56,51,60,82 // pmovzxwd (%r10,%rdx,2),%xmm7 .byte 102,15,111,37,199,49,0,0 // movdqa 0x31c7(%rip),%xmm4 # 6a00 <_sk_callback_sse41+0xeaf> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,201,49,0,0 // mulps 0x31c9(%rip),%xmm4 # 6a10 <_sk_callback_sse41+0xebf> .byte 102,15,111,45,209,49,0,0 // movdqa 0x31d1(%rip),%xmm5 # 6a20 <_sk_callback_sse41+0xecf> .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,211,49,0,0 // mulps 0x31d3(%rip),%xmm5 # 6a30 <_sk_callback_sse41+0xedf> .byte 102,15,111,53,219,49,0,0 // movdqa 0x31db(%rip),%xmm6 # 6a40 <_sk_callback_sse41+0xeef> .byte 102,15,219,247 // pand %xmm7,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,221,49,0,0 // mulps 0x31dd(%rip),%xmm6 # 6a50 <_sk_callback_sse41+0xeff> .byte 102,15,219,61,229,49,0,0 // pand 0x31e5(%rip),%xmm7 # 6a60 <_sk_callback_sse41+0xf0f> .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,61,235,49,0,0 // mulps 0x31eb(%rip),%xmm7 # 6a70 <_sk_callback_sse41+0xf1f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 38cb <_sk_load_4444_dst_sse41+0xab> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 38b5 <_sk_load_4444_dst_sse41+0x95> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 3831 <_sk_load_4444_dst_sse41+0x11> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,65,15,110,36,82 // movd (%r10,%rdx,2),%xmm4 .byte 102,15,56,51,228 // pmovzxwd %xmm4,%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,102,255,255,255 // jmpq 3831 <_sk_load_4444_dst_sse41+0x11> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 233,88,255,255,255 // jmpq 3831 <_sk_load_4444_dst_sse41+0x11> HIDDEN _sk_gather_4444_sse41 .globl _sk_gather_4444_sse41 FUNCTION(_sk_gather_4444_sse41) _sk_gather_4444_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,196,4,89,0 // pinsrw $0x0,(%r9,%rbx,2),%xmm0 .byte 102,67,15,196,4,89,1 // pinsrw $0x1,(%r9,%r11,2),%xmm0 .byte 67,15,183,28,81 // movzwl (%r9,%r10,2),%ebx .byte 102,15,196,195,2 // pinsrw $0x2,%ebx,%xmm0 .byte 65,15,183,4,65 // movzwl (%r9,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,216 // pmovzxwd %xmm0,%xmm3 .byte 102,15,111,5,61,49,0,0 // movdqa 0x313d(%rip),%xmm0 # 6a80 <_sk_callback_sse41+0xf2f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,63,49,0,0 // mulps 0x313f(%rip),%xmm0 # 6a90 <_sk_callback_sse41+0xf3f> .byte 102,15,111,13,71,49,0,0 // movdqa 0x3147(%rip),%xmm1 # 6aa0 <_sk_callback_sse41+0xf4f> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,73,49,0,0 // mulps 0x3149(%rip),%xmm1 # 6ab0 <_sk_callback_sse41+0xf5f> .byte 102,15,111,21,81,49,0,0 // movdqa 0x3151(%rip),%xmm2 # 6ac0 <_sk_callback_sse41+0xf6f> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,83,49,0,0 // mulps 0x3153(%rip),%xmm2 # 6ad0 <_sk_callback_sse41+0xf7f> .byte 102,15,219,29,91,49,0,0 // pand 0x315b(%rip),%xmm3 # 6ae0 <_sk_callback_sse41+0xf8f> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,97,49,0,0 // mulps 0x3161(%rip),%xmm3 # 6af0 <_sk_callback_sse41+0xf9f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_sse41 .globl _sk_store_4444_sse41 FUNCTION(_sk_store_4444_sse41) _sk_store_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,95,49,0,0 // movaps 0x315f(%rip),%xmm8 # 6b00 <_sk_callback_sse41+0xfaf> .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,12 // pslld $0xc,%xmm9 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,4 // pslld $0x4,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .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 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3a07 <_sk_store_4444_sse41+0x73> .byte 242,68,15,17,4,80 // movsd %xmm8,(%rax,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,35 // je 3a3d <_sk_store_4444_sse41+0xa9> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 3a2f <_sk_store_4444_sse41+0x9b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 3a03 <_sk_store_4444_sse41+0x6f> .byte 102,68,15,58,21,68,80,4,4 // pextrw $0x4,%xmm8,0x4(%rax,%rdx,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,68,15,126,4,80 // movd %xmm8,(%rax,%rdx,2) .byte 235,198 // jmp 3a03 <_sk_store_4444_sse41+0x6f> .byte 102,68,15,58,21,4,80,0 // pextrw $0x0,%xmm8,(%rax,%rdx,2) .byte 235,188 // jmp 3a03 <_sk_store_4444_sse41+0x6f> HIDDEN _sk_load_8888_sse41 .globl _sk_load_8888_sse41 FUNCTION(_sk_load_8888_sse41) _sk_load_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3aa9 <_sk_load_8888_sse41+0x62> .byte 243,15,111,28,144 // movdqu (%rax,%rdx,4),%xmm3 .byte 102,15,111,5,178,48,0,0 // movdqa 0x30b2(%rip),%xmm0 # 6b10 <_sk_callback_sse41+0xfbf> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,179,48,0,0 // movaps 0x30b3(%rip),%xmm8 # 6b20 <_sk_callback_sse41+0xfcf> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,56,0,13,178,48,0,0 // pshufb 0x30b2(%rip),%xmm1 # 6b30 <_sk_callback_sse41+0xfdf> .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,174,48,0,0 // pshufb 0x30ae(%rip),%xmm2 # 6b40 <_sk_callback_sse41+0xfef> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,43 // je 3ae1 <_sk_load_8888_sse41+0x9a> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 3ad1 <_sk_load_8888_sse41+0x8a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 3a56 <_sk_load_8888_sse41+0xf> .byte 102,15,110,68,144,8 // movd 0x8(%rax,%rdx,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 243,15,126,4,144 // movq (%rax,%rdx,4),%xmm0 .byte 102,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm3 .byte 233,117,255,255,255 // jmpq 3a56 <_sk_load_8888_sse41+0xf> .byte 102,15,110,28,144 // movd (%rax,%rdx,4),%xmm3 .byte 233,107,255,255,255 // jmpq 3a56 <_sk_load_8888_sse41+0xf> HIDDEN _sk_load_8888_dst_sse41 .globl _sk_load_8888_dst_sse41 FUNCTION(_sk_load_8888_dst_sse41) _sk_load_8888_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3b4d <_sk_load_8888_dst_sse41+0x62> .byte 243,15,111,60,144 // movdqu (%rax,%rdx,4),%xmm7 .byte 102,15,111,37,78,48,0,0 // movdqa 0x304e(%rip),%xmm4 # 6b50 <_sk_callback_sse41+0xfff> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 68,15,40,5,79,48,0,0 // movaps 0x304f(%rip),%xmm8 # 6b60 <_sk_callback_sse41+0x100f> .byte 65,15,89,224 // mulps %xmm8,%xmm4 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,15,56,0,45,78,48,0,0 // pshufb 0x304e(%rip),%xmm5 # 6b70 <_sk_callback_sse41+0x101f> .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,15,56,0,53,74,48,0,0 // pshufb 0x304a(%rip),%xmm6 # 6b80 <_sk_callback_sse41+0x102f> .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 65,15,89,240 // mulps %xmm8,%xmm6 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 65,15,89,248 // mulps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,43 // je 3b85 <_sk_load_8888_dst_sse41+0x9a> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 3b75 <_sk_load_8888_dst_sse41+0x8a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 3afa <_sk_load_8888_dst_sse41+0xf> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,15,126,36,144 // movq (%rax,%rdx,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,117,255,255,255 // jmpq 3afa <_sk_load_8888_dst_sse41+0xf> .byte 102,15,110,60,144 // movd (%rax,%rdx,4),%xmm7 .byte 233,107,255,255,255 // jmpq 3afa <_sk_load_8888_dst_sse41+0xf> HIDDEN _sk_gather_8888_sse41 .globl _sk_gather_8888_sse41 FUNCTION(_sk_gather_8888_sse41) _sk_gather_8888_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,195,1 // pextrq $0x1,%xmm0,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 102,67,15,110,28,145 // movd (%r9,%r10,4),%xmm3 .byte 102,65,15,58,34,28,129,1 // pinsrd $0x1,(%r9,%rax,4),%xmm3 .byte 102,65,15,58,34,28,153,2 // pinsrd $0x2,(%r9,%rbx,4),%xmm3 .byte 102,67,15,58,34,28,153,3 // pinsrd $0x3,(%r9,%r11,4),%xmm3 .byte 102,15,111,5,160,47,0,0 // movdqa 0x2fa0(%rip),%xmm0 # 6b90 <_sk_callback_sse41+0x103f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,161,47,0,0 // movaps 0x2fa1(%rip),%xmm8 # 6ba0 <_sk_callback_sse41+0x104f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,56,0,13,160,47,0,0 // pshufb 0x2fa0(%rip),%xmm1 # 6bb0 <_sk_callback_sse41+0x105f> .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,156,47,0,0 // pshufb 0x2f9c(%rip),%xmm2 # 6bc0 <_sk_callback_sse41+0x106f> .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_store_8888_sse41 .globl _sk_store_8888_sse41 FUNCTION(_sk_store_8888_sse41) _sk_store_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,135,47,0,0 // movaps 0x2f87(%rip),%xmm8 # 6bd0 <_sk_callback_sse41+0x107f> .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 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3ca9 <_sk_store_8888_sse41+0x6d> .byte 243,68,15,127,4,144 // movdqu %xmm8,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,29 // je 3cd3 <_sk_store_8888_sse41+0x97> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 3ccb <_sk_store_8888_sse41+0x8f> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 3ca5 <_sk_store_8888_sse41+0x69> .byte 102,68,15,58,22,68,144,8,2 // pextrd $0x2,%xmm8,0x8(%rax,%rdx,4) .byte 102,68,15,214,4,144 // movq %xmm8,(%rax,%rdx,4) .byte 235,210 // jmp 3ca5 <_sk_store_8888_sse41+0x69> .byte 102,68,15,126,4,144 // movd %xmm8,(%rax,%rdx,4) .byte 235,202 // jmp 3ca5 <_sk_store_8888_sse41+0x69> HIDDEN _sk_load_bgra_sse41 .globl _sk_load_bgra_sse41 FUNCTION(_sk_load_bgra_sse41) _sk_load_bgra_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3d3d <_sk_load_bgra_sse41+0x62> .byte 243,15,111,28,144 // movdqu (%rax,%rdx,4),%xmm3 .byte 102,15,111,5,238,46,0,0 // movdqa 0x2eee(%rip),%xmm0 # 6be0 <_sk_callback_sse41+0x108f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,208 // cvtdq2ps %xmm0,%xmm2 .byte 68,15,40,5,239,46,0,0 // movaps 0x2eef(%rip),%xmm8 # 6bf0 <_sk_callback_sse41+0x109f> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,238,46,0,0 // pshufb 0x2eee(%rip),%xmm0 # 6c00 <_sk_callback_sse41+0x10af> .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,234,46,0,0 // pshufb 0x2eea(%rip),%xmm0 # 6c10 <_sk_callback_sse41+0x10bf> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,43 // je 3d75 <_sk_load_bgra_sse41+0x9a> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 3d65 <_sk_load_bgra_sse41+0x8a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 3cea <_sk_load_bgra_sse41+0xf> .byte 102,15,110,68,144,8 // movd 0x8(%rax,%rdx,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 243,15,126,4,144 // movq (%rax,%rdx,4),%xmm0 .byte 102,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm3 .byte 233,117,255,255,255 // jmpq 3cea <_sk_load_bgra_sse41+0xf> .byte 102,15,110,28,144 // movd (%rax,%rdx,4),%xmm3 .byte 233,107,255,255,255 // jmpq 3cea <_sk_load_bgra_sse41+0xf> HIDDEN _sk_load_bgra_dst_sse41 .globl _sk_load_bgra_dst_sse41 FUNCTION(_sk_load_bgra_dst_sse41) _sk_load_bgra_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,88 // jne 3de1 <_sk_load_bgra_dst_sse41+0x62> .byte 243,15,111,60,144 // movdqu (%rax,%rdx,4),%xmm7 .byte 102,15,111,37,138,46,0,0 // movdqa 0x2e8a(%rip),%xmm4 # 6c20 <_sk_callback_sse41+0x10cf> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,244 // cvtdq2ps %xmm4,%xmm6 .byte 68,15,40,5,139,46,0,0 // movaps 0x2e8b(%rip),%xmm8 # 6c30 <_sk_callback_sse41+0x10df> .byte 65,15,89,240 // mulps %xmm8,%xmm6 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,56,0,37,138,46,0,0 // pshufb 0x2e8a(%rip),%xmm4 # 6c40 <_sk_callback_sse41+0x10ef> .byte 15,91,236 // cvtdq2ps %xmm4,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,56,0,37,134,46,0,0 // pshufb 0x2e86(%rip),%xmm4 # 6c50 <_sk_callback_sse41+0x10ff> .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 65,15,89,224 // mulps %xmm8,%xmm4 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 65,15,89,248 // mulps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,43 // je 3e19 <_sk_load_bgra_dst_sse41+0x9a> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 3e09 <_sk_load_bgra_dst_sse41+0x8a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 3d8e <_sk_load_bgra_dst_sse41+0xf> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,15,126,36,144 // movq (%rax,%rdx,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,117,255,255,255 // jmpq 3d8e <_sk_load_bgra_dst_sse41+0xf> .byte 102,15,110,60,144 // movd (%rax,%rdx,4),%xmm7 .byte 233,107,255,255,255 // jmpq 3d8e <_sk_load_bgra_dst_sse41+0xf> HIDDEN _sk_gather_bgra_sse41 .globl _sk_gather_bgra_sse41 FUNCTION(_sk_gather_bgra_sse41) _sk_gather_bgra_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,195,1 // pextrq $0x1,%xmm0,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 102,67,15,110,28,145 // movd (%r9,%r10,4),%xmm3 .byte 102,65,15,58,34,28,129,1 // pinsrd $0x1,(%r9,%rax,4),%xmm3 .byte 102,65,15,58,34,28,153,2 // pinsrd $0x2,(%r9,%rbx,4),%xmm3 .byte 102,67,15,58,34,28,153,3 // pinsrd $0x3,(%r9,%r11,4),%xmm3 .byte 102,15,111,5,220,45,0,0 // movdqa 0x2ddc(%rip),%xmm0 # 6c60 <_sk_callback_sse41+0x110f> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,208 // cvtdq2ps %xmm0,%xmm2 .byte 68,15,40,5,221,45,0,0 // movaps 0x2ddd(%rip),%xmm8 # 6c70 <_sk_callback_sse41+0x111f> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,220,45,0,0 // pshufb 0x2ddc(%rip),%xmm0 # 6c80 <_sk_callback_sse41+0x112f> .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,216,45,0,0 // pshufb 0x2dd8(%rip),%xmm0 # 6c90 <_sk_callback_sse41+0x113f> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_sse41 .globl _sk_store_bgra_sse41 FUNCTION(_sk_store_bgra_sse41) _sk_store_bgra_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,195,45,0,0 // movaps 0x2dc3(%rip),%xmm8 # 6ca0 <_sk_callback_sse41+0x114f> .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .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,16 // pslld $0x10,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3f3d <_sk_store_bgra_sse41+0x6d> .byte 243,68,15,127,4,144 // movdqu %xmm8,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,29 // je 3f67 <_sk_store_bgra_sse41+0x97> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 3f5f <_sk_store_bgra_sse41+0x8f> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 3f39 <_sk_store_bgra_sse41+0x69> .byte 102,68,15,58,22,68,144,8,2 // pextrd $0x2,%xmm8,0x8(%rax,%rdx,4) .byte 102,68,15,214,4,144 // movq %xmm8,(%rax,%rdx,4) .byte 235,210 // jmp 3f39 <_sk_store_bgra_sse41+0x69> .byte 102,68,15,126,4,144 // movd %xmm8,(%rax,%rdx,4) .byte 235,202 // jmp 3f39 <_sk_store_bgra_sse41+0x69> HIDDEN _sk_load_f16_sse41 .globl _sk_load_f16_sse41 FUNCTION(_sk_load_f16_sse41) _sk_load_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,60,1,0,0 // jne 40b9 <_sk_load_f16_sse41+0x14a> .byte 102,15,16,4,208 // movupd (%rax,%rdx,8),%xmm0 .byte 243,15,111,76,208,16 // movdqu 0x10(%rax,%rdx,8),%xmm1 .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .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,252,44,0,0 // movdqa 0x2cfc(%rip),%xmm8 # 6cb0 <_sk_callback_sse41+0x115f> .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,247,44,0,0 // movdqa 0x2cf7(%rip),%xmm3 # 6cc0 <_sk_callback_sse41+0x116f> .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,227,44,0,0 // movdqa 0x2ce3(%rip),%xmm10 # 6cd0 <_sk_callback_sse41+0x117f> .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 .byte 102,69,15,56,51,219 // pmovzxwd %xmm11,%xmm11 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,68,15,239,218 // pxor %xmm2,%xmm11 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,65,15,111,203 // movdqa %xmm11,%xmm1 .byte 102,15,56,63,203 // pmaxud %xmm3,%xmm1 .byte 102,65,15,118,203 // pcmpeqd %xmm11,%xmm1 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,68,15,235,218 // por %xmm2,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,203 // pand %xmm11,%xmm1 .byte 102,69,15,56,51,217 // pmovzxwd %xmm9,%xmm11 .byte 102,69,15,111,227 // movdqa %xmm11,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,69,15,239,220 // pxor %xmm12,%xmm11 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,15,56,63,211 // pmaxud %xmm3,%xmm2 .byte 102,65,15,118,211 // pcmpeqd %xmm11,%xmm2 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,69,15,235,220 // por %xmm12,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,211 // pand %xmm11,%xmm2 .byte 102,65,15,115,217,8 // psrldq $0x8,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,239,200 // pxor %xmm8,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,217 // pmaxud %xmm9,%xmm3 .byte 102,65,15,118,217 // pcmpeqd %xmm9,%xmm3 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,202 // paddd %xmm10,%xmm9 .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,208 // movsd (%rax,%rdx,8),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 40d1 <_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 3f88 <_sk_load_f16_sse41+0x19> .byte 102,15,22,68,208,8 // movhpd 0x8(%rax,%rdx,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,163,254,255,255 // jb 3f88 <_sk_load_f16_sse41+0x19> .byte 243,15,126,76,208,16 // movq 0x10(%rax,%rdx,8),%xmm1 .byte 233,152,254,255,255 // jmpq 3f88 <_sk_load_f16_sse41+0x19> HIDDEN _sk_load_f16_dst_sse41 .globl _sk_load_f16_dst_sse41 FUNCTION(_sk_load_f16_dst_sse41) _sk_load_f16_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,60,1,0,0 // jne 423a <_sk_load_f16_dst_sse41+0x14a> .byte 102,15,16,36,208 // movupd (%rax,%rdx,8),%xmm4 .byte 243,15,111,108,208,16 // movdqu 0x10(%rax,%rdx,8),%xmm5 .byte 102,68,15,40,204 // movapd %xmm4,%xmm9 .byte 102,68,15,97,205 // punpcklwd %xmm5,%xmm9 .byte 102,15,105,229 // punpckhwd %xmm5,%xmm4 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,97,220 // punpcklwd %xmm4,%xmm11 .byte 102,68,15,105,204 // punpckhwd %xmm4,%xmm9 .byte 102,65,15,56,51,235 // pmovzxwd %xmm11,%xmm5 .byte 102,68,15,111,5,171,43,0,0 // movdqa 0x2bab(%rip),%xmm8 # 6ce0 <_sk_callback_sse41+0x118f> .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,65,15,219,240 // pand %xmm8,%xmm6 .byte 102,15,239,238 // pxor %xmm6,%xmm5 .byte 102,15,111,61,166,43,0,0 // movdqa 0x2ba6(%rip),%xmm7 # 6cf0 <_sk_callback_sse41+0x119f> .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,56,63,231 // pmaxud %xmm7,%xmm4 .byte 102,15,118,229 // pcmpeqd %xmm5,%xmm4 .byte 102,15,114,245,13 // pslld $0xd,%xmm5 .byte 102,15,235,238 // por %xmm6,%xmm5 .byte 102,68,15,111,21,146,43,0,0 // movdqa 0x2b92(%rip),%xmm10 # 6d00 <_sk_callback_sse41+0x11af> .byte 102,65,15,254,234 // paddd %xmm10,%xmm5 .byte 102,15,219,229 // pand %xmm5,%xmm4 .byte 102,65,15,115,219,8 // psrldq $0x8,%xmm11 .byte 102,69,15,56,51,219 // pmovzxwd %xmm11,%xmm11 .byte 102,65,15,111,243 // movdqa %xmm11,%xmm6 .byte 102,65,15,219,240 // pand %xmm8,%xmm6 .byte 102,68,15,239,222 // pxor %xmm6,%xmm11 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,65,15,111,235 // movdqa %xmm11,%xmm5 .byte 102,15,56,63,239 // pmaxud %xmm7,%xmm5 .byte 102,65,15,118,235 // pcmpeqd %xmm11,%xmm5 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,68,15,235,222 // por %xmm6,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,235 // pand %xmm11,%xmm5 .byte 102,69,15,56,51,217 // pmovzxwd %xmm9,%xmm11 .byte 102,69,15,111,227 // movdqa %xmm11,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,69,15,239,220 // pxor %xmm12,%xmm11 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,65,15,111,243 // movdqa %xmm11,%xmm6 .byte 102,15,56,63,247 // pmaxud %xmm7,%xmm6 .byte 102,65,15,118,243 // pcmpeqd %xmm11,%xmm6 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,69,15,235,220 // por %xmm12,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,243 // pand %xmm11,%xmm6 .byte 102,65,15,115,217,8 // psrldq $0x8,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,239,200 // pxor %xmm8,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,249 // pmaxud %xmm9,%xmm7 .byte 102,65,15,118,249 // pcmpeqd %xmm9,%xmm7 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,202 // paddd %xmm10,%xmm9 .byte 102,65,15,219,249 // pand %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,15,16,36,208 // movsd (%rax,%rdx,8),%xmm4 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 4252 <_sk_load_f16_dst_sse41+0x162> .byte 243,15,126,228 // movq %xmm4,%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 233,183,254,255,255 // jmpq 4109 <_sk_load_f16_dst_sse41+0x19> .byte 102,15,22,100,208,8 // movhpd 0x8(%rax,%rdx,8),%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,163,254,255,255 // jb 4109 <_sk_load_f16_dst_sse41+0x19> .byte 243,15,126,108,208,16 // movq 0x10(%rax,%rdx,8),%xmm5 .byte 233,152,254,255,255 // jmpq 4109 <_sk_load_f16_dst_sse41+0x19> HIDDEN _sk_gather_f16_sse41 .globl _sk_gather_f16_sse41 FUNCTION(_sk_gather_f16_sse41) _sk_gather_f16_sse41: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,56,64,209 // pmulld %xmm1,%xmm2 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,195,1 // pextrq $0x1,%xmm0,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,67,15,126,4,217 // movq (%r9,%r11,8),%xmm0 .byte 243,65,15,126,12,217 // movq (%r9,%rbx,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,209 // movq (%r9,%r10,8),%xmm2 .byte 102,15,108,208 // punpcklqdq %xmm0,%xmm2 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,209 // punpckhwd %xmm1,%xmm2 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .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,24,42,0,0 // movdqa 0x2a18(%rip),%xmm8 # 6d10 <_sk_callback_sse41+0x11bf> .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,19,42,0,0 // movdqa 0x2a13(%rip),%xmm3 # 6d20 <_sk_callback_sse41+0x11cf> .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,255,41,0,0 // movdqa 0x29ff(%rip),%xmm10 # 6d30 <_sk_callback_sse41+0x11df> .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 .byte 102,69,15,56,51,219 // pmovzxwd %xmm11,%xmm11 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,68,15,239,218 // pxor %xmm2,%xmm11 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,65,15,111,203 // movdqa %xmm11,%xmm1 .byte 102,15,56,63,203 // pmaxud %xmm3,%xmm1 .byte 102,65,15,118,203 // pcmpeqd %xmm11,%xmm1 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,68,15,235,218 // por %xmm2,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,203 // pand %xmm11,%xmm1 .byte 102,69,15,56,51,217 // pmovzxwd %xmm9,%xmm11 .byte 102,69,15,111,227 // movdqa %xmm11,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,69,15,239,220 // pxor %xmm12,%xmm11 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,15,56,63,211 // pmaxud %xmm3,%xmm2 .byte 102,65,15,118,211 // pcmpeqd %xmm11,%xmm2 .byte 102,65,15,114,243,13 // pslld $0xd,%xmm11 .byte 102,69,15,235,220 // por %xmm12,%xmm11 .byte 102,69,15,254,218 // paddd %xmm10,%xmm11 .byte 102,65,15,219,211 // pand %xmm11,%xmm2 .byte 102,65,15,115,217,8 // psrldq $0x8,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,239,200 // pxor %xmm8,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,217 // pmaxud %xmm9,%xmm3 .byte 102,65,15,118,217 // pcmpeqd %xmm9,%xmm3 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,202 // paddd %xmm10,%xmm9 .byte 102,65,15,219,217 // pand %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_sse41 .globl _sk_store_f16_sse41 FUNCTION(_sk_store_f16_sse41) _sk_store_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 102,68,15,111,21,52,41,0,0 // movdqa 0x2934(%rip),%xmm10 # 6d40 <_sk_callback_sse41+0x11ef> .byte 102,68,15,111,216 // movdqa %xmm0,%xmm11 .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,68,15,111,232 // movdqa %xmm0,%xmm13 .byte 102,69,15,239,235 // pxor %xmm11,%xmm13 .byte 102,68,15,111,13,39,41,0,0 // movdqa 0x2927(%rip),%xmm9 # 6d50 <_sk_callback_sse41+0x11ff> .byte 102,65,15,114,211,16 // psrld $0x10,%xmm11 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,69,15,102,197 // pcmpgtd %xmm13,%xmm8 .byte 102,65,15,114,213,13 // psrld $0xd,%xmm13 .byte 102,68,15,111,37,24,41,0,0 // movdqa 0x2918(%rip),%xmm12 # 6d60 <_sk_callback_sse41+0x120f> .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,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,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,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,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,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,203 // punpckldq %xmm11,%xmm9 .byte 77,133,192 // test %r8,%r8 .byte 117,21 // jne 453e <_sk_store_f16_sse41+0x140> .byte 68,15,17,12,208 // movups %xmm9,(%rax,%rdx,8) .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 .byte 243,68,15,127,68,208,16 // movdqu %xmm8,0x10(%rax,%rdx,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,214,12,208 // movq %xmm9,(%rax,%rdx,8) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 453a <_sk_store_f16_sse41+0x13c> .byte 102,68,15,23,76,208,8 // movhpd %xmm9,0x8(%rax,%rdx,8) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 453a <_sk_store_f16_sse41+0x13c> .byte 102,69,15,106,195 // punpckhdq %xmm11,%xmm8 .byte 102,68,15,214,68,208,16 // movq %xmm8,0x10(%rax,%rdx,8) .byte 235,213 // jmp 453a <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,185,0,0,0 // jne 4634 <_sk_load_u16_be_sse41+0xcf> .byte 102,65,15,16,4,65 // movupd (%r9,%rax,2),%xmm0 .byte 243,65,15,111,76,65,16 // movdqu 0x10(%r9,%rax,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,56,51,193 // pmovzxwd %xmm1,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,169,39,0,0 // movaps 0x27a9(%rip),%xmm8 # 6d70 <_sk_callback_sse41+0x121f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,15,56,51,203 // pmovzxwd %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,235,209 // por %xmm9,%xmm2 .byte 102,15,56,51,210 // pmovzxwd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,217 // por %xmm9,%xmm3 .byte 102,15,56,51,219 // pmovzxwd %xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,4,65 // movsd (%r9,%rax,2),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 464d <_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 4588 <_sk_load_u16_be_sse41+0x23> .byte 102,65,15,22,68,65,8 // movhpd 0x8(%r9,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,38,255,255,255 // jb 4588 <_sk_load_u16_be_sse41+0x23> .byte 243,65,15,126,76,65,16 // movq 0x10(%r9,%rax,2),%xmm1 .byte 233,26,255,255,255 // jmpq 4588 <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,82 // lea (%rdx,%rdx,2),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,170,0,0,0 // jne 472a <_sk_load_rgb_u16_be_sse41+0xbc> .byte 243,65,15,111,20,65 // movdqu (%r9,%rax,2),%xmm2 .byte 243,65,15,111,92,65,8 // movdqu 0x8(%r9,%rax,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .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,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,161,38,0,0 // movaps 0x26a1(%rip),%xmm8 # 6d80 <_sk_callback_sse41+0x122f> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,15,56,51,203 // pmovzxwd %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 102,15,56,51,210 // pmovzxwd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,104,38,0,0 // movaps 0x2668(%rip),%xmm3 # 6d90 <_sk_callback_sse41+0x123f> .byte 255,224 // jmpq *%rax .byte 102,65,15,110,20,65 // movd (%r9,%rax,2),%xmm2 .byte 102,65,15,196,84,65,4,2 // pinsrw $0x2,0x4(%r9,%rax,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 474f <_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 46a4 <_sk_load_rgb_u16_be_sse41+0x36> .byte 102,65,15,110,68,65,6 // movd 0x6(%r9,%rax,2),%xmm0 .byte 102,65,15,196,68,65,10,2 // pinsrw $0x2,0xa(%r9,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,24 // jb 4780 <_sk_load_rgb_u16_be_sse41+0x112> .byte 102,65,15,110,92,65,12 // movd 0xc(%r9,%rax,2),%xmm3 .byte 102,65,15,196,92,65,16,2 // pinsrw $0x2,0x10(%r9,%rax,2),%xmm3 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,36,255,255,255 // jmpq 46a4 <_sk_load_rgb_u16_be_sse41+0x36> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,27,255,255,255 // jmpq 46a4 <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 68,15,40,21,2,38,0,0 // movaps 0x2602(%rip),%xmm10 # 6da0 <_sk_callback_sse41+0x124f> .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,56,43,192 // packusdw %xmm8,%xmm8 .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,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,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,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 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 77,133,192 // test %r8,%r8 .byte 117,21 // jne 486c <_sk_store_u16_be_sse41+0xe3> .byte 69,15,17,20,65 // movups %xmm10,(%r9,%rax,2) .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 243,69,15,127,68,65,16 // movdqu %xmm8,0x10(%r9,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,214,20,65 // movq %xmm10,(%r9,%rax,2) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 4868 <_sk_store_u16_be_sse41+0xdf> .byte 102,69,15,23,84,65,8 // movhpd %xmm10,0x8(%r9,%rax,2) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 4868 <_sk_store_u16_be_sse41+0xdf> .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 102,69,15,214,68,65,16 // movq %xmm8,0x10(%r9,%rax,2) .byte 235,213 // jmp 4868 <_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 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 69,15,16,4,2 // movups (%r10,%rax,1),%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 48f3 <_sk_load_f32_sse41+0x60> .byte 67,15,16,68,138,16 // movups 0x10(%r10,%r9,4),%xmm0 .byte 67,15,16,92,138,32 // movups 0x20(%r10,%r9,4),%xmm3 .byte 71,15,16,76,138,48 // movups 0x30(%r10,%r9,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 65,15,20,201 // unpcklps %xmm9,%xmm1 .byte 68,15,21,192 // unpckhps %xmm0,%xmm8 .byte 65,15,21,217 // unpckhps %xmm9,%xmm3 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,202 // movhlps %xmm2,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,8 // jne 4905 <_sk_load_f32_sse41+0x72> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 235,190 // jmp 48c3 <_sk_load_f32_sse41+0x30> .byte 67,15,16,68,138,16 // movups 0x10(%r10,%r9,4),%xmm0 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,8 // jb 4919 <_sk_load_f32_sse41+0x86> .byte 67,15,16,92,138,32 // movups 0x20(%r10,%r9,4),%xmm3 .byte 235,170 // jmp 48c3 <_sk_load_f32_sse41+0x30> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,165 // jmp 48c3 <_sk_load_f32_sse41+0x30> HIDDEN _sk_load_f32_dst_sse41 .globl _sk_load_f32_dst_sse41 FUNCTION(_sk_load_f32_dst_sse41) _sk_load_f32_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 69,15,16,4,2 // movups (%r10,%rax,1),%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 497e <_sk_load_f32_dst_sse41+0x60> .byte 67,15,16,100,138,16 // movups 0x10(%r10,%r9,4),%xmm4 .byte 67,15,16,124,138,32 // movups 0x20(%r10,%r9,4),%xmm7 .byte 71,15,16,76,138,48 // movups 0x30(%r10,%r9,4),%xmm9 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 65,15,20,233 // unpcklps %xmm9,%xmm5 .byte 68,15,21,196 // unpckhps %xmm4,%xmm8 .byte 65,15,21,249 // unpckhps %xmm9,%xmm7 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 15,18,238 // movhlps %xmm6,%xmm5 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 102,15,20,247 // unpcklpd %xmm7,%xmm6 .byte 65,15,18,248 // movhlps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,8 // jne 4990 <_sk_load_f32_dst_sse41+0x72> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 235,190 // jmp 494e <_sk_load_f32_dst_sse41+0x30> .byte 67,15,16,100,138,16 // movups 0x10(%r10,%r9,4),%xmm4 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,8 // jb 49a4 <_sk_load_f32_dst_sse41+0x86> .byte 67,15,16,124,138,32 // movups 0x20(%r10,%r9,4),%xmm7 .byte 235,170 // jmp 494e <_sk_load_f32_dst_sse41+0x30> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,165 // jmp 494e <_sk_load_f32_dst_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 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 68,15,21,209 // unpckhps %xmm1,%xmm10 .byte 68,15,40,218 // movaps %xmm2,%xmm11 .byte 68,15,21,219 // unpckhps %xmm3,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 102,69,15,20,224 // unpcklpd %xmm8,%xmm12 .byte 69,15,18,193 // movhlps %xmm9,%xmm8 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 102,69,15,20,203 // unpcklpd %xmm11,%xmm9 .byte 102,69,15,17,36,2 // movupd %xmm12,(%r10,%rax,1) .byte 77,133,192 // test %r8,%r8 .byte 117,29 // jne 4a1b <_sk_store_f32_sse41+0x72> .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 .byte 71,15,17,68,138,16 // movups %xmm8,0x10(%r10,%r9,4) .byte 102,71,15,17,76,138,32 // movupd %xmm9,0x20(%r10,%r9,4) .byte 102,71,15,17,84,138,48 // movupd %xmm10,0x30(%r10,%r9,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,246 // je 4a17 <_sk_store_f32_sse41+0x6e> .byte 71,15,17,68,138,16 // movups %xmm8,0x10(%r10,%r9,4) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,234 // jb 4a17 <_sk_store_f32_sse41+0x6e> .byte 102,71,15,17,76,138,32 // movupd %xmm9,0x20(%r10,%r9,4) .byte 235,225 // jmp 4a17 <_sk_store_f32_sse41+0x6e> HIDDEN _sk_clamp_x_sse41 .globl _sk_clamp_x_sse41 FUNCTION(_sk_clamp_x_sse41) _sk_clamp_x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,65,15,254,193 // paddd %xmm9,%xmm0 .byte 68,15,93,192 // minps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_y_sse41 .globl _sk_clamp_y_sse41 FUNCTION(_sk_clamp_y_sse41) _sk_clamp_y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,193 // maxps %xmm1,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 102,15,118,201 // pcmpeqd %xmm1,%xmm1 .byte 102,65,15,254,201 // paddd %xmm9,%xmm1 .byte 68,15,93,193 // minps %xmm1,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_sse41 .globl _sk_repeat_x_sse41 FUNCTION(_sk_repeat_x_sse41) _sk_repeat_x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 102,69,15,58,8,201,1 // roundps $0x1,%xmm9,%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_y_sse41 .globl _sk_repeat_y_sse41 FUNCTION(_sk_repeat_y_sse41) _sk_repeat_y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 102,69,15,58,8,201,1 // roundps $0x1,%xmm9,%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,92,201 // subps %xmm9,%xmm1 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,201 // minps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_sse41 .globl _sk_mirror_x_sse41 FUNCTION(_sk_mirror_x_sse41) _sk_mirror_x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 243,69,15,88,192 // addss %xmm8,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,89,13,227,38,0,0 // mulss 0x26e3(%rip),%xmm9 # 7210 <_sk_callback_sse41+0x16bf> .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 102,69,15,58,8,201,1 // roundps $0x1,%xmm9,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,92,192 // subps %xmm0,%xmm8 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 102,69,15,118,192 // pcmpeqd %xmm8,%xmm8 .byte 102,69,15,254,194 // paddd %xmm10,%xmm8 .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_y_sse41 .globl _sk_mirror_y_sse41 FUNCTION(_sk_mirror_y_sse41) _sk_mirror_y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,92,202 // subps %xmm10,%xmm1 .byte 243,69,15,88,192 // addss %xmm8,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,89,13,128,38,0,0 // mulss 0x2680(%rip),%xmm9 # 7214 <_sk_callback_sse41+0x16c3> .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 102,69,15,58,8,201,1 // roundps $0x1,%xmm9,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,92,201 // subps %xmm9,%xmm1 .byte 65,15,92,202 // subps %xmm10,%xmm1 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 65,15,84,200 // andps %xmm8,%xmm1 .byte 102,69,15,118,192 // pcmpeqd %xmm8,%xmm8 .byte 102,69,15,254,194 // paddd %xmm10,%xmm8 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_x_1_sse41 .globl _sk_clamp_x_1_sse41 FUNCTION(_sk_clamp_x_1_sse41) _sk_clamp_x_1_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 68,15,93,5,210,33,0,0 // minps 0x21d2(%rip),%xmm8 # 6db0 <_sk_callback_sse41+0x125f> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_1_sse41 .globl _sk_repeat_x_1_sse41 FUNCTION(_sk_repeat_x_1_sse41) _sk_repeat_x_1_sse41: .byte 102,68,15,58,8,192,1 // roundps $0x1,%xmm0,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_1_sse41 .globl _sk_mirror_x_1_sse41 FUNCTION(_sk_mirror_x_1_sse41) _sk_mirror_x_1_sse41: .byte 68,15,40,5,195,33,0,0 // movaps 0x21c3(%rip),%xmm8 # 6dc0 <_sk_callback_sse41+0x126f> .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,13,199,33,0,0 // movaps 0x21c7(%rip),%xmm9 # 6dd0 <_sk_callback_sse41+0x127f> .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 102,69,15,58,8,201,1 // roundps $0x1,%xmm9,%xmm9 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,92,192 // subps %xmm0,%xmm8 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminance_to_alpha_sse41 .globl _sk_luminance_to_alpha_sse41 FUNCTION(_sk_luminance_to_alpha_sse41) _sk_luminance_to_alpha_sse41: .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,89,5,166,33,0,0 // mulps 0x21a6(%rip),%xmm0 # 6de0 <_sk_callback_sse41+0x128f> .byte 15,89,13,175,33,0,0 // mulps 0x21af(%rip),%xmm1 # 6df0 <_sk_callback_sse41+0x129f> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,29,181,33,0,0 // mulps 0x21b5(%rip),%xmm3 # 6e00 <_sk_callback_sse41+0x12af> .byte 15,88,217 // addps %xmm1,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_translate_sse41 .globl _sk_matrix_translate_sse41 FUNCTION(_sk_matrix_translate_sse41) _sk_matrix_translate_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_scale_translate_sse41 .globl _sk_matrix_scale_translate_sse41 FUNCTION(_sk_matrix_scale_translate_sse41) _sk_matrix_scale_translate_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,8 // movss 0x8(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_2x3_sse41 .globl _sk_matrix_2x3_sse41 FUNCTION(_sk_matrix_2x3_sse41) _sk_matrix_2x3_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,16 // movss 0x10(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,12 // movss 0xc(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_3x4_sse41 .globl _sk_matrix_3x4_sse41 FUNCTION(_sk_matrix_3x4_sse41) _sk_matrix_3x4_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,12 // movss 0xc(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,24 // movss 0x18(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,36 // movss 0x24(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,28 // movss 0x1c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,40 // movss 0x28(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,32 // movss 0x20(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,44 // movss 0x2c(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x5_sse41 .globl _sk_matrix_4x5_sse41 FUNCTION(_sk_matrix_4x5_sse41) _sk_matrix_4x5_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,32 // movss 0x20(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,48 // movss 0x30(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,64 // movss 0x40(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,20 // movss 0x14(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,36 // movss 0x24(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,52 // movss 0x34(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,68 // movss 0x44(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,24 // movss 0x18(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,40 // movss 0x28(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,56 // movss 0x38(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 243,68,15,16,112,72 // movss 0x48(%rax),%xmm14 .byte 69,15,198,246,0 // shufps $0x0,%xmm14,%xmm14 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 243,68,15,16,88,12 // movss 0xc(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,28 // movss 0x1c(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,44 // movss 0x2c(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 243,68,15,16,112,60 // movss 0x3c(%rax),%xmm14 .byte 69,15,198,246,0 // shufps $0x0,%xmm14,%xmm14 .byte 243,68,15,16,120,76 // movss 0x4c(%rax),%xmm15 .byte 69,15,198,255,0 // shufps $0x0,%xmm15,%xmm15 .byte 68,15,89,243 // mulps %xmm3,%xmm14 .byte 69,15,88,247 // addps %xmm15,%xmm14 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 69,15,89,225 // mulps %xmm9,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,40,219 // movaps %xmm11,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x3_sse41 .globl _sk_matrix_4x3_sse41 FUNCTION(_sk_matrix_4x3_sse41) _sk_matrix_4x3_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,32 // movss 0x20(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,36 // movss 0x24(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,80,40 // movss 0x28(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,80,28 // movss 0x1c(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,44 // movss 0x2c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_perspective_sse41 .globl _sk_matrix_perspective_sse41 FUNCTION(_sk_matrix_perspective_sse41) _sk_matrix_perspective_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 243,68,15,16,80,24 // movss 0x18(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,28 // movss 0x1c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,32 // movss 0x20(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,83,202 // rcpps %xmm10,%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_gradient_sse41 .globl _sk_evenly_spaced_gradient_sse41 FUNCTION(_sk_evenly_spaced_gradient_sse41) _sk_evenly_spaced_gradient_sse41: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,112,8 // mov 0x8(%rax),%r14 .byte 72,255,203 // dec %rbx .byte 120,7 // js 50ed <_sk_evenly_spaced_gradient_sse41+0x1a> .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 235,21 // jmp 5102 <_sk_evenly_spaced_gradient_sse41+0x2f> .byte 73,137,217 // mov %rbx,%r9 .byte 73,209,233 // shr %r9 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,203 // or %r9,%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,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 69,137,223 // mov %r11d,%r15d .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,71,15,16,4,190 // movss (%r14,%r15,4),%xmm8 .byte 102,71,15,58,33,4,158,16 // insertps $0x10,(%r14,%r11,4),%xmm8 .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,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,187 // movss (%rbx,%r15,4),%xmm9 .byte 102,70,15,58,33,12,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm9 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 243,66,15,16,12,187 // movss (%rbx,%r15,4),%xmm1 .byte 102,66,15,58,33,12,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm1 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,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,187 // movss (%rbx,%r15,4),%xmm10 .byte 102,70,15,58,33,20,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm10 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,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,187 // movss (%rbx,%r15,4),%xmm2 .byte 102,66,15,58,33,20,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm2 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,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,187 // movss (%rbx,%r15,4),%xmm11 .byte 102,70,15,58,33,28,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm11 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,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,187 // movss (%rbx,%r15,4),%xmm3 .byte 102,66,15,58,33,28,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm3 .byte 243,70,15,16,36,147 // movss (%rbx,%r10,4),%xmm12 .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,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,184 // movss (%rax,%r15,4),%xmm12 .byte 102,70,15,58,33,36,152,16 // insertps $0x10,(%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .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,96,27,0,0 // movaps 0x1b60(%rip),%xmm0 # 6e10 <_sk_callback_sse41+0x12bf> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,102,27,0,0 // addps 0x1b66(%rip),%xmm0 # 6e20 <_sk_callback_sse41+0x12cf> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,108,27,0,0 // addps 0x1b6c(%rip),%xmm0 # 6e30 <_sk_callback_sse41+0x12df> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,114,27,0,0 // addps 0x1b72(%rip),%xmm0 # 6e40 <_sk_callback_sse41+0x12ef> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,120,27,0,0 // addps 0x1b78(%rip),%xmm0 # 6e50 <_sk_callback_sse41+0x12ff> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_gradient_sse41 .globl _sk_gradient_sse41 FUNCTION(_sk_gradient_sse41) _sk_gradient_sse41: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,249,2 // cmp $0x2,%r9 .byte 114,50 // jb 532b <_sk_gradient_sse41+0x46> .byte 72,139,88,72 // mov 0x48(%rax),%rbx .byte 73,255,201 // dec %r9 .byte 72,131,195,4 // add $0x4,%rbx .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,40,21,81,27,0,0 // movaps 0x1b51(%rip),%xmm2 # 6e60 <_sk_callback_sse41+0x130f> .byte 243,15,16,27 // movss (%rbx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,194,216,2 // cmpleps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 72,131,195,4 // add $0x4,%rbx .byte 73,255,201 // dec %r9 .byte 117,228 // jne 530f <_sk_gradient_sse41+0x2a> .byte 102,73,15,58,22,201,1 // pextrq $0x1,%xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 69,137,222 // mov %r11d,%r14d .byte 73,193,235,32 // shr $0x20,%r11 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,70,15,16,4,179 // movss (%rbx,%r14,4),%xmm8 .byte 102,70,15,58,33,4,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm8 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,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,179 // movss (%rbx,%r14,4),%xmm9 .byte 102,70,15,58,33,12,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm9 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 .byte 243,67,15,16,12,183 // movss (%r15,%r14,4),%xmm1 .byte 102,67,15,58,33,12,159,16 // insertps $0x10,(%r15,%r11,4),%xmm1 .byte 243,67,15,16,20,151 // movss (%r15,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,143 // movss (%r15,%r9,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,179 // movss (%rbx,%r14,4),%xmm10 .byte 102,70,15,58,33,20,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm10 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,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,179 // movss (%rbx,%r14,4),%xmm2 .byte 102,66,15,58,33,20,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm2 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,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,179 // movss (%rbx,%r14,4),%xmm11 .byte 102,70,15,58,33,28,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm11 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,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,179 // movss (%rbx,%r14,4),%xmm3 .byte 102,66,15,58,33,28,155,16 // insertps $0x10,(%rbx,%r11,4),%xmm3 .byte 243,70,15,16,36,147 // movss (%rbx,%r10,4),%xmm12 .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,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,176 // movss (%rax,%r14,4),%xmm12 .byte 102,70,15,58,33,36,152,16 // insertps $0x10,(%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_sse41 .globl _sk_evenly_spaced_2_stop_gradient_sse41 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse41) _sk_evenly_spaced_2_stop_gradient_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,72,28 // movss 0x1c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_sse41 .globl _sk_xy_to_unit_angle_sse41 FUNCTION(_sk_xy_to_unit_angle_sse41) _sk_xy_to_unit_angle_sse41: .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 68,15,92,217 // subps %xmm1,%xmm11 .byte 68,15,84,217 // andps %xmm1,%xmm11 .byte 68,15,40,224 // movaps %xmm0,%xmm12 .byte 69,15,93,227 // minps %xmm11,%xmm12 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 69,15,95,211 // maxps %xmm11,%xmm10 .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 69,15,89,237 // mulps %xmm13,%xmm13 .byte 68,15,40,21,242,24,0,0 // movaps 0x18f2(%rip),%xmm10 # 6e70 <_sk_callback_sse41+0x131f> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,246,24,0,0 // addps 0x18f6(%rip),%xmm10 # 6e80 <_sk_callback_sse41+0x132f> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,250,24,0,0 // addps 0x18fa(%rip),%xmm10 # 6e90 <_sk_callback_sse41+0x133f> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,254,24,0,0 // addps 0x18fe(%rip),%xmm10 # 6ea0 <_sk_callback_sse41+0x134f> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 .byte 68,15,40,29,253,24,0,0 // movaps 0x18fd(%rip),%xmm11 # 6eb0 <_sk_callback_sse41+0x135f> .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,246,24,0,0 // movaps 0x18f6(%rip),%xmm11 # 6ec0 <_sk_callback_sse41+0x136f> .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,232,24,0,0 // movaps 0x18e8(%rip),%xmm9 # 6ed0 <_sk_callback_sse41+0x137f> .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 102,69,15,56,20,209 // blendvps %xmm0,%xmm9,%xmm10 .byte 69,15,194,194,7 // cmpordps %xmm10,%xmm8 .byte 69,15,84,194 // andps %xmm10,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_radius_sse41 .globl _sk_xy_to_radius_sse41 FUNCTION(_sk_xy_to_radius_sse41) _sk_xy_to_radius_sse41: .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 69,15,89,192 // mulps %xmm8,%xmm8 .byte 68,15,88,192 // addps %xmm0,%xmm8 .byte 65,15,81,192 // sqrtps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse41 .globl _sk_xy_to_2pt_conical_quadratic_max_sse41 FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse41) _sk_xy_to_2pt_conical_quadratic_max_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,32 // movss 0x20(%rax),%xmm10 .byte 243,68,15,16,64,36 // movss 0x24(%rax),%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,40 // movss 0x28(%rax),%xmm11 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,203 // mulss %xmm11,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,145,24,0,0 // mulps 0x1891(%rip),%xmm9 # 6ee0 <_sk_callback_sse41+0x138f> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 243,69,15,89,219 // mulss %xmm11,%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 68,15,89,21,124,24,0,0 // mulps 0x187c(%rip),%xmm10 # 6ef0 <_sk_callback_sse41+0x139f> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,81,208 // sqrtps %xmm0,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 68,15,87,13,100,24,0,0 // xorps 0x1864(%rip),%xmm9 # 6f00 <_sk_callback_sse41+0x13af> .byte 68,15,89,5,108,24,0,0 // mulps 0x186c(%rip),%xmm8 # 6f10 <_sk_callback_sse41+0x13bf> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,95,193 // maxps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse41 .globl _sk_xy_to_2pt_conical_quadratic_min_sse41 FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse41) _sk_xy_to_2pt_conical_quadratic_min_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,32 // movss 0x20(%rax),%xmm10 .byte 243,68,15,16,64,36 // movss 0x24(%rax),%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,40 // movss 0x28(%rax),%xmm11 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,203 // mulss %xmm11,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,51,24,0,0 // mulps 0x1833(%rip),%xmm9 # 6f20 <_sk_callback_sse41+0x13cf> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 243,69,15,89,219 // mulss %xmm11,%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 68,15,89,21,30,24,0,0 // mulps 0x181e(%rip),%xmm10 # 6f30 <_sk_callback_sse41+0x13df> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,81,208 // sqrtps %xmm0,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 68,15,87,13,6,24,0,0 // xorps 0x1806(%rip),%xmm9 # 6f40 <_sk_callback_sse41+0x13ef> .byte 68,15,89,5,14,24,0,0 // mulps 0x180e(%rip),%xmm8 # 6f50 <_sk_callback_sse41+0x13ff> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_linear_sse41 .globl _sk_xy_to_2pt_conical_linear_sse41 FUNCTION(_sk_xy_to_2pt_conical_linear_sse41) _sk_xy_to_2pt_conical_linear_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,40 // movss 0x28(%rax),%xmm8 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,200 // mulss %xmm8,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,230,23,0,0 // mulps 0x17e6(%rip),%xmm9 # 6f60 <_sk_callback_sse41+0x140f> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,210 // mulps %xmm10,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 243,69,15,89,192 // mulss %xmm8,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 15,87,5,210,23,0,0 // xorps 0x17d2(%rip),%xmm0 # 6f70 <_sk_callback_sse41+0x141f> .byte 65,15,94,193 // divps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mask_2pt_conical_degenerates_sse41 .globl _sk_mask_2pt_conical_degenerates_sse41 FUNCTION(_sk_mask_2pt_conical_degenerates_sse41) _sk_mask_2pt_conical_degenerates_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,40 // movss 0x28(%rax),%xmm8 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 69,15,194,208,7 // cmpordps %xmm8,%xmm10 .byte 69,15,194,193,2 // cmpleps %xmm9,%xmm8 .byte 69,15,84,194 // andps %xmm10,%xmm8 .byte 68,15,17,0 // movups %xmm8,(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_apply_vector_mask_sse41 .globl _sk_apply_vector_mask_sse41 FUNCTION(_sk_apply_vector_mask_sse41) _sk_apply_vector_mask_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,16,0 // movups (%rax),%xmm8 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 65,15,84,200 // andps %xmm8,%xmm1 .byte 65,15,84,208 // andps %xmm8,%xmm2 .byte 65,15,84,216 // andps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_save_xy_sse41 .globl _sk_save_xy_sse41 FUNCTION(_sk_save_xy_sse41) _sk_save_xy_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,120,23,0,0 // movaps 0x1778(%rip),%xmm8 # 6f80 <_sk_callback_sse41+0x142f> .byte 15,17,0 // movups %xmm0,(%rax) .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 102,69,15,58,8,209,1 // roundps $0x1,%xmm9,%xmm10 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 68,15,88,193 // addps %xmm1,%xmm8 .byte 102,69,15,58,8,208,1 // roundps $0x1,%xmm8,%xmm10 .byte 69,15,92,194 // subps %xmm10,%xmm8 .byte 15,17,72,32 // movups %xmm1,0x20(%rax) .byte 68,15,17,72,64 // movups %xmm9,0x40(%rax) .byte 68,15,17,64,96 // movups %xmm8,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_accumulate_sse41 .globl _sk_accumulate_sse41 FUNCTION(_sk_accumulate_sse41) _sk_accumulate_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,16,128,128,0,0,0 // movups 0x80(%rax),%xmm8 .byte 68,15,16,136,160,0,0,0 // movups 0xa0(%rax),%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 65,15,88,224 // addps %xmm8,%xmm4 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 65,15,88,232 // addps %xmm8,%xmm5 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 65,15,88,240 // addps %xmm8,%xmm6 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 65,15,88,249 // addps %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_nx_sse41 .globl _sk_bilinear_nx_sse41 FUNCTION(_sk_bilinear_nx_sse41) _sk_bilinear_nx_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,250,22,0,0 // addps 0x16fa(%rip),%xmm0 # 6f90 <_sk_callback_sse41+0x143f> .byte 68,15,40,13,2,23,0,0 // movaps 0x1702(%rip),%xmm9 # 6fa0 <_sk_callback_sse41+0x144f> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_px_sse41 .globl _sk_bilinear_px_sse41 FUNCTION(_sk_bilinear_px_sse41) _sk_bilinear_px_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,241,22,0,0 // addps 0x16f1(%rip),%xmm0 # 6fb0 <_sk_callback_sse41+0x145f> .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 HIDDEN _sk_bilinear_ny_sse41 .globl _sk_bilinear_ny_sse41 FUNCTION(_sk_bilinear_ny_sse41) _sk_bilinear_ny_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,227,22,0,0 // addps 0x16e3(%rip),%xmm1 # 6fc0 <_sk_callback_sse41+0x146f> .byte 68,15,40,13,235,22,0,0 // movaps 0x16eb(%rip),%xmm9 # 6fd0 <_sk_callback_sse41+0x147f> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_py_sse41 .globl _sk_bilinear_py_sse41 FUNCTION(_sk_bilinear_py_sse41) _sk_bilinear_py_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,217,22,0,0 // addps 0x16d9(%rip),%xmm1 # 6fe0 <_sk_callback_sse41+0x148f> .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 HIDDEN _sk_bicubic_n3x_sse41 .globl _sk_bicubic_n3x_sse41 FUNCTION(_sk_bicubic_n3x_sse41) _sk_bicubic_n3x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,204,22,0,0 // addps 0x16cc(%rip),%xmm0 # 6ff0 <_sk_callback_sse41+0x149f> .byte 68,15,40,13,212,22,0,0 // movaps 0x16d4(%rip),%xmm9 # 7000 <_sk_callback_sse41+0x14af> .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,208,22,0,0 // mulps 0x16d0(%rip),%xmm9 # 7010 <_sk_callback_sse41+0x14bf> .byte 68,15,88,13,216,22,0,0 // addps 0x16d8(%rip),%xmm9 # 7020 <_sk_callback_sse41+0x14cf> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1x_sse41 .globl _sk_bicubic_n1x_sse41 FUNCTION(_sk_bicubic_n1x_sse41) _sk_bicubic_n1x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,199,22,0,0 // addps 0x16c7(%rip),%xmm0 # 7030 <_sk_callback_sse41+0x14df> .byte 68,15,40,13,207,22,0,0 // movaps 0x16cf(%rip),%xmm9 # 7040 <_sk_callback_sse41+0x14ef> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,211,22,0,0 // movaps 0x16d3(%rip),%xmm8 # 7050 <_sk_callback_sse41+0x14ff> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,215,22,0,0 // addps 0x16d7(%rip),%xmm8 # 7060 <_sk_callback_sse41+0x150f> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,219,22,0,0 // addps 0x16db(%rip),%xmm8 # 7070 <_sk_callback_sse41+0x151f> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,223,22,0,0 // addps 0x16df(%rip),%xmm8 # 7080 <_sk_callback_sse41+0x152f> .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 HIDDEN _sk_bicubic_p1x_sse41 .globl _sk_bicubic_p1x_sse41 FUNCTION(_sk_bicubic_p1x_sse41) _sk_bicubic_p1x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,217,22,0,0 // movaps 0x16d9(%rip),%xmm8 # 7090 <_sk_callback_sse41+0x153f> .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,213,22,0,0 // movaps 0x16d5(%rip),%xmm10 # 70a0 <_sk_callback_sse41+0x154f> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,217,22,0,0 // addps 0x16d9(%rip),%xmm10 # 70b0 <_sk_callback_sse41+0x155f> .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,213,22,0,0 // addps 0x16d5(%rip),%xmm10 # 70c0 <_sk_callback_sse41+0x156f> .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 HIDDEN _sk_bicubic_p3x_sse41 .globl _sk_bicubic_p3x_sse41 FUNCTION(_sk_bicubic_p3x_sse41) _sk_bicubic_p3x_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,200,22,0,0 // addps 0x16c8(%rip),%xmm0 # 70d0 <_sk_callback_sse41+0x157f> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,200,22,0,0 // mulps 0x16c8(%rip),%xmm8 # 70e0 <_sk_callback_sse41+0x158f> .byte 68,15,88,5,208,22,0,0 // addps 0x16d0(%rip),%xmm8 # 70f0 <_sk_callback_sse41+0x159f> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3y_sse41 .globl _sk_bicubic_n3y_sse41 FUNCTION(_sk_bicubic_n3y_sse41) _sk_bicubic_n3y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,190,22,0,0 // addps 0x16be(%rip),%xmm1 # 7100 <_sk_callback_sse41+0x15af> .byte 68,15,40,13,198,22,0,0 // movaps 0x16c6(%rip),%xmm9 # 7110 <_sk_callback_sse41+0x15bf> .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,194,22,0,0 // mulps 0x16c2(%rip),%xmm9 # 7120 <_sk_callback_sse41+0x15cf> .byte 68,15,88,13,202,22,0,0 // addps 0x16ca(%rip),%xmm9 # 7130 <_sk_callback_sse41+0x15df> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1y_sse41 .globl _sk_bicubic_n1y_sse41 FUNCTION(_sk_bicubic_n1y_sse41) _sk_bicubic_n1y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,184,22,0,0 // addps 0x16b8(%rip),%xmm1 # 7140 <_sk_callback_sse41+0x15ef> .byte 68,15,40,13,192,22,0,0 // movaps 0x16c0(%rip),%xmm9 # 7150 <_sk_callback_sse41+0x15ff> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,196,22,0,0 // movaps 0x16c4(%rip),%xmm8 # 7160 <_sk_callback_sse41+0x160f> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,200,22,0,0 // addps 0x16c8(%rip),%xmm8 # 7170 <_sk_callback_sse41+0x161f> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,204,22,0,0 // addps 0x16cc(%rip),%xmm8 # 7180 <_sk_callback_sse41+0x162f> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,208,22,0,0 // addps 0x16d0(%rip),%xmm8 # 7190 <_sk_callback_sse41+0x163f> .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 HIDDEN _sk_bicubic_p1y_sse41 .globl _sk_bicubic_p1y_sse41 FUNCTION(_sk_bicubic_p1y_sse41) _sk_bicubic_p1y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,202,22,0,0 // movaps 0x16ca(%rip),%xmm8 # 71a0 <_sk_callback_sse41+0x164f> .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,197,22,0,0 // movaps 0x16c5(%rip),%xmm10 # 71b0 <_sk_callback_sse41+0x165f> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,201,22,0,0 // addps 0x16c9(%rip),%xmm10 # 71c0 <_sk_callback_sse41+0x166f> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,208 // addps %xmm8,%xmm10 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,197,22,0,0 // addps 0x16c5(%rip),%xmm10 # 71d0 <_sk_callback_sse41+0x167f> .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 HIDDEN _sk_bicubic_p3y_sse41 .globl _sk_bicubic_p3y_sse41 FUNCTION(_sk_bicubic_p3y_sse41) _sk_bicubic_p3y_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,183,22,0,0 // addps 0x16b7(%rip),%xmm1 # 71e0 <_sk_callback_sse41+0x168f> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,183,22,0,0 // mulps 0x16b7(%rip),%xmm8 # 71f0 <_sk_callback_sse41+0x169f> .byte 68,15,88,5,191,22,0,0 // addps 0x16bf(%rip),%xmm8 # 7200 <_sk_callback_sse41+0x16af> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_callback_sse41 .globl _sk_callback_sse41 FUNCTION(_sk_callback_sse41) _sk_callback_sse41: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,72 // sub $0x48,%rsp .byte 15,41,125,144 // movaps %xmm7,-0x70(%rbp) .byte 15,41,117,160 // movaps %xmm6,-0x60(%rbp) .byte 15,41,109,176 // movaps %xmm5,-0x50(%rbp) .byte 15,41,101,192 // movaps %xmm4,-0x40(%rbp) .byte 76,137,195 // mov %r8,%rbx .byte 72,137,77,208 // mov %rcx,-0x30(%rbp) .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,252 // mov %rdi,%r12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,198 // mov %rax,%r14 .byte 73,137,245 // mov %rsi,%r13 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,65,15,17,78,8 // movupd %xmm1,0x8(%r14) .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 65,15,17,110,24 // movups %xmm5,0x18(%r14) .byte 102,65,15,17,94,40 // movupd %xmm3,0x28(%r14) .byte 65,15,17,86,56 // movups %xmm2,0x38(%r14) .byte 72,133,219 // test %rbx,%rbx .byte 190,4,0,0,0 // mov $0x4,%esi .byte 15,69,243 // cmovne %ebx,%esi .byte 76,137,247 // mov %r14,%rdi .byte 65,255,22 // callq *(%r14) .byte 73,139,134,136,0,0,0 // mov 0x88(%r14),%rax .byte 15,16,32 // movups (%rax),%xmm4 .byte 15,16,64,16 // movups 0x10(%rax),%xmm0 .byte 15,16,88,32 // movups 0x20(%rax),%xmm3 .byte 15,16,80,48 // movups 0x30(%rax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 76,137,238 // mov %r13,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,231 // mov %r12,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 72,139,77,208 // mov -0x30(%rbp),%rcx .byte 73,137,216 // mov %rbx,%r8 .byte 15,40,101,192 // movaps -0x40(%rbp),%xmm4 .byte 15,40,109,176 // movaps -0x50(%rbp),%xmm5 .byte 15,40,117,160 // movaps -0x60(%rbp),%xmm6 .byte 15,40,125,144 // movaps -0x70(%rbp),%xmm7 .byte 72,131,196,72 // add $0x48,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax BALIGN16 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,1 // cmpb $0x1,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%rax) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%rax) .byte 191,0,0,128,191 // mov $0xbf800000,%edi .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,224,64,0 // cmpb $0x0,0x40e00000(%rdi) .byte 0,224 // add %ah,%al .byte 64,0,0 // add %al,(%rax) .byte 224,64 // loopne 5e4c <.literal16+0x1fc> .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 5e50 <.literal16+0x200> .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5e71 <.literal16+0x221> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5e75 <.literal16+0x225> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5e79 <.literal16+0x229> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5e7d <.literal16+0x22d> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5eb1 <.literal16+0x261> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5eb5 <.literal16+0x265> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5eb9 <.literal16+0x269> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5ebd <.literal16+0x26d> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5ef1 <.literal16+0x2a1> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5ef5 <.literal16+0x2a5> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5ef9 <.literal16+0x2a9> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5efd <.literal16+0x2ad> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5f31 <.literal16+0x2e1> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5f35 <.literal16+0x2e5> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5f39 <.literal16+0x2e9> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 5f3d <.literal16+0x2ed> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,255 // cmpb $0xff,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a005f28 <_sk_callback_sse41+0xa0003d7> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3005f30 <_sk_callback_sse41+0x30003df> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,127 // add %al,0x7f00003f(%rax) .byte 67,0,0 // rex.XB add %al,(%r8) .byte 127,67 // jg 5f9b <.literal16+0x34b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 5f9f <.literal16+0x34f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 5fa3 <.literal16+0x353> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,145 // cmpb $0x91,(%rdi) .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,92 // ds pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,92 // ds pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 82 // push %rdx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,82 // push %r10 .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,57,215 // cmp %edx,%r15d .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 186,159,98,60,186 // mov $0xba3c629f,%edx .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,109 // cmp $0x6d,%al .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 168,177 // test $0xb1,%al .byte 152 // cwtl .byte 59,168,177,152,59,168 // cmp -0x57c4674f(%rax),%ebp .byte 177,152 // mov $0x98,%cl .byte 59,168,177,152,59,0 // cmp 0x3b98b1(%rax),%ebp .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,192 // add %al,-0x3fffffc1(%rax) .byte 64,0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 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,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 .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 61d9 <.literal16+0x589> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 61dd <.literal16+0x58d> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 61e1 <.literal16+0x591> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 61e5 <.literal16+0x595> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 1,255 // add %edi,%edi .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a006228 <_sk_callback_sse41+0xa0006d7> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006230 <_sk_callback_sse41+0x30006df> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,129,128,128,59,129 // incl -0x7ec47f80(%rcx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,255,0,255,0,255,0 // addl $0xff00ff,0xff3b80(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,255 // or %bh,%bh .byte 10,255 // or %bh,%bh .byte 12,255 // or $0xff,%al .byte 14 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,128,55,128 // add %al,-0x7fc88000(%rax) .byte 0,128,55,128,0,128 // add %al,-0x7fff7fc9(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,128,10,128,12,128 // or %al,-0x7ff37ff6(%rax) .byte 14 // (bad) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 62fb <.literal16+0x6ab> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 62ff <.literal16+0x6af> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6303 <.literal16+0x6b3> .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 62f4 <.literal16+0x6a4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 62f8 <.literal16+0x6a8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 62fc <.literal16+0x6ac> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6300 <.literal16+0x6b0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6385 <.literal16+0x735> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 62e9 <.literal16+0x699> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a32a <_sk_callback_sse41+0xffffffffe9a347d9> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 63c4 <.literal16+0x774> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 63c8 <.literal16+0x778> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 63cc <.literal16+0x77c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 63d0 <.literal16+0x780> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6455 <.literal16+0x805> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 63b9 <.literal16+0x769> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a3fa <_sk_callback_sse41+0xffffffffe9a348a9> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 6494 <.literal16+0x844> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6498 <.literal16+0x848> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 649c <.literal16+0x84c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 64a0 <.literal16+0x850> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6525 <.literal16+0x8d5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 6489 <.literal16+0x839> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a4ca <_sk_callback_sse41+0xffffffffe9a34979> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 6564 <.literal16+0x914> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6568 <.literal16+0x918> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 656c <.literal16+0x91c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6570 <.literal16+0x920> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 65f5 <.literal16+0x9a5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 6559 <.literal16+0x909> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a59a <_sk_callback_sse41+0xffffffffe9a34a49> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,200 // add %cl,%al .byte 66,0,0 // rex.X add %al,(%rax) .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 6677 <.literal16+0xa27> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 667b <.literal16+0xa2b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 667f <.literal16+0xa2f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6683 <.literal16+0xa33> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,203,61,13 // or $0xd3dcb3c,%eax .byte 60,203 // cmp $0xcb,%al .byte 61,13,60,203,61 // cmp $0x3dcb3c0d,%eax .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 111 // outsl %ds:(%rsi),(%dx) .byte 18,3 // adc (%rbx),%al .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 163,59,10,215,163,59,10,215,163 // movabs %eax,0xa3d70a3ba3d70a3b .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,194,24,17 // movabs %eax,0x1118c23c1118c23b .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,203 // cmp $0xcb,%al .byte 61,13,190,203,61 // cmp $0x3dcbbe0d,%eax .byte 13,190,203,61,13 // or $0xd3dcbbe,%eax .byte 190,203,61,13,190 // mov $0xbe0d3dcb,%esi .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6703 <.literal16+0xab3> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6707 <.literal16+0xab7> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 670b <.literal16+0xabb> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 670f <.literal16+0xabf> .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,255,0,0,0 // addb $0x0,0xff3b(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 677b <.literal16+0xb2b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 677f <.literal16+0xb2f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6783 <.literal16+0xb33> .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,129,128,128,59,129 // add %al,-0x7ec47f80(%rcx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,0,0,128,63,0,0 // addl $0x3f80,0x3b80(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006800 <_sk_callback_sse41+0x3000caf> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 6839 <.literal16+0xbe9> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 683d <.literal16+0xbed> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6841 <.literal16+0xbf1> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6845 <.literal16+0xbf5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 68a9 <.literal16+0xc59> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 68ad <.literal16+0xc5d> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 68b1 <.literal16+0xc61> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 68b5 <.literal16+0xc65> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 6919 <.literal16+0xcc9> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 691d <.literal16+0xccd> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6921 <.literal16+0xcd1> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6925 <.literal16+0xcd5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,248 // add %bh,%al .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 69b6 <.literal16+0xd66> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 69ba <.literal16+0xd6a> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 69be <.literal16+0xd6e> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 69c2 <.literal16+0xd72> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6b45 <.literal16+0xef5> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6b49 <.literal16+0xef9> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6b4d <.literal16+0xefd> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6b51 <.literal16+0xf01> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006b40 <_sk_callback_sse41+0x3000fef> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006b80 <_sk_callback_sse41+0x300102f> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006bc0 <_sk_callback_sse41+0x300106f> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c1b <.literal16+0xfcb> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c1f <.literal16+0xfcf> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c23 <.literal16+0xfd3> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006c10 <_sk_callback_sse41+0x30010bf> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006c50 <_sk_callback_sse41+0x30010ff> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,1,255,255,255 // addb $0xff,-0xfec5(%rax) .byte 5,255,255,255,9 // add $0x9ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 3006c90 <_sk_callback_sse41+0x300113f> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6ceb <.literal16+0x109b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6cef <.literal16+0x109f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6cf3 <.literal16+0x10a3> .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,4 // add %al,0x4000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,4 // add %al,0x4000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,128,56 // add %al,0x38800000(%rax) .byte 0,0 // add %al,(%rax) .byte 128,56,0 // cmpb $0x0,(%rax) .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%rax) .byte 56,0 // cmp %al,(%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,128,0,128,55,128 // incl -0x7fc88000(%rax) .byte 0,128,55,128,0,128 // add %al,-0x7fff7fc9(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 255 // (bad) .byte 127,71 // jg 6deb <.literal16+0x119b> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 6def <.literal16+0x119f> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 6df3 <.literal16+0x11a3> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 6df7 <.literal16+0x11a7> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%rax) .byte 191,0,0,128,191 // mov $0xbf800000,%edi .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,0,63,0 // cmpb $0x0,0x3f000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 208 // (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 152 // cwtl .byte 221,147,61,152,221,147 // fstl -0x6c2267c3(%rbx) .byte 61,152,221,147,61 // cmp $0x3d93dd98,%eax .byte 152 // cwtl .byte 221,147,61,45,16,17 // fstl 0x11102d3d(%rbx) .byte 192,45,16,17,192,45,16 // shrb $0x10,0x2dc01110(%rip) # 2dc07f2a <_sk_callback_sse41+0x2dc023d9> .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax .byte 120,57 // js 6e5c <.literal16+0x120c> .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,32,148,90,62,32,148,90 // and %dl,0x5a94203e(%rdx,%rbx,2) .byte 62,32,148,90,62,32,148,90 // and %dl,%ds:0x5a94203e(%rdx,%rbx,2) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,0,24 // add %bl,%ds:(%rax) .byte 161,57,0,24,161,57,0,24,161 // movabs 0xa1180039a1180039,%eax .byte 57,0 // cmp %eax,(%rax) .byte 24,161,57,1,0,0 // sbb %ah,0x139(%rcx) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,111,43 // add %ch,0x2b(%rdi) .byte 231,187 // out %eax,$0xbb .byte 111 // outsl %ds:(%rsi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,111,43,231,187 // mov $0xbbe72b6f,%ebx .byte 111 // outsl %ds:(%rsi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,159,215,202,60 // mov $0x3ccad79f,%ebx .byte 159 // lahf .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,212 // lret $0xd43c .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 212 // (bad) .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 0,0 // add %al,(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,128,62,0,0,128 // add %al,-0x7fffffc2(%rax) .byte 62,0,0 // add %al,%ds:(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%rdi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,114 // cmpb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt 7032 <.literal16+0x13e2> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7036 <.literal16+0x13e6> .byte 199 // (bad) .byte 62,114,28 // jb,pt 703a <.literal16+0x13ea> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 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 # 3d63fec5 <_sk_callback_sse41+0x3d63a374> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%rsi) .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d63ff05 <_sk_callback_sse41+0x3d63a3b4> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 114,28 // jb 70fe <.literal16+0x14ae> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7102 <.literal16+0x14b2> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7106 <.literal16+0x14b6> .byte 199 // (bad) .byte 62,114,28 // jb,pt 710a <.literal16+0x14ba> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%rdi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,114 // cmpb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt 7142 <.literal16+0x14f2> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7146 <.literal16+0x14f6> .byte 199 // (bad) .byte 62,114,28 // jb,pt 714a <.literal16+0x14fa> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 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 # 3d63ffd5 <_sk_callback_sse41+0x3d63a484> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%rsi) .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d640015 <_sk_callback_sse41+0x3d63a4c4> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 114,28 // jb 720e <.literal16+0x15be> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7212 <_sk_callback_sse41+0x16c1> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7216 <_sk_callback_sse41+0x16c5> .byte 199 // (bad) .byte 62,114,28 // jb,pt 721a <_sk_callback_sse41+0x16c9> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi BALIGN4 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) BALIGN32 HIDDEN _sk_start_pipeline_sse2 .globl _sk_start_pipeline_sse2 FUNCTION(_sk_start_pipeline_sse2) _sk_start_pipeline_sse2: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,208 // mov %rdx,%r8 .byte 73,137,247 // mov %rsi,%r15 .byte 72,137,251 // mov %rdi,%rbx .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,245 // mov %rsi,%r13 .byte 72,141,75,4 // lea 0x4(%rbx),%rcx .byte 76,57,193 // cmp %r8,%rcx .byte 118,5 // jbe 30 <_sk_start_pipeline_sse2+0x30> .byte 72,137,218 // mov %rbx,%rdx .byte 235,48 // jmp 60 <_sk_start_pipeline_sse2+0x60> .byte 76,137,69,208 // mov %r8,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 76,137,238 // mov %r13,%rsi .byte 72,137,218 // mov %rbx,%rdx .byte 76,137,249 // mov %r15,%rcx .byte 73,137,198 // mov %rax,%r14 .byte 65,255,214 // callq *%r14 .byte 76,139,69,208 // mov -0x30(%rbp),%r8 .byte 76,137,240 // mov %r14,%rax .byte 72,141,83,4 // lea 0x4(%rbx),%rdx .byte 72,131,195,8 // add $0x8,%rbx .byte 76,57,195 // cmp %r8,%rbx .byte 72,137,211 // mov %rdx,%rbx .byte 118,212 // jbe 34 <_sk_start_pipeline_sse2+0x34> .byte 73,41,208 // sub %rdx,%r8 .byte 116,25 // je 7e <_sk_start_pipeline_sse2+0x7e> .byte 76,137,231 // mov %r12,%rdi .byte 76,137,238 // mov %r13,%rsi .byte 76,137,249 // mov %r15,%rcx .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse2 .globl _sk_just_return_sse2 FUNCTION(_sk_just_return_sse2) _sk_just_return_sse2: .byte 195 // retq HIDDEN _sk_seed_shader_sse2 .globl _sk_seed_shader_sse2 FUNCTION(_sk_seed_shader_sse2) _sk_seed_shader_sse2: .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 15,40,21,207,96,0,0 // movaps 0x60cf(%rip),%xmm2 # 6170 <_sk_callback_sse2+0xf2> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,16,7 // movups (%rdi),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 102,15,110,201 // movd %ecx,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,21,190,96,0,0 // movaps 0x60be(%rip),%xmm2 # 6180 <_sk_callback_sse2+0x102> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_sse2 .globl _sk_dither_sse2 FUNCTION(_sk_dither_sse2) _sk_dither_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,68,15,110,194 // movd %edx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 243,68,15,111,79,32 // movdqu 0x20(%rdi),%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 102,68,15,110,193 // movd %ecx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 102,69,15,239,193 // pxor %xmm9,%xmm8 .byte 102,68,15,111,21,140,96,0,0 // movdqa 0x608c(%rip),%xmm10 # 6190 <_sk_callback_sse2+0x112> .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,120,96,0,0 // movdqa 0x6078(%rip),%xmm12 # 61a0 <_sk_callback_sse2+0x122> .byte 102,68,15,111,45,127,96,0,0 // movdqa 0x607f(%rip),%xmm13 # 61b0 <_sk_callback_sse2+0x132> .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 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,69,15,254,237 // paddd %xmm13,%xmm13 .byte 102,69,15,219,196 // pand %xmm12,%xmm8 .byte 102,65,15,114,208,1 // psrld $0x1,%xmm8 .byte 102,69,15,219,204 // pand %xmm12,%xmm9 .byte 102,65,15,114,209,2 // psrld $0x2,%xmm9 .byte 102,69,15,235,234 // por %xmm10,%xmm13 .byte 102,69,15,235,233 // por %xmm9,%xmm13 .byte 102,69,15,235,243 // por %xmm11,%xmm14 .byte 102,69,15,235,245 // por %xmm13,%xmm14 .byte 102,69,15,235,240 // por %xmm8,%xmm14 .byte 69,15,91,198 // cvtdq2ps %xmm14,%xmm8 .byte 68,15,89,5,58,96,0,0 // mulps 0x603a(%rip),%xmm8 # 61c0 <_sk_callback_sse2+0x142> .byte 68,15,88,5,66,96,0,0 // addps 0x6042(%rip),%xmm8 # 61d0 <_sk_callback_sse2+0x152> .byte 243,68,15,16,16 // movss (%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 68,15,88,210 // addps %xmm2,%xmm10 .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 68,15,95,201 // maxps %xmm1,%xmm9 .byte 68,15,93,211 // minps %xmm3,%xmm10 .byte 65,15,95,210 // maxps %xmm10,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_sse2 .globl _sk_uniform_color_sse2 FUNCTION(_sk_uniform_color_sse2) _sk_uniform_color_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_sse2 .globl _sk_black_color_sse2 FUNCTION(_sk_black_color_sse2) _sk_black_color_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,216,95,0,0 // movaps 0x5fd8(%rip),%xmm3 # 61e0 <_sk_callback_sse2+0x162> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_sse2 .globl _sk_white_color_sse2 FUNCTION(_sk_white_color_sse2) _sk_white_color_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,5,212,95,0,0 // movaps 0x5fd4(%rip),%xmm0 # 61f0 <_sk_callback_sse2+0x172> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_rgba_sse2 .globl _sk_load_rgba_sse2 FUNCTION(_sk_load_rgba_sse2) _sk_load_rgba_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 15,16,72,16 // movups 0x10(%rax),%xmm1 .byte 15,16,80,32 // movups 0x20(%rax),%xmm2 .byte 15,16,88,48 // movups 0x30(%rax),%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_rgba_sse2 .globl _sk_store_rgba_sse2 FUNCTION(_sk_store_rgba_sse2) _sk_store_rgba_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,17,0 // movups %xmm0,(%rax) .byte 15,17,72,16 // movups %xmm1,0x10(%rax) .byte 15,17,80,32 // movups %xmm2,0x20(%rax) .byte 15,17,88,48 // movups %xmm3,0x30(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_sse2 .globl _sk_clear_sse2 FUNCTION(_sk_clear_sse2) _sk_clear_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_sse2 .globl _sk_srcatop_sse2 FUNCTION(_sk_srcatop_sse2) _sk_srcatop_sse2: .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 68,15,40,5,148,95,0,0 // movaps 0x5f94(%rip),%xmm8 # 6200 <_sk_callback_sse2+0x182> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_sse2 .globl _sk_dstatop_sse2 FUNCTION(_sk_dstatop_sse2) _sk_dstatop_sse2: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 68,15,40,13,87,95,0,0 // movaps 0x5f57(%rip),%xmm9 # 6210 <_sk_callback_sse2+0x192> .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,197 // mulps %xmm5,%xmm8 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 65,15,88,208 // addps %xmm8,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_sse2 .globl _sk_srcin_sse2 FUNCTION(_sk_srcin_sse2) _sk_srcin_sse2: .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_sse2 .globl _sk_dstin_sse2 FUNCTION(_sk_dstin_sse2) _sk_dstin_sse2: .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_sse2 .globl _sk_srcout_sse2 FUNCTION(_sk_srcout_sse2) _sk_srcout_sse2: .byte 68,15,40,5,251,94,0,0 // movaps 0x5efb(%rip),%xmm8 # 6220 <_sk_callback_sse2+0x1a2> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_sse2 .globl _sk_dstout_sse2 FUNCTION(_sk_dstout_sse2) _sk_dstout_sse2: .byte 68,15,40,5,235,94,0,0 // movaps 0x5eeb(%rip),%xmm8 # 6230 <_sk_callback_sse2+0x1b2> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_sse2 .globl _sk_srcover_sse2 FUNCTION(_sk_srcover_sse2) _sk_srcover_sse2: .byte 68,15,40,5,206,94,0,0 // movaps 0x5ece(%rip),%xmm8 # 6240 <_sk_callback_sse2+0x1c2> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_sse2 .globl _sk_dstover_sse2 FUNCTION(_sk_dstover_sse2) _sk_dstover_sse2: .byte 68,15,40,5,162,94,0,0 // movaps 0x5ea2(%rip),%xmm8 # 6250 <_sk_callback_sse2+0x1d2> .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_sse2 .globl _sk_modulate_sse2 FUNCTION(_sk_modulate_sse2) _sk_modulate_sse2: .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_sse2 .globl _sk_multiply_sse2 FUNCTION(_sk_multiply_sse2) _sk_multiply_sse2: .byte 68,15,40,5,118,94,0,0 // movaps 0x5e76(%rip),%xmm8 # 6260 <_sk_callback_sse2+0x1e2> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,220 // mulps %xmm4,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,221 // mulps %xmm5,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse2 .globl _sk_plus__sse2 FUNCTION(_sk_plus__sse2) _sk_plus__sse2: .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse2 .globl _sk_screen_sse2 FUNCTION(_sk_screen_sse2) _sk_screen_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,92,202 // subps %xmm2,%xmm9 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse2 .globl _sk_xor__sse2 FUNCTION(_sk_xor__sse2) _sk_xor__sse2: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 15,40,29,171,93,0,0 // movaps 0x5dab(%rip),%xmm3 # 6270 <_sk_callback_sse2+0x1f2> .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,92,216 // subps %xmm8,%xmm3 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,212 // mulps %xmm4,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,213 // mulps %xmm5,%xmm10 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,89,214 // mulps %xmm6,%xmm10 .byte 65,15,88,210 // addps %xmm10,%xmm2 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_sse2 .globl _sk_darken_sse2 FUNCTION(_sk_darken_sse2) _sk_darken_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,95,201 // maxps %xmm1,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,95,193 // maxps %xmm9,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,95,209 // maxps %xmm9,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,22,93,0,0 // movaps 0x5d16(%rip),%xmm2 # 6280 <_sk_callback_sse2+0x202> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_sse2 .globl _sk_lighten_sse2 FUNCTION(_sk_lighten_sse2) _sk_lighten_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,93,201 // minps %xmm1,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,93,193 // minps %xmm9,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,93,209 // minps %xmm9,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,187,92,0,0 // movaps 0x5cbb(%rip),%xmm2 # 6290 <_sk_callback_sse2+0x212> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_sse2 .globl _sk_difference_sse2 FUNCTION(_sk_difference_sse2) _sk_difference_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 68,15,93,201 // minps %xmm1,%xmm9 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,93,193 // minps %xmm9,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,93,209 // minps %xmm9,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,85,92,0,0 // movaps 0x5c55(%rip),%xmm2 # 62a0 <_sk_callback_sse2+0x222> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_sse2 .globl _sk_exclusion_sse2 FUNCTION(_sk_exclusion_sse2) _sk_exclusion_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 68,15,89,197 // mulps %xmm5,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 68,15,92,194 // subps %xmm2,%xmm8 .byte 15,40,21,21,92,0,0 // movaps 0x5c15(%rip),%xmm2 # 62b0 <_sk_callback_sse2+0x232> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse2 .globl _sk_colorburn_sse2 FUNCTION(_sk_colorburn_sse2) _sk_colorburn_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,21,8,92,0,0 // movaps 0x5c08(%rip),%xmm10 # 62c0 <_sk_callback_sse2+0x242> .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,217 // movaps %xmm9,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,94,192 // divps %xmm8,%xmm0 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,93,224 // minps %xmm0,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 69,15,40,224 // movaps %xmm8,%xmm12 .byte 69,15,194,227,0 // cmpeqps %xmm11,%xmm12 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,84,196 // andps %xmm12,%xmm8 .byte 69,15,85,229 // andnps %xmm13,%xmm12 .byte 69,15,40,234 // movaps %xmm10,%xmm13 .byte 68,15,89,236 // mulps %xmm4,%xmm13 .byte 69,15,86,224 // orps %xmm8,%xmm12 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 68,15,194,199,0 // cmpeqps %xmm7,%xmm8 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 69,15,85,196 // andnps %xmm12,%xmm8 .byte 65,15,86,192 // orps %xmm8,%xmm0 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,92,229 // subps %xmm5,%xmm12 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 68,15,94,225 // divps %xmm1,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,233 // movaps %xmm1,%xmm13 .byte 69,15,194,235,0 // cmpeqps %xmm11,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,224 // addps %xmm8,%xmm12 .byte 65,15,84,205 // andps %xmm13,%xmm1 .byte 69,15,85,236 // andnps %xmm12,%xmm13 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 68,15,86,233 // orps %xmm1,%xmm13 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,88,233 // addps %xmm1,%xmm13 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,194,207,0 // cmpeqps %xmm7,%xmm1 .byte 68,15,84,193 // andps %xmm1,%xmm8 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 68,15,86,193 // orps %xmm1,%xmm8 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,94,202 // divps %xmm2,%xmm1 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,93,225 // minps %xmm1,%xmm12 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 65,15,92,204 // subps %xmm12,%xmm1 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 68,15,194,218,0 // cmpeqps %xmm2,%xmm11 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 65,15,84,211 // andps %xmm11,%xmm2 .byte 68,15,85,217 // andnps %xmm1,%xmm11 .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 68,15,86,218 // orps %xmm2,%xmm11 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 68,15,88,217 // addps %xmm1,%xmm11 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,194,207,0 // cmpeqps %xmm7,%xmm1 .byte 68,15,84,201 // andps %xmm1,%xmm9 .byte 65,15,85,203 // andnps %xmm11,%xmm1 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_sse2 .globl _sk_colordodge_sse2 FUNCTION(_sk_colordodge_sse2) _sk_colordodge_sse2: .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,40,21,190,90,0,0 // movaps 0x5abe(%rip),%xmm10 # 62d0 <_sk_callback_sse2+0x252> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,89,225 // mulps %xmm9,%xmm12 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 68,15,94,192 // divps %xmm0,%xmm8 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 68,15,194,243,0 // cmpeqps %xmm3,%xmm14 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 69,15,84,206 // andps %xmm14,%xmm9 .byte 68,15,85,240 // andnps %xmm0,%xmm14 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,86,241 // orps %xmm9,%xmm14 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 69,15,88,241 // addps %xmm9,%xmm14 .byte 68,15,40,204 // movaps %xmm4,%xmm9 .byte 69,15,194,200,0 // cmpeqps %xmm8,%xmm9 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 69,15,85,206 // andnps %xmm14,%xmm9 .byte 65,15,86,193 // orps %xmm9,%xmm0 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 69,15,94,204 // divps %xmm12,%xmm9 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 68,15,89,225 // mulps %xmm1,%xmm12 .byte 69,15,93,233 // minps %xmm9,%xmm13 .byte 68,15,40,241 // movaps %xmm1,%xmm14 .byte 68,15,194,243,0 // cmpeqps %xmm3,%xmm14 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 65,15,84,206 // andps %xmm14,%xmm1 .byte 69,15,85,245 // andnps %xmm13,%xmm14 .byte 69,15,40,204 // movaps %xmm12,%xmm9 .byte 68,15,88,205 // addps %xmm5,%xmm9 .byte 68,15,86,241 // orps %xmm1,%xmm14 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,88,241 // addps %xmm1,%xmm14 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 65,15,194,200,0 // cmpeqps %xmm8,%xmm1 .byte 68,15,84,201 // andps %xmm1,%xmm9 .byte 65,15,85,206 // andnps %xmm14,%xmm1 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,202 // subps %xmm2,%xmm1 .byte 68,15,94,225 // divps %xmm1,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,194,203,0 // cmpeqps %xmm3,%xmm1 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 15,84,209 // andps %xmm1,%xmm2 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 15,86,202 // orps %xmm2,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 68,15,194,198,0 // cmpeqps %xmm6,%xmm8 .byte 68,15,88,222 // addps %xmm6,%xmm11 .byte 69,15,84,216 // andps %xmm8,%xmm11 .byte 68,15,85,193 // andnps %xmm1,%xmm8 .byte 69,15,86,195 // orps %xmm11,%xmm8 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse2 .globl _sk_hardlight_sse2 FUNCTION(_sk_hardlight_sse2) _sk_hardlight_sse2: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 68,15,40,29,115,89,0,0 // movaps 0x5973(%rip),%xmm11 # 62e0 <_sk_callback_sse2+0x262> .byte 69,15,40,211 // movaps %xmm11,%xmm10 .byte 68,15,92,215 // subps %xmm7,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 68,15,92,219 // subps %xmm3,%xmm11 .byte 69,15,40,203 // movaps %xmm11,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,92,192 // subps %xmm0,%xmm8 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 68,15,40,255 // movaps %xmm7,%xmm15 .byte 68,15,92,253 // subps %xmm5,%xmm15 .byte 69,15,89,248 // mulps %xmm8,%xmm15 .byte 69,15,88,255 // addps %xmm15,%xmm15 .byte 68,15,40,228 // movaps %xmm4,%xmm12 .byte 69,15,92,231 // subps %xmm15,%xmm12 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 68,15,194,195,2 // cmpleps %xmm3,%xmm8 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 69,15,85,196 // andnps %xmm12,%xmm8 .byte 68,15,86,192 // orps %xmm0,%xmm8 .byte 69,15,40,251 // movaps %xmm11,%xmm15 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 68,15,89,223 // mulps %xmm7,%xmm11 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 68,15,89,254 // mulps %xmm6,%xmm15 .byte 68,15,88,248 // addps %xmm0,%xmm15 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 68,15,92,238 // subps %xmm6,%xmm13 .byte 68,15,89,232 // mulps %xmm0,%xmm13 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,92,197 // subps %xmm13,%xmm0 .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 69,15,88,201 // addps %xmm9,%xmm9 .byte 68,15,194,203,2 // cmpleps %xmm3,%xmm9 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 65,15,84,201 // andps %xmm9,%xmm1 .byte 68,15,85,200 // andnps %xmm0,%xmm9 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 69,15,88,207 // addps %xmm15,%xmm9 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,40,108,36,232 // movaps -0x18(%rsp),%xmm13 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,88,226 // addps %xmm10,%xmm12 .byte 68,15,40,210 // movaps %xmm2,%xmm10 .byte 69,15,88,210 // addps %xmm10,%xmm10 .byte 68,15,194,211,2 // cmpleps %xmm3,%xmm10 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 65,15,89,213 // mulps %xmm13,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 69,15,92,245 // subps %xmm13,%xmm14 .byte 68,15,89,240 // mulps %xmm0,%xmm14 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 65,15,92,230 // subps %xmm14,%xmm4 .byte 65,15,84,210 // andps %xmm10,%xmm2 .byte 68,15,85,212 // andnps %xmm4,%xmm10 .byte 68,15,86,210 // orps %xmm2,%xmm10 .byte 69,15,88,212 // addps %xmm12,%xmm10 .byte 65,15,88,219 // addps %xmm11,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 65,15,40,245 // movaps %xmm13,%xmm6 .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_sse2 .globl _sk_overlay_sse2 FUNCTION(_sk_overlay_sse2) _sk_overlay_sse2: .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,40,232 // movaps %xmm0,%xmm13 .byte 68,15,40,13,65,88,0,0 // movaps 0x5841(%rip),%xmm9 # 62f0 <_sk_callback_sse2+0x272> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,92,215 // subps %xmm7,%xmm10 .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 69,15,89,221 // mulps %xmm13,%xmm11 .byte 68,15,92,203 // subps %xmm3,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,89,236 // mulps %xmm4,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 68,15,92,244 // subps %xmm4,%xmm14 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,194,207,2 // cmpleps %xmm7,%xmm1 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 68,15,40,219 // movaps %xmm3,%xmm11 .byte 68,15,89,223 // mulps %xmm7,%xmm11 .byte 69,15,89,244 // mulps %xmm12,%xmm14 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,92,230 // subps %xmm14,%xmm12 .byte 68,15,84,233 // andps %xmm1,%xmm13 .byte 65,15,85,204 // andnps %xmm12,%xmm1 .byte 65,15,86,205 // orps %xmm13,%xmm1 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 69,15,40,226 // movaps %xmm10,%xmm12 .byte 69,15,89,224 // mulps %xmm8,%xmm12 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 69,15,92,224 // subps %xmm8,%xmm12 .byte 68,15,89,197 // mulps %xmm5,%xmm8 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,92,237 // subps %xmm5,%xmm13 .byte 68,15,40,245 // movaps %xmm5,%xmm14 .byte 69,15,88,246 // addps %xmm14,%xmm14 .byte 68,15,194,247,2 // cmpleps %xmm7,%xmm14 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 69,15,84,198 // andps %xmm14,%xmm8 .byte 69,15,85,244 // andnps %xmm12,%xmm14 .byte 69,15,86,240 // orps %xmm8,%xmm14 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 69,15,88,194 // addps %xmm10,%xmm8 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,92,210 // subps %xmm2,%xmm10 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,92,230 // subps %xmm6,%xmm12 .byte 68,15,40,238 // movaps %xmm6,%xmm13 .byte 69,15,88,237 // addps %xmm13,%xmm13 .byte 68,15,194,239,2 // cmpleps %xmm7,%xmm13 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,88,228 // addps %xmm12,%xmm12 .byte 69,15,92,220 // subps %xmm12,%xmm11 .byte 65,15,84,213 // andps %xmm13,%xmm2 .byte 69,15,85,235 // andnps %xmm11,%xmm13 .byte 68,15,86,234 // orps %xmm2,%xmm13 .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_softlight_sse2 .globl _sk_softlight_sse2 FUNCTION(_sk_softlight_sse2) _sk_softlight_sse2: .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,41,84,36,232 // movaps %xmm2,-0x18(%rsp) .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 68,15,194,231,1 // cmpltps %xmm7,%xmm12 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 68,15,94,215 // divps %xmm7,%xmm10 .byte 69,15,84,212 // andps %xmm12,%xmm10 .byte 68,15,40,13,254,86,0,0 // movaps 0x56fe(%rip),%xmm9 # 6300 <_sk_callback_sse2+0x282> .byte 69,15,40,249 // movaps %xmm9,%xmm15 .byte 69,15,92,250 // subps %xmm10,%xmm15 .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 69,15,40,234 // movaps %xmm10,%xmm13 .byte 65,15,82,194 // rsqrtps %xmm10,%xmm0 .byte 15,83,200 // rcpps %xmm0,%xmm1 .byte 65,15,92,202 // subps %xmm10,%xmm1 .byte 69,15,88,210 // addps %xmm10,%xmm10 .byte 69,15,88,210 // addps %xmm10,%xmm10 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,40,53,216,86,0,0 // movaps 0x56d8(%rip),%xmm14 # 6310 <_sk_callback_sse2+0x292> .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 68,15,89,216 // mulps %xmm0,%xmm11 .byte 68,15,40,21,216,86,0,0 // movaps 0x56d8(%rip),%xmm10 # 6320 <_sk_callback_sse2+0x2a2> .byte 69,15,89,234 // mulps %xmm10,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,194,231,2 // cmpleps %xmm7,%xmm4 .byte 68,15,84,236 // andps %xmm4,%xmm13 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 65,15,86,229 // orps %xmm13,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 68,15,89,249 // mulps %xmm1,%xmm15 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 69,15,40,217 // movaps %xmm9,%xmm11 .byte 68,15,92,219 // subps %xmm3,%xmm11 .byte 65,15,40,203 // movaps %xmm11,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 68,15,92,239 // subps %xmm7,%xmm13 .byte 69,15,89,197 // mulps %xmm13,%xmm8 .byte 68,15,88,193 // addps %xmm1,%xmm8 .byte 68,15,88,251 // addps %xmm3,%xmm15 .byte 68,15,89,253 // mulps %xmm5,%xmm15 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 68,15,84,248 // andps %xmm0,%xmm15 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 65,15,86,199 // orps %xmm15,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,198 // movaps %xmm6,%xmm8 .byte 68,15,94,199 // divps %xmm7,%xmm8 .byte 69,15,84,196 // andps %xmm12,%xmm8 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 69,15,40,249 // movaps %xmm9,%xmm15 .byte 69,15,92,248 // subps %xmm8,%xmm15 .byte 65,15,82,224 // rsqrtps %xmm8,%xmm4 .byte 15,83,228 // rcpps %xmm4,%xmm4 .byte 65,15,92,224 // subps %xmm8,%xmm4 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 68,15,88,193 // addps %xmm1,%xmm8 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,194,207,2 // cmpleps %xmm7,%xmm1 .byte 68,15,84,193 // andps %xmm1,%xmm8 .byte 15,85,204 // andnps %xmm4,%xmm1 .byte 65,15,86,200 // orps %xmm8,%xmm1 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 69,15,88,192 // addps %xmm8,%xmm8 .byte 65,15,40,224 // movaps %xmm8,%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 68,15,89,252 // mulps %xmm4,%xmm15 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 65,15,40,227 // movaps %xmm11,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 65,15,89,213 // mulps %xmm13,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 68,15,88,251 // addps %xmm3,%xmm15 .byte 68,15,89,254 // mulps %xmm6,%xmm15 .byte 68,15,194,195,2 // cmpleps %xmm3,%xmm8 .byte 69,15,84,248 // andps %xmm8,%xmm15 .byte 68,15,85,193 // andnps %xmm1,%xmm8 .byte 69,15,86,199 // orps %xmm15,%xmm8 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 68,15,40,124,36,216 // movaps -0x28(%rsp),%xmm15 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 15,94,207 // divps %xmm7,%xmm1 .byte 65,15,84,204 // andps %xmm12,%xmm1 .byte 68,15,92,201 // subps %xmm1,%xmm9 .byte 68,15,88,241 // addps %xmm1,%xmm14 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 15,82,209 // rsqrtps %xmm1,%xmm2 .byte 15,83,210 // rcpps %xmm2,%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 68,15,89,244 // mulps %xmm4,%xmm14 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,194,207,2 // cmpleps %xmm7,%xmm1 .byte 68,15,84,209 // andps %xmm1,%xmm10 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 15,40,84,36,232 // movaps -0x18(%rsp),%xmm2 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 65,15,86,202 // orps %xmm10,%xmm1 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 65,15,89,231 // mulps %xmm15,%xmm4 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 65,15,40,227 // movaps %xmm11,%xmm4 .byte 65,15,89,231 // mulps %xmm15,%xmm4 .byte 65,15,88,229 // addps %xmm13,%xmm4 .byte 68,15,88,203 // addps %xmm3,%xmm9 .byte 69,15,89,207 // mulps %xmm15,%xmm9 .byte 69,15,40,215 // movaps %xmm15,%xmm10 .byte 15,194,211,2 // cmpleps %xmm3,%xmm2 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 65,15,86,209 // orps %xmm9,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 68,15,89,223 // mulps %xmm7,%xmm11 .byte 65,15,88,219 // addps %xmm11,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 65,15,40,242 // movaps %xmm10,%xmm6 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_hue_sse2 .globl _sk_hue_sse2 FUNCTION(_sk_hue_sse2) _sk_hue_sse2: .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 68,15,89,211 // mulps %xmm3,%xmm10 .byte 68,15,40,5,27,85,0,0 // movaps 0x551b(%rip),%xmm8 # 6360 <_sk_callback_sse2+0x2e2> .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 68,15,92,217 // subps %xmm1,%xmm11 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 15,41,68,36,232 // movaps %xmm0,-0x18(%rsp) .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 68,15,41,100,36,216 // movaps %xmm12,-0x28(%rsp) .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 68,15,40,237 // movaps %xmm5,%xmm13 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,41,68,36,200 // movaps %xmm0,-0x38(%rsp) .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 68,15,95,239 // maxps %xmm7,%xmm13 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 68,15,40,245 // movaps %xmm5,%xmm14 .byte 68,15,40,253 // movaps %xmm5,%xmm15 .byte 69,15,95,253 // maxps %xmm13,%xmm15 .byte 68,15,93,231 // minps %xmm7,%xmm12 .byte 69,15,93,244 // minps %xmm12,%xmm14 .byte 69,15,92,254 // subps %xmm14,%xmm15 .byte 69,15,40,226 // movaps %xmm10,%xmm12 .byte 68,15,93,226 // minps %xmm2,%xmm12 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 69,15,40,226 // movaps %xmm10,%xmm12 .byte 68,15,95,226 // maxps %xmm2,%xmm12 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 69,15,95,244 // maxps %xmm12,%xmm14 .byte 69,15,92,245 // subps %xmm13,%xmm14 .byte 69,15,92,205 // subps %xmm13,%xmm9 .byte 69,15,92,213 // subps %xmm13,%xmm10 .byte 65,15,92,213 // subps %xmm13,%xmm2 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 68,15,89,251 // mulps %xmm3,%xmm15 .byte 69,15,89,207 // mulps %xmm15,%xmm9 .byte 69,15,89,215 // mulps %xmm15,%xmm10 .byte 65,15,89,215 // mulps %xmm15,%xmm2 .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,94,206 // divps %xmm14,%xmm9 .byte 69,15,94,214 // divps %xmm14,%xmm10 .byte 65,15,94,214 // divps %xmm14,%xmm2 .byte 69,15,194,244,4 // cmpneqps %xmm12,%xmm14 .byte 69,15,84,206 // andps %xmm14,%xmm9 .byte 69,15,84,214 // andps %xmm14,%xmm10 .byte 65,15,84,214 // andps %xmm14,%xmm2 .byte 68,15,40,61,40,84,0,0 // movaps 0x5428(%rip),%xmm15 # 6330 <_sk_callback_sse2+0x2b2> .byte 65,15,89,231 // mulps %xmm15,%xmm4 .byte 15,40,5,45,84,0,0 // movaps 0x542d(%rip),%xmm0 # 6340 <_sk_callback_sse2+0x2c2> .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 68,15,40,53,47,84,0,0 // movaps 0x542f(%rip),%xmm14 # 6350 <_sk_callback_sse2+0x2d2> .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,88,238 // addps %xmm6,%xmm13 .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 65,15,89,231 // mulps %xmm15,%xmm4 .byte 65,15,40,242 // movaps %xmm10,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 65,15,89,230 // mulps %xmm14,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 68,15,92,236 // subps %xmm4,%xmm13 .byte 69,15,88,205 // addps %xmm13,%xmm9 .byte 69,15,88,213 // addps %xmm13,%xmm10 .byte 68,15,88,234 // addps %xmm2,%xmm13 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,93,213 // minps %xmm13,%xmm2 .byte 65,15,40,241 // movaps %xmm9,%xmm6 .byte 15,93,242 // minps %xmm2,%xmm6 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,95,213 // maxps %xmm13,%xmm2 .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 15,95,226 // maxps %xmm2,%xmm4 .byte 69,15,89,249 // mulps %xmm9,%xmm15 .byte 65,15,89,194 // mulps %xmm10,%xmm0 .byte 65,15,88,199 // addps %xmm15,%xmm0 .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 68,15,88,240 // addps %xmm0,%xmm14 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,194,214,2 // cmpleps %xmm6,%xmm2 .byte 69,15,40,254 // movaps %xmm14,%xmm15 .byte 68,15,92,254 // subps %xmm6,%xmm15 .byte 65,15,40,241 // movaps %xmm9,%xmm6 .byte 65,15,92,246 // subps %xmm14,%xmm6 .byte 65,15,89,246 // mulps %xmm14,%xmm6 .byte 65,15,94,247 // divps %xmm15,%xmm6 .byte 65,15,88,246 // addps %xmm14,%xmm6 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 68,15,86,200 // orps %xmm0,%xmm9 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,41,76,36,184 // movaps %xmm1,-0x48(%rsp) .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,194,196,1 // cmpltps %xmm4,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 65,15,85,201 // andnps %xmm9,%xmm1 .byte 69,15,92,206 // subps %xmm14,%xmm9 .byte 65,15,92,246 // subps %xmm14,%xmm6 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 65,15,92,230 // subps %xmm14,%xmm4 .byte 68,15,94,204 // divps %xmm4,%xmm9 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 68,15,84,200 // andps %xmm0,%xmm9 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,92,206 // subps %xmm14,%xmm1 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 65,15,94,207 // divps %xmm15,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,85,217 // andnps %xmm1,%xmm3 .byte 68,15,84,210 // andps %xmm2,%xmm10 .byte 68,15,86,211 // orps %xmm3,%xmm10 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 65,15,85,202 // andnps %xmm10,%xmm1 .byte 69,15,92,214 // subps %xmm14,%xmm10 .byte 68,15,89,214 // mulps %xmm6,%xmm10 .byte 68,15,94,212 // divps %xmm4,%xmm10 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 68,15,84,208 // andps %xmm0,%xmm10 .byte 68,15,86,209 // orps %xmm1,%xmm10 .byte 65,15,40,205 // movaps %xmm13,%xmm1 .byte 65,15,92,206 // subps %xmm14,%xmm1 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 65,15,94,207 // divps %xmm15,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 68,15,84,234 // andps %xmm2,%xmm13 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 65,15,86,213 // orps %xmm13,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 65,15,92,214 // subps %xmm14,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,94,212 // divps %xmm4,%xmm2 .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 69,15,95,204 // maxps %xmm12,%xmm9 .byte 69,15,95,212 // maxps %xmm12,%xmm10 .byte 65,15,95,212 // maxps %xmm12,%xmm2 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,76,36,232 // movaps -0x18(%rsp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 15,40,116,36,200 // movaps -0x38(%rsp),%xmm6 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,40,76,36,216 // movaps -0x28(%rsp),%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 69,15,88,195 // addps %xmm11,%xmm8 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,124,36,184 // movaps -0x48(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_saturation_sse2 .globl _sk_saturation_sse2 FUNCTION(_sk_saturation_sse2) _sk_saturation_sse2: .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,40,198 // movaps %xmm6,%xmm8 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 68,15,40,216 // movaps %xmm0,%xmm11 .byte 68,15,40,215 // movaps %xmm7,%xmm10 .byte 68,15,89,212 // mulps %xmm4,%xmm10 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,41,116,36,184 // movaps %xmm6,-0x48(%rsp) .byte 68,15,40,207 // movaps %xmm7,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 15,41,108,36,200 // movaps %xmm5,-0x38(%rsp) .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 69,15,40,232 // movaps %xmm8,%xmm13 .byte 68,15,41,108,36,168 // movaps %xmm13,-0x58(%rsp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,41,100,36,216 // movaps %xmm4,-0x28(%rsp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,41,84,36,232 // movaps %xmm2,-0x18(%rsp) .byte 15,95,218 // maxps %xmm2,%xmm3 .byte 65,15,40,203 // movaps %xmm11,%xmm1 .byte 15,95,203 // maxps %xmm3,%xmm1 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,93,218 // minps %xmm2,%xmm3 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 15,92,202 // subps %xmm2,%xmm1 .byte 65,15,89,204 // mulps %xmm12,%xmm1 .byte 65,15,40,228 // movaps %xmm12,%xmm4 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,93,208 // minps %xmm0,%xmm2 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,93,194 // minps %xmm2,%xmm8 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 15,95,208 // maxps %xmm0,%xmm2 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,95,218 // maxps %xmm2,%xmm3 .byte 65,15,92,216 // subps %xmm8,%xmm3 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 69,15,92,208 // subps %xmm8,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 68,15,94,211 // divps %xmm3,%xmm10 .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 68,15,94,203 // divps %xmm3,%xmm9 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,94,195 // divps %xmm3,%xmm0 .byte 15,194,218,4 // cmpneqps %xmm2,%xmm3 .byte 68,15,84,211 // andps %xmm3,%xmm10 .byte 68,15,84,203 // andps %xmm3,%xmm9 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 68,15,40,5,193,81,0,0 // movaps 0x51c1(%rip),%xmm8 # 6370 <_sk_callback_sse2+0x2f2> .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,40,13,195,81,0,0 // movaps 0x51c3(%rip),%xmm1 # 6380 <_sk_callback_sse2+0x302> .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,194,81,0,0 // movaps 0x51c2(%rip),%xmm12 # 6390 <_sk_callback_sse2+0x312> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,235 // addps %xmm3,%xmm13 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,40,217 // movaps %xmm9,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 65,15,89,212 // mulps %xmm12,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 68,15,89,239 // mulps %xmm7,%xmm13 .byte 68,15,92,234 // subps %xmm2,%xmm13 .byte 69,15,88,213 // addps %xmm13,%xmm10 .byte 69,15,88,205 // addps %xmm13,%xmm9 .byte 68,15,88,232 // addps %xmm0,%xmm13 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,93,197 // minps %xmm13,%xmm0 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 15,93,216 // minps %xmm0,%xmm3 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,95,197 // maxps %xmm13,%xmm0 .byte 69,15,40,242 // movaps %xmm10,%xmm14 .byte 68,15,95,240 // maxps %xmm0,%xmm14 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 68,15,88,225 // addps %xmm1,%xmm12 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,194,211,2 // cmpleps %xmm3,%xmm2 .byte 65,15,40,244 // movaps %xmm12,%xmm6 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 15,94,198 // divps %xmm6,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 68,15,84,210 // andps %xmm2,%xmm10 .byte 68,15,86,209 // orps %xmm1,%xmm10 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 68,15,40,5,39,81,0,0 // movaps 0x5127(%rip),%xmm8 # 63a0 <_sk_callback_sse2+0x322> .byte 65,15,40,224 // movaps %xmm8,%xmm4 .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 15,88,253 // addps %xmm5,%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 65,15,194,222,1 // cmpltps %xmm14,%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,85,194 // andnps %xmm10,%xmm0 .byte 69,15,92,212 // subps %xmm12,%xmm10 .byte 65,15,92,204 // subps %xmm12,%xmm1 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,92,244 // subps %xmm12,%xmm14 .byte 69,15,94,214 // divps %xmm14,%xmm10 .byte 69,15,88,212 // addps %xmm12,%xmm10 .byte 68,15,84,211 // andps %xmm3,%xmm10 .byte 68,15,86,208 // orps %xmm0,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 15,94,198 // divps %xmm6,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 68,15,40,250 // movaps %xmm2,%xmm15 .byte 68,15,85,248 // andnps %xmm0,%xmm15 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 69,15,86,207 // orps %xmm15,%xmm9 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,85,193 // andnps %xmm9,%xmm0 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 69,15,94,206 // divps %xmm14,%xmm9 .byte 69,15,88,204 // addps %xmm12,%xmm9 .byte 68,15,84,203 // andps %xmm3,%xmm9 .byte 68,15,86,200 // orps %xmm0,%xmm9 .byte 65,15,40,197 // movaps %xmm13,%xmm0 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 15,94,198 // divps %xmm6,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 68,15,84,234 // andps %xmm2,%xmm13 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 65,15,86,213 // orps %xmm13,%xmm2 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,85,194 // andnps %xmm2,%xmm0 .byte 65,15,92,212 // subps %xmm12,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 65,15,94,214 // divps %xmm14,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 15,84,211 // andps %xmm3,%xmm2 .byte 15,86,208 // orps %xmm0,%xmm2 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 68,15,95,208 // maxps %xmm0,%xmm10 .byte 68,15,95,200 // maxps %xmm0,%xmm9 .byte 15,95,208 // maxps %xmm0,%xmm2 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,92,36,184 // movaps -0x48(%rsp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 65,15,92,228 // subps %xmm12,%xmm4 .byte 68,15,89,220 // mulps %xmm4,%xmm11 .byte 68,15,88,216 // addps %xmm0,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,76,36,216 // movaps -0x28(%rsp),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 15,89,100,36,232 // mulps -0x18(%rsp),%xmm4 .byte 15,40,68,36,168 // movaps -0x58(%rsp),%xmm0 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 68,15,88,196 // addps %xmm4,%xmm8 .byte 68,15,88,194 // addps %xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 65,15,40,252 // movaps %xmm12,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_color_sse2 .globl _sk_color_sse2 FUNCTION(_sk_color_sse2) _sk_color_sse2: .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 68,15,40,230 // movaps %xmm6,%xmm12 .byte 68,15,41,100,36,216 // movaps %xmm12,-0x28(%rsp) .byte 68,15,40,221 // movaps %xmm5,%xmm11 .byte 68,15,41,92,36,232 // movaps %xmm11,-0x18(%rsp) .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,41,84,36,184 // movaps %xmm2,-0x48(%rsp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 68,15,40,207 // movaps %xmm7,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 68,15,40,213 // movaps %xmm5,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 68,15,40,45,197,79,0,0 // movaps 0x4fc5(%rip),%xmm13 # 63b0 <_sk_callback_sse2+0x332> .byte 68,15,40,198 // movaps %xmm6,%xmm8 .byte 69,15,89,197 // mulps %xmm13,%xmm8 .byte 68,15,40,53,197,79,0,0 // movaps 0x4fc5(%rip),%xmm14 # 63c0 <_sk_callback_sse2+0x342> .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,193,79,0,0 // movaps 0x4fc1(%rip),%xmm11 # 63d0 <_sk_callback_sse2+0x352> .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,89,197 // mulps %xmm13,%xmm0 .byte 69,15,40,250 // movaps %xmm10,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 68,15,88,248 // addps %xmm0,%xmm15 .byte 68,15,40,5,173,79,0,0 // movaps 0x4fad(%rip),%xmm8 # 63e0 <_sk_callback_sse2+0x362> .byte 65,15,40,224 // movaps %xmm8,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,40,76,36,184 // movaps -0x48(%rsp),%xmm1 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 65,15,88,199 // addps %xmm15,%xmm0 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 68,15,92,224 // subps %xmm0,%xmm12 .byte 69,15,88,204 // addps %xmm12,%xmm9 .byte 69,15,88,212 // addps %xmm12,%xmm10 .byte 68,15,88,225 // addps %xmm1,%xmm12 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,93,196 // minps %xmm12,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,95,196 // maxps %xmm12,%xmm0 .byte 69,15,40,249 // movaps %xmm9,%xmm15 .byte 68,15,95,248 // maxps %xmm0,%xmm15 .byte 69,15,89,233 // mulps %xmm9,%xmm13 .byte 69,15,89,242 // mulps %xmm10,%xmm14 .byte 69,15,88,245 // addps %xmm13,%xmm14 .byte 69,15,89,220 // mulps %xmm12,%xmm11 .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 69,15,87,237 // xorps %xmm13,%xmm13 .byte 68,15,194,233,2 // cmpleps %xmm1,%xmm13 .byte 69,15,40,243 // movaps %xmm11,%xmm14 .byte 68,15,92,241 // subps %xmm1,%xmm14 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,94,206 // divps %xmm14,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,40,197 // movaps %xmm13,%xmm0 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 69,15,84,205 // andps %xmm13,%xmm9 .byte 68,15,86,200 // orps %xmm0,%xmm9 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,41,84,36,200 // movaps %xmm2,-0x38(%rsp) .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,41,92,36,184 // movaps %xmm3,-0x48(%rsp) .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 65,15,85,201 // andnps %xmm9,%xmm1 .byte 69,15,92,203 // subps %xmm11,%xmm9 .byte 65,15,92,219 // subps %xmm11,%xmm3 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 69,15,92,251 // subps %xmm11,%xmm15 .byte 69,15,94,207 // divps %xmm15,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 68,15,84,200 // andps %xmm0,%xmm9 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,94,206 // divps %xmm14,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,40,213 // movaps %xmm13,%xmm2 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 69,15,84,213 // andps %xmm13,%xmm10 .byte 68,15,86,210 // orps %xmm2,%xmm10 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 65,15,85,202 // andnps %xmm10,%xmm1 .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 68,15,89,211 // mulps %xmm3,%xmm10 .byte 69,15,94,215 // divps %xmm15,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 68,15,84,208 // andps %xmm0,%xmm10 .byte 68,15,86,209 // orps %xmm1,%xmm10 .byte 65,15,40,204 // movaps %xmm12,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,94,206 // divps %xmm14,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 69,15,84,229 // andps %xmm13,%xmm12 .byte 68,15,85,233 // andnps %xmm1,%xmm13 .byte 69,15,86,236 // orps %xmm12,%xmm13 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 69,15,92,235 // subps %xmm11,%xmm13 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,94,239 // divps %xmm15,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 68,15,84,232 // andps %xmm0,%xmm13 .byte 68,15,86,233 // orps %xmm1,%xmm13 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 68,15,95,200 // maxps %xmm0,%xmm9 .byte 68,15,95,208 // maxps %xmm0,%xmm10 .byte 68,15,95,232 // maxps %xmm0,%xmm13 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 65,15,88,249 // addps %xmm9,%xmm7 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,84,36,232 // movaps -0x18(%rsp),%xmm2 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 65,15,88,234 // addps %xmm10,%xmm5 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,68,36,216 // movaps -0x28(%rsp),%xmm0 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 68,15,88,196 // addps %xmm4,%xmm8 .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,92,36,184 // movaps -0x48(%rsp),%xmm3 .byte 15,40,124,36,200 // movaps -0x38(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_luminosity_sse2 .globl _sk_luminosity_sse2 FUNCTION(_sk_luminosity_sse2) _sk_luminosity_sse2: .byte 68,15,40,215 // movaps %xmm7,%xmm10 .byte 15,41,116,36,200 // movaps %xmm6,-0x38(%rsp) .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 15,41,100,36,216 // movaps %xmm4,-0x28(%rsp) .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 68,15,40,205 // movaps %xmm5,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 68,15,40,37,196,77,0,0 // movaps 0x4dc4(%rip),%xmm12 # 63f0 <_sk_callback_sse2+0x372> .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,40,45,196,77,0,0 // movaps 0x4dc4(%rip),%xmm13 # 6400 <_sk_callback_sse2+0x382> .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,192,77,0,0 // movaps 0x4dc0(%rip),%xmm11 # 6410 <_sk_callback_sse2+0x392> .byte 68,15,40,5,200,77,0,0 // movaps 0x4dc8(%rip),%xmm8 # 6420 <_sk_callback_sse2+0x3a2> .byte 69,15,40,248 // movaps %xmm8,%xmm15 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 68,15,92,248 // subps %xmm0,%xmm15 .byte 65,15,89,255 // mulps %xmm15,%xmm7 .byte 65,15,89,207 // mulps %xmm15,%xmm1 .byte 15,41,76,36,184 // movaps %xmm1,-0x48(%rsp) .byte 68,15,89,250 // mulps %xmm2,%xmm15 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 69,15,89,244 // mulps %xmm12,%xmm14 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 69,15,88,214 // addps %xmm14,%xmm10 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,116,36,200 // movaps -0x38(%rsp),%xmm6 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 68,15,40,244 // movaps %xmm4,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,92,214 // subps %xmm14,%xmm2 .byte 68,15,88,202 // addps %xmm2,%xmm9 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,93,210 // minps %xmm2,%xmm10 .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 65,15,93,226 // minps %xmm10,%xmm4 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,95,210 // maxps %xmm2,%xmm10 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 69,15,95,242 // maxps %xmm10,%xmm14 .byte 69,15,89,225 // mulps %xmm9,%xmm12 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,221 // addps %xmm13,%xmm11 .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 68,15,194,228,2 // cmpleps %xmm4,%xmm12 .byte 69,15,40,211 // movaps %xmm11,%xmm10 .byte 68,15,92,212 // subps %xmm4,%xmm10 .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 65,15,92,227 // subps %xmm11,%xmm4 .byte 65,15,89,227 // mulps %xmm11,%xmm4 .byte 65,15,94,226 // divps %xmm10,%xmm4 .byte 65,15,88,227 // addps %xmm11,%xmm4 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 68,15,85,236 // andnps %xmm4,%xmm13 .byte 69,15,84,204 // andps %xmm12,%xmm9 .byte 69,15,86,205 // orps %xmm13,%xmm9 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,41,68,36,168 // movaps %xmm0,-0x58(%rsp) .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 68,15,92,197 // subps %xmm5,%xmm8 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 68,15,40,236 // movaps %xmm4,%xmm13 .byte 65,15,194,230,1 // cmpltps %xmm14,%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,85,193 // andnps %xmm9,%xmm0 .byte 69,15,92,203 // subps %xmm11,%xmm9 .byte 69,15,92,235 // subps %xmm11,%xmm13 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,92,243 // subps %xmm11,%xmm14 .byte 69,15,94,206 // divps %xmm14,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 68,15,84,204 // andps %xmm4,%xmm9 .byte 68,15,86,200 // orps %xmm0,%xmm9 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 65,15,94,194 // divps %xmm10,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 65,15,40,204 // movaps %xmm12,%xmm1 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 65,15,84,220 // andps %xmm12,%xmm3 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,85,195 // andnps %xmm3,%xmm0 .byte 65,15,92,219 // subps %xmm11,%xmm3 .byte 65,15,89,221 // mulps %xmm13,%xmm3 .byte 65,15,94,222 // divps %xmm14,%xmm3 .byte 65,15,88,219 // addps %xmm11,%xmm3 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 65,15,94,194 // divps %xmm10,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 65,15,84,212 // andps %xmm12,%xmm2 .byte 68,15,85,224 // andnps %xmm0,%xmm12 .byte 68,15,86,226 // orps %xmm2,%xmm12 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,85,196 // andnps %xmm12,%xmm0 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,94,230 // divps %xmm14,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 68,15,84,228 // andps %xmm4,%xmm12 .byte 68,15,86,224 // orps %xmm0,%xmm12 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 68,15,95,200 // maxps %xmm0,%xmm9 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 68,15,95,224 // maxps %xmm0,%xmm12 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,100,36,216 // movaps -0x28(%rsp),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 65,15,88,249 // addps %xmm9,%xmm7 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 68,15,40,84,36,232 // movaps -0x18(%rsp),%xmm10 .byte 65,15,89,194 // mulps %xmm10,%xmm0 .byte 15,40,76,36,184 // movaps -0x48(%rsp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 69,15,88,199 // addps %xmm15,%xmm8 .byte 69,15,88,196 // addps %xmm12,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 65,15,40,234 // movaps %xmm10,%xmm5 .byte 15,40,124,36,168 // movaps -0x58(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_sse2 .globl _sk_srcover_rgba_8888_sse2 FUNCTION(_sk_srcover_rgba_8888_sse2) _sk_srcover_rgba_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,227,0,0,0 // jne 1930 <_sk_srcover_rgba_8888_sse2+0xf1> .byte 243,68,15,111,4,144 // movdqu (%rax,%rdx,4),%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 102,15,111,53,210,75,0,0 // movdqa 0x4bd2(%rip),%xmm6 # 6430 <_sk_callback_sse2+0x3b2> .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 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 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,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 65,15,91,248 // cvtdq2ps %xmm8,%xmm7 .byte 68,15,40,5,162,75,0,0 // movaps 0x4ba2(%rip),%xmm8 # 6440 <_sk_callback_sse2+0x3c2> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,40,37,166,75,0,0 // movaps 0x4ba6(%rip),%xmm12 # 6450 <_sk_callback_sse2+0x3d2> .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,82 // jne 1969 <_sk_srcover_rgba_8888_sse2+0x12a> .byte 243,15,127,4,144 // movdqu %xmm0,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,87 // je 1994 <_sk_srcover_rgba_8888_sse2+0x155> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,22 // je 195e <_sk_srcover_rgba_8888_sse2+0x11f> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,1,255,255,255 // jne 1853 <_sk_srcover_rgba_8888_sse2+0x14> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,68,15,18,4,144 // movlpd (%rax,%rdx,4),%xmm8 .byte 233,234,254,255,255 // jmpq 1853 <_sk_srcover_rgba_8888_sse2+0x14> .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 199f <_sk_srcover_rgba_8888_sse2+0x160> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 198d <_sk_srcover_rgba_8888_sse2+0x14e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 191c <_sk_srcover_rgba_8888_sse2+0xdd> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,76,144,8 // movd %xmm1,0x8(%rax,%rdx,4) .byte 102,15,214,4,144 // movq %xmm0,(%rax,%rdx,4) .byte 235,136 // jmp 191c <_sk_srcover_rgba_8888_sse2+0xdd> .byte 102,68,15,110,4,144 // movd (%rax,%rdx,4),%xmm8 .byte 233,180,254,255,255 // jmpq 1853 <_sk_srcover_rgba_8888_sse2+0x14> .byte 102,15,126,4,144 // movd %xmm0,(%rax,%rdx,4) .byte 233,115,255,255,255 // jmpq 191c <_sk_srcover_rgba_8888_sse2+0xdd> HIDDEN _sk_clamp_0_sse2 .globl _sk_clamp_0_sse2 FUNCTION(_sk_clamp_0_sse2) _sk_clamp_0_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 65,15,95,192 // maxps %xmm8,%xmm0 .byte 65,15,95,200 // maxps %xmm8,%xmm1 .byte 65,15,95,208 // maxps %xmm8,%xmm2 .byte 65,15,95,216 // maxps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_1_sse2 .globl _sk_clamp_1_sse2 FUNCTION(_sk_clamp_1_sse2) _sk_clamp_1_sse2: .byte 68,15,40,5,151,74,0,0 // movaps 0x4a97(%rip),%xmm8 # 6460 <_sk_callback_sse2+0x3e2> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 65,15,93,208 // minps %xmm8,%xmm2 .byte 65,15,93,216 // minps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_sse2 .globl _sk_clamp_a_sse2 FUNCTION(_sk_clamp_a_sse2) _sk_clamp_a_sse2: .byte 15,93,29,140,74,0,0 // minps 0x4a8c(%rip),%xmm3 # 6470 <_sk_callback_sse2+0x3f2> .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_a_dst_sse2 .globl _sk_clamp_a_dst_sse2 FUNCTION(_sk_clamp_a_dst_sse2) _sk_clamp_a_dst_sse2: .byte 15,93,61,136,74,0,0 // minps 0x4a88(%rip),%xmm7 # 6480 <_sk_callback_sse2+0x402> .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,93,239 // minps %xmm7,%xmm5 .byte 15,93,247 // minps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse2 .globl _sk_set_rgb_sse2 FUNCTION(_sk_set_rgb_sse2) _sk_set_rgb_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse2 .globl _sk_swap_rb_sse2 FUNCTION(_sk_swap_rb_sse2) _sk_swap_rb_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse2 .globl _sk_move_src_dst_sse2 FUNCTION(_sk_move_src_dst_sse2) _sk_move_src_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse2 .globl _sk_move_dst_src_sse2 FUNCTION(_sk_move_dst_src_sse2) _sk_move_dst_src_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse2 .globl _sk_premul_sse2 FUNCTION(_sk_premul_sse2) _sk_premul_sse2: .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_sse2 .globl _sk_unpremul_sse2 FUNCTION(_sk_unpremul_sse2) _sk_unpremul_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,13,35,74,0,0 // movaps 0x4a23(%rip),%xmm9 # 6490 <_sk_callback_sse2+0x412> .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 .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 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_sse2 .globl _sk_from_srgb_sse2 FUNCTION(_sk_from_srgb_sse2) _sk_from_srgb_sse2: .byte 68,15,40,5,14,74,0,0 // movaps 0x4a0e(%rip),%xmm8 # 64a0 <_sk_callback_sse2+0x422> .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,6,74,0,0 // movaps 0x4a06(%rip),%xmm9 # 64b0 <_sk_callback_sse2+0x432> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 68,15,40,21,6,74,0,0 // movaps 0x4a06(%rip),%xmm10 # 64c0 <_sk_callback_sse2+0x442> .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 68,15,40,29,6,74,0,0 // movaps 0x4a06(%rip),%xmm11 # 64d0 <_sk_callback_sse2+0x452> .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 68,15,40,37,10,74,0,0 // movaps 0x4a0a(%rip),%xmm12 # 64e0 <_sk_callback_sse2+0x462> .byte 65,15,194,196,1 // cmpltps %xmm12,%xmm0 .byte 68,15,84,232 // andps %xmm0,%xmm13 .byte 65,15,85,198 // andnps %xmm14,%xmm0 .byte 65,15,86,197 // orps %xmm13,%xmm0 .byte 68,15,40,233 // movaps %xmm1,%xmm13 .byte 69,15,89,232 // mulps %xmm8,%xmm13 .byte 68,15,40,241 // movaps %xmm1,%xmm14 .byte 69,15,89,246 // mulps %xmm14,%xmm14 .byte 68,15,40,249 // movaps %xmm1,%xmm15 .byte 69,15,89,249 // mulps %xmm9,%xmm15 .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 69,15,88,251 // addps %xmm11,%xmm15 .byte 65,15,194,204,1 // cmpltps %xmm12,%xmm1 .byte 68,15,84,233 // andps %xmm1,%xmm13 .byte 65,15,85,207 // andnps %xmm15,%xmm1 .byte 65,15,86,205 // orps %xmm13,%xmm1 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 68,15,40,234 // movaps %xmm2,%xmm13 .byte 69,15,89,237 // mulps %xmm13,%xmm13 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 65,15,194,212,1 // cmpltps %xmm12,%xmm2 .byte 68,15,84,194 // andps %xmm2,%xmm8 .byte 65,15,85,209 // andnps %xmm9,%xmm2 .byte 65,15,86,208 // orps %xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_from_srgb_dst_sse2 .globl _sk_from_srgb_dst_sse2 FUNCTION(_sk_from_srgb_dst_sse2) _sk_from_srgb_dst_sse2: .byte 68,15,40,5,155,73,0,0 // movaps 0x499b(%rip),%xmm8 # 64f0 <_sk_callback_sse2+0x472> .byte 68,15,40,236 // movaps %xmm4,%xmm13 .byte 69,15,89,232 // mulps %xmm8,%xmm13 .byte 68,15,40,220 // movaps %xmm4,%xmm11 .byte 69,15,89,219 // mulps %xmm11,%xmm11 .byte 68,15,40,13,147,73,0,0 // movaps 0x4993(%rip),%xmm9 # 6500 <_sk_callback_sse2+0x482> .byte 68,15,40,244 // movaps %xmm4,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 68,15,40,21,147,73,0,0 // movaps 0x4993(%rip),%xmm10 # 6510 <_sk_callback_sse2+0x492> .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 68,15,40,29,147,73,0,0 // movaps 0x4993(%rip),%xmm11 # 6520 <_sk_callback_sse2+0x4a2> .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 68,15,40,37,151,73,0,0 // movaps 0x4997(%rip),%xmm12 # 6530 <_sk_callback_sse2+0x4b2> .byte 65,15,194,228,1 // cmpltps %xmm12,%xmm4 .byte 68,15,84,236 // andps %xmm4,%xmm13 .byte 65,15,85,230 // andnps %xmm14,%xmm4 .byte 65,15,86,229 // orps %xmm13,%xmm4 .byte 68,15,40,237 // movaps %xmm5,%xmm13 .byte 69,15,89,232 // mulps %xmm8,%xmm13 .byte 68,15,40,245 // movaps %xmm5,%xmm14 .byte 69,15,89,246 // mulps %xmm14,%xmm14 .byte 68,15,40,253 // movaps %xmm5,%xmm15 .byte 69,15,89,249 // mulps %xmm9,%xmm15 .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 69,15,88,251 // addps %xmm11,%xmm15 .byte 65,15,194,236,1 // cmpltps %xmm12,%xmm5 .byte 68,15,84,237 // andps %xmm5,%xmm13 .byte 65,15,85,239 // andnps %xmm15,%xmm5 .byte 65,15,86,237 // orps %xmm13,%xmm5 .byte 68,15,89,198 // mulps %xmm6,%xmm8 .byte 68,15,40,238 // movaps %xmm6,%xmm13 .byte 69,15,89,237 // mulps %xmm13,%xmm13 .byte 68,15,89,206 // mulps %xmm6,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 65,15,194,244,1 // cmpltps %xmm12,%xmm6 .byte 68,15,84,198 // andps %xmm6,%xmm8 .byte 65,15,85,241 // andnps %xmm9,%xmm6 .byte 65,15,86,240 // orps %xmm8,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_to_srgb_sse2 .globl _sk_to_srgb_sse2 FUNCTION(_sk_to_srgb_sse2) _sk_to_srgb_sse2: .byte 68,15,82,232 // rsqrtps %xmm0,%xmm13 .byte 68,15,40,5,36,73,0,0 // movaps 0x4924(%rip),%xmm8 # 6540 <_sk_callback_sse2+0x4c2> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,240 // mulps %xmm8,%xmm14 .byte 68,15,40,13,36,73,0,0 // movaps 0x4924(%rip),%xmm9 # 6550 <_sk_callback_sse2+0x4d2> .byte 69,15,40,253 // movaps %xmm13,%xmm15 .byte 69,15,89,249 // mulps %xmm9,%xmm15 .byte 68,15,40,21,36,73,0,0 // movaps 0x4924(%rip),%xmm10 # 6560 <_sk_callback_sse2+0x4e2> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,253 // mulps %xmm13,%xmm15 .byte 68,15,40,29,36,73,0,0 // movaps 0x4924(%rip),%xmm11 # 6570 <_sk_callback_sse2+0x4f2> .byte 69,15,88,251 // addps %xmm11,%xmm15 .byte 68,15,40,37,40,73,0,0 // movaps 0x4928(%rip),%xmm12 # 6580 <_sk_callback_sse2+0x502> .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,36,73,0,0 // movaps 0x4924(%rip),%xmm15 # 6590 <_sk_callback_sse2+0x512> .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 68,15,84,240 // andps %xmm0,%xmm14 .byte 65,15,85,197 // andnps %xmm13,%xmm0 .byte 65,15,86,198 // orps %xmm14,%xmm0 .byte 68,15,82,233 // rsqrtps %xmm1,%xmm13 .byte 69,15,40,245 // movaps %xmm13,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 69,15,83,237 // rcpps %xmm13,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,40,241 // movaps %xmm1,%xmm14 .byte 69,15,89,240 // mulps %xmm8,%xmm14 .byte 65,15,194,207,1 // cmpltps %xmm15,%xmm1 .byte 68,15,84,241 // andps %xmm1,%xmm14 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 65,15,86,206 // orps %xmm14,%xmm1 .byte 68,15,82,234 // rsqrtps %xmm2,%xmm13 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 69,15,83,213 // rcpps %xmm13,%xmm10 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 65,15,194,215,1 // cmpltps %xmm15,%xmm2 .byte 68,15,84,194 // andps %xmm2,%xmm8 .byte 65,15,85,210 // andnps %xmm10,%xmm2 .byte 65,15,86,208 // orps %xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_sse2 .globl _sk_rgb_to_hsl_sse2 FUNCTION(_sk_rgb_to_hsl_sse2) _sk_rgb_to_hsl_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 69,15,95,209 // maxps %xmm9,%xmm10 .byte 68,15,95,210 // maxps %xmm2,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 69,15,93,217 // minps %xmm9,%xmm11 .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,125,72,0,0 // movaps 0x487d(%rip),%xmm13 # 65a0 <_sk_callback_sse2+0x522> .byte 68,15,94,233 // divps %xmm1,%xmm13 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,194,192,0 // cmpeqps %xmm8,%xmm0 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 68,15,92,226 // subps %xmm2,%xmm12 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 68,15,194,242,1 // cmpltps %xmm2,%xmm14 .byte 68,15,84,53,99,72,0,0 // andps 0x4863(%rip),%xmm14 # 65b0 <_sk_callback_sse2+0x532> .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,86,72,0,0 // movaps 0x4856(%rip),%xmm12 # 65c0 <_sk_callback_sse2+0x542> .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,82,72,0,0 // addps 0x4852(%rip),%xmm8 # 65d0 <_sk_callback_sse2+0x552> .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,67,72,0,0 // mulps 0x4843(%rip),%xmm0 # 65e0 <_sk_callback_sse2+0x562> .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,54,72,0,0 // movaps 0x4836(%rip),%xmm9 # 65f0 <_sk_callback_sse2+0x572> .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 68,15,194,202,1 // cmpltps %xmm2,%xmm9 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 69,15,84,225 // andps %xmm9,%xmm12 .byte 69,15,85,202 // andnps %xmm10,%xmm9 .byte 69,15,86,204 // orps %xmm12,%xmm9 .byte 65,15,94,201 // divps %xmm9,%xmm1 .byte 65,15,84,200 // andps %xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hsl_to_rgb_sse2 .globl _sk_hsl_to_rgb_sse2 FUNCTION(_sk_hsl_to_rgb_sse2) _sk_hsl_to_rgb_sse2: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,41,108,36,200 // movaps %xmm5,-0x38(%rsp) .byte 15,41,100,36,184 // movaps %xmm4,-0x48(%rsp) .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 68,15,40,218 // movaps %xmm2,%xmm11 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 68,15,40,13,245,71,0,0 // movaps 0x47f5(%rip),%xmm9 # 6600 <_sk_callback_sse2+0x582> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 69,15,194,211,2 // cmpleps %xmm11,%xmm10 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,194,217,0 // cmpeqps %xmm1,%xmm3 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,41,124,36,136 // movaps %xmm7,-0x78(%rsp) .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 65,15,84,194 // andps %xmm10,%xmm0 .byte 68,15,85,209 // andnps %xmm1,%xmm10 .byte 68,15,86,208 // orps %xmm0,%xmm10 .byte 68,15,41,92,36,152 // movaps %xmm11,-0x68(%rsp) .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 69,15,88,219 // addps %xmm11,%xmm11 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 15,40,5,190,71,0,0 // movaps 0x47be(%rip),%xmm0 # 6610 <_sk_callback_sse2+0x592> .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,182,71,0,0 // andps 0x47b6(%rip),%xmm3 # 6620 <_sk_callback_sse2+0x5a2> .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 68,15,40,45,184,71,0,0 // movaps 0x47b8(%rip),%xmm13 # 6630 <_sk_callback_sse2+0x5b2> .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,200,71,0,0 // movaps 0x47c8(%rip),%xmm2 # 6660 <_sk_callback_sse2+0x5e2> .byte 68,15,40,250 // movaps %xmm2,%xmm15 .byte 68,15,194,248,2 // cmpleps %xmm0,%xmm15 .byte 15,40,13,152,71,0,0 // movaps 0x4798(%rip),%xmm1 # 6640 <_sk_callback_sse2+0x5c2> .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,45,158,71,0,0 // movaps 0x479e(%rip),%xmm5 # 6650 <_sk_callback_sse2+0x5d2> .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 65,15,89,230 // mulps %xmm14,%xmm4 .byte 65,15,88,227 // addps %xmm11,%xmm4 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,84,224 // andps %xmm8,%xmm12 .byte 68,15,85,196 // andnps %xmm4,%xmm8 .byte 69,15,86,196 // orps %xmm12,%xmm8 .byte 68,15,84,195 // andps %xmm3,%xmm8 .byte 65,15,85,218 // andnps %xmm10,%xmm3 .byte 65,15,86,216 // orps %xmm8,%xmm3 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 65,15,84,223 // andps %xmm15,%xmm3 .byte 68,15,85,248 // andnps %xmm0,%xmm15 .byte 68,15,86,251 // orps %xmm3,%xmm15 .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 69,15,85,199 // andnps %xmm15,%xmm8 .byte 243,15,91,198 // cvttps2dq %xmm6,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,194,216,1 // cmpltps %xmm0,%xmm3 .byte 15,84,29,19,71,0,0 // andps 0x4713(%rip),%xmm3 # 6620 <_sk_callback_sse2+0x5a2> .byte 15,92,195 // subps %xmm3,%xmm0 .byte 68,15,40,230 // movaps %xmm6,%xmm12 .byte 68,15,92,224 // subps %xmm0,%xmm12 .byte 69,15,40,253 // movaps %xmm13,%xmm15 .byte 69,15,194,252,2 // cmpleps %xmm12,%xmm15 .byte 65,15,40,225 // movaps %xmm9,%xmm4 .byte 65,15,194,228,2 // cmpleps %xmm12,%xmm4 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 65,15,194,220,2 // cmpleps %xmm12,%xmm3 .byte 68,15,89,225 // mulps %xmm1,%xmm12 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 65,15,40,251 // movaps %xmm11,%xmm7 .byte 65,15,84,255 // andps %xmm15,%xmm7 .byte 68,15,85,248 // andnps %xmm0,%xmm15 .byte 68,15,86,255 // orps %xmm7,%xmm15 .byte 68,15,84,252 // andps %xmm4,%xmm15 .byte 65,15,85,226 // andnps %xmm10,%xmm4 .byte 65,15,86,231 // orps %xmm15,%xmm4 .byte 69,15,89,230 // mulps %xmm14,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 15,84,227 // andps %xmm3,%xmm4 .byte 65,15,85,220 // andnps %xmm12,%xmm3 .byte 15,86,220 // orps %xmm4,%xmm3 .byte 15,40,124,36,136 // movaps -0x78(%rsp),%xmm7 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,85,227 // andnps %xmm3,%xmm4 .byte 15,88,53,235,70,0,0 // addps 0x46eb(%rip),%xmm6 # 6670 <_sk_callback_sse2+0x5f2> .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,134,70,0,0 // andps 0x4686(%rip),%xmm3 # 6620 <_sk_callback_sse2+0x5a2> .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 65,15,89,238 // mulps %xmm14,%xmm5 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 65,15,88,235 // addps %xmm11,%xmm5 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 68,15,194,238,2 // cmpleps %xmm6,%xmm13 .byte 69,15,84,221 // andps %xmm13,%xmm11 .byte 68,15,85,237 // andnps %xmm5,%xmm13 .byte 69,15,86,235 // orps %xmm11,%xmm13 .byte 68,15,194,206,2 // cmpleps %xmm6,%xmm9 .byte 69,15,84,233 // andps %xmm9,%xmm13 .byte 69,15,85,202 // andnps %xmm10,%xmm9 .byte 69,15,86,205 // orps %xmm13,%xmm9 .byte 15,194,214,2 // cmpleps %xmm6,%xmm2 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 65,15,86,209 // orps %xmm9,%xmm2 .byte 15,40,68,36,152 // movaps -0x68(%rsp),%xmm0 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 68,15,86,192 // orps %xmm0,%xmm8 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,100,36,184 // movaps -0x48(%rsp),%xmm4 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,40,116,36,216 // movaps -0x28(%rsp),%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse2 .globl _sk_scale_1_float_sse2 FUNCTION(_sk_scale_1_float_sse2) _sk_scale_1_float_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse2 .globl _sk_scale_u8_sse2 FUNCTION(_sk_scale_u8_sse2) _sk_scale_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,61 // jne 208d <_sk_scale_u8_sse2+0x47> .byte 102,69,15,110,4,18 // movd (%r10,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 102,68,15,219,5,23,70,0,0 // pand 0x4617(%rip),%xmm8 # 6680 <_sk_callback_sse2+0x602> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,27,70,0,0 // mulps 0x461b(%rip),%xmm8 # 6690 <_sk_callback_sse2+0x612> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,61 // je 20d7 <_sk_scale_u8_sse2+0x91> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 20bc <_sk_scale_u8_sse2+0x76> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,181 // jne 2060 <_sk_scale_u8_sse2+0x1a> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 102,68,15,97,200 // punpcklwd %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 235,137 // jmp 2060 <_sk_scale_u8_sse2+0x1a> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,122,255,255,255 // jmpq 2060 <_sk_scale_u8_sse2+0x1a> HIDDEN _sk_lerp_1_float_sse2 .globl _sk_lerp_1_float_sse2 FUNCTION(_sk_lerp_1_float_sse2) _sk_lerp_1_float_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_sse2 .globl _sk_lerp_u8_sse2 FUNCTION(_sk_lerp_u8_sse2) _sk_lerp_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,81 // jne 2179 <_sk_lerp_u8_sse2+0x5b> .byte 102,69,15,110,4,18 // movd (%r10,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 102,68,15,219,5,95,69,0,0 // pand 0x455f(%rip),%xmm8 # 66a0 <_sk_callback_sse2+0x622> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,99,69,0,0 // mulps 0x4563(%rip),%xmm8 # 66b0 <_sk_callback_sse2+0x632> .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,64 // je 21c6 <_sk_lerp_u8_sse2+0xa8> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 21a8 <_sk_lerp_u8_sse2+0x8a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,161 // jne 2138 <_sk_lerp_u8_sse2+0x1a> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 102,68,15,97,200 // punpcklwd %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 233,114,255,255,255 // jmpq 2138 <_sk_lerp_u8_sse2+0x1a> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,99,255,255,255 // jmpq 2138 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,156,0,0,0 // jne 227f <_sk_lerp_565_sse2+0xaa> .byte 243,69,15,126,12,82 // movq (%r10,%rdx,2),%xmm9 .byte 102,68,15,97,200 // punpcklwd %xmm0,%xmm9 .byte 102,68,15,111,5,201,68,0,0 // movdqa 0x44c9(%rip),%xmm8 # 66c0 <_sk_callback_sse2+0x642> .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,200,68,0,0 // mulps 0x44c8(%rip),%xmm8 # 66d0 <_sk_callback_sse2+0x652> .byte 102,68,15,111,21,207,68,0,0 // movdqa 0x44cf(%rip),%xmm10 # 66e0 <_sk_callback_sse2+0x662> .byte 102,69,15,219,209 // pand %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 68,15,89,21,206,68,0,0 // mulps 0x44ce(%rip),%xmm10 # 66f0 <_sk_callback_sse2+0x672> .byte 102,68,15,219,13,213,68,0,0 // pand 0x44d5(%rip),%xmm9 # 6700 <_sk_callback_sse2+0x682> .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 .byte 68,15,89,13,217,68,0,0 // mulps 0x44d9(%rip),%xmm9 # 6710 <_sk_callback_sse2+0x692> .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,202 // mulps %xmm10,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%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,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,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 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,59 // je 22c7 <_sk_lerp_565_sse2+0xf2> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,27 // je 22b2 <_sk_lerp_565_sse2+0xdd> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,77,255,255,255 // jne 21ee <_sk_lerp_565_sse2+0x19> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,200,69 // pshufd $0x45,%xmm8,%xmm9 .byte 102,69,15,110,4,82 // movd (%r10,%rdx,2),%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 242,69,15,16,200 // movsd %xmm8,%xmm9 .byte 233,39,255,255,255 // jmpq 21ee <_sk_lerp_565_sse2+0x19> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 233,24,255,255,255 // jmpq 21ee <_sk_lerp_565_sse2+0x19> HIDDEN _sk_load_tables_sse2 .globl _sk_load_tables_sse2 FUNCTION(_sk_load_tables_sse2) _sk_load_tables_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 77,133,192 // test %r8,%r8 .byte 15,133,36,1,0,0 // jne 2408 <_sk_load_tables_sse2+0x132> .byte 243,69,15,111,12,145 // movdqu (%r9,%rdx,4),%xmm9 .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,111,5,40,68,0,0 // movdqa 0x4428(%rip),%xmm8 # 6720 <_sk_callback_sse2+0x6a2> .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,201 // movq %xmm1,%r9 .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 69,15,182,241 // movzbl %r9b,%r14d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,12,19 // movss (%rbx,%r10,1),%xmm1 .byte 243,66,15,16,4,11 // movss (%rbx,%r9,1),%xmm0 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,66,15,16,4,155 // movss (%rbx,%r11,4),%xmm0 .byte 243,66,15,16,20,179 // movss (%rbx,%r14,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,209 // movq %xmm2,%r9 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,217 // movzbl %r9b,%r11d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 243,65,15,16,20,31 // movss (%r15,%rbx,1),%xmm2 .byte 243,67,15,16,12,15 // movss (%r15,%r9,1),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,151 // movss (%r15,%r10,4),%xmm1 .byte 243,67,15,16,28,159 // movss (%r15,%r11,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,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,219 // movzbl %bl,%r11d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,69,15,16,4,1 // movss (%r9,%rax,1),%xmm8 .byte 243,65,15,16,20,25 // movss (%r9,%rbx,1),%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,153 // movss (%r9,%r11,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .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,49,67,0,0 // mulps 0x4331(%rip),%xmm3 # 6730 <_sk_callback_sse2+0x6b2> .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 .byte 69,137,194 // mov %r8d,%r10d .byte 65,128,226,3 // and $0x3,%r10b .byte 65,128,250,1 // cmp $0x1,%r10b .byte 116,45 // je 2442 <_sk_load_tables_sse2+0x16c> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,250,2 // cmp $0x2,%r10b .byte 116,23 // je 2437 <_sk_load_tables_sse2+0x161> .byte 65,128,250,3 // cmp $0x3,%r10b .byte 15,133,192,254,255,255 // jne 22ea <_sk_load_tables_sse2+0x14> .byte 102,65,15,110,68,145,8 // movd 0x8(%r9,%rdx,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,69,15,18,12,145 // movlpd (%r9,%rdx,4),%xmm9 .byte 233,168,254,255,255 // jmpq 22ea <_sk_load_tables_sse2+0x14> .byte 102,69,15,110,12,145 // movd (%r9,%rdx,4),%xmm9 .byte 233,157,254,255,255 // jmpq 22ea <_sk_load_tables_sse2+0x14> HIDDEN _sk_load_tables_u16_be_sse2 .globl _sk_load_tables_u16_be_sse2 FUNCTION(_sk_load_tables_u16_be_sse2) _sk_load_tables_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,141,20,149,0,0,0,0 // lea 0x0(,%rdx,4),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,101,1,0,0 // jne 25c8 <_sk_load_tables_u16_be_sse2+0x17b> .byte 102,67,15,16,4,81 // movupd (%r9,%r10,2),%xmm0 .byte 102,67,15,16,76,81,16 // movupd 0x10(%r9,%r10,2),%xmm1 .byte 65,87 // push %r15 .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,166,66,0,0 // movdqa 0x42a6(%rip),%xmm10 # 6740 <_sk_callback_sse2+0x6c2> .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,73,15,126,217 // movq %xmm3,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,195 // movq %xmm0,%r11 .byte 69,15,182,243 // movzbl %r11b,%r14d .byte 73,193,235,30 // shr $0x1e,%r11 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,28,27 // movss (%rbx,%r11,1),%xmm3 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 243,66,15,16,4,179 // movss (%rbx,%r14,4),%xmm0 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .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,72,15,126,211 // movq %xmm2,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,73,15,126,202 // movq %xmm1,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 243,67,15,16,20,23 // movss (%r15,%r10,1),%xmm2 .byte 243,65,15,16,12,159 // movss (%r15,%rbx,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,159 // movss (%r15,%r11,4),%xmm1 .byte 243,67,15,16,28,143 // movss (%r15,%r9,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .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,211 // movq %xmm2,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,76,15,126,208 // movq %xmm10,%rax .byte 68,15,182,216 // movzbl %al,%r11d .byte 72,193,232,30 // shr $0x1e,%rax .byte 243,69,15,16,20,2 // movss (%r10,%rax,1),%xmm10 .byte 243,65,15,16,20,154 // movss (%r10,%rbx,4),%xmm2 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 243,67,15,16,20,154 // movss (%r10,%r11,4),%xmm2 .byte 243,67,15,16,28,138 // movss (%r10,%r9,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 65,15,20,210 // unpcklps %xmm10,%xmm2 .byte 102,65,15,112,217,78 // pshufd $0x4e,%xmm9,%xmm3 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,217 // por %xmm9,%xmm3 .byte 102,65,15,97,216 // punpcklwd %xmm8,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,145,65,0,0 // mulps 0x4191(%rip),%xmm3 # 6750 <_sk_callback_sse2+0x6d2> .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 .byte 242,67,15,16,4,81 // movsd (%r9,%r10,2),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,17 // jne 25e5 <_sk_load_tables_u16_be_sse2+0x198> .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 233,139,254,255,255 // jmpq 2470 <_sk_load_tables_u16_be_sse2+0x23> .byte 102,67,15,22,68,81,8 // movhpd 0x8(%r9,%r10,2),%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,118,254,255,255 // jb 2470 <_sk_load_tables_u16_be_sse2+0x23> .byte 242,67,15,16,76,81,16 // movsd 0x10(%r9,%r10,2),%xmm1 .byte 233,106,254,255,255 // jmpq 2470 <_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,8 // mov (%rax),%r9 .byte 76,141,20,82 // lea (%rdx,%rdx,2),%r10 .byte 77,133,192 // test %r8,%r8 .byte 15,133,84,1,0,0 // jne 276c <_sk_load_tables_rgb_u16_be_sse2+0x166> .byte 243,71,15,111,28,81 // movdqu (%r9,%r10,2),%xmm11 .byte 243,67,15,111,76,81,8 // movdqu 0x8(%r9,%r10,2),%xmm1 .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,69,15,111,211 // movdqa %xmm11,%xmm10 .byte 102,65,15,115,218,6 // psrldq $0x6,%xmm10 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 65,87 // push %r15 .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,0,65,0,0 // movdqa 0x4100(%rip),%xmm8 # 6760 <_sk_callback_sse2+0x6e2> .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,73,15,126,217 // movq %xmm3,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,195 // movq %xmm0,%r11 .byte 69,15,182,243 // movzbl %r11b,%r14d .byte 73,193,235,30 // shr $0x1e,%r11 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,66,15,16,28,27 // movss (%rbx,%r11,1),%xmm3 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 243,66,15,16,4,179 // movss (%rbx,%r14,4),%xmm0 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .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,72,15,126,211 // movq %xmm2,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,73,15,126,202 // movq %xmm1,%r10 .byte 69,15,182,218 // movzbl %r10b,%r11d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 243,67,15,16,20,23 // movss (%r15,%r10,1),%xmm2 .byte 243,65,15,16,12,159 // movss (%r15,%rbx,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,159 // movss (%r15,%r11,4),%xmm1 .byte 243,67,15,16,28,143 // movss (%r15,%r9,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 102,69,15,105,218 // punpckhwd %xmm10,%xmm11 .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,211 // movq %xmm2,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,76,15,126,216 // movq %xmm11,%rax .byte 68,15,182,216 // movzbl %al,%r11d .byte 72,193,232,30 // shr $0x1e,%rax .byte 243,69,15,16,4,2 // movss (%r10,%rax,1),%xmm8 .byte 243,65,15,16,20,154 // movss (%r10,%rbx,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 243,67,15,16,20,154 // movss (%r10,%r11,4),%xmm2 .byte 243,67,15,16,28,138 // movss (%r10,%r9,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,11,64,0,0 // movaps 0x400b(%rip),%xmm3 # 6770 <_sk_callback_sse2+0x6f2> .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax .byte 102,71,15,110,28,81 // movd (%r9,%r10,2),%xmm11 .byte 102,71,15,196,92,81,4,2 // pinsrw $0x2,0x4(%r9,%r10,2),%xmm11 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,14 // jne 2792 <_sk_load_tables_rgb_u16_be_sse2+0x18c> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 233,172,254,255,255 // jmpq 263e <_sk_load_tables_rgb_u16_be_sse2+0x38> .byte 102,71,15,110,84,81,6 // movd 0x6(%r9,%r10,2),%xmm10 .byte 102,71,15,196,84,81,10,2 // pinsrw $0x2,0xa(%r9,%r10,2),%xmm10 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,24 // jb 27c3 <_sk_load_tables_rgb_u16_be_sse2+0x1bd> .byte 102,67,15,110,76,81,12 // movd 0xc(%r9,%r10,2),%xmm1 .byte 102,67,15,196,76,81,16,2 // pinsrw $0x2,0x10(%r9,%r10,2),%xmm1 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,123,254,255,255 // jmpq 263e <_sk_load_tables_rgb_u16_be_sse2+0x38> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,114,254,255,255 // jmpq 263e <_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,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,164,63,0,0 // movaps 0x3fa4(%rip),%xmm8 # 6780 <_sk_callback_sse2+0x702> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 77,137,203 // mov %r9,%r11 .byte 73,193,235,32 // shr $0x20,%r11 .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,206 // mov %r9d,%r14d .byte 77,137,207 // mov %r9,%r15 .byte 73,193,239,32 // shr $0x20,%r15 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 70,15,182,52,51 // movzbl (%rbx,%r14,1),%r14d .byte 66,15,182,44,59 // movzbl (%rbx,%r15,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,245 // or %r14d,%ebp .byte 70,15,182,20,19 // movzbl (%rbx,%r10,1),%r10d .byte 66,15,182,28,27 // movzbl (%rbx,%r11,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%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,62,63,0,0 // movaps 0x3f3e(%rip),%xmm10 # 6790 <_sk_callback_sse2+0x712> .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,205 // movq %xmm1,%rbp .byte 65,137,234 // mov %ebp,%r10d .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,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,219 // or %r11d,%ebx .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 65,15,182,44,41 // movzbl (%r9,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,213 // or %r10d,%ebp .byte 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 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,202 // mulps %xmm10,%xmm1 .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,126,211 // movq %xmm2,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,72,15,126,213 // movq %xmm2,%rbp .byte 65,137,235 // mov %ebp,%r11d .byte 72,193,237,32 // shr $0x20,%rbp .byte 71,15,182,28,26 // movzbl (%r10,%r11,1),%r11d .byte 65,15,182,44,42 // movzbl (%r10,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,221 // or %r11d,%ebp .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 65,15,182,28,26 // movzbl (%r10,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 102,15,196,211,0 // pinsrw $0x0,%ebx,%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 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .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,221 // movq %xmm3,%rbp .byte 65,137,233 // mov %ebp,%r9d .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,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 70,15,182,20,16 // movzbl (%rax,%r10,1),%r10d .byte 15,182,28,24 // movzbl (%rax,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx .byte 70,15,182,12,8 // movzbl (%rax,%r9,1),%r9d .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,200 // or %r9d,%eax .byte 102,15,196,216,0 // pinsrw $0x0,%eax,%xmm3 .byte 102,15,196,219,1 // pinsrw $0x1,%ebx,%xmm3 .byte 102,65,15,96,217 // punpcklbw %xmm9,%xmm3 .byte 102,65,15,97,217 // punpcklwd %xmm9,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,218 // mulps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .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,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,72,24 // mov 0x18(%rax),%r9d .byte 65,255,201 // dec %r9d .byte 102,69,15,110,193 // movd %r9d,%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,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 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,206 // mov %r9d,%r14d .byte 77,137,207 // mov %r9,%r15 .byte 73,193,239,32 // shr $0x20,%r15 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 70,15,182,52,51 // movzbl (%rbx,%r14,1),%r14d .byte 66,15,182,44,59 // movzbl (%rbx,%r15,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,245 // or %r14d,%ebp .byte 70,15,182,20,19 // movzbl (%rbx,%r10,1),%r10d .byte 66,15,182,28,27 // movzbl (%rbx,%r11,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%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,134,61,0,0 // movaps 0x3d86(%rip),%xmm10 # 67a0 <_sk_callback_sse2+0x722> .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,205 // movq %xmm1,%rbp .byte 65,137,234 // mov %ebp,%r10d .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,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 71,15,182,28,25 // movzbl (%r9,%r11,1),%r11d .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,219 // or %r11d,%ebx .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 65,15,182,44,41 // movzbl (%r9,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,213 // or %r10d,%ebp .byte 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 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,202 // mulps %xmm10,%xmm1 .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,213 // movq %xmm2,%rbp .byte 65,137,233 // mov %ebp,%r9d .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,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 70,15,182,20,16 // movzbl (%rax,%r10,1),%r10d .byte 15,182,28,24 // movzbl (%rax,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx .byte 70,15,182,12,8 // movzbl (%rax,%r9,1),%r9d .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,200 // or %r9d,%eax .byte 102,15,196,208,0 // pinsrw $0x0,%eax,%xmm2 .byte 102,15,196,211,1 // pinsrw $0x1,%ebx,%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 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse2 .globl _sk_table_r_sse2 FUNCTION(_sk_table_r_sse2) _sk_table_r_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,195 // movq %xmm8,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,71,15,16,4,153 // movss (%r9,%r11,4),%xmm8 .byte 243,65,15,16,4,129 // movss (%r9,%rax,4),%xmm0 .byte 68,15,20,192 // unpcklps %xmm0,%xmm8 .byte 243,65,15,16,4,153 // movss (%r9,%rbx,4),%xmm0 .byte 243,71,15,16,12,145 // movss (%r9,%r10,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 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_sse2 .globl _sk_table_g_sse2 FUNCTION(_sk_table_g_sse2) _sk_table_g_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,195 // movq %xmm8,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,71,15,16,4,153 // movss (%r9,%r11,4),%xmm8 .byte 243,65,15,16,12,129 // movss (%r9,%rax,4),%xmm1 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 243,65,15,16,12,153 // movss (%r9,%rbx,4),%xmm1 .byte 243,71,15,16,12,145 // movss (%r9,%r10,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 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_sse2 .globl _sk_table_b_sse2 FUNCTION(_sk_table_b_sse2) _sk_table_b_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,195 // movq %xmm8,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,71,15,16,4,153 // movss (%r9,%r11,4),%xmm8 .byte 243,65,15,16,20,129 // movss (%r9,%rax,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 243,65,15,16,20,153 // movss (%r9,%rbx,4),%xmm2 .byte 243,71,15,16,12,145 // movss (%r9,%r10,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 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_sse2 .globl _sk_table_a_sse2 FUNCTION(_sk_table_a_sse2) _sk_table_a_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,195 // movq %xmm8,%r11 .byte 68,137,219 // mov %r11d,%ebx .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,71,15,16,4,153 // movss (%r9,%r11,4),%xmm8 .byte 243,65,15,16,28,129 // movss (%r9,%rax,4),%xmm3 .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 .byte 243,65,15,16,28,153 // movss (%r9,%rbx,4),%xmm3 .byte 243,71,15,16,12,145 // movss (%r9,%r10,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 .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_sse2 .globl _sk_parametric_r_sse2 FUNCTION(_sk_parametric_r_sse2) _sk_parametric_r_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,72,16 // movss 0x10(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 65,15,194,193,2 // cmpleps %xmm9,%xmm0 .byte 243,68,15,16,72,24 // movss 0x18(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 243,68,15,16,24 // movss (%rax),%xmm11 .byte 243,68,15,16,72,8 // movss 0x8(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .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,186,58,0,0 // mulps 0x3aba(%rip),%xmm9 # 67b0 <_sk_callback_sse2+0x732> .byte 68,15,84,21,194,58,0,0 // andps 0x3ac2(%rip),%xmm10 # 67c0 <_sk_callback_sse2+0x742> .byte 68,15,86,21,202,58,0,0 // orps 0x3aca(%rip),%xmm10 # 67d0 <_sk_callback_sse2+0x752> .byte 68,15,88,13,210,58,0,0 // addps 0x3ad2(%rip),%xmm9 # 67e0 <_sk_callback_sse2+0x762> .byte 68,15,40,37,218,58,0,0 // movaps 0x3ada(%rip),%xmm12 # 67f0 <_sk_callback_sse2+0x772> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,218,58,0,0 // addps 0x3ada(%rip),%xmm10 # 6800 <_sk_callback_sse2+0x782> .byte 68,15,40,37,226,58,0,0 // movaps 0x3ae2(%rip),%xmm12 # 6810 <_sk_callback_sse2+0x792> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .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,204,58,0,0 // movaps 0x3acc(%rip),%xmm10 # 6820 <_sk_callback_sse2+0x7a2> .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,192,58,0,0 // addps 0x3ac0(%rip),%xmm9 # 6830 <_sk_callback_sse2+0x7b2> .byte 68,15,40,37,200,58,0,0 // movaps 0x3ac8(%rip),%xmm12 # 6840 <_sk_callback_sse2+0x7c2> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,200,58,0,0 // movaps 0x3ac8(%rip),%xmm12 # 6850 <_sk_callback_sse2+0x7d2> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,204,58,0,0 // movaps 0x3acc(%rip),%xmm13 # 6860 <_sk_callback_sse2+0x7e2> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,204,58,0,0 // mulps 0x3acc(%rip),%xmm13 # 6870 <_sk_callback_sse2+0x7f2> .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 .byte 69,15,88,225 // addps %xmm9,%xmm12 .byte 68,15,84,192 // andps %xmm0,%xmm8 .byte 65,15,85,196 // andnps %xmm12,%xmm0 .byte 65,15,86,192 // orps %xmm8,%xmm0 .byte 65,15,95,195 // maxps %xmm11,%xmm0 .byte 65,15,93,194 // minps %xmm10,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_g_sse2 .globl _sk_parametric_g_sse2 FUNCTION(_sk_parametric_g_sse2) _sk_parametric_g_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,72,16 // movss 0x10(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 65,15,194,201,2 // cmpleps %xmm9,%xmm1 .byte 243,68,15,16,72,24 // movss 0x18(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 243,68,15,16,24 // movss (%rax),%xmm11 .byte 243,68,15,16,72,8 // movss 0x8(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .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,76,58,0,0 // mulps 0x3a4c(%rip),%xmm9 # 6880 <_sk_callback_sse2+0x802> .byte 68,15,84,21,84,58,0,0 // andps 0x3a54(%rip),%xmm10 # 6890 <_sk_callback_sse2+0x812> .byte 68,15,86,21,92,58,0,0 // orps 0x3a5c(%rip),%xmm10 # 68a0 <_sk_callback_sse2+0x822> .byte 68,15,88,13,100,58,0,0 // addps 0x3a64(%rip),%xmm9 # 68b0 <_sk_callback_sse2+0x832> .byte 68,15,40,37,108,58,0,0 // movaps 0x3a6c(%rip),%xmm12 # 68c0 <_sk_callback_sse2+0x842> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,108,58,0,0 // addps 0x3a6c(%rip),%xmm10 # 68d0 <_sk_callback_sse2+0x852> .byte 68,15,40,37,116,58,0,0 // movaps 0x3a74(%rip),%xmm12 # 68e0 <_sk_callback_sse2+0x862> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .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,94,58,0,0 // movaps 0x3a5e(%rip),%xmm10 # 68f0 <_sk_callback_sse2+0x872> .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,82,58,0,0 // addps 0x3a52(%rip),%xmm9 # 6900 <_sk_callback_sse2+0x882> .byte 68,15,40,37,90,58,0,0 // movaps 0x3a5a(%rip),%xmm12 # 6910 <_sk_callback_sse2+0x892> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,90,58,0,0 // movaps 0x3a5a(%rip),%xmm12 # 6920 <_sk_callback_sse2+0x8a2> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,94,58,0,0 // movaps 0x3a5e(%rip),%xmm13 # 6930 <_sk_callback_sse2+0x8b2> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,94,58,0,0 // mulps 0x3a5e(%rip),%xmm13 # 6940 <_sk_callback_sse2+0x8c2> .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 .byte 69,15,88,225 // addps %xmm9,%xmm12 .byte 68,15,84,193 // andps %xmm1,%xmm8 .byte 65,15,85,204 // andnps %xmm12,%xmm1 .byte 65,15,86,200 // orps %xmm8,%xmm1 .byte 65,15,95,203 // maxps %xmm11,%xmm1 .byte 65,15,93,202 // minps %xmm10,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_b_sse2 .globl _sk_parametric_b_sse2 FUNCTION(_sk_parametric_b_sse2) _sk_parametric_b_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,72,16 // movss 0x10(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 65,15,194,209,2 // cmpleps %xmm9,%xmm2 .byte 243,68,15,16,72,24 // movss 0x18(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 243,68,15,16,24 // movss (%rax),%xmm11 .byte 243,68,15,16,72,8 // movss 0x8(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .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,222,57,0,0 // mulps 0x39de(%rip),%xmm9 # 6950 <_sk_callback_sse2+0x8d2> .byte 68,15,84,21,230,57,0,0 // andps 0x39e6(%rip),%xmm10 # 6960 <_sk_callback_sse2+0x8e2> .byte 68,15,86,21,238,57,0,0 // orps 0x39ee(%rip),%xmm10 # 6970 <_sk_callback_sse2+0x8f2> .byte 68,15,88,13,246,57,0,0 // addps 0x39f6(%rip),%xmm9 # 6980 <_sk_callback_sse2+0x902> .byte 68,15,40,37,254,57,0,0 // movaps 0x39fe(%rip),%xmm12 # 6990 <_sk_callback_sse2+0x912> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,254,57,0,0 // addps 0x39fe(%rip),%xmm10 # 69a0 <_sk_callback_sse2+0x922> .byte 68,15,40,37,6,58,0,0 // movaps 0x3a06(%rip),%xmm12 # 69b0 <_sk_callback_sse2+0x932> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .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,240,57,0,0 // movaps 0x39f0(%rip),%xmm10 # 69c0 <_sk_callback_sse2+0x942> .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,228,57,0,0 // addps 0x39e4(%rip),%xmm9 # 69d0 <_sk_callback_sse2+0x952> .byte 68,15,40,37,236,57,0,0 // movaps 0x39ec(%rip),%xmm12 # 69e0 <_sk_callback_sse2+0x962> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,236,57,0,0 // movaps 0x39ec(%rip),%xmm12 # 69f0 <_sk_callback_sse2+0x972> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,240,57,0,0 // movaps 0x39f0(%rip),%xmm13 # 6a00 <_sk_callback_sse2+0x982> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,240,57,0,0 // mulps 0x39f0(%rip),%xmm13 # 6a10 <_sk_callback_sse2+0x992> .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 .byte 69,15,88,225 // addps %xmm9,%xmm12 .byte 68,15,84,194 // andps %xmm2,%xmm8 .byte 65,15,85,212 // andnps %xmm12,%xmm2 .byte 65,15,86,208 // orps %xmm8,%xmm2 .byte 65,15,95,211 // maxps %xmm11,%xmm2 .byte 65,15,93,210 // minps %xmm10,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_a_sse2 .globl _sk_parametric_a_sse2 FUNCTION(_sk_parametric_a_sse2) _sk_parametric_a_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,72,16 // movss 0x10(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,211 // mulps %xmm3,%xmm10 .byte 65,15,194,217,2 // cmpleps %xmm9,%xmm3 .byte 243,68,15,16,72,24 // movss 0x18(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 243,68,15,16,24 // movss (%rax),%xmm11 .byte 243,68,15,16,72,8 // movss 0x8(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .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,112,57,0,0 // mulps 0x3970(%rip),%xmm9 # 6a20 <_sk_callback_sse2+0x9a2> .byte 68,15,84,21,120,57,0,0 // andps 0x3978(%rip),%xmm10 # 6a30 <_sk_callback_sse2+0x9b2> .byte 68,15,86,21,128,57,0,0 // orps 0x3980(%rip),%xmm10 # 6a40 <_sk_callback_sse2+0x9c2> .byte 68,15,88,13,136,57,0,0 // addps 0x3988(%rip),%xmm9 # 6a50 <_sk_callback_sse2+0x9d2> .byte 68,15,40,37,144,57,0,0 // movaps 0x3990(%rip),%xmm12 # 6a60 <_sk_callback_sse2+0x9e2> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,144,57,0,0 // addps 0x3990(%rip),%xmm10 # 6a70 <_sk_callback_sse2+0x9f2> .byte 68,15,40,37,152,57,0,0 // movaps 0x3998(%rip),%xmm12 # 6a80 <_sk_callback_sse2+0xa02> .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .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,130,57,0,0 // movaps 0x3982(%rip),%xmm10 # 6a90 <_sk_callback_sse2+0xa12> .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,118,57,0,0 // addps 0x3976(%rip),%xmm9 # 6aa0 <_sk_callback_sse2+0xa22> .byte 68,15,40,37,126,57,0,0 // movaps 0x397e(%rip),%xmm12 # 6ab0 <_sk_callback_sse2+0xa32> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,126,57,0,0 // movaps 0x397e(%rip),%xmm12 # 6ac0 <_sk_callback_sse2+0xa42> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,130,57,0,0 // movaps 0x3982(%rip),%xmm13 # 6ad0 <_sk_callback_sse2+0xa52> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,130,57,0,0 // mulps 0x3982(%rip),%xmm13 # 6ae0 <_sk_callback_sse2+0xa62> .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 .byte 69,15,88,225 // addps %xmm9,%xmm12 .byte 68,15,84,195 // andps %xmm3,%xmm8 .byte 65,15,85,220 // andnps %xmm12,%xmm3 .byte 65,15,86,216 // orps %xmm8,%xmm3 .byte 65,15,95,219 // maxps %xmm11,%xmm3 .byte 65,15,93,218 // minps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lab_to_xyz_sse2 .globl _sk_lab_to_xyz_sse2 FUNCTION(_sk_lab_to_xyz_sse2) _sk_lab_to_xyz_sse2: .byte 15,89,5,95,57,0,0 // mulps 0x395f(%rip),%xmm0 # 6af0 <_sk_callback_sse2+0xa72> .byte 68,15,40,5,103,57,0,0 // movaps 0x3967(%rip),%xmm8 # 6b00 <_sk_callback_sse2+0xa82> .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 68,15,40,13,107,57,0,0 // movaps 0x396b(%rip),%xmm9 # 6b10 <_sk_callback_sse2+0xa92> .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,104,57,0,0 // addps 0x3968(%rip),%xmm0 # 6b20 <_sk_callback_sse2+0xaa2> .byte 15,89,5,113,57,0,0 // mulps 0x3971(%rip),%xmm0 # 6b30 <_sk_callback_sse2+0xab2> .byte 15,89,13,122,57,0,0 // mulps 0x397a(%rip),%xmm1 # 6b40 <_sk_callback_sse2+0xac2> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,21,128,57,0,0 // mulps 0x3980(%rip),%xmm2 # 6b50 <_sk_callback_sse2+0xad2> .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,117,57,0,0 // movaps 0x3975(%rip),%xmm2 # 6b60 <_sk_callback_sse2+0xae2> .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 69,15,194,196,1 // cmpltps %xmm12,%xmm8 .byte 68,15,40,21,116,57,0,0 // movaps 0x3974(%rip),%xmm10 # 6b70 <_sk_callback_sse2+0xaf2> .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 68,15,40,29,120,57,0,0 // movaps 0x3978(%rip),%xmm11 # 6b80 <_sk_callback_sse2+0xb02> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 69,15,84,224 // andps %xmm8,%xmm12 .byte 68,15,85,193 // andnps %xmm1,%xmm8 .byte 69,15,86,196 // orps %xmm12,%xmm8 .byte 68,15,40,224 // movaps %xmm0,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 65,15,194,204,1 // cmpltps %xmm12,%xmm1 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 68,15,84,225 // andps %xmm1,%xmm12 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 65,15,86,204 // orps %xmm12,%xmm1 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 15,194,208,1 // cmpltps %xmm0,%xmm2 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 15,84,194 // andps %xmm2,%xmm0 .byte 65,15,85,209 // andnps %xmm9,%xmm2 .byte 15,86,208 // orps %xmm0,%xmm2 .byte 68,15,89,5,40,57,0,0 // mulps 0x3928(%rip),%xmm8 # 6b90 <_sk_callback_sse2+0xb12> .byte 15,89,21,49,57,0,0 // mulps 0x3931(%rip),%xmm2 # 6ba0 <_sk_callback_sse2+0xb22> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_sse2 .globl _sk_load_a8_sse2 FUNCTION(_sk_load_a8_sse2) _sk_load_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,46 // jne 32af <_sk_load_a8_sse2+0x38> .byte 102,65,15,110,4,18 // movd (%r10,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,5,25,57,0,0 // pand 0x3919(%rip),%xmm0 # 6bb0 <_sk_callback_sse2+0xb32> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,31,57,0,0 // mulps 0x391f(%rip),%xmm3 # 6bc0 <_sk_callback_sse2+0xb42> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 32f2 <_sk_load_a8_sse2+0x7b> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 32db <_sk_load_a8_sse2+0x64> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 328f <_sk_load_a8_sse2+0x18> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 235,157 // jmp 328f <_sk_load_a8_sse2+0x18> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,146 // jmp 328f <_sk_load_a8_sse2+0x18> HIDDEN _sk_load_a8_dst_sse2 .globl _sk_load_a8_dst_sse2 FUNCTION(_sk_load_a8_dst_sse2) _sk_load_a8_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,46 // jne 3335 <_sk_load_a8_dst_sse2+0x38> .byte 102,65,15,110,36,18 // movd (%r10,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,37,179,56,0,0 // pand 0x38b3(%rip),%xmm4 # 6bd0 <_sk_callback_sse2+0xb52> .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,89,61,185,56,0,0 // mulps 0x38b9(%rip),%xmm7 # 6be0 <_sk_callback_sse2+0xb62> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 102,15,87,237 // xorpd %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 3378 <_sk_load_a8_dst_sse2+0x7b> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 3361 <_sk_load_a8_dst_sse2+0x64> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 3315 <_sk_load_a8_dst_sse2+0x18> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 235,157 // jmp 3315 <_sk_load_a8_dst_sse2+0x18> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,146 // jmp 3315 <_sk_load_a8_dst_sse2+0x18> HIDDEN _sk_gather_a8_sse2 .globl _sk_gather_a8_sse2 FUNCTION(_sk_gather_a8_sse2) _sk_gather_a8_sse2: .byte 85 // push %rbp .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%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 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 9,232 // or %ebp,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%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 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,218,55,0,0 // mulps 0x37da(%rip),%xmm3 # 6bf0 <_sk_callback_sse2+0xb72> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 91 // pop %rbx .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_sse2 .globl _sk_store_a8_sse2 FUNCTION(_sk_store_a8_sse2) _sk_store_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 68,15,40,5,204,55,0,0 // movaps 0x37cc(%rip),%xmm8 # 6c00 <_sk_callback_sse2+0xb82> .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 77,133,192 // test %r8,%r8 .byte 117,13 // jne 3465 <_sk_store_a8_sse2+0x3e> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 65,137,4,18 // mov %eax,(%r10,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,59 // je 34b7 <_sk_store_a8_sse2+0x90> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,22 // je 3498 <_sk_store_a8_sse2+0x71> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,217 // jne 3461 <_sk_store_a8_sse2+0x3a> .byte 102,68,15,127,68,36,232 // movdqa %xmm8,-0x18(%rsp) .byte 138,68,36,240 // mov -0x10(%rsp),%al .byte 65,136,68,18,2 // mov %al,0x2(%r10,%rdx,1) .byte 102,68,15,219,5,111,55,0,0 // pand 0x376f(%rip),%xmm8 # 6c10 <_sk_callback_sse2+0xb92> .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,18 // mov %ax,(%r10,%rdx,1) .byte 235,170 // jmp 3461 <_sk_store_a8_sse2+0x3a> .byte 102,68,15,127,68,36,216 // movdqa %xmm8,-0x28(%rsp) .byte 138,68,36,216 // mov -0x28(%rsp),%al .byte 65,136,4,18 // mov %al,(%r10,%rdx,1) .byte 235,153 // jmp 3461 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,49 // jne 3503 <_sk_load_g8_sse2+0x3b> .byte 102,65,15,110,4,18 // movd (%r10,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,5,56,55,0,0 // pand 0x3738(%rip),%xmm0 # 6c20 <_sk_callback_sse2+0xba2> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,62,55,0,0 // mulps 0x373e(%rip),%xmm0 # 6c30 <_sk_callback_sse2+0xbb2> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,69,55,0,0 // movaps 0x3745(%rip),%xmm3 # 6c40 <_sk_callback_sse2+0xbc2> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 3546 <_sk_load_g8_sse2+0x7e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 352f <_sk_load_g8_sse2+0x67> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 34e0 <_sk_load_g8_sse2+0x18> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 235,154 // jmp 34e0 <_sk_load_g8_sse2+0x18> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,143 // jmp 34e0 <_sk_load_g8_sse2+0x18> HIDDEN _sk_load_g8_dst_sse2 .globl _sk_load_g8_dst_sse2 FUNCTION(_sk_load_g8_dst_sse2) _sk_load_g8_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,49 // jne 358c <_sk_load_g8_dst_sse2+0x3b> .byte 102,65,15,110,36,18 // movd (%r10,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,37,223,54,0,0 // pand 0x36df(%rip),%xmm4 # 6c50 <_sk_callback_sse2+0xbd2> .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,229,54,0,0 // mulps 0x36e5(%rip),%xmm4 # 6c60 <_sk_callback_sse2+0xbe2> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,236,54,0,0 // movaps 0x36ec(%rip),%xmm7 # 6c70 <_sk_callback_sse2+0xbf2> .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 35cf <_sk_load_g8_dst_sse2+0x7e> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 35b8 <_sk_load_g8_dst_sse2+0x67> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 3569 <_sk_load_g8_dst_sse2+0x18> .byte 65,15,182,68,18,2 // movzbl 0x2(%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 65,15,183,4,18 // movzwl (%r10,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 235,154 // jmp 3569 <_sk_load_g8_dst_sse2+0x18> .byte 65,15,182,4,18 // movzbl (%r10,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,143 // jmp 3569 <_sk_load_g8_dst_sse2+0x18> HIDDEN _sk_gather_g8_sse2 .globl _sk_gather_g8_sse2 FUNCTION(_sk_gather_g8_sse2) _sk_gather_g8_sse2: .byte 85 // push %rbp .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%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 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 9,232 // or %ebp,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%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 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,19,54,0,0 // mulps 0x3613(%rip),%xmm0 # 6c80 <_sk_callback_sse2+0xc02> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,26,54,0,0 // movaps 0x361a(%rip),%xmm3 # 6c90 <_sk_callback_sse2+0xc12> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 91 // pop %rbx .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_gather_i8_sse2 .globl _sk_gather_i8_sse2 FUNCTION(_sk_gather_i8_sse2) _sk_gather_i8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,193 // mov %rax,%r9 .byte 77,133,201 // test %r9,%r9 .byte 116,5 // je 368f <_sk_gather_i8_sse2+0xf> .byte 76,137,200 // mov %r9,%rax .byte 235,2 // jmp 3691 <_sk_gather_i8_sse2+0x11> .byte 72,173 // lods %ds:(%rsi),%rax .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 76,139,16 // mov (%rax),%r10 .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .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,195 // mov %eax,%r11d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 67,15,182,44,50 // movzbl (%r10,%r14,1),%ebp .byte 65,15,182,28,26 // movzbl (%r10,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 9,235 // or %ebp,%ebx .byte 67,15,182,44,26 // movzbl (%r10,%r11,1),%ebp .byte 65,15,182,4,2 // movzbl (%r10,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,232 // or %ebp,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%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 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 68,15,182,208 // movzbl %al,%r10d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 73,139,105,8 // mov 0x8(%r9),%rbp .byte 68,15,182,203 // movzbl %bl,%r9d .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,70,15,110,76,141,0 // movd 0x0(%rbp,%r9,4),%xmm9 .byte 102,66,15,110,76,149,0 // movd 0x0(%rbp,%r10,4),%xmm1 .byte 102,68,15,98,201 // punpckldq %xmm1,%xmm9 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,15,111,21,51,53,0,0 // movdqa 0x3533(%rip),%xmm2 # 6ca0 <_sk_callback_sse2+0xc22> .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,47,53,0,0 // movaps 0x352f(%rip),%xmm8 # 6cb0 <_sk_callback_sse2+0xc32> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse2 .globl _sk_load_565_sse2 FUNCTION(_sk_load_565_sse2) _sk_load_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,83 // jne 3822 <_sk_load_565_sse2+0x5d> .byte 243,65,15,126,20,82 // movq (%r10,%rdx,2),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,5,223,52,0,0 // movdqa 0x34df(%rip),%xmm0 # 6cc0 <_sk_callback_sse2+0xc42> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,225,52,0,0 // mulps 0x34e1(%rip),%xmm0 # 6cd0 <_sk_callback_sse2+0xc52> .byte 102,15,111,13,233,52,0,0 // movdqa 0x34e9(%rip),%xmm1 # 6ce0 <_sk_callback_sse2+0xc62> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,235,52,0,0 // mulps 0x34eb(%rip),%xmm1 # 6cf0 <_sk_callback_sse2+0xc72> .byte 102,15,219,21,243,52,0,0 // pand 0x34f3(%rip),%xmm2 # 6d00 <_sk_callback_sse2+0xc82> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,249,52,0,0 // mulps 0x34f9(%rip),%xmm2 # 6d10 <_sk_callback_sse2+0xc92> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,0,53,0,0 // movaps 0x3500(%rip),%xmm3 # 6d20 <_sk_callback_sse2+0xca2> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,50 // je 3861 <_sk_load_565_sse2+0x9c> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 384e <_sk_load_565_sse2+0x89> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 37d9 <_sk_load_565_sse2+0x14> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,65,15,110,4,82 // movd (%r10,%rdx,2),%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 242,15,16,208 // movsd %xmm0,%xmm2 .byte 233,120,255,255,255 // jmpq 37d9 <_sk_load_565_sse2+0x14> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 233,106,255,255,255 // jmpq 37d9 <_sk_load_565_sse2+0x14> HIDDEN _sk_load_565_dst_sse2 .globl _sk_load_565_dst_sse2 FUNCTION(_sk_load_565_dst_sse2) _sk_load_565_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,83 // jne 38cc <_sk_load_565_dst_sse2+0x5d> .byte 243,65,15,126,52,82 // movq (%r10,%rdx,2),%xmm6 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,111,37,165,52,0,0 // movdqa 0x34a5(%rip),%xmm4 # 6d30 <_sk_callback_sse2+0xcb2> .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,167,52,0,0 // mulps 0x34a7(%rip),%xmm4 # 6d40 <_sk_callback_sse2+0xcc2> .byte 102,15,111,45,175,52,0,0 // movdqa 0x34af(%rip),%xmm5 # 6d50 <_sk_callback_sse2+0xcd2> .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,177,52,0,0 // mulps 0x34b1(%rip),%xmm5 # 6d60 <_sk_callback_sse2+0xce2> .byte 102,15,219,53,185,52,0,0 // pand 0x34b9(%rip),%xmm6 # 6d70 <_sk_callback_sse2+0xcf2> .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,191,52,0,0 // mulps 0x34bf(%rip),%xmm6 # 6d80 <_sk_callback_sse2+0xd02> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,198,52,0,0 // movaps 0x34c6(%rip),%xmm7 # 6d90 <_sk_callback_sse2+0xd12> .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,50 // je 390b <_sk_load_565_dst_sse2+0x9c> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 38f8 <_sk_load_565_dst_sse2+0x89> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 3883 <_sk_load_565_dst_sse2+0x14> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,65,15,110,36,82 // movd (%r10,%rdx,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 242,15,16,244 // movsd %xmm4,%xmm6 .byte 233,120,255,255,255 // jmpq 3883 <_sk_load_565_dst_sse2+0x14> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,240 // movd %eax,%xmm6 .byte 233,106,255,255,255 // jmpq 3883 <_sk_load_565_dst_sse2+0x14> HIDDEN _sk_gather_565_sse2 .globl _sk_gather_565_sse2 FUNCTION(_sk_gather_565_sse2) _sk_gather_565_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,196,20,89,0 // pinsrw $0x0,(%r9,%rbx,2),%xmm2 .byte 102,67,15,196,20,89,1 // pinsrw $0x1,(%r9,%r11,2),%xmm2 .byte 67,15,183,28,81 // movzwl (%r9,%r10,2),%ebx .byte 102,15,196,211,2 // pinsrw $0x2,%ebx,%xmm2 .byte 65,15,183,4,65 // movzwl (%r9,%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,1,52,0,0 // movdqa 0x3401(%rip),%xmm0 # 6da0 <_sk_callback_sse2+0xd22> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,3,52,0,0 // mulps 0x3403(%rip),%xmm0 # 6db0 <_sk_callback_sse2+0xd32> .byte 102,15,111,13,11,52,0,0 // movdqa 0x340b(%rip),%xmm1 # 6dc0 <_sk_callback_sse2+0xd42> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,13,52,0,0 // mulps 0x340d(%rip),%xmm1 # 6dd0 <_sk_callback_sse2+0xd52> .byte 102,15,219,21,21,52,0,0 // pand 0x3415(%rip),%xmm2 # 6de0 <_sk_callback_sse2+0xd62> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,27,52,0,0 // mulps 0x341b(%rip),%xmm2 # 6df0 <_sk_callback_sse2+0xd72> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,34,52,0,0 // movaps 0x3422(%rip),%xmm3 # 6e00 <_sk_callback_sse2+0xd82> .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse2 .globl _sk_store_565_sse2 FUNCTION(_sk_store_565_sse2) _sk_store_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 68,15,40,5,34,52,0,0 // movaps 0x3422(%rip),%xmm8 # 6e10 <_sk_callback_sse2+0xd92> .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,23,52,0,0 // movaps 0x3417(%rip),%xmm10 # 6e20 <_sk_callback_sse2+0xda2> .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 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,86,194 // orpd %xmm10,%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 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3a4b <_sk_store_565_sse2+0x6a> .byte 242,69,15,17,4,82 // movsd %xmm8,(%r10,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,38 // je 3a83 <_sk_store_565_sse2+0xa2> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 3a75 <_sk_store_565_sse2+0x94> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,222 // jne 3a47 <_sk_store_565_sse2+0x66> .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 102,65,137,68,82,4 // mov %ax,0x4(%r10,%rdx,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,69,15,126,4,82 // movd %xmm8,(%r10,%rdx,2) .byte 235,196 // jmp 3a47 <_sk_store_565_sse2+0x66> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,82 // mov %ax,(%r10,%rdx,2) .byte 235,184 // jmp 3a47 <_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 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 3afb <_sk_load_4444_sse2+0x6c> .byte 243,65,15,126,28,82 // movq (%r10,%rdx,2),%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,5,133,51,0,0 // movdqa 0x3385(%rip),%xmm0 # 6e30 <_sk_callback_sse2+0xdb2> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,135,51,0,0 // mulps 0x3387(%rip),%xmm0 # 6e40 <_sk_callback_sse2+0xdc2> .byte 102,15,111,13,143,51,0,0 // movdqa 0x338f(%rip),%xmm1 # 6e50 <_sk_callback_sse2+0xdd2> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,145,51,0,0 // mulps 0x3391(%rip),%xmm1 # 6e60 <_sk_callback_sse2+0xde2> .byte 102,15,111,21,153,51,0,0 // movdqa 0x3399(%rip),%xmm2 # 6e70 <_sk_callback_sse2+0xdf2> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,155,51,0,0 // mulps 0x339b(%rip),%xmm2 # 6e80 <_sk_callback_sse2+0xe02> .byte 102,15,219,29,163,51,0,0 // pand 0x33a3(%rip),%xmm3 # 6e90 <_sk_callback_sse2+0xe12> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,169,51,0,0 // mulps 0x33a9(%rip),%xmm3 # 6ea0 <_sk_callback_sse2+0xe22> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,50 // je 3b3a <_sk_load_4444_sse2+0xab> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 3b27 <_sk_load_4444_sse2+0x98> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 3aa3 <_sk_load_4444_sse2+0x14> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,65,15,110,4,82 // movd (%r10,%rdx,2),%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 233,105,255,255,255 // jmpq 3aa3 <_sk_load_4444_sse2+0x14> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 233,91,255,255,255 // jmpq 3aa3 <_sk_load_4444_sse2+0x14> HIDDEN _sk_load_4444_dst_sse2 .globl _sk_load_4444_dst_sse2 FUNCTION(_sk_load_4444_dst_sse2) _sk_load_4444_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 3bb4 <_sk_load_4444_dst_sse2+0x6c> .byte 243,65,15,126,60,82 // movq (%r10,%rdx,2),%xmm7 .byte 102,15,97,248 // punpcklwd %xmm0,%xmm7 .byte 102,15,111,37,76,51,0,0 // movdqa 0x334c(%rip),%xmm4 # 6eb0 <_sk_callback_sse2+0xe32> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,78,51,0,0 // mulps 0x334e(%rip),%xmm4 # 6ec0 <_sk_callback_sse2+0xe42> .byte 102,15,111,45,86,51,0,0 // movdqa 0x3356(%rip),%xmm5 # 6ed0 <_sk_callback_sse2+0xe52> .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,88,51,0,0 // mulps 0x3358(%rip),%xmm5 # 6ee0 <_sk_callback_sse2+0xe62> .byte 102,15,111,53,96,51,0,0 // movdqa 0x3360(%rip),%xmm6 # 6ef0 <_sk_callback_sse2+0xe72> .byte 102,15,219,247 // pand %xmm7,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,98,51,0,0 // mulps 0x3362(%rip),%xmm6 # 6f00 <_sk_callback_sse2+0xe82> .byte 102,15,219,61,106,51,0,0 // pand 0x336a(%rip),%xmm7 # 6f10 <_sk_callback_sse2+0xe92> .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,61,112,51,0,0 // mulps 0x3370(%rip),%xmm7 # 6f20 <_sk_callback_sse2+0xea2> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,50 // je 3bf3 <_sk_load_4444_dst_sse2+0xab> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 3be0 <_sk_load_4444_dst_sse2+0x98> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 3b5c <_sk_load_4444_dst_sse2+0x14> .byte 65,15,183,68,82,4 // movzwl 0x4(%r10,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,65,15,110,36,82 // movd (%r10,%rdx,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 242,15,16,252 // movsd %xmm4,%xmm7 .byte 233,105,255,255,255 // jmpq 3b5c <_sk_load_4444_dst_sse2+0x14> .byte 65,15,183,4,82 // movzwl (%r10,%rdx,2),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 233,91,255,255,255 // jmpq 3b5c <_sk_load_4444_dst_sse2+0x14> HIDDEN _sk_gather_4444_sse2 .globl _sk_gather_4444_sse2 FUNCTION(_sk_gather_4444_sse2) _sk_gather_4444_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,196,28,89,0 // pinsrw $0x0,(%r9,%rbx,2),%xmm3 .byte 102,67,15,196,28,89,1 // pinsrw $0x1,(%r9,%r11,2),%xmm3 .byte 67,15,183,28,81 // movzwl (%r9,%r10,2),%ebx .byte 102,15,196,219,2 // pinsrw $0x2,%ebx,%xmm3 .byte 65,15,183,4,65 // movzwl (%r9,%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,169,50,0,0 // movdqa 0x32a9(%rip),%xmm0 # 6f30 <_sk_callback_sse2+0xeb2> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,171,50,0,0 // mulps 0x32ab(%rip),%xmm0 # 6f40 <_sk_callback_sse2+0xec2> .byte 102,15,111,13,179,50,0,0 // movdqa 0x32b3(%rip),%xmm1 # 6f50 <_sk_callback_sse2+0xed2> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,181,50,0,0 // mulps 0x32b5(%rip),%xmm1 # 6f60 <_sk_callback_sse2+0xee2> .byte 102,15,111,21,189,50,0,0 // movdqa 0x32bd(%rip),%xmm2 # 6f70 <_sk_callback_sse2+0xef2> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,191,50,0,0 // mulps 0x32bf(%rip),%xmm2 # 6f80 <_sk_callback_sse2+0xf02> .byte 102,15,219,29,199,50,0,0 // pand 0x32c7(%rip),%xmm3 # 6f90 <_sk_callback_sse2+0xf12> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,205,50,0,0 // mulps 0x32cd(%rip),%xmm3 # 6fa0 <_sk_callback_sse2+0xf22> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_sse2 .globl _sk_store_4444_sse2 FUNCTION(_sk_store_4444_sse2) _sk_store_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 68,15,40,5,203,50,0,0 // movaps 0x32cb(%rip),%xmm8 # 6fb0 <_sk_callback_sse2+0xf32> .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,12 // pslld $0xc,%xmm9 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,4 // pslld $0x4,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,69,15,86,193 // orpd %xmm9,%xmm8 .byte 102,69,15,86,194 // orpd %xmm10,%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 77,133,192 // test %r8,%r8 .byte 117,10 // jne 3d56 <_sk_store_4444_sse2+0x7e> .byte 242,69,15,17,4,82 // movsd %xmm8,(%r10,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,38 // je 3d8e <_sk_store_4444_sse2+0xb6> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 3d80 <_sk_store_4444_sse2+0xa8> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,222 // jne 3d52 <_sk_store_4444_sse2+0x7a> .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 102,65,137,68,82,4 // mov %ax,0x4(%r10,%rdx,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,69,15,126,4,82 // movd %xmm8,(%r10,%rdx,2) .byte 235,196 // jmp 3d52 <_sk_store_4444_sse2+0x7a> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,82 // mov %ax,(%r10,%rdx,2) .byte 235,184 // jmp 3d52 <_sk_store_4444_sse2+0x7a> HIDDEN _sk_load_8888_sse2 .globl _sk_load_8888_sse2 FUNCTION(_sk_load_8888_sse2) _sk_load_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 3e06 <_sk_load_8888_sse2+0x6c> .byte 243,68,15,111,12,144 // movdqu (%rax,%rdx,4),%xmm9 .byte 102,15,111,21,14,50,0,0 // movdqa 0x320e(%rip),%xmm2 # 6fc0 <_sk_callback_sse2+0xf42> .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,10,50,0,0 // movaps 0x320a(%rip),%xmm8 # 6fd0 <_sk_callback_sse2+0xf52> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,40 // je 3e3b <_sk_load_8888_sse2+0xa1> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 3e30 <_sk_load_8888_sse2+0x96> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 3daa <_sk_load_8888_sse2+0x10> .byte 102,15,110,68,144,8 // movd 0x8(%rax,%rdx,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,68,15,18,12,144 // movlpd (%rax,%rdx,4),%xmm9 .byte 233,111,255,255,255 // jmpq 3daa <_sk_load_8888_sse2+0x10> .byte 102,68,15,110,12,144 // movd (%rax,%rdx,4),%xmm9 .byte 233,100,255,255,255 // jmpq 3daa <_sk_load_8888_sse2+0x10> HIDDEN _sk_load_8888_dst_sse2 .globl _sk_load_8888_dst_sse2 FUNCTION(_sk_load_8888_dst_sse2) _sk_load_8888_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 3eb2 <_sk_load_8888_dst_sse2+0x6c> .byte 243,68,15,111,12,144 // movdqu (%rax,%rdx,4),%xmm9 .byte 102,15,111,53,130,49,0,0 // movdqa 0x3182(%rip),%xmm6 # 6fe0 <_sk_callback_sse2+0xf62> .byte 102,65,15,111,225 // movdqa %xmm9,%xmm4 .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 68,15,40,5,126,49,0,0 // movaps 0x317e(%rip),%xmm8 # 6ff0 <_sk_callback_sse2+0xf72> .byte 65,15,89,224 // mulps %xmm8,%xmm4 .byte 102,65,15,111,233 // movdqa %xmm9,%xmm5 .byte 102,15,114,213,8 // psrld $0x8,%xmm5 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 102,65,15,111,249 // movdqa %xmm9,%xmm7 .byte 102,15,114,215,16 // psrld $0x10,%xmm7 .byte 102,15,219,254 // pand %xmm6,%xmm7 .byte 15,91,247 // cvtdq2ps %xmm7,%xmm6 .byte 65,15,89,240 // mulps %xmm8,%xmm6 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,249 // cvtdq2ps %xmm9,%xmm7 .byte 65,15,89,248 // mulps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,40 // je 3ee7 <_sk_load_8888_dst_sse2+0xa1> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 3edc <_sk_load_8888_dst_sse2+0x96> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 3e56 <_sk_load_8888_dst_sse2+0x10> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,68,15,112,204,69 // pshufd $0x45,%xmm4,%xmm9 .byte 102,68,15,18,12,144 // movlpd (%rax,%rdx,4),%xmm9 .byte 233,111,255,255,255 // jmpq 3e56 <_sk_load_8888_dst_sse2+0x10> .byte 102,68,15,110,12,144 // movd (%rax,%rdx,4),%xmm9 .byte 233,100,255,255,255 // jmpq 3e56 <_sk_load_8888_dst_sse2+0x10> HIDDEN _sk_gather_8888_sse2 .globl _sk_gather_8888_sse2 FUNCTION(_sk_gather_8888_sse2) _sk_gather_8888_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,67,15,110,4,153 // movd (%r9,%r11,4),%xmm0 .byte 102,65,15,110,12,129 // movd (%r9,%rax,4),%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,69,15,110,12,153 // movd (%r9,%rbx,4),%xmm9 .byte 102,67,15,110,12,145 // movd (%r9,%r10,4),%xmm1 .byte 102,68,15,98,201 // punpckldq %xmm1,%xmm9 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,15,111,21,140,48,0,0 // movdqa 0x308c(%rip),%xmm2 # 7000 <_sk_callback_sse2+0xf82> .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,136,48,0,0 // movaps 0x3088(%rip),%xmm8 # 7010 <_sk_callback_sse2+0xf92> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_sse2 .globl _sk_store_8888_sse2 FUNCTION(_sk_store_8888_sse2) _sk_store_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,74,48,0,0 // movaps 0x304a(%rip),%xmm8 # 7020 <_sk_callback_sse2+0xfa2> .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 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 4036 <_sk_store_8888_sse2+0x6d> .byte 243,68,15,127,4,144 // movdqu %xmm8,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,33 // je 4064 <_sk_store_8888_sse2+0x9b> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 405c <_sk_store_8888_sse2+0x93> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 4032 <_sk_store_8888_sse2+0x69> .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,68,15,126,76,144,8 // movd %xmm9,0x8(%rax,%rdx,4) .byte 102,68,15,214,4,144 // movq %xmm8,(%rax,%rdx,4) .byte 235,206 // jmp 4032 <_sk_store_8888_sse2+0x69> .byte 102,68,15,126,4,144 // movd %xmm8,(%rax,%rdx,4) .byte 235,198 // jmp 4032 <_sk_store_8888_sse2+0x69> HIDDEN _sk_load_bgra_sse2 .globl _sk_load_bgra_sse2 FUNCTION(_sk_load_bgra_sse2) _sk_load_bgra_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 40d8 <_sk_load_bgra_sse2+0x6c> .byte 243,68,15,111,12,144 // movdqu (%rax,%rdx,4),%xmm9 .byte 102,15,111,5,172,47,0,0 // movdqa 0x2fac(%rip),%xmm0 # 7030 <_sk_callback_sse2+0xfb2> .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 68,15,40,5,168,47,0,0 // movaps 0x2fa8(%rip),%xmm8 # 7040 <_sk_callback_sse2+0xfc2> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,216 // pand %xmm0,%xmm3 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,40 // je 410d <_sk_load_bgra_sse2+0xa1> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 4102 <_sk_load_bgra_sse2+0x96> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 407c <_sk_load_bgra_sse2+0x10> .byte 102,15,110,68,144,8 // movd 0x8(%rax,%rdx,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,68,15,18,12,144 // movlpd (%rax,%rdx,4),%xmm9 .byte 233,111,255,255,255 // jmpq 407c <_sk_load_bgra_sse2+0x10> .byte 102,68,15,110,12,144 // movd (%rax,%rdx,4),%xmm9 .byte 233,100,255,255,255 // jmpq 407c <_sk_load_bgra_sse2+0x10> HIDDEN _sk_load_bgra_dst_sse2 .globl _sk_load_bgra_dst_sse2 FUNCTION(_sk_load_bgra_dst_sse2) _sk_load_bgra_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 117,98 // jne 4184 <_sk_load_bgra_dst_sse2+0x6c> .byte 243,68,15,111,12,144 // movdqu (%rax,%rdx,4),%xmm9 .byte 102,15,111,37,32,47,0,0 // movdqa 0x2f20(%rip),%xmm4 # 7050 <_sk_callback_sse2+0xfd2> .byte 102,65,15,111,233 // movdqa %xmm9,%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,245 // cvtdq2ps %xmm5,%xmm6 .byte 68,15,40,5,28,47,0,0 // movaps 0x2f1c(%rip),%xmm8 # 7060 <_sk_callback_sse2+0xfe2> .byte 65,15,89,240 // mulps %xmm8,%xmm6 .byte 102,65,15,111,233 // movdqa %xmm9,%xmm5 .byte 102,15,114,213,8 // psrld $0x8,%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 102,65,15,111,249 // movdqa %xmm9,%xmm7 .byte 102,15,114,215,16 // psrld $0x10,%xmm7 .byte 102,15,219,252 // pand %xmm4,%xmm7 .byte 15,91,231 // cvtdq2ps %xmm7,%xmm4 .byte 65,15,89,224 // mulps %xmm8,%xmm4 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,249 // cvtdq2ps %xmm9,%xmm7 .byte 65,15,89,248 // mulps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,40 // je 41b9 <_sk_load_bgra_dst_sse2+0xa1> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 41ae <_sk_load_bgra_dst_sse2+0x96> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 4128 <_sk_load_bgra_dst_sse2+0x10> .byte 102,15,110,100,144,8 // movd 0x8(%rax,%rdx,4),%xmm4 .byte 102,68,15,112,204,69 // pshufd $0x45,%xmm4,%xmm9 .byte 102,68,15,18,12,144 // movlpd (%rax,%rdx,4),%xmm9 .byte 233,111,255,255,255 // jmpq 4128 <_sk_load_bgra_dst_sse2+0x10> .byte 102,68,15,110,12,144 // movd (%rax,%rdx,4),%xmm9 .byte 233,100,255,255,255 // jmpq 4128 <_sk_load_bgra_dst_sse2+0x10> HIDDEN _sk_gather_bgra_sse2 .globl _sk_gather_bgra_sse2 FUNCTION(_sk_gather_bgra_sse2) _sk_gather_bgra_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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,67,15,110,4,153 // movd (%r9,%r11,4),%xmm0 .byte 102,65,15,110,12,129 // movd (%r9,%rax,4),%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,69,15,110,12,153 // movd (%r9,%rbx,4),%xmm9 .byte 102,67,15,110,12,145 // movd (%r9,%r10,4),%xmm1 .byte 102,68,15,98,201 // punpckldq %xmm1,%xmm9 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,15,111,5,42,46,0,0 // movdqa 0x2e2a(%rip),%xmm0 # 7070 <_sk_callback_sse2+0xff2> .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 68,15,40,5,38,46,0,0 // movaps 0x2e26(%rip),%xmm8 # 7080 <_sk_callback_sse2+0x1002> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,216 // pand %xmm0,%xmm3 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_sse2 .globl _sk_store_bgra_sse2 FUNCTION(_sk_store_bgra_sse2) _sk_store_bgra_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 68,15,40,5,232,45,0,0 // movaps 0x2de8(%rip),%xmm8 # 7090 <_sk_callback_sse2+0x1012> .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 102,69,15,91,201 // cvtps2dq %xmm9,%xmm9 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,65,15,114,242,8 // pslld $0x8,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .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,16 // pslld $0x10,%xmm9 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 4308 <_sk_store_bgra_sse2+0x6d> .byte 243,68,15,127,4,144 // movdqu %xmm8,(%rax,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,33 // je 4336 <_sk_store_bgra_sse2+0x9b> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 432e <_sk_store_bgra_sse2+0x93> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 4304 <_sk_store_bgra_sse2+0x69> .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,68,15,126,76,144,8 // movd %xmm9,0x8(%rax,%rdx,4) .byte 102,68,15,214,4,144 // movq %xmm8,(%rax,%rdx,4) .byte 235,206 // jmp 4304 <_sk_store_bgra_sse2+0x69> .byte 102,68,15,126,4,144 // movd %xmm8,(%rax,%rdx,4) .byte 235,198 // jmp 4304 <_sk_store_bgra_sse2+0x69> HIDDEN _sk_load_f16_sse2 .globl _sk_load_f16_sse2 FUNCTION(_sk_load_f16_sse2) _sk_load_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,96,1,0,0 // jne 44ac <_sk_load_f16_sse2+0x16e> .byte 102,15,16,4,208 // movupd (%rax,%rdx,8),%xmm0 .byte 102,15,16,76,208,16 // movupd 0x10(%rax,%rdx,8),%xmm1 .byte 102,68,15,40,192 // movapd %xmm0,%xmm8 .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 .byte 102,68,15,97,240 // punpcklwd %xmm0,%xmm14 .byte 102,68,15,105,192 // punpckhwd %xmm0,%xmm8 .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,20,45,0,0 // movdqa 0x2d14(%rip),%xmm9 # 70a0 <_sk_callback_sse2+0x1022> .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 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .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,249,44,0,0 // movdqa 0x2cf9(%rip),%xmm11 # 70b0 <_sk_callback_sse2+0x1032> .byte 102,69,15,254,235 // paddd %xmm11,%xmm13 .byte 102,68,15,111,37,251,44,0,0 // movdqa 0x2cfb(%rip),%xmm12 # 70c0 <_sk_callback_sse2+0x1042> .byte 102,65,15,239,204 // pxor %xmm12,%xmm1 .byte 102,15,111,29,254,44,0,0 // movdqa 0x2cfe(%rip),%xmm3 # 70d0 <_sk_callback_sse2+0x1052> .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 .byte 102,65,15,115,222,8 // psrldq $0x8,%xmm14 .byte 102,69,15,97,242 // punpcklwd %xmm10,%xmm14 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,65,15,219,201 // pand %xmm9,%xmm1 .byte 102,68,15,239,241 // pxor %xmm1,%xmm14 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,65,15,111,214 // movdqa %xmm14,%xmm2 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,65,15,102,206 // pcmpgtd %xmm14,%xmm1 .byte 102,15,223,202 // pandn %xmm2,%xmm1 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,65,15,111,213 // movdqa %xmm13,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,68,15,239,234 // pxor %xmm2,%xmm13 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,65,15,114,246,13 // pslld $0xd,%xmm14 .byte 102,68,15,235,242 // por %xmm2,%xmm14 .byte 102,69,15,254,243 // paddd %xmm11,%xmm14 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,65,15,102,213 // pcmpgtd %xmm13,%xmm2 .byte 102,65,15,223,214 // pandn %xmm14,%xmm2 .byte 102,65,15,115,216,8 // psrldq $0x8,%xmm8 .byte 102,69,15,97,194 // punpcklwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,239,193 // pxor %xmm9,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,242,13 // pslld $0xd,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 102,69,15,254,211 // paddd %xmm11,%xmm10 .byte 102,69,15,239,196 // pxor %xmm12,%xmm8 .byte 102,65,15,102,216 // pcmpgtd %xmm8,%xmm3 .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,208 // movsd (%rax,%rdx,8),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,17 // jne 44c8 <_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 4357 <_sk_load_f16_sse2+0x19> .byte 102,15,22,68,208,8 // movhpd 0x8(%rax,%rdx,8),%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,123,254,255,255 // jb 4357 <_sk_load_f16_sse2+0x19> .byte 242,15,16,76,208,16 // movsd 0x10(%rax,%rdx,8),%xmm1 .byte 233,112,254,255,255 // jmpq 4357 <_sk_load_f16_sse2+0x19> HIDDEN _sk_load_f16_dst_sse2 .globl _sk_load_f16_dst_sse2 FUNCTION(_sk_load_f16_dst_sse2) _sk_load_f16_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,96,1,0,0 // jne 4655 <_sk_load_f16_dst_sse2+0x16e> .byte 102,15,16,36,208 // movupd (%rax,%rdx,8),%xmm4 .byte 102,15,16,108,208,16 // movupd 0x10(%rax,%rdx,8),%xmm5 .byte 102,68,15,40,196 // movapd %xmm4,%xmm8 .byte 102,68,15,97,197 // punpcklwd %xmm5,%xmm8 .byte 102,15,105,229 // punpckhwd %xmm5,%xmm4 .byte 102,69,15,111,240 // movdqa %xmm8,%xmm14 .byte 102,68,15,97,244 // punpcklwd %xmm4,%xmm14 .byte 102,68,15,105,196 // punpckhwd %xmm4,%xmm8 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 102,65,15,111,238 // movdqa %xmm14,%xmm5 .byte 102,65,15,97,234 // punpcklwd %xmm10,%xmm5 .byte 102,68,15,111,13,171,43,0,0 // movdqa 0x2bab(%rip),%xmm9 # 70e0 <_sk_callback_sse2+0x1062> .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,65,15,219,225 // pand %xmm9,%xmm4 .byte 102,15,239,236 // pxor %xmm4,%xmm5 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,68,15,111,237 // movdqa %xmm5,%xmm13 .byte 102,65,15,114,245,13 // pslld $0xd,%xmm13 .byte 102,68,15,235,236 // por %xmm4,%xmm13 .byte 102,68,15,111,29,144,43,0,0 // movdqa 0x2b90(%rip),%xmm11 # 70f0 <_sk_callback_sse2+0x1072> .byte 102,69,15,254,235 // paddd %xmm11,%xmm13 .byte 102,68,15,111,37,146,43,0,0 // movdqa 0x2b92(%rip),%xmm12 # 7100 <_sk_callback_sse2+0x1082> .byte 102,65,15,239,236 // pxor %xmm12,%xmm5 .byte 102,15,111,61,149,43,0,0 // movdqa 0x2b95(%rip),%xmm7 # 7110 <_sk_callback_sse2+0x1092> .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,102,229 // pcmpgtd %xmm5,%xmm4 .byte 102,65,15,223,229 // pandn %xmm13,%xmm4 .byte 102,65,15,115,222,8 // psrldq $0x8,%xmm14 .byte 102,69,15,97,242 // punpcklwd %xmm10,%xmm14 .byte 102,65,15,111,238 // movdqa %xmm14,%xmm5 .byte 102,65,15,219,233 // pand %xmm9,%xmm5 .byte 102,68,15,239,245 // pxor %xmm5,%xmm14 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,65,15,111,246 // movdqa %xmm14,%xmm6 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 102,65,15,254,243 // paddd %xmm11,%xmm6 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,65,15,102,238 // pcmpgtd %xmm14,%xmm5 .byte 102,15,223,238 // pandn %xmm6,%xmm5 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,65,15,111,245 // movdqa %xmm13,%xmm6 .byte 102,65,15,219,241 // pand %xmm9,%xmm6 .byte 102,68,15,239,238 // pxor %xmm6,%xmm13 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,65,15,114,246,13 // pslld $0xd,%xmm14 .byte 102,68,15,235,246 // por %xmm6,%xmm14 .byte 102,69,15,254,243 // paddd %xmm11,%xmm14 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,65,15,102,245 // pcmpgtd %xmm13,%xmm6 .byte 102,65,15,223,246 // pandn %xmm14,%xmm6 .byte 102,65,15,115,216,8 // psrldq $0x8,%xmm8 .byte 102,69,15,97,194 // punpcklwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,239,193 // pxor %xmm9,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,242,13 // pslld $0xd,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 102,69,15,254,211 // paddd %xmm11,%xmm10 .byte 102,69,15,239,196 // pxor %xmm12,%xmm8 .byte 102,65,15,102,248 // pcmpgtd %xmm8,%xmm7 .byte 102,65,15,223,250 // pandn %xmm10,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,15,16,36,208 // movsd (%rax,%rdx,8),%xmm4 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,17 // jne 4671 <_sk_load_f16_dst_sse2+0x18a> .byte 102,15,87,237 // xorpd %xmm5,%xmm5 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 102,15,87,237 // xorpd %xmm5,%xmm5 .byte 233,143,254,255,255 // jmpq 4500 <_sk_load_f16_dst_sse2+0x19> .byte 102,15,22,100,208,8 // movhpd 0x8(%rax,%rdx,8),%xmm4 .byte 102,15,87,237 // xorpd %xmm5,%xmm5 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,123,254,255,255 // jb 4500 <_sk_load_f16_dst_sse2+0x19> .byte 242,15,16,108,208,16 // movsd 0x10(%rax,%rdx,8),%xmm5 .byte 233,112,254,255,255 // jmpq 4500 <_sk_load_f16_dst_sse2+0x19> HIDDEN _sk_gather_f16_sse2 .globl _sk_gather_f16_sse2 FUNCTION(_sk_gather_f16_sse2) _sk_gather_f16_sse2: .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .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 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .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,194 // mov %eax,%r10d .byte 72,193,232,32 // shr $0x20,%rax .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 243,67,15,126,4,217 // movq (%r9,%r11,8),%xmm0 .byte 243,65,15,126,12,217 // movq (%r9,%rbx,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,209 // movq (%r9,%r10,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 .byte 102,15,105,202 // punpckhwd %xmm2,%xmm1 .byte 102,69,15,111,240 // movdqa %xmm8,%xmm14 .byte 102,68,15,97,241 // punpcklwd %xmm1,%xmm14 .byte 102,68,15,105,193 // punpckhwd %xmm1,%xmm8 .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,231,41,0,0 // movdqa 0x29e7(%rip),%xmm9 # 7120 <_sk_callback_sse2+0x10a2> .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 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .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,204,41,0,0 // movdqa 0x29cc(%rip),%xmm11 # 7130 <_sk_callback_sse2+0x10b2> .byte 102,69,15,254,235 // paddd %xmm11,%xmm13 .byte 102,68,15,111,37,206,41,0,0 // movdqa 0x29ce(%rip),%xmm12 # 7140 <_sk_callback_sse2+0x10c2> .byte 102,65,15,239,204 // pxor %xmm12,%xmm1 .byte 102,15,111,29,209,41,0,0 // movdqa 0x29d1(%rip),%xmm3 # 7150 <_sk_callback_sse2+0x10d2> .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 .byte 102,65,15,115,222,8 // psrldq $0x8,%xmm14 .byte 102,69,15,97,242 // punpcklwd %xmm10,%xmm14 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,65,15,219,201 // pand %xmm9,%xmm1 .byte 102,68,15,239,241 // pxor %xmm1,%xmm14 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,65,15,111,214 // movdqa %xmm14,%xmm2 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,65,15,102,206 // pcmpgtd %xmm14,%xmm1 .byte 102,15,223,202 // pandn %xmm2,%xmm1 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,65,15,111,213 // movdqa %xmm13,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,68,15,239,234 // pxor %xmm2,%xmm13 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,65,15,114,246,13 // pslld $0xd,%xmm14 .byte 102,68,15,235,242 // por %xmm2,%xmm14 .byte 102,69,15,254,243 // paddd %xmm11,%xmm14 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,65,15,102,213 // pcmpgtd %xmm13,%xmm2 .byte 102,65,15,223,214 // pandn %xmm14,%xmm2 .byte 102,65,15,115,216,8 // psrldq $0x8,%xmm8 .byte 102,69,15,97,194 // punpcklwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,239,193 // pxor %xmm9,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,242,13 // pslld $0xd,%xmm10 .byte 102,69,15,235,209 // por %xmm9,%xmm10 .byte 102,69,15,254,211 // paddd %xmm11,%xmm10 .byte 102,69,15,239,196 // pxor %xmm12,%xmm8 .byte 102,65,15,102,216 // pcmpgtd %xmm8,%xmm3 .byte 102,65,15,223,218 // pandn %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_sse2 .globl _sk_store_f16_sse2 FUNCTION(_sk_store_f16_sse2) _sk_store_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,0 // mov (%rax),%rax .byte 102,68,15,111,21,248,40,0,0 // movdqa 0x28f8(%rip),%xmm10 # 7160 <_sk_callback_sse2+0x10e2> .byte 102,68,15,111,224 // movdqa %xmm0,%xmm12 .byte 102,69,15,219,226 // pand %xmm10,%xmm12 .byte 102,68,15,111,232 // movdqa %xmm0,%xmm13 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,68,15,111,13,235,40,0,0 // movdqa 0x28eb(%rip),%xmm9 # 7170 <_sk_callback_sse2+0x10f2> .byte 102,65,15,114,212,16 // psrld $0x10,%xmm12 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,69,15,102,197 // pcmpgtd %xmm13,%xmm8 .byte 102,65,15,114,213,13 // psrld $0xd,%xmm13 .byte 102,68,15,111,29,220,40,0,0 // movdqa 0x28dc(%rip),%xmm11 # 7180 <_sk_callback_sse2+0x1102> .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,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,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,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,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,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,254,214 // paddd %xmm14,%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,223,202 // pandn %xmm10,%xmm9 .byte 102,69,15,107,201 // packssdw %xmm9,%xmm9 .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,204 // punpckldq %xmm12,%xmm9 .byte 77,133,192 // test %r8,%r8 .byte 117,21 // jne 49c6 <_sk_store_f16_sse2+0x16c> .byte 68,15,17,12,208 // movups %xmm9,(%rax,%rdx,8) .byte 102,69,15,106,196 // punpckhdq %xmm12,%xmm8 .byte 243,68,15,127,68,208,16 // movdqu %xmm8,0x10(%rax,%rdx,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,214,12,208 // movq %xmm9,(%rax,%rdx,8) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 49c2 <_sk_store_f16_sse2+0x168> .byte 102,68,15,23,76,208,8 // movhpd %xmm9,0x8(%rax,%rdx,8) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 49c2 <_sk_store_f16_sse2+0x168> .byte 102,69,15,106,196 // punpckhdq %xmm12,%xmm8 .byte 102,68,15,214,68,208,16 // movq %xmm8,0x10(%rax,%rdx,8) .byte 235,213 // jmp 49c2 <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,190,0,0,0 // jne 4ac1 <_sk_load_u16_be_sse2+0xd4> .byte 102,65,15,16,4,65 // movupd (%r9,%rax,2),%xmm0 .byte 102,65,15,16,76,65,16 // movupd 0x10(%r9,%rax,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 68,15,40,5,60,39,0,0 // movaps 0x273c(%rip),%xmm8 # 7190 <_sk_callback_sse2+0x1112> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,65,15,97,217 // punpcklwd %xmm9,%xmm3 .byte 15,91,203 // cvtdq2ps %xmm3,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,68,15,111,210 // movdqa %xmm2,%xmm10 .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,235,210 // por %xmm10,%xmm2 .byte 102,65,15,97,209 // punpcklwd %xmm9,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,68,15,111,211 // movdqa %xmm3,%xmm10 .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,218 // por %xmm10,%xmm3 .byte 102,65,15,97,217 // punpcklwd %xmm9,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,4,65 // movsd (%r9,%rax,2),%xmm0 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,17 // jne 4ade <_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 4a10 <_sk_load_u16_be_sse2+0x23> .byte 102,65,15,22,68,65,8 // movhpd 0x8(%r9,%rax,2),%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 15,130,29,255,255,255 // jb 4a10 <_sk_load_u16_be_sse2+0x23> .byte 242,65,15,16,76,65,16 // movsd 0x10(%r9,%rax,2),%xmm1 .byte 233,17,255,255,255 // jmpq 4a10 <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,82 // lea (%rdx,%rdx,2),%rax .byte 77,133,192 // test %r8,%r8 .byte 15,133,175,0,0,0 // jne 4bc0 <_sk_load_rgb_u16_be_sse2+0xc1> .byte 243,65,15,111,20,65 // movdqu (%r9,%rax,2),%xmm2 .byte 243,65,15,111,92,65,8 // movdqu 0x8(%r9,%rax,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .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,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,65,15,97,200 // punpcklwd %xmm8,%xmm1 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 68,15,40,13,43,38,0,0 // movaps 0x262b(%rip),%xmm9 # 71a0 <_sk_callback_sse2+0x1122> .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,65,15,97,216 // punpcklwd %xmm8,%xmm3 .byte 15,91,203 // cvtdq2ps %xmm3,%xmm1 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 102,65,15,97,208 // punpcklwd %xmm8,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,242,37,0,0 // movaps 0x25f2(%rip),%xmm3 # 71b0 <_sk_callback_sse2+0x1132> .byte 255,224 // jmpq *%rax .byte 102,65,15,110,20,65 // movd (%r9,%rax,2),%xmm2 .byte 102,65,15,196,84,65,4,2 // pinsrw $0x2,0x4(%r9,%rax,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,13 // jne 4be5 <_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 4b35 <_sk_load_rgb_u16_be_sse2+0x36> .byte 102,65,15,110,68,65,6 // movd 0x6(%r9,%rax,2),%xmm0 .byte 102,65,15,196,68,65,10,2 // pinsrw $0x2,0xa(%r9,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,24 // jb 4c16 <_sk_load_rgb_u16_be_sse2+0x117> .byte 102,65,15,110,92,65,12 // movd 0xc(%r9,%rax,2),%xmm3 .byte 102,65,15,196,92,65,16,2 // pinsrw $0x2,0x10(%r9,%rax,2),%xmm3 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,31,255,255,255 // jmpq 4b35 <_sk_load_rgb_u16_be_sse2+0x36> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,22,255,255,255 // jmpq 4b35 <_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 76,139,8 // mov (%rax),%r9 .byte 72,141,4,149,0,0,0,0 // lea 0x0(,%rdx,4),%rax .byte 68,15,40,21,140,37,0,0 // movaps 0x258c(%rip),%xmm10 # 71c0 <_sk_callback_sse2+0x1142> .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .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,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,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,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,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 .byte 102,69,15,107,201 // packssdw %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 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 77,133,192 // test %r8,%r8 .byte 117,21 // jne 4d2e <_sk_store_u16_be_sse2+0x10f> .byte 69,15,17,20,65 // movups %xmm10,(%r9,%rax,2) .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 243,69,15,127,68,65,16 // movdqu %xmm8,0x10(%r9,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,214,20,65 // movq %xmm10,(%r9,%rax,2) .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,240 // je 4d2a <_sk_store_u16_be_sse2+0x10b> .byte 102,69,15,23,84,65,8 // movhpd %xmm10,0x8(%r9,%rax,2) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,227 // jb 4d2a <_sk_store_u16_be_sse2+0x10b> .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 102,69,15,214,68,65,16 // movq %xmm8,0x10(%r9,%rax,2) .byte 235,213 // jmp 4d2a <_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 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 69,15,16,4,2 // movups (%r10,%rax,1),%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 4db5 <_sk_load_f32_sse2+0x60> .byte 67,15,16,68,138,16 // movups 0x10(%r10,%r9,4),%xmm0 .byte 67,15,16,92,138,32 // movups 0x20(%r10,%r9,4),%xmm3 .byte 71,15,16,76,138,48 // movups 0x30(%r10,%r9,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 65,15,20,201 // unpcklps %xmm9,%xmm1 .byte 68,15,21,192 // unpckhps %xmm0,%xmm8 .byte 65,15,21,217 // unpckhps %xmm9,%xmm3 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,202 // movhlps %xmm2,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,8 // jne 4dc7 <_sk_load_f32_sse2+0x72> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 235,190 // jmp 4d85 <_sk_load_f32_sse2+0x30> .byte 67,15,16,68,138,16 // movups 0x10(%r10,%r9,4),%xmm0 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,8 // jb 4ddb <_sk_load_f32_sse2+0x86> .byte 67,15,16,92,138,32 // movups 0x20(%r10,%r9,4),%xmm3 .byte 235,170 // jmp 4d85 <_sk_load_f32_sse2+0x30> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,165 // jmp 4d85 <_sk_load_f32_sse2+0x30> HIDDEN _sk_load_f32_dst_sse2 .globl _sk_load_f32_dst_sse2 FUNCTION(_sk_load_f32_dst_sse2) _sk_load_f32_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 69,15,16,4,2 // movups (%r10,%rax,1),%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,66 // jne 4e40 <_sk_load_f32_dst_sse2+0x60> .byte 67,15,16,100,138,16 // movups 0x10(%r10,%r9,4),%xmm4 .byte 67,15,16,124,138,32 // movups 0x20(%r10,%r9,4),%xmm7 .byte 71,15,16,76,138,48 // movups 0x30(%r10,%r9,4),%xmm9 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 65,15,20,233 // unpcklps %xmm9,%xmm5 .byte 68,15,21,196 // unpckhps %xmm4,%xmm8 .byte 65,15,21,249 // unpckhps %xmm9,%xmm7 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 15,18,238 // movhlps %xmm6,%xmm5 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 102,15,20,247 // unpcklpd %xmm7,%xmm6 .byte 65,15,18,248 // movhlps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 117,8 // jne 4e52 <_sk_load_f32_dst_sse2+0x72> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 235,190 // jmp 4e10 <_sk_load_f32_dst_sse2+0x30> .byte 67,15,16,100,138,16 // movups 0x10(%r10,%r9,4),%xmm4 .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,8 // jb 4e66 <_sk_load_f32_dst_sse2+0x86> .byte 67,15,16,124,138,32 // movups 0x20(%r10,%r9,4),%xmm7 .byte 235,170 // jmp 4e10 <_sk_load_f32_dst_sse2+0x30> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,165 // jmp 4e10 <_sk_load_f32_dst_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 76,139,16 // mov (%rax),%r10 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,4 // shl $0x4,%rax .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 68,15,20,195 // unpcklps %xmm3,%xmm8 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 68,15,21,209 // unpckhps %xmm1,%xmm10 .byte 68,15,40,218 // movaps %xmm2,%xmm11 .byte 68,15,21,219 // unpckhps %xmm3,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 102,69,15,20,224 // unpcklpd %xmm8,%xmm12 .byte 69,15,18,193 // movhlps %xmm9,%xmm8 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 102,69,15,20,203 // unpcklpd %xmm11,%xmm9 .byte 102,69,15,17,36,2 // movupd %xmm12,(%r10,%rax,1) .byte 77,133,192 // test %r8,%r8 .byte 117,29 // jne 4edd <_sk_store_f32_sse2+0x72> .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 .byte 71,15,17,68,138,16 // movups %xmm8,0x10(%r10,%r9,4) .byte 102,71,15,17,76,138,32 // movupd %xmm9,0x20(%r10,%r9,4) .byte 102,71,15,17,84,138,48 // movupd %xmm10,0x30(%r10,%r9,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 73,131,248,1 // cmp $0x1,%r8 .byte 116,246 // je 4ed9 <_sk_store_f32_sse2+0x6e> .byte 71,15,17,68,138,16 // movups %xmm8,0x10(%r10,%r9,4) .byte 73,131,248,3 // cmp $0x3,%r8 .byte 114,234 // jb 4ed9 <_sk_store_f32_sse2+0x6e> .byte 102,71,15,17,76,138,32 // movupd %xmm9,0x20(%r10,%r9,4) .byte 235,225 // jmp 4ed9 <_sk_store_f32_sse2+0x6e> HIDDEN _sk_clamp_x_sse2 .globl _sk_clamp_x_sse2 FUNCTION(_sk_clamp_x_sse2) _sk_clamp_x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,65,15,254,193 // paddd %xmm9,%xmm0 .byte 68,15,93,192 // minps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_y_sse2 .globl _sk_clamp_y_sse2 FUNCTION(_sk_clamp_y_sse2) _sk_clamp_y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,193 // maxps %xmm1,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 102,15,118,201 // pcmpeqd %xmm1,%xmm1 .byte 102,65,15,254,201 // paddd %xmm9,%xmm1 .byte 68,15,93,193 // minps %xmm1,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_sse2 .globl _sk_repeat_x_sse2 FUNCTION(_sk_repeat_x_sse2) _sk_repeat_x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 69,15,194,202,1 // cmpltps %xmm10,%xmm9 .byte 68,15,84,13,90,34,0,0 // andps 0x225a(%rip),%xmm9 # 71d0 <_sk_callback_sse2+0x1152> .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_y_sse2 .globl _sk_repeat_y_sse2 FUNCTION(_sk_repeat_y_sse2) _sk_repeat_y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 69,15,194,202,1 // cmpltps %xmm10,%xmm9 .byte 68,15,84,13,27,34,0,0 // andps 0x221b(%rip),%xmm9 # 71e0 <_sk_callback_sse2+0x1162> .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 65,15,92,202 // subps %xmm10,%xmm1 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,201 // minps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_sse2 .globl _sk_mirror_x_sse2 FUNCTION(_sk_mirror_x_sse2) _sk_mirror_x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 243,69,15,88,201 // addss %xmm9,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,89,21,139,38,0,0 // mulss 0x268b(%rip),%xmm10 # 76a0 <_sk_callback_sse2+0x1622> .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 243,69,15,91,218 // cvttps2dq %xmm10,%xmm11 .byte 69,15,91,219 // cvtdq2ps %xmm11,%xmm11 .byte 69,15,194,211,1 // cmpltps %xmm11,%xmm10 .byte 68,15,84,21,188,33,0,0 // andps 0x21bc(%rip),%xmm10 # 71f0 <_sk_callback_sse2+0x1172> .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,92,224 // subps %xmm0,%xmm12 .byte 65,15,84,196 // andps %xmm12,%xmm0 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_y_sse2 .globl _sk_mirror_y_sse2 FUNCTION(_sk_mirror_y_sse2) _sk_mirror_y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 243,69,15,88,201 // addss %xmm9,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,89,21,21,38,0,0 // mulss 0x2615(%rip),%xmm10 # 76a4 <_sk_callback_sse2+0x1626> .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 243,69,15,91,218 // cvttps2dq %xmm10,%xmm11 .byte 69,15,91,219 // cvtdq2ps %xmm11,%xmm11 .byte 69,15,194,211,1 // cmpltps %xmm11,%xmm10 .byte 68,15,84,21,82,33,0,0 // andps 0x2152(%rip),%xmm10 # 7200 <_sk_callback_sse2+0x1182> .byte 69,15,87,228 // xorps %xmm12,%xmm12 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 65,15,84,204 // andps %xmm12,%xmm1 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,69,15,254,200 // paddd %xmm8,%xmm9 .byte 65,15,93,201 // minps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clamp_x_1_sse2 .globl _sk_clamp_x_1_sse2 FUNCTION(_sk_clamp_x_1_sse2) _sk_clamp_x_1_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 68,15,93,5,36,33,0,0 // minps 0x2124(%rip),%xmm8 # 7210 <_sk_callback_sse2+0x1192> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_repeat_x_1_sse2 .globl _sk_repeat_x_1_sse2 FUNCTION(_sk_repeat_x_1_sse2) _sk_repeat_x_1_sse2: .byte 243,68,15,91,192 // cvttps2dq %xmm0,%xmm8 .byte 69,15,91,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,18,33,0,0 // andps 0x2112(%rip),%xmm9 # 7220 <_sk_callback_sse2+0x11a2> .byte 69,15,92,193 // subps %xmm9,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mirror_x_1_sse2 .globl _sk_mirror_x_1_sse2 FUNCTION(_sk_mirror_x_1_sse2) _sk_mirror_x_1_sse2: .byte 68,15,40,5,14,33,0,0 // movaps 0x210e(%rip),%xmm8 # 7230 <_sk_callback_sse2+0x11b2> .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,13,18,33,0,0 // movaps 0x2112(%rip),%xmm9 # 7240 <_sk_callback_sse2+0x11c2> .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,8,33,0,0 // andps 0x2108(%rip),%xmm9 # 7250 <_sk_callback_sse2+0x11d2> .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 69,15,92,209 // subps %xmm9,%xmm10 .byte 69,15,88,210 // addps %xmm10,%xmm10 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,92,216 // subps %xmm0,%xmm11 .byte 65,15,84,195 // andps %xmm11,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_luminance_to_alpha_sse2 .globl _sk_luminance_to_alpha_sse2 FUNCTION(_sk_luminance_to_alpha_sse2) _sk_luminance_to_alpha_sse2: .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,89,5,238,32,0,0 // mulps 0x20ee(%rip),%xmm0 # 7260 <_sk_callback_sse2+0x11e2> .byte 15,89,13,247,32,0,0 // mulps 0x20f7(%rip),%xmm1 # 7270 <_sk_callback_sse2+0x11f2> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,29,253,32,0,0 // mulps 0x20fd(%rip),%xmm3 # 7280 <_sk_callback_sse2+0x1202> .byte 15,88,217 // addps %xmm1,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_translate_sse2 .globl _sk_matrix_translate_sse2 FUNCTION(_sk_matrix_translate_sse2) _sk_matrix_translate_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_scale_translate_sse2 .globl _sk_matrix_scale_translate_sse2 FUNCTION(_sk_matrix_scale_translate_sse2) _sk_matrix_scale_translate_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,8 // movss 0x8(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,16,8 // movss (%rax),%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 243,68,15,16,64,12 // movss 0xc(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_2x3_sse2 .globl _sk_matrix_2x3_sse2 FUNCTION(_sk_matrix_2x3_sse2) _sk_matrix_2x3_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,16 // movss 0x10(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,12 // movss 0xc(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_3x4_sse2 .globl _sk_matrix_3x4_sse2 FUNCTION(_sk_matrix_3x4_sse2) _sk_matrix_3x4_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,12 // movss 0xc(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,24 // movss 0x18(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,36 // movss 0x24(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,28 // movss 0x1c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,40 // movss 0x28(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,32 // movss 0x20(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,44 // movss 0x2c(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x5_sse2 .globl _sk_matrix_4x5_sse2 FUNCTION(_sk_matrix_4x5_sse2) _sk_matrix_4x5_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,32 // movss 0x20(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,48 // movss 0x30(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,64 // movss 0x40(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,68,15,16,80,20 // movss 0x14(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,36 // movss 0x24(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,52 // movss 0x34(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,68 // movss 0x44(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,24 // movss 0x18(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,40 // movss 0x28(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,56 // movss 0x38(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 243,68,15,16,112,72 // movss 0x48(%rax),%xmm14 .byte 69,15,198,246,0 // shufps $0x0,%xmm14,%xmm14 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 243,68,15,16,88,12 // movss 0xc(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,28 // movss 0x1c(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 243,68,15,16,104,44 // movss 0x2c(%rax),%xmm13 .byte 69,15,198,237,0 // shufps $0x0,%xmm13,%xmm13 .byte 243,68,15,16,112,60 // movss 0x3c(%rax),%xmm14 .byte 69,15,198,246,0 // shufps $0x0,%xmm14,%xmm14 .byte 243,68,15,16,120,76 // movss 0x4c(%rax),%xmm15 .byte 69,15,198,255,0 // shufps $0x0,%xmm15,%xmm15 .byte 68,15,89,243 // mulps %xmm3,%xmm14 .byte 69,15,88,247 // addps %xmm15,%xmm14 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 69,15,88,238 // addps %xmm14,%xmm13 .byte 69,15,89,225 // mulps %xmm9,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,40,219 // movaps %xmm11,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_4x3_sse2 .globl _sk_matrix_4x3_sse2 FUNCTION(_sk_matrix_4x3_sse2) _sk_matrix_4x3_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,32 // movss 0x20(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,36 // movss 0x24(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,80,40 // movss 0x28(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,80,28 // movss 0x1c(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,44 // movss 0x2c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_matrix_perspective_sse2 .globl _sk_matrix_perspective_sse2 FUNCTION(_sk_matrix_perspective_sse2) _sk_matrix_perspective_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,68,15,16,72,4 // movss 0x4(%rax),%xmm9 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,80,8 // movss 0x8(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 243,68,15,16,80,16 // movss 0x10(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,20 // movss 0x14(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 243,68,15,16,80,24 // movss 0x18(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,28 // movss 0x1c(%rax),%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 243,68,15,16,96,32 // movss 0x20(%rax),%xmm12 .byte 69,15,198,228,0 // shufps $0x0,%xmm12,%xmm12 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 69,15,88,220 // addps %xmm12,%xmm11 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 69,15,88,211 // addps %xmm11,%xmm10 .byte 65,15,83,202 // rcpps %xmm10,%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_gradient_sse2 .globl _sk_evenly_spaced_gradient_sse2 FUNCTION(_sk_evenly_spaced_gradient_sse2) _sk_evenly_spaced_gradient_sse2: .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,112,8 // mov 0x8(%rax),%r14 .byte 72,255,203 // dec %rbx .byte 120,7 // js 5623 <_sk_evenly_spaced_gradient_sse2+0x18> .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 235,21 // jmp 5638 <_sk_evenly_spaced_gradient_sse2+0x2d> .byte 73,137,217 // mov %rbx,%r9 .byte 73,209,233 // shr %r9 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,203 // or %r9,%rbx .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 243,15,88,201 // addss %xmm1,%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,211 // movq %xmm2,%r11 .byte 69,137,217 // mov %r11d,%r9d .byte 73,193,235,32 // shr $0x20,%r11 .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 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,71,15,16,4,150 // movss (%r14,%r10,4),%xmm8 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 76,139,112,40 // mov 0x28(%rax),%r14 .byte 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,71,15,16,12,150 // movss (%r14,%r10,4),%xmm9 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 68,15,20,202 // unpcklps %xmm2,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,65,15,16,20,158 // movss (%r14,%rbx,4),%xmm2 .byte 243,67,15,16,12,158 // movss (%r14,%r11,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,112,48 // mov 0x30(%rax),%r14 .byte 243,65,15,16,20,158 // movss (%r14,%rbx,4),%xmm2 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,71,15,16,20,150 // movss (%r14,%r10,4),%xmm10 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 68,15,20,211 // unpcklps %xmm3,%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 76,139,112,24 // mov 0x18(%rax),%r14 .byte 243,69,15,16,28,158 // movss (%r14,%rbx,4),%xmm11 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 68,15,20,218 // unpcklps %xmm2,%xmm11 .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 65,15,20,211 // unpcklps %xmm11,%xmm2 .byte 76,139,112,56 // mov 0x38(%rax),%r14 .byte 243,69,15,16,36,158 // movss (%r14,%rbx,4),%xmm12 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,71,15,16,28,150 // movss (%r14,%r10,4),%xmm11 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 69,15,20,220 // unpcklps %xmm12,%xmm11 .byte 76,139,112,32 // mov 0x20(%rax),%r14 .byte 243,69,15,16,36,158 // movss (%r14,%rbx,4),%xmm12 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 243,71,15,16,44,142 // movss (%r14,%r9,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,152 // movss (%rax,%rbx,4),%xmm12 .byte 243,70,15,16,44,152 // movss (%rax,%r11,4),%xmm13 .byte 69,15,20,229 // unpcklps %xmm13,%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 243,70,15,16,52,136 // movss (%rax,%r9,4),%xmm14 .byte 69,15,20,238 // unpcklps %xmm14,%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_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,204,26,0,0 // movaps 0x1acc(%rip),%xmm0 # 7290 <_sk_callback_sse2+0x1212> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,210,26,0,0 // addps 0x1ad2(%rip),%xmm0 # 72a0 <_sk_callback_sse2+0x1222> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,216,26,0,0 // addps 0x1ad8(%rip),%xmm0 # 72b0 <_sk_callback_sse2+0x1232> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,222,26,0,0 // addps 0x1ade(%rip),%xmm0 # 72c0 <_sk_callback_sse2+0x1242> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,228,26,0,0 // addps 0x1ae4(%rip),%xmm0 # 72d0 <_sk_callback_sse2+0x1252> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_gradient_sse2 .globl _sk_gradient_sse2 FUNCTION(_sk_gradient_sse2) _sk_gradient_sse2: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,249,2 // cmp $0x2,%r9 .byte 114,50 // jb 583f <_sk_gradient_sse2+0x46> .byte 72,139,88,72 // mov 0x48(%rax),%rbx .byte 73,255,201 // dec %r9 .byte 72,131,195,4 // add $0x4,%rbx .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,40,21,189,26,0,0 // movaps 0x1abd(%rip),%xmm2 # 72e0 <_sk_callback_sse2+0x1262> .byte 243,15,16,27 // movss (%rbx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,194,216,2 // cmpleps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 72,131,195,4 // add $0x4,%rbx .byte 73,255,201 // dec %r9 .byte 117,228 // jne 5823 <_sk_gradient_sse2+0x2a> .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,211 // movq %xmm2,%r11 .byte 69,137,217 // mov %r11d,%r9d .byte 73,193,235,32 // shr $0x20,%r11 .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 76,139,112,8 // mov 0x8(%rax),%r14 .byte 76,139,120,16 // mov 0x10(%rax),%r15 .byte 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,71,15,16,4,150 // movss (%r14,%r10,4),%xmm8 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 68,15,20,194 // unpcklps %xmm2,%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 76,139,112,40 // mov 0x28(%rax),%r14 .byte 243,65,15,16,12,158 // movss (%r14,%rbx,4),%xmm1 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,71,15,16,12,150 // movss (%r14,%r10,4),%xmm9 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 68,15,20,202 // unpcklps %xmm2,%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 243,65,15,16,20,159 // movss (%r15,%rbx,4),%xmm2 .byte 243,67,15,16,12,159 // movss (%r15,%r11,4),%xmm1 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,67,15,16,12,151 // movss (%r15,%r10,4),%xmm1 .byte 243,67,15,16,28,143 // movss (%r15,%r9,4),%xmm3 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 76,139,112,48 // mov 0x30(%rax),%r14 .byte 243,65,15,16,20,158 // movss (%r14,%rbx,4),%xmm2 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,71,15,16,20,150 // movss (%r14,%r10,4),%xmm10 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 68,15,20,211 // unpcklps %xmm3,%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 76,139,112,24 // mov 0x18(%rax),%r14 .byte 243,69,15,16,28,158 // movss (%r14,%rbx,4),%xmm11 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 68,15,20,218 // unpcklps %xmm2,%xmm11 .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 65,15,20,211 // unpcklps %xmm11,%xmm2 .byte 76,139,112,56 // mov 0x38(%rax),%r14 .byte 243,69,15,16,36,158 // movss (%r14,%rbx,4),%xmm12 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,71,15,16,28,150 // movss (%r14,%r10,4),%xmm11 .byte 243,67,15,16,28,142 // movss (%r14,%r9,4),%xmm3 .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 69,15,20,220 // unpcklps %xmm12,%xmm11 .byte 76,139,112,32 // mov 0x20(%rax),%r14 .byte 243,69,15,16,36,158 // movss (%r14,%rbx,4),%xmm12 .byte 243,67,15,16,28,158 // movss (%r14,%r11,4),%xmm3 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 243,71,15,16,44,142 // movss (%r14,%r9,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,152 // movss (%rax,%rbx,4),%xmm12 .byte 243,70,15,16,44,152 // movss (%rax,%r11,4),%xmm13 .byte 69,15,20,229 // unpcklps %xmm13,%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 243,70,15,16,52,136 // movss (%rax,%r9,4),%xmm14 .byte 69,15,20,238 // unpcklps %xmm14,%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2 .globl _sk_evenly_spaced_2_stop_gradient_sse2 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2) _sk_evenly_spaced_2_stop_gradient_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,72,28 // movss 0x1c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_sse2 .globl _sk_xy_to_unit_angle_sse2 FUNCTION(_sk_xy_to_unit_angle_sse2) _sk_xy_to_unit_angle_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 69,15,84,200 // andps %xmm8,%xmm9 .byte 69,15,87,210 // xorps %xmm10,%xmm10 .byte 68,15,92,209 // subps %xmm1,%xmm10 .byte 68,15,84,209 // andps %xmm1,%xmm10 .byte 69,15,40,217 // movaps %xmm9,%xmm11 .byte 69,15,93,218 // minps %xmm10,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 69,15,95,226 // maxps %xmm10,%xmm12 .byte 69,15,94,220 // divps %xmm12,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,40,45,126,24,0,0 // movaps 0x187e(%rip),%xmm13 # 72f0 <_sk_callback_sse2+0x1272> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,130,24,0,0 // addps 0x1882(%rip),%xmm13 # 7300 <_sk_callback_sse2+0x1282> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,134,24,0,0 // addps 0x1886(%rip),%xmm13 # 7310 <_sk_callback_sse2+0x1292> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,138,24,0,0 // addps 0x188a(%rip),%xmm13 # 7320 <_sk_callback_sse2+0x12a2> .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 69,15,194,202,1 // cmpltps %xmm10,%xmm9 .byte 68,15,40,21,137,24,0,0 // movaps 0x1889(%rip),%xmm10 # 7330 <_sk_callback_sse2+0x12b2> .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,124,24,0,0 // movaps 0x187c(%rip),%xmm10 # 7340 <_sk_callback_sse2+0x12c2> .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,107,24,0,0 // movaps 0x186b(%rip),%xmm10 # 7350 <_sk_callback_sse2+0x12d2> .byte 69,15,92,208 // subps %xmm8,%xmm10 .byte 69,15,84,209 // andps %xmm9,%xmm10 .byte 69,15,85,200 // andnps %xmm8,%xmm9 .byte 69,15,86,202 // orps %xmm10,%xmm9 .byte 65,15,194,193,7 // cmpordps %xmm9,%xmm0 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_radius_sse2 .globl _sk_xy_to_radius_sse2 FUNCTION(_sk_xy_to_radius_sse2) _sk_xy_to_radius_sse2: .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 69,15,89,192 // mulps %xmm8,%xmm8 .byte 68,15,88,192 // addps %xmm0,%xmm8 .byte 65,15,81,192 // sqrtps %xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse2 .globl _sk_xy_to_2pt_conical_quadratic_max_sse2 FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse2) _sk_xy_to_2pt_conical_quadratic_max_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,32 // movss 0x20(%rax),%xmm10 .byte 243,68,15,16,64,36 // movss 0x24(%rax),%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,40 // movss 0x28(%rax),%xmm11 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,203 // mulss %xmm11,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,18,24,0,0 // mulps 0x1812(%rip),%xmm9 # 7360 <_sk_callback_sse2+0x12e2> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 243,69,15,89,219 // mulss %xmm11,%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 68,15,89,21,253,23,0,0 // mulps 0x17fd(%rip),%xmm10 # 7370 <_sk_callback_sse2+0x12f2> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,81,208 // sqrtps %xmm0,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 68,15,87,13,229,23,0,0 // xorps 0x17e5(%rip),%xmm9 # 7380 <_sk_callback_sse2+0x1302> .byte 68,15,89,5,237,23,0,0 // mulps 0x17ed(%rip),%xmm8 # 7390 <_sk_callback_sse2+0x1312> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,95,193 // maxps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse2 .globl _sk_xy_to_2pt_conical_quadratic_min_sse2 FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse2) _sk_xy_to_2pt_conical_quadratic_min_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,80,32 // movss 0x20(%rax),%xmm10 .byte 243,68,15,16,64,36 // movss 0x24(%rax),%xmm8 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,16,88,40 // movss 0x28(%rax),%xmm11 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,203 // mulss %xmm11,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,180,23,0,0 // mulps 0x17b4(%rip),%xmm9 # 73a0 <_sk_callback_sse2+0x1322> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,225 // movaps %xmm1,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 243,69,15,89,219 // mulss %xmm11,%xmm11 .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 68,15,89,21,159,23,0,0 // mulps 0x179f(%rip),%xmm10 # 73b0 <_sk_callback_sse2+0x1332> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,81,208 // sqrtps %xmm0,%xmm10 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 68,15,87,13,135,23,0,0 // xorps 0x1787(%rip),%xmm9 # 73c0 <_sk_callback_sse2+0x1342> .byte 68,15,89,5,143,23,0,0 // mulps 0x178f(%rip),%xmm8 # 73d0 <_sk_callback_sse2+0x1352> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_2pt_conical_linear_sse2 .globl _sk_xy_to_2pt_conical_linear_sse2 FUNCTION(_sk_xy_to_2pt_conical_linear_sse2) _sk_xy_to_2pt_conical_linear_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,40 // movss 0x28(%rax),%xmm8 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 243,69,15,89,200 // mulss %xmm8,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,89,13,103,23,0,0 // mulps 0x1767(%rip),%xmm9 # 73e0 <_sk_callback_sse2+0x1362> .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 68,15,40,209 // movaps %xmm1,%xmm10 .byte 69,15,89,210 // mulps %xmm10,%xmm10 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 243,69,15,89,192 // mulss %xmm8,%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 15,87,5,83,23,0,0 // xorps 0x1753(%rip),%xmm0 # 73f0 <_sk_callback_sse2+0x1372> .byte 65,15,94,193 // divps %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_mask_2pt_conical_degenerates_sse2 .globl _sk_mask_2pt_conical_degenerates_sse2 FUNCTION(_sk_mask_2pt_conical_degenerates_sse2) _sk_mask_2pt_conical_degenerates_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,40 // movss 0x28(%rax),%xmm8 .byte 243,68,15,16,72,44 // movss 0x2c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 69,15,194,208,7 // cmpordps %xmm8,%xmm10 .byte 69,15,194,193,2 // cmpleps %xmm9,%xmm8 .byte 69,15,84,194 // andps %xmm10,%xmm8 .byte 68,15,17,0 // movups %xmm8,(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_apply_vector_mask_sse2 .globl _sk_apply_vector_mask_sse2 FUNCTION(_sk_apply_vector_mask_sse2) _sk_apply_vector_mask_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,16,0 // movups (%rax),%xmm8 .byte 65,15,84,192 // andps %xmm8,%xmm0 .byte 65,15,84,200 // andps %xmm8,%xmm1 .byte 65,15,84,208 // andps %xmm8,%xmm2 .byte 65,15,84,216 // andps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_save_xy_sse2 .globl _sk_save_xy_sse2 FUNCTION(_sk_save_xy_sse2) _sk_save_xy_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,249,22,0,0 // movaps 0x16f9(%rip),%xmm8 # 7400 <_sk_callback_sse2+0x1382> .byte 15,17,0 // movups %xmm0,(%rax) .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 243,69,15,91,209 // cvttps2dq %xmm9,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 69,15,40,217 // movaps %xmm9,%xmm11 .byte 69,15,194,218,1 // cmpltps %xmm10,%xmm11 .byte 68,15,40,37,228,22,0,0 // movaps 0x16e4(%rip),%xmm12 # 7410 <_sk_callback_sse2+0x1392> .byte 69,15,84,220 // andps %xmm12,%xmm11 .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 69,15,92,202 // subps %xmm10,%xmm9 .byte 68,15,88,193 // addps %xmm1,%xmm8 .byte 243,69,15,91,208 // cvttps2dq %xmm8,%xmm10 .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 69,15,194,218,1 // cmpltps %xmm10,%xmm11 .byte 69,15,84,220 // andps %xmm12,%xmm11 .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 69,15,92,194 // subps %xmm10,%xmm8 .byte 15,17,72,32 // movups %xmm1,0x20(%rax) .byte 68,15,17,72,64 // movups %xmm9,0x40(%rax) .byte 68,15,17,64,96 // movups %xmm8,0x60(%rax) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_accumulate_sse2 .globl _sk_accumulate_sse2 FUNCTION(_sk_accumulate_sse2) _sk_accumulate_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,16,128,128,0,0,0 // movups 0x80(%rax),%xmm8 .byte 68,15,16,136,160,0,0,0 // movups 0xa0(%rax),%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 65,15,88,224 // addps %xmm8,%xmm4 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 65,15,88,232 // addps %xmm8,%xmm5 .byte 69,15,40,193 // movaps %xmm9,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 65,15,88,240 // addps %xmm8,%xmm6 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 65,15,88,249 // addps %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_nx_sse2 .globl _sk_bilinear_nx_sse2 FUNCTION(_sk_bilinear_nx_sse2) _sk_bilinear_nx_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,93,22,0,0 // addps 0x165d(%rip),%xmm0 # 7420 <_sk_callback_sse2+0x13a2> .byte 68,15,40,13,101,22,0,0 // movaps 0x1665(%rip),%xmm9 # 7430 <_sk_callback_sse2+0x13b2> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_px_sse2 .globl _sk_bilinear_px_sse2 FUNCTION(_sk_bilinear_px_sse2) _sk_bilinear_px_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,84,22,0,0 // addps 0x1654(%rip),%xmm0 # 7440 <_sk_callback_sse2+0x13c2> .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 HIDDEN _sk_bilinear_ny_sse2 .globl _sk_bilinear_ny_sse2 FUNCTION(_sk_bilinear_ny_sse2) _sk_bilinear_ny_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,70,22,0,0 // addps 0x1646(%rip),%xmm1 # 7450 <_sk_callback_sse2+0x13d2> .byte 68,15,40,13,78,22,0,0 // movaps 0x164e(%rip),%xmm9 # 7460 <_sk_callback_sse2+0x13e2> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bilinear_py_sse2 .globl _sk_bilinear_py_sse2 FUNCTION(_sk_bilinear_py_sse2) _sk_bilinear_py_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,60,22,0,0 // addps 0x163c(%rip),%xmm1 # 7470 <_sk_callback_sse2+0x13f2> .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 HIDDEN _sk_bicubic_n3x_sse2 .globl _sk_bicubic_n3x_sse2 FUNCTION(_sk_bicubic_n3x_sse2) _sk_bicubic_n3x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,47,22,0,0 // addps 0x162f(%rip),%xmm0 # 7480 <_sk_callback_sse2+0x1402> .byte 68,15,40,13,55,22,0,0 // movaps 0x1637(%rip),%xmm9 # 7490 <_sk_callback_sse2+0x1412> .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,51,22,0,0 // mulps 0x1633(%rip),%xmm9 # 74a0 <_sk_callback_sse2+0x1422> .byte 68,15,88,13,59,22,0,0 // addps 0x163b(%rip),%xmm9 # 74b0 <_sk_callback_sse2+0x1432> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1x_sse2 .globl _sk_bicubic_n1x_sse2 FUNCTION(_sk_bicubic_n1x_sse2) _sk_bicubic_n1x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,42,22,0,0 // addps 0x162a(%rip),%xmm0 # 74c0 <_sk_callback_sse2+0x1442> .byte 68,15,40,13,50,22,0,0 // movaps 0x1632(%rip),%xmm9 # 74d0 <_sk_callback_sse2+0x1452> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,54,22,0,0 // movaps 0x1636(%rip),%xmm8 # 74e0 <_sk_callback_sse2+0x1462> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,58,22,0,0 // addps 0x163a(%rip),%xmm8 # 74f0 <_sk_callback_sse2+0x1472> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,62,22,0,0 // addps 0x163e(%rip),%xmm8 # 7500 <_sk_callback_sse2+0x1482> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,66,22,0,0 // addps 0x1642(%rip),%xmm8 # 7510 <_sk_callback_sse2+0x1492> .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 HIDDEN _sk_bicubic_p1x_sse2 .globl _sk_bicubic_p1x_sse2 FUNCTION(_sk_bicubic_p1x_sse2) _sk_bicubic_p1x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,60,22,0,0 // movaps 0x163c(%rip),%xmm8 # 7520 <_sk_callback_sse2+0x14a2> .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,56,22,0,0 // movaps 0x1638(%rip),%xmm10 # 7530 <_sk_callback_sse2+0x14b2> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,60,22,0,0 // addps 0x163c(%rip),%xmm10 # 7540 <_sk_callback_sse2+0x14c2> .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,56,22,0,0 // addps 0x1638(%rip),%xmm10 # 7550 <_sk_callback_sse2+0x14d2> .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 HIDDEN _sk_bicubic_p3x_sse2 .globl _sk_bicubic_p3x_sse2 FUNCTION(_sk_bicubic_p3x_sse2) _sk_bicubic_p3x_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,64,64 // movups 0x40(%rax),%xmm8 .byte 15,88,5,43,22,0,0 // addps 0x162b(%rip),%xmm0 # 7560 <_sk_callback_sse2+0x14e2> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,43,22,0,0 // mulps 0x162b(%rip),%xmm8 # 7570 <_sk_callback_sse2+0x14f2> .byte 68,15,88,5,51,22,0,0 // addps 0x1633(%rip),%xmm8 # 7580 <_sk_callback_sse2+0x1502> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n3y_sse2 .globl _sk_bicubic_n3y_sse2 FUNCTION(_sk_bicubic_n3y_sse2) _sk_bicubic_n3y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,33,22,0,0 // addps 0x1621(%rip),%xmm1 # 7590 <_sk_callback_sse2+0x1512> .byte 68,15,40,13,41,22,0,0 // movaps 0x1629(%rip),%xmm9 # 75a0 <_sk_callback_sse2+0x1522> .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,37,22,0,0 // mulps 0x1625(%rip),%xmm9 # 75b0 <_sk_callback_sse2+0x1532> .byte 68,15,88,13,45,22,0,0 // addps 0x162d(%rip),%xmm9 # 75c0 <_sk_callback_sse2+0x1542> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_bicubic_n1y_sse2 .globl _sk_bicubic_n1y_sse2 FUNCTION(_sk_bicubic_n1y_sse2) _sk_bicubic_n1y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,27,22,0,0 // addps 0x161b(%rip),%xmm1 # 75d0 <_sk_callback_sse2+0x1552> .byte 68,15,40,13,35,22,0,0 // movaps 0x1623(%rip),%xmm9 # 75e0 <_sk_callback_sse2+0x1562> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,39,22,0,0 // movaps 0x1627(%rip),%xmm8 # 75f0 <_sk_callback_sse2+0x1572> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,43,22,0,0 // addps 0x162b(%rip),%xmm8 # 7600 <_sk_callback_sse2+0x1582> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,47,22,0,0 // addps 0x162f(%rip),%xmm8 # 7610 <_sk_callback_sse2+0x1592> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,51,22,0,0 // addps 0x1633(%rip),%xmm8 # 7620 <_sk_callback_sse2+0x15a2> .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 HIDDEN _sk_bicubic_p1y_sse2 .globl _sk_bicubic_p1y_sse2 FUNCTION(_sk_bicubic_p1y_sse2) _sk_bicubic_p1y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,45,22,0,0 // movaps 0x162d(%rip),%xmm8 # 7630 <_sk_callback_sse2+0x15b2> .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,40,22,0,0 // movaps 0x1628(%rip),%xmm10 # 7640 <_sk_callback_sse2+0x15c2> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,44,22,0,0 // addps 0x162c(%rip),%xmm10 # 7650 <_sk_callback_sse2+0x15d2> .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,40,22,0,0 // addps 0x1628(%rip),%xmm10 # 7660 <_sk_callback_sse2+0x15e2> .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 HIDDEN _sk_bicubic_p3y_sse2 .globl _sk_bicubic_p3y_sse2 FUNCTION(_sk_bicubic_p3y_sse2) _sk_bicubic_p3y_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,72,32 // movups 0x20(%rax),%xmm1 .byte 68,15,16,64,96 // movups 0x60(%rax),%xmm8 .byte 15,88,13,26,22,0,0 // addps 0x161a(%rip),%xmm1 # 7670 <_sk_callback_sse2+0x15f2> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,26,22,0,0 // mulps 0x161a(%rip),%xmm8 # 7680 <_sk_callback_sse2+0x1602> .byte 68,15,88,5,34,22,0,0 // addps 0x1622(%rip),%xmm8 # 7690 <_sk_callback_sse2+0x1612> .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 .byte 255,224 // jmpq *%rax HIDDEN _sk_callback_sse2 .globl _sk_callback_sse2 FUNCTION(_sk_callback_sse2) _sk_callback_sse2: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,72 // sub $0x48,%rsp .byte 15,41,125,144 // movaps %xmm7,-0x70(%rbp) .byte 15,41,117,160 // movaps %xmm6,-0x60(%rbp) .byte 15,41,109,176 // movaps %xmm5,-0x50(%rbp) .byte 15,41,101,192 // movaps %xmm4,-0x40(%rbp) .byte 76,137,195 // mov %r8,%rbx .byte 72,137,77,208 // mov %rcx,-0x30(%rbp) .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,252 // mov %rdi,%r12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,198 // mov %rax,%r14 .byte 73,137,245 // mov %rsi,%r13 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,65,15,17,78,8 // movupd %xmm1,0x8(%r14) .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 65,15,17,110,24 // movups %xmm5,0x18(%r14) .byte 102,65,15,17,94,40 // movupd %xmm3,0x28(%r14) .byte 65,15,17,86,56 // movups %xmm2,0x38(%r14) .byte 72,133,219 // test %rbx,%rbx .byte 190,4,0,0,0 // mov $0x4,%esi .byte 15,69,243 // cmovne %ebx,%esi .byte 76,137,247 // mov %r14,%rdi .byte 65,255,22 // callq *(%r14) .byte 73,139,134,136,0,0,0 // mov 0x88(%r14),%rax .byte 15,16,32 // movups (%rax),%xmm4 .byte 15,16,64,16 // movups 0x10(%rax),%xmm0 .byte 15,16,88,32 // movups 0x20(%rax),%xmm3 .byte 15,16,80,48 // movups 0x30(%rax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 76,137,238 // mov %r13,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,231 // mov %r12,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 72,139,77,208 // mov -0x30(%rbp),%rcx .byte 73,137,216 // mov %rbx,%r8 .byte 15,40,101,192 // movaps -0x40(%rbp),%xmm4 .byte 15,40,109,176 // movaps -0x50(%rbp),%xmm5 .byte 15,40,117,160 // movaps -0x60(%rbp),%xmm6 .byte 15,40,125,144 // movaps -0x70(%rbp),%xmm7 .byte 72,131,196,72 // add $0x48,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax BALIGN16 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,1 // cmpb $0x1,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%rax) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%rax) .byte 191,0,0,128,191 // mov $0xbf800000,%edi .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,224,64,0 // cmpb $0x0,0x40e00000(%rdi) .byte 0,224 // add %ah,%al .byte 64,0,0 // add %al,(%rax) .byte 224,64 // loopne 636c <.literal16+0x1fc> .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 6370 <.literal16+0x200> .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6391 <.literal16+0x221> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6395 <.literal16+0x225> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6399 <.literal16+0x229> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 639d <.literal16+0x22d> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 63d1 <.literal16+0x261> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 63d5 <.literal16+0x265> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 63d9 <.literal16+0x269> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 63dd <.literal16+0x26d> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6411 <.literal16+0x2a1> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6415 <.literal16+0x2a5> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6419 <.literal16+0x2a9> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 641d <.literal16+0x2ad> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,154 // cmpb $0x9a,(%rdi) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%rdi),%dl .byte 63 // (bad) .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6451 <.literal16+0x2e1> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6455 <.literal16+0x2e5> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 6459 <.literal16+0x2e9> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 645d <.literal16+0x2ed> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,255 // cmpb $0xff,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,127 // add %al,0x7f00003f(%rax) .byte 67,0,0 // rex.XB add %al,(%r8) .byte 127,67 // jg 649b <.literal16+0x32b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 649f <.literal16+0x32f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 64a3 <.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) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,145 // cmpb $0x91,(%rdi) .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,92 // ds pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%rsi) .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,154 // ds (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,92 // ds pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 82 // push %rdx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,82 // push %r10 .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,57,215 // cmp %edx,%r15d .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 186,159,98,60,186 // mov $0xba3c629f,%edx .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,109 // cmp $0x6d,%al .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 168,177 // test $0xb1,%al .byte 152 // cwtl .byte 59,168,177,152,59,168 // cmp -0x57c4674f(%rax),%ebp .byte 177,152 // mov $0x98,%cl .byte 59,168,177,152,59,0 // cmp 0x3b98b1(%rax),%ebp .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,192 // add %al,-0x3fffffc1(%rax) .byte 64,0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,0,0 // add %al,%ds:(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,171 // cmpb $0xab,(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 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,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 .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 66e9 <.literal16+0x579> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 66ed <.literal16+0x57d> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 66f1 <.literal16+0x581> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 66f5 <.literal16+0x585> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 255,0 // incl (%rax) .byte 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,255,0,255,0 // addb $0x0,-0xff00c5(%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 67cb <.literal16+0x65b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 67cf <.literal16+0x65f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 67d3 <.literal16+0x663> .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 67c4 <.literal16+0x654> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 67c8 <.literal16+0x658> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 67cc <.literal16+0x65c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 67d0 <.literal16+0x660> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6855 <.literal16+0x6e5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 67b9 <.literal16+0x649> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a7fa <_sk_callback_sse2+0xffffffffe9a3477c> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,81 // cmpb $0x51,(%rdi) .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,52,0 // add %dh,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 6894 <.literal16+0x724> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6898 <.literal16+0x728> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 689c <.literal16+0x72c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 68a0 <.literal16+0x730> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6925 <.literal16+0x7b5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 6889 <.literal16+0x719> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a8ca <_sk_callback_sse2+0xffffffffe9a3484c> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,81 // cmpb $0x51,(%rdi) .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,52,0 // add %dh,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 6964 <.literal16+0x7f4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6968 <.literal16+0x7f8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 696c <.literal16+0x7fc> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6970 <.literal16+0x800> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 69f5 <.literal16+0x885> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 6959 <.literal16+0x7e9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3a99a <_sk_callback_sse2+0xffffffffe9a3491c> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,81 // cmpb $0x51,(%rdi) .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,52,0 // add %dh,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 6a34 <.literal16+0x8c4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6a38 <.literal16+0x8c8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6a3c <.literal16+0x8cc> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 6a40 <.literal16+0x8d0> .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 119,115 // ja 6ac5 <.literal16+0x955> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 6a29 <.literal16+0x8b9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a3aa6a <_sk_callback_sse2+0xffffffffe9a349ec> .byte 220,63 // fdivrl (%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,81 // cmpb $0x51,(%rdi) .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 127,67 // jg 6b47 <.literal16+0x9d7> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6b4b <.literal16+0x9db> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6b4f <.literal16+0x9df> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6b53 <.literal16+0x9e3> .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,203,61,13 // or $0xd3dcb3c,%eax .byte 60,203 // cmp $0xcb,%al .byte 61,13,60,203,61 // cmp $0x3dcb3c0d,%eax .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 111 // outsl %ds:(%rsi),(%dx) .byte 18,3 // adc (%rbx),%al .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 163,59,10,215,163,59,10,215,163 // movabs %eax,0xa3d70a3ba3d70a3b .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,194,24,17 // movabs %eax,0x1118c23c1118c23b .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,203 // cmp $0xcb,%al .byte 61,13,190,203,61 // cmp $0x3dcbbe0d,%eax .byte 13,190,203,61,13 // or $0xd3dcbbe,%eax .byte 190,203,61,13,190 // mov $0xbe0d3dcb,%esi .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6bd3 <.literal16+0xa63> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6bd7 <.literal16+0xa67> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6bdb <.literal16+0xa6b> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 6bdf <.literal16+0xa6f> .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,255,0,0,0 // addb $0x0,0xff3b(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,0 // cmpb $0x0,(%rbx) .byte 0,127,67 // add %bh,0x43(%rdi) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c4b <.literal16+0xadb> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c4f <.literal16+0xadf> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 6c53 <.literal16+0xae3> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%rax) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,248,0,0 // addb $0x0,0xf8003b(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 6ce9 <.literal16+0xb79> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6ced <.literal16+0xb7d> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6cf1 <.literal16+0xb81> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6cf5 <.literal16+0xb85> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 6d59 <.literal16+0xbe9> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6d5d <.literal16+0xbed> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6d61 <.literal16+0xbf1> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6d65 <.literal16+0xbf5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 248 // clc .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 6dc9 <.literal16+0xc59> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6dcd <.literal16+0xc5d> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6dd1 <.literal16+0xc61> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 6dd5 <.literal16+0xc65> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,248 // add %bh,%al .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 6e66 <.literal16+0xcf6> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 6e6a <.literal16+0xcfa> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 6e6e <.literal16+0xcfe> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 6e72 <.literal16+0xd02> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6ff5 <.literal16+0xe85> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6ff9 <.literal16+0xe89> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 6ffd <.literal16+0xe8d> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 7001 <.literal16+0xe91> .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,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,255,0,0,0 // addb $0x0,0xff3b(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,127,67 // addb $0x43,0x7f00003b(%rax) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 706b <.literal16+0xefb> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 706f <.literal16+0xeff> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 7073 <.literal16+0xf03> .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,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,255,0,0,0 // addb $0x0,0xff3b(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,0,127,67 // addb $0x43,0x7f00003b(%rax) .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 70db <.literal16+0xf6b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 70df <.literal16+0xf6f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 70e3 <.literal16+0xf73> .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,4 // addb $0x4,(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,128 // addb $0x80,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,4 // addb $0x4,(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,128 // addb $0x80,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,56 // add %bh,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,4 // addb $0x4,(%rax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 128,56,0 // cmpb $0x0,(%rax) .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,128,56,0,64,254 // add %al,-0x1bfffc8(%rax) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,128,0,128,55,128 // incl -0x7fc88000(%rax) .byte 0,128,55,128,0,128 // add %al,-0x7fff7fc9(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 255 // (bad) .byte 127,71 // jg 720b <.literal16+0x109b> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 720f <.literal16+0x109f> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 7213 <.literal16+0x10a3> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 7217 <.literal16+0x10a7> .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,191,0,0,128,191,0 // cmpb $0x0,-0x40800000(%rdi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%rax) .byte 191,0,0,0,63 // mov $0x3f000000,%edi .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,208 // cmpb $0xd0,(%rdi) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 89 // pop %rcx .byte 23 // (bad) .byte 55 // (bad) .byte 63 // (bad) .byte 152 // cwtl .byte 221,147,61,152,221,147 // fstl -0x6c2267c3(%rbx) .byte 61,152,221,147,61 // cmp $0x3d93dd98,%eax .byte 152 // cwtl .byte 221,147,61,45,16,17 // fstl 0x11102d3d(%rbx) .byte 192,45,16,17,192,45,16 // shrb $0x10,0x2dc01110(%rip) # 2dc083aa <_sk_callback_sse2+0x2dc0232c> .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax .byte 120,57 // js 72dc <.literal16+0x116c> .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,18,120,57 // adc 0x39(%rax),%dil .byte 64,32,148,90,62,32,148,90 // and %dl,0x5a94203e(%rdx,%rbx,2) .byte 62,32,148,90,62,32,148,90 // and %dl,%ds:0x5a94203e(%rdx,%rbx,2) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // (bad) .byte 62,0,24 // add %bl,%ds:(%rax) .byte 161,57,0,24,161,57,0,24,161 // movabs 0xa1180039a1180039,%eax .byte 57,0 // cmp %eax,(%rax) .byte 24,161,57,1,0,0 // sbb %ah,0x139(%rcx) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,111,43 // add %ch,0x2b(%rdi) .byte 231,187 // out %eax,$0xbb .byte 111 // outsl %ds:(%rsi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,111,43,231,187 // mov $0xbbe72b6f,%ebx .byte 111 // outsl %ds:(%rsi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,159,215,202,60 // mov $0x3ccad79f,%ebx .byte 159 // lahf .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,212 // lret $0xd43c .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 212 // (bad) .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 0,0 // add %al,(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,128,62,0,0,128 // add %al,-0x7fffffc2(%rax) .byte 62,0,0 // add %al,%ds:(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%rax) .byte 192,0,0 // rolb $0x0,(%rax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 191,0,0,0,191 // mov $0xbf000000,%edi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%rdi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,114 // cmpb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt 74c2 <.literal16+0x1352> .byte 199 // (bad) .byte 62,114,28 // jb,pt 74c6 <.literal16+0x1356> .byte 199 // (bad) .byte 62,114,28 // jb,pt 74ca <.literal16+0x135a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 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 # 3d640355 <_sk_callback_sse2+0x3d63a2d7> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%rsi) .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d640395 <_sk_callback_sse2+0x3d63a317> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 114,28 // jb 758e <.literal16+0x141e> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7592 <.literal16+0x1422> .byte 199 // (bad) .byte 62,114,28 // jb,pt 7596 <.literal16+0x1426> .byte 199 // (bad) .byte 62,114,28 // jb,pt 759a <.literal16+0x142a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%rdi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,114 // cmpb $0x72,(%rdi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt 75d2 <.literal16+0x1462> .byte 199 // (bad) .byte 62,114,28 // jb,pt 75d6 <.literal16+0x1466> .byte 199 // (bad) .byte 62,114,28 // jb,pt 75da <.literal16+0x146a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,0 // cmpb $0x0,(%rdi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 128,63,85 // cmpb $0x55,(%rdi) .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 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 # 3d640465 <_sk_callback_sse2+0x3d63a3e7> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%rsi) .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d6404a5 <_sk_callback_sse2+0x3d63a427> .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%rsi) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 114,28 // jb 769e <.literal16+0x152e> .byte 199 // (bad) .byte 62,114,28 // jb,pt 76a2 <_sk_callback_sse2+0x1624> .byte 199 // (bad) .byte 62,114,28 // jb,pt 76a6 <_sk_callback_sse2+0x1628> .byte 199 // (bad) .byte 62,114,28 // jb,pt 76aa <_sk_callback_sse2+0x162c> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi BALIGN4 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) BALIGN32 HIDDEN _sk_start_pipeline_hsw_lowp .globl _sk_start_pipeline_hsw_lowp FUNCTION(_sk_start_pipeline_hsw_lowp) _sk_start_pipeline_hsw_lowp: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 73,137,254 // mov %rdi,%r14 .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,141,78,16 // lea 0x10(%r14),%rcx .byte 76,57,249 // cmp %r15,%rcx .byte 118,5 // jbe 30 <_sk_start_pipeline_hsw_lowp+0x30> .byte 76,137,242 // mov %r14,%rdx .byte 235,45 // jmp 5d <_sk_start_pipeline_hsw_lowp+0x5d> .byte 76,137,125,208 // mov %r15,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 73,137,247 // mov %rsi,%r15 .byte 76,137,242 // mov %r14,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,137,254 // mov %r15,%rsi .byte 76,139,125,208 // mov -0x30(%rbp),%r15 .byte 73,141,86,16 // lea 0x10(%r14),%rdx .byte 73,131,198,32 // add $0x20,%r14 .byte 77,57,254 // cmp %r15,%r14 .byte 73,137,214 // mov %rdx,%r14 .byte 118,215 // jbe 34 <_sk_start_pipeline_hsw_lowp+0x34> .byte 77,137,248 // mov %r15,%r8 .byte 73,41,208 // sub %rdx,%r8 .byte 116,9 // je 6e <_sk_start_pipeline_hsw_lowp+0x6e> .byte 76,137,231 // mov %r12,%rdi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,137,248 // mov %r15,%rax .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_hsw_lowp .globl _sk_just_return_hsw_lowp FUNCTION(_sk_just_return_hsw_lowp) _sk_just_return_hsw_lowp: .byte 195 // retq HIDDEN _sk_uniform_color_hsw_lowp .globl _sk_uniform_color_hsw_lowp FUNCTION(_sk_uniform_color_hsw_lowp) _sk_uniform_color_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,121,24,5,29,33,0,0 // vbroadcastss 0x211d(%rip),%xmm0 # 21ac <_sk_xor__hsw_lowp+0x78> .byte 197,248,88,24 // vaddps (%rax),%xmm0,%xmm3 .byte 196,226,125,121,195 // vpbroadcastw %xmm3,%ymm0 .byte 197,251,112,203,234 // vpshuflw $0xea,%xmm3,%xmm1 .byte 196,226,125,88,201 // vpbroadcastd %xmm1,%ymm1 .byte 196,227,121,4,211,230 // vpermilps $0xe6,%xmm3,%xmm2 .byte 197,251,112,210,224 // vpshuflw $0xe0,%xmm2,%xmm2 .byte 196,226,125,88,210 // vpbroadcastd %xmm2,%ymm2 .byte 196,227,121,4,219,236 // vpermilps $0xec,%xmm3,%xmm3 .byte 197,251,112,219,234 // vpshuflw $0xea,%xmm3,%xmm3 .byte 196,226,125,88,219 // vpbroadcastd %xmm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_hsw_lowp .globl _sk_black_color_hsw_lowp FUNCTION(_sk_black_color_hsw_lowp) _sk_black_color_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,29,239,32,0,0 // vpbroadcastw 0x20ef(%rip),%ymm3 # 21c0 <_sk_xor__hsw_lowp+0x8c> .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_hsw_lowp .globl _sk_white_color_hsw_lowp FUNCTION(_sk_white_color_hsw_lowp) _sk_white_color_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,5,216,32,0,0 // vpbroadcastw 0x20d8(%rip),%ymm0 # 21c2 <_sk_xor__hsw_lowp+0x8e> .byte 197,253,111,200 // vmovdqa %ymm0,%ymm1 .byte 197,253,111,208 // vmovdqa %ymm0,%ymm2 .byte 197,253,111,216 // vmovdqa %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_hsw_lowp .globl _sk_set_rgb_hsw_lowp FUNCTION(_sk_set_rgb_hsw_lowp) _sk_set_rgb_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,250,16,21,174,32,0,0 // vmovss 0x20ae(%rip),%xmm2 # 21b0 <_sk_xor__hsw_lowp+0x7c> .byte 197,234,88,0 // vaddss (%rax),%xmm2,%xmm0 .byte 196,193,121,126,193 // vmovd %xmm0,%r9d .byte 196,193,121,110,193 // vmovd %r9d,%xmm0 .byte 196,226,125,121,192 // vpbroadcastw %xmm0,%ymm0 .byte 197,234,88,72,4 // vaddss 0x4(%rax),%xmm2,%xmm1 .byte 196,193,121,126,201 // vmovd %xmm1,%r9d .byte 196,193,121,110,201 // vmovd %r9d,%xmm1 .byte 196,226,125,121,201 // vpbroadcastw %xmm1,%ymm1 .byte 197,234,88,80,8 // vaddss 0x8(%rax),%xmm2,%xmm2 .byte 197,249,126,208 // vmovd %xmm2,%eax .byte 197,249,110,208 // vmovd %eax,%xmm2 .byte 196,226,125,121,210 // vpbroadcastw %xmm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_hsw_lowp .globl _sk_premul_hsw_lowp FUNCTION(_sk_premul_hsw_lowp) _sk_premul_hsw_lowp: .byte 196,226,125,11,195 // vpmulhrsw %ymm3,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,226,117,11,203 // vpmulhrsw %ymm3,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,226,109,11,211 // vpmulhrsw %ymm3,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_8888_hsw_lowp .globl _sk_load_8888_hsw_lowp FUNCTION(_sk_load_8888_hsw_lowp) _sk_load_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,210,0,0,0 // jne 241 <_sk_load_8888_hsw_lowp+0xe0> .byte 196,193,126,111,92,147,32 // vmovdqu 0x20(%r11,%rdx,4),%ymm3 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 197,253,111,5,92,32,0,0 // vmovdqa 0x205c(%rip),%ymm0 # 21e0 <_sk_xor__hsw_lowp+0xac> .byte 196,226,61,0,200 // vpshufb %ymm0,%ymm8,%ymm1 .byte 196,227,253,0,201,232 // vpermq $0xe8,%ymm1,%ymm1 .byte 196,226,101,0,192 // vpshufb %ymm0,%ymm3,%ymm0 .byte 196,227,253,0,192,232 // vpermq $0xe8,%ymm0,%ymm0 .byte 196,227,117,56,192,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,98,125,121,13,82,32,0,0 // vpbroadcastw 0x2052(%rip),%ymm9 # 2200 <_sk_xor__hsw_lowp+0xcc> .byte 196,193,125,228,193 // vpmulhuw %ymm9,%ymm0,%ymm0 .byte 197,253,111,13,101,32,0,0 // vmovdqa 0x2065(%rip),%ymm1 # 2220 <_sk_xor__hsw_lowp+0xec> .byte 196,226,61,0,209 // vpshufb %ymm1,%ymm8,%ymm2 .byte 196,227,253,0,210,232 // vpermq $0xe8,%ymm2,%ymm2 .byte 196,226,101,0,201 // vpshufb %ymm1,%ymm3,%ymm1 .byte 196,227,253,0,201,232 // vpermq $0xe8,%ymm1,%ymm1 .byte 196,227,109,56,201,1 // vinserti128 $0x1,%xmm1,%ymm2,%ymm1 .byte 197,245,113,241,8 // vpsllw $0x8,%ymm1,%ymm1 .byte 196,193,117,228,201 // vpmulhuw %ymm9,%ymm1,%ymm1 .byte 197,253,111,21,87,32,0,0 // vmovdqa 0x2057(%rip),%ymm2 # 2240 <_sk_xor__hsw_lowp+0x10c> .byte 196,98,61,0,210 // vpshufb %ymm2,%ymm8,%ymm10 .byte 196,67,253,0,210,232 // vpermq $0xe8,%ymm10,%ymm10 .byte 196,226,101,0,210 // vpshufb %ymm2,%ymm3,%ymm2 .byte 196,227,253,0,210,232 // vpermq $0xe8,%ymm2,%ymm2 .byte 196,227,45,56,210,1 // vinserti128 $0x1,%xmm2,%ymm10,%ymm2 .byte 197,237,113,242,8 // vpsllw $0x8,%ymm2,%ymm2 .byte 196,193,109,228,209 // vpmulhuw %ymm9,%ymm2,%ymm2 .byte 197,125,111,21,73,32,0,0 // vmovdqa 0x2049(%rip),%ymm10 # 2260 <_sk_xor__hsw_lowp+0x12c> .byte 196,66,61,0,194 // vpshufb %ymm10,%ymm8,%ymm8 .byte 196,67,253,0,192,232 // vpermq $0xe8,%ymm8,%ymm8 .byte 196,194,101,0,218 // vpshufb %ymm10,%ymm3,%ymm3 .byte 196,227,253,0,219,232 // vpermq $0xe8,%ymm3,%ymm3 .byte 196,227,61,56,219,1 // vinserti128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,229,113,243,8 // vpsllw $0x8,%ymm3,%ymm3 .byte 196,193,101,228,217 // vpmulhuw %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,30,255,255,255 // ja 17c <_sk_load_8888_hsw_lowp+0x1b> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,27,1,0,0 // lea 0x11b(%rip),%r10 # 384 <_sk_load_8888_hsw_lowp+0x223> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,110,4,147 // vmovd (%r11,%rdx,4),%xmm8 .byte 233,255,254,255,255 // jmpq 17c <_sk_load_8888_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,8 // vmovd 0x8(%r11,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,99,101,2,192,4 // vpblendd $0x4,%ymm0,%ymm3,%ymm8 .byte 196,194,121,53,4,147 // vpmovzxdq (%r11,%rdx,4),%xmm0 .byte 197,249,112,192,232 // vpshufd $0xe8,%xmm0,%xmm0 .byte 196,99,61,2,192,3 // vpblendd $0x3,%ymm0,%ymm8,%ymm8 .byte 233,211,254,255,255 // jmpq 17c <_sk_load_8888_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,24 // vmovd 0x18(%r11,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,99,101,2,192,64 // vpblendd $0x40,%ymm0,%ymm3,%ymm8 .byte 196,99,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm0 .byte 196,195,121,34,68,147,20,1 // vpinsrd $0x1,0x14(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,99,61,56,192,1 // vinserti128 $0x1,%xmm0,%ymm8,%ymm8 .byte 196,99,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm0 .byte 196,195,121,34,68,147,16,0 // vpinsrd $0x0,0x10(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,99,61,56,192,1 // vinserti128 $0x1,%xmm0,%ymm8,%ymm8 .byte 196,193,122,111,4,147 // vmovdqu (%r11,%rdx,4),%xmm0 .byte 196,67,125,2,192,240 // vpblendd $0xf0,%ymm8,%ymm0,%ymm8 .byte 233,132,254,255,255 // jmpq 17c <_sk_load_8888_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,40 // vmovd 0x28(%r11,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,4 // vpblendd $0x4,%ymm0,%ymm1,%ymm3 .byte 196,195,97,34,68,147,36,1 // vpinsrd $0x1,0x24(%r11,%rdx,4),%xmm3,%xmm0 .byte 196,227,101,2,216,15 // vpblendd $0xf,%ymm0,%ymm3,%ymm3 .byte 196,193,121,110,68,147,32 // vmovd 0x20(%r11,%rdx,4),%xmm0 .byte 196,227,101,2,216,1 // vpblendd $0x1,%ymm0,%ymm3,%ymm3 .byte 233,72,254,255,255 // jmpq 176 <_sk_load_8888_hsw_lowp+0x15> .byte 196,193,121,110,68,147,56 // vmovd 0x38(%r11,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,147,52,1 // vpinsrd $0x1,0x34(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,147,48,0 // vpinsrd $0x0,0x30(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 196,193,122,111,68,147,32 // vmovdqu 0x20(%r11,%rdx,4),%xmm0 .byte 196,227,125,2,219,240 // vpblendd $0xf0,%ymm3,%ymm0,%ymm3 .byte 233,248,253,255,255 // jmpq 17c <_sk_load_8888_hsw_lowp+0x1b> .byte 238 // out %al,(%dx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 249 // stc .byte 254 // (bad) .byte 255 // (bad) .byte 255,99,255 // jmpq *-0x1(%rbx) .byte 255 // (bad) .byte 255,79,255 // decl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 59,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,37,255,255,255,242 // jmpq *-0xd000001(%rip) # fffffffff30003a0 <_sk_xor__hsw_lowp+0xfffffffff2ffe26c> .byte 253 // std .byte 255 // (bad) .byte 255,152,255,255,255,138 // lcall *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,116,255,255 // pushq -0x1(%rdi,%rdi,8) .byte 255 // (bad) .byte 232,255,255,255,212 // callq ffffffffd50003b4 <_sk_xor__hsw_lowp+0xffffffffd4ffe280> .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_hsw_lowp .globl _sk_load_8888_dst_hsw_lowp FUNCTION(_sk_load_8888_dst_hsw_lowp) _sk_load_8888_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,210,0,0,0 // jne 4a0 <_sk_load_8888_dst_hsw_lowp+0xe0> .byte 196,193,126,111,124,147,32 // vmovdqu 0x20(%r11,%rdx,4),%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 197,253,111,37,157,30,0,0 // vmovdqa 0x1e9d(%rip),%ymm4 # 2280 <_sk_xor__hsw_lowp+0x14c> .byte 196,226,61,0,236 // vpshufb %ymm4,%ymm8,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,226,69,0,228 // vpshufb %ymm4,%ymm7,%ymm4 .byte 196,227,253,0,228,232 // vpermq $0xe8,%ymm4,%ymm4 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,98,125,121,13,147,30,0,0 // vpbroadcastw 0x1e93(%rip),%ymm9 # 22a0 <_sk_xor__hsw_lowp+0x16c> .byte 196,193,93,228,225 // vpmulhuw %ymm9,%ymm4,%ymm4 .byte 197,253,111,45,166,30,0,0 // vmovdqa 0x1ea6(%rip),%ymm5 # 22c0 <_sk_xor__hsw_lowp+0x18c> .byte 196,226,61,0,245 // vpshufb %ymm5,%ymm8,%ymm6 .byte 196,227,253,0,246,232 // vpermq $0xe8,%ymm6,%ymm6 .byte 196,226,69,0,237 // vpshufb %ymm5,%ymm7,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,227,77,56,237,1 // vinserti128 $0x1,%xmm5,%ymm6,%ymm5 .byte 197,213,113,245,8 // vpsllw $0x8,%ymm5,%ymm5 .byte 196,193,85,228,233 // vpmulhuw %ymm9,%ymm5,%ymm5 .byte 197,253,111,53,152,30,0,0 // vmovdqa 0x1e98(%rip),%ymm6 # 22e0 <_sk_xor__hsw_lowp+0x1ac> .byte 196,98,61,0,214 // vpshufb %ymm6,%ymm8,%ymm10 .byte 196,67,253,0,210,232 // vpermq $0xe8,%ymm10,%ymm10 .byte 196,226,69,0,246 // vpshufb %ymm6,%ymm7,%ymm6 .byte 196,227,253,0,246,232 // vpermq $0xe8,%ymm6,%ymm6 .byte 196,227,45,56,246,1 // vinserti128 $0x1,%xmm6,%ymm10,%ymm6 .byte 197,205,113,246,8 // vpsllw $0x8,%ymm6,%ymm6 .byte 196,193,77,228,241 // vpmulhuw %ymm9,%ymm6,%ymm6 .byte 197,125,111,21,138,30,0,0 // vmovdqa 0x1e8a(%rip),%ymm10 # 2300 <_sk_xor__hsw_lowp+0x1cc> .byte 196,66,61,0,194 // vpshufb %ymm10,%ymm8,%ymm8 .byte 196,67,253,0,192,232 // vpermq $0xe8,%ymm8,%ymm8 .byte 196,194,69,0,250 // vpshufb %ymm10,%ymm7,%ymm7 .byte 196,227,253,0,255,232 // vpermq $0xe8,%ymm7,%ymm7 .byte 196,227,61,56,255,1 // vinserti128 $0x1,%xmm7,%ymm8,%ymm7 .byte 197,197,113,247,8 // vpsllw $0x8,%ymm7,%ymm7 .byte 196,193,69,228,249 // vpmulhuw %ymm9,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,30,255,255,255 // ja 3db <_sk_load_8888_dst_hsw_lowp+0x1b> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,28,1,0,0 // lea 0x11c(%rip),%r10 # 5e4 <_sk_load_8888_dst_hsw_lowp+0x224> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,110,4,147 // vmovd (%r11,%rdx,4),%xmm8 .byte 233,255,254,255,255 // jmpq 3db <_sk_load_8888_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,8 // vmovd 0x8(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm8 .byte 196,194,121,53,36,147 // vpmovzxdq (%r11,%rdx,4),%xmm4 .byte 197,249,112,228,232 // vpshufd $0xe8,%xmm4,%xmm4 .byte 196,99,61,2,196,3 // vpblendd $0x3,%ymm4,%ymm8,%ymm8 .byte 233,211,254,255,255 // jmpq 3db <_sk_load_8888_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,24 // vmovd 0x18(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,64 // vpblendd $0x40,%ymm4,%ymm7,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,20,1 // vpinsrd $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,16,0 // vpinsrd $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,193,122,111,36,147 // vmovdqu (%r11,%rdx,4),%xmm4 .byte 196,67,93,2,192,240 // vpblendd $0xf0,%ymm8,%ymm4,%ymm8 .byte 233,132,254,255,255 // jmpq 3db <_sk_load_8888_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,40 // vmovd 0x28(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm7 .byte 196,195,65,34,100,147,36,1 // vpinsrd $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4 .byte 196,227,69,2,252,15 // vpblendd $0xf,%ymm4,%ymm7,%ymm7 .byte 196,193,121,110,100,147,32 // vmovd 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,69,2,252,1 // vpblendd $0x1,%ymm4,%ymm7,%ymm7 .byte 233,72,254,255,255 // jmpq 3d5 <_sk_load_8888_dst_hsw_lowp+0x15> .byte 196,193,121,110,100,147,56 // vmovd 0x38(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,52,1 // vpinsrd $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,48,0 // vpinsrd $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 196,193,122,111,100,147,32 // vmovdqu 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,248,253,255,255 // jmpq 3db <_sk_load_8888_dst_hsw_lowp+0x1b> .byte 144 // nop .byte 237 // in (%dx),%eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 248 // clc .byte 254 // (bad) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,78,255 // decl -0x1(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,241 // push %rcx .byte 253 // std .byte 255 // (bad) .byte 255,151,255,255,255,137 // callq *-0x76000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,169 // mov $0xa9ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_8888_hsw_lowp .globl _sk_store_8888_hsw_lowp FUNCTION(_sk_store_8888_hsw_lowp) _sk_store_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 197,189,113,208,7 // vpsrlw $0x7,%ymm0,%ymm8 .byte 196,98,125,121,13,237,28,0,0 // vpbroadcastw 0x1ced(%rip),%ymm9 # 2320 <_sk_xor__hsw_lowp+0x1ec> .byte 196,65,61,234,193 // vpminsw %ymm9,%ymm8,%ymm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 197,165,113,209,7 // vpsrlw $0x7,%ymm1,%ymm11 .byte 196,65,37,234,217 // vpminsw %ymm9,%ymm11,%ymm11 .byte 196,67,125,57,220,1 // vextracti128 $0x1,%ymm11,%xmm12 .byte 196,66,125,51,228 // vpmovzxwd %xmm12,%ymm12 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,193,37,114,243,8 // vpslld $0x8,%ymm11,%ymm11 .byte 196,193,29,114,244,8 // vpslld $0x8,%ymm12,%ymm12 .byte 196,65,29,235,192 // vpor %ymm8,%ymm12,%ymm8 .byte 196,65,37,235,210 // vpor %ymm10,%ymm11,%ymm10 .byte 197,165,113,210,7 // vpsrlw $0x7,%ymm2,%ymm11 .byte 196,65,37,234,217 // vpminsw %ymm9,%ymm11,%ymm11 .byte 196,66,125,51,227 // vpmovzxwd %xmm11,%ymm12 .byte 196,67,125,57,219,1 // vextracti128 $0x1,%ymm11,%xmm11 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,193,37,114,243,16 // vpslld $0x10,%ymm11,%ymm11 .byte 196,193,29,114,244,16 // vpslld $0x10,%ymm12,%ymm12 .byte 197,149,113,211,7 // vpsrlw $0x7,%ymm3,%ymm13 .byte 196,65,21,234,201 // vpminsw %ymm9,%ymm13,%ymm9 .byte 196,67,125,57,205,1 // vextracti128 $0x1,%ymm9,%xmm13 .byte 196,66,125,51,237 // vpmovzxwd %xmm13,%ymm13 .byte 196,66,125,51,201 // vpmovzxwd %xmm9,%ymm9 .byte 196,193,13,114,241,24 // vpslld $0x18,%ymm9,%ymm14 .byte 196,193,53,114,245,24 // vpslld $0x18,%ymm13,%ymm9 .byte 196,65,37,235,201 // vpor %ymm9,%ymm11,%ymm9 .byte 196,65,61,235,201 // vpor %ymm9,%ymm8,%ymm9 .byte 196,65,29,235,198 // vpor %ymm14,%ymm12,%ymm8 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,17 // jne 6ee <_sk_store_8888_hsw_lowp+0xce> .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,126,127,76,147,32 // vmovdqu %ymm9,0x20(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,236 // ja 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,175,0,0,0 // lea 0xaf(%rip),%r10 # 7b8 <_sk_store_8888_hsw_lowp+0x198> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,4,147 // vmovd %xmm8,(%r11,%rdx,4) .byte 235,208 // jmp 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 196,67,121,22,68,147,8,2 // vpextrd $0x2,%xmm8,0x8(%r11,%rdx,4) .byte 196,65,121,214,4,147 // vmovq %xmm8,(%r11,%rdx,4) .byte 235,192 // jmp 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,24,2 // vpextrd $0x2,%xmm9,0x18(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,20,1 // vpextrd $0x1,%xmm9,0x14(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,76,147,16 // vmovd %xmm9,0x10(%r11,%rdx,4) .byte 196,65,122,127,4,147 // vmovdqu %xmm8,(%r11,%rdx,4) .byte 235,143 // jmp 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 196,67,121,22,76,147,40,2 // vpextrd $0x2,%xmm9,0x28(%r11,%rdx,4) .byte 196,67,121,22,76,147,36,1 // vpextrd $0x1,%xmm9,0x24(%r11,%rdx,4) .byte 196,65,121,126,76,147,32 // vmovd %xmm9,0x20(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 233,109,255,255,255 // jmpq 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,147,56,2 // vpextrd $0x2,%xmm10,0x38(%r11,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,147,52,1 // vpextrd $0x1,%xmm10,0x34(%r11,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,65,121,126,84,147,48 // vmovd %xmm10,0x30(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,122,127,76,147,32 // vmovdqu %xmm9,0x20(%r11,%rdx,4) .byte 233,50,255,255,255 // jmpq 6ea <_sk_store_8888_hsw_lowp+0xca> .byte 90 // pop %rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,106,255 // ljmp *-0x1(%rdx) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,155,255,255,255,142 // lcall *-0x71000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,128,255,255,255,114 // incl 0x72ffffff(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 186,255,255,255,179 // mov $0xb3ffffff,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,163 // ljmp *-0x5c000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,225 // jmpq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_hsw_lowp .globl _sk_load_bgra_hsw_lowp FUNCTION(_sk_load_bgra_hsw_lowp) _sk_load_bgra_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,210,0,0,0 // jne 8d4 <_sk_load_bgra_hsw_lowp+0xe0> .byte 196,193,126,111,92,147,32 // vmovdqu 0x20(%r11,%rdx,4),%ymm3 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 197,253,111,5,41,27,0,0 // vmovdqa 0x1b29(%rip),%ymm0 # 2340 <_sk_xor__hsw_lowp+0x20c> .byte 196,226,61,0,200 // vpshufb %ymm0,%ymm8,%ymm1 .byte 196,227,253,0,201,232 // vpermq $0xe8,%ymm1,%ymm1 .byte 196,226,101,0,192 // vpshufb %ymm0,%ymm3,%ymm0 .byte 196,227,253,0,192,232 // vpermq $0xe8,%ymm0,%ymm0 .byte 196,227,117,56,192,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,98,125,121,13,31,27,0,0 // vpbroadcastw 0x1b1f(%rip),%ymm9 # 2360 <_sk_xor__hsw_lowp+0x22c> .byte 196,193,125,228,209 // vpmulhuw %ymm9,%ymm0,%ymm2 .byte 197,253,111,5,50,27,0,0 // vmovdqa 0x1b32(%rip),%ymm0 # 2380 <_sk_xor__hsw_lowp+0x24c> .byte 196,226,61,0,200 // vpshufb %ymm0,%ymm8,%ymm1 .byte 196,227,253,0,201,232 // vpermq $0xe8,%ymm1,%ymm1 .byte 196,226,101,0,192 // vpshufb %ymm0,%ymm3,%ymm0 .byte 196,227,253,0,192,232 // vpermq $0xe8,%ymm0,%ymm0 .byte 196,227,117,56,192,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,193,125,228,201 // vpmulhuw %ymm9,%ymm0,%ymm1 .byte 197,253,111,5,36,27,0,0 // vmovdqa 0x1b24(%rip),%ymm0 # 23a0 <_sk_xor__hsw_lowp+0x26c> .byte 196,98,61,0,208 // vpshufb %ymm0,%ymm8,%ymm10 .byte 196,67,253,0,210,232 // vpermq $0xe8,%ymm10,%ymm10 .byte 196,226,101,0,192 // vpshufb %ymm0,%ymm3,%ymm0 .byte 196,227,253,0,192,232 // vpermq $0xe8,%ymm0,%ymm0 .byte 196,227,45,56,192,1 // vinserti128 $0x1,%xmm0,%ymm10,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,193,125,228,193 // vpmulhuw %ymm9,%ymm0,%ymm0 .byte 197,125,111,21,22,27,0,0 // vmovdqa 0x1b16(%rip),%ymm10 # 23c0 <_sk_xor__hsw_lowp+0x28c> .byte 196,66,61,0,194 // vpshufb %ymm10,%ymm8,%ymm8 .byte 196,67,253,0,192,232 // vpermq $0xe8,%ymm8,%ymm8 .byte 196,194,101,0,218 // vpshufb %ymm10,%ymm3,%ymm3 .byte 196,227,253,0,219,232 // vpermq $0xe8,%ymm3,%ymm3 .byte 196,227,61,56,219,1 // vinserti128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,229,113,243,8 // vpsllw $0x8,%ymm3,%ymm3 .byte 196,193,101,228,217 // vpmulhuw %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,30,255,255,255 // ja 80f <_sk_load_bgra_hsw_lowp+0x1b> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,28,1,0,0 // lea 0x11c(%rip),%r10 # a18 <_sk_load_bgra_hsw_lowp+0x224> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,110,4,147 // vmovd (%r11,%rdx,4),%xmm8 .byte 233,255,254,255,255 // jmpq 80f <_sk_load_bgra_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,8 // vmovd 0x8(%r11,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,99,101,2,192,4 // vpblendd $0x4,%ymm0,%ymm3,%ymm8 .byte 196,194,121,53,4,147 // vpmovzxdq (%r11,%rdx,4),%xmm0 .byte 197,249,112,192,232 // vpshufd $0xe8,%xmm0,%xmm0 .byte 196,99,61,2,192,3 // vpblendd $0x3,%ymm0,%ymm8,%ymm8 .byte 233,211,254,255,255 // jmpq 80f <_sk_load_bgra_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,24 // vmovd 0x18(%r11,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,99,101,2,192,64 // vpblendd $0x40,%ymm0,%ymm3,%ymm8 .byte 196,99,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm0 .byte 196,195,121,34,68,147,20,1 // vpinsrd $0x1,0x14(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,99,61,56,192,1 // vinserti128 $0x1,%xmm0,%ymm8,%ymm8 .byte 196,99,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm0 .byte 196,195,121,34,68,147,16,0 // vpinsrd $0x0,0x10(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,99,61,56,192,1 // vinserti128 $0x1,%xmm0,%ymm8,%ymm8 .byte 196,193,122,111,4,147 // vmovdqu (%r11,%rdx,4),%xmm0 .byte 196,67,125,2,192,240 // vpblendd $0xf0,%ymm8,%ymm0,%ymm8 .byte 233,132,254,255,255 // jmpq 80f <_sk_load_bgra_hsw_lowp+0x1b> .byte 196,193,121,110,68,147,40 // vmovd 0x28(%r11,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,4 // vpblendd $0x4,%ymm0,%ymm1,%ymm3 .byte 196,195,97,34,68,147,36,1 // vpinsrd $0x1,0x24(%r11,%rdx,4),%xmm3,%xmm0 .byte 196,227,101,2,216,15 // vpblendd $0xf,%ymm0,%ymm3,%ymm3 .byte 196,193,121,110,68,147,32 // vmovd 0x20(%r11,%rdx,4),%xmm0 .byte 196,227,101,2,216,1 // vpblendd $0x1,%ymm0,%ymm3,%ymm3 .byte 233,72,254,255,255 // jmpq 809 <_sk_load_bgra_hsw_lowp+0x15> .byte 196,193,121,110,68,147,56 // vmovd 0x38(%r11,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,147,52,1 // vpinsrd $0x1,0x34(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,147,48,0 // vpinsrd $0x0,0x30(%r11,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 196,193,122,111,68,147,32 // vmovdqu 0x20(%r11,%rdx,4),%xmm0 .byte 196,227,125,2,219,240 // vpblendd $0xf0,%ymm3,%ymm0,%ymm3 .byte 233,248,253,255,255 // jmpq 80f <_sk_load_bgra_hsw_lowp+0x1b> .byte 144 // nop .byte 237 // in (%dx),%eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 248 // clc .byte 254 // (bad) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,78,255 // decl -0x1(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,241 // push %rcx .byte 253 // std .byte 255 // (bad) .byte 255,151,255,255,255,137 // callq *-0x76000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,169 // mov $0xa9ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_hsw_lowp .globl _sk_load_bgra_dst_hsw_lowp FUNCTION(_sk_load_bgra_dst_hsw_lowp) _sk_load_bgra_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,210,0,0,0 // jne b34 <_sk_load_bgra_dst_hsw_lowp+0xe0> .byte 196,193,126,111,124,147,32 // vmovdqu 0x20(%r11,%rdx,4),%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 197,253,111,37,105,25,0,0 // vmovdqa 0x1969(%rip),%ymm4 # 23e0 <_sk_xor__hsw_lowp+0x2ac> .byte 196,226,61,0,236 // vpshufb %ymm4,%ymm8,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,226,69,0,228 // vpshufb %ymm4,%ymm7,%ymm4 .byte 196,227,253,0,228,232 // vpermq $0xe8,%ymm4,%ymm4 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,98,125,121,13,95,25,0,0 // vpbroadcastw 0x195f(%rip),%ymm9 # 2400 <_sk_xor__hsw_lowp+0x2cc> .byte 196,193,93,228,241 // vpmulhuw %ymm9,%ymm4,%ymm6 .byte 197,253,111,37,114,25,0,0 // vmovdqa 0x1972(%rip),%ymm4 # 2420 <_sk_xor__hsw_lowp+0x2ec> .byte 196,226,61,0,236 // vpshufb %ymm4,%ymm8,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,226,69,0,228 // vpshufb %ymm4,%ymm7,%ymm4 .byte 196,227,253,0,228,232 // vpermq $0xe8,%ymm4,%ymm4 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,193,93,228,233 // vpmulhuw %ymm9,%ymm4,%ymm5 .byte 197,253,111,37,100,25,0,0 // vmovdqa 0x1964(%rip),%ymm4 # 2440 <_sk_xor__hsw_lowp+0x30c> .byte 196,98,61,0,212 // vpshufb %ymm4,%ymm8,%ymm10 .byte 196,67,253,0,210,232 // vpermq $0xe8,%ymm10,%ymm10 .byte 196,226,69,0,228 // vpshufb %ymm4,%ymm7,%ymm4 .byte 196,227,253,0,228,232 // vpermq $0xe8,%ymm4,%ymm4 .byte 196,227,45,56,228,1 // vinserti128 $0x1,%xmm4,%ymm10,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,193,93,228,225 // vpmulhuw %ymm9,%ymm4,%ymm4 .byte 197,125,111,21,86,25,0,0 // vmovdqa 0x1956(%rip),%ymm10 # 2460 <_sk_xor__hsw_lowp+0x32c> .byte 196,66,61,0,194 // vpshufb %ymm10,%ymm8,%ymm8 .byte 196,67,253,0,192,232 // vpermq $0xe8,%ymm8,%ymm8 .byte 196,194,69,0,250 // vpshufb %ymm10,%ymm7,%ymm7 .byte 196,227,253,0,255,232 // vpermq $0xe8,%ymm7,%ymm7 .byte 196,227,61,56,255,1 // vinserti128 $0x1,%xmm7,%ymm8,%ymm7 .byte 197,197,113,247,8 // vpsllw $0x8,%ymm7,%ymm7 .byte 196,193,69,228,249 // vpmulhuw %ymm9,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,30,255,255,255 // ja a6f <_sk_load_bgra_dst_hsw_lowp+0x1b> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,28,1,0,0 // lea 0x11c(%rip),%r10 # c78 <_sk_load_bgra_dst_hsw_lowp+0x224> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,110,4,147 // vmovd (%r11,%rdx,4),%xmm8 .byte 233,255,254,255,255 // jmpq a6f <_sk_load_bgra_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,8 // vmovd 0x8(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm8 .byte 196,194,121,53,36,147 // vpmovzxdq (%r11,%rdx,4),%xmm4 .byte 197,249,112,228,232 // vpshufd $0xe8,%xmm4,%xmm4 .byte 196,99,61,2,196,3 // vpblendd $0x3,%ymm4,%ymm8,%ymm8 .byte 233,211,254,255,255 // jmpq a6f <_sk_load_bgra_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,24 // vmovd 0x18(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,64 // vpblendd $0x40,%ymm4,%ymm7,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,20,1 // vpinsrd $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,16,0 // vpinsrd $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,193,122,111,36,147 // vmovdqu (%r11,%rdx,4),%xmm4 .byte 196,67,93,2,192,240 // vpblendd $0xf0,%ymm8,%ymm4,%ymm8 .byte 233,132,254,255,255 // jmpq a6f <_sk_load_bgra_dst_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,40 // vmovd 0x28(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm7 .byte 196,195,65,34,100,147,36,1 // vpinsrd $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4 .byte 196,227,69,2,252,15 // vpblendd $0xf,%ymm4,%ymm7,%ymm7 .byte 196,193,121,110,100,147,32 // vmovd 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,69,2,252,1 // vpblendd $0x1,%ymm4,%ymm7,%ymm7 .byte 233,72,254,255,255 // jmpq a69 <_sk_load_bgra_dst_hsw_lowp+0x15> .byte 196,193,121,110,100,147,56 // vmovd 0x38(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,52,1 // vpinsrd $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,48,0 // vpinsrd $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 196,193,122,111,100,147,32 // vmovdqu 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,248,253,255,255 // jmpq a6f <_sk_load_bgra_dst_hsw_lowp+0x1b> .byte 144 // nop .byte 237 // in (%dx),%eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 248 // clc .byte 254 // (bad) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,78,255 // decl -0x1(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,241 // push %rcx .byte 253 // std .byte 255 // (bad) .byte 255,151,255,255,255,137 // callq *-0x76000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,169 // mov $0xa9ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_bgra_hsw_lowp .globl _sk_store_bgra_hsw_lowp FUNCTION(_sk_store_bgra_hsw_lowp) _sk_store_bgra_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 197,189,113,210,7 // vpsrlw $0x7,%ymm2,%ymm8 .byte 196,98,125,121,13,185,23,0,0 // vpbroadcastw 0x17b9(%rip),%ymm9 # 2480 <_sk_xor__hsw_lowp+0x34c> .byte 196,65,61,234,193 // vpminsw %ymm9,%ymm8,%ymm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 197,165,113,209,7 // vpsrlw $0x7,%ymm1,%ymm11 .byte 196,65,37,234,217 // vpminsw %ymm9,%ymm11,%ymm11 .byte 196,66,125,51,227 // vpmovzxwd %xmm11,%ymm12 .byte 196,67,125,57,219,1 // vextracti128 $0x1,%ymm11,%xmm11 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,193,37,114,243,8 // vpslld $0x8,%ymm11,%ymm11 .byte 196,193,29,114,244,8 // vpslld $0x8,%ymm12,%ymm12 .byte 197,149,113,208,7 // vpsrlw $0x7,%ymm0,%ymm13 .byte 196,65,21,234,233 // vpminsw %ymm9,%ymm13,%ymm13 .byte 196,67,125,57,238,1 // vextracti128 $0x1,%ymm13,%xmm14 .byte 196,66,125,51,246 // vpmovzxwd %xmm14,%ymm14 .byte 196,66,125,51,237 // vpmovzxwd %xmm13,%ymm13 .byte 196,193,21,114,245,16 // vpslld $0x10,%ymm13,%ymm13 .byte 196,193,13,114,246,16 // vpslld $0x10,%ymm14,%ymm14 .byte 197,133,113,211,7 // vpsrlw $0x7,%ymm3,%ymm15 .byte 196,65,5,234,201 // vpminsw %ymm9,%ymm15,%ymm9 .byte 196,67,125,57,207,1 // vextracti128 $0x1,%ymm9,%xmm15 .byte 196,66,125,51,255 // vpmovzxwd %xmm15,%ymm15 .byte 196,66,125,51,201 // vpmovzxwd %xmm9,%ymm9 .byte 196,193,53,114,241,24 // vpslld $0x18,%ymm9,%ymm9 .byte 196,193,5,114,247,24 // vpslld $0x18,%ymm15,%ymm15 .byte 196,65,61,235,198 // vpor %ymm14,%ymm8,%ymm8 .byte 196,65,45,235,237 // vpor %ymm13,%ymm10,%ymm13 .byte 196,65,37,235,215 // vpor %ymm15,%ymm11,%ymm10 .byte 196,65,61,235,210 // vpor %ymm10,%ymm8,%ymm10 .byte 196,65,29,235,193 // vpor %ymm9,%ymm12,%ymm8 .byte 196,65,21,235,192 // vpor %ymm8,%ymm13,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,17 // jne d82 <_sk_store_bgra_hsw_lowp+0xce> .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,126,127,84,147,32 // vmovdqu %ymm10,0x20(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,236 // ja d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,175,0,0,0 // lea 0xaf(%rip),%r10 # e4c <_sk_store_bgra_hsw_lowp+0x198> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,4,147 // vmovd %xmm8,(%r11,%rdx,4) .byte 235,208 // jmp d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 196,67,121,22,68,147,8,2 // vpextrd $0x2,%xmm8,0x8(%r11,%rdx,4) .byte 196,65,121,214,4,147 // vmovq %xmm8,(%r11,%rdx,4) .byte 235,192 // jmp d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,24,2 // vpextrd $0x2,%xmm9,0x18(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,20,1 // vpextrd $0x1,%xmm9,0x14(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,76,147,16 // vmovd %xmm9,0x10(%r11,%rdx,4) .byte 196,65,122,127,4,147 // vmovdqu %xmm8,(%r11,%rdx,4) .byte 235,143 // jmp d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 196,67,121,22,84,147,40,2 // vpextrd $0x2,%xmm10,0x28(%r11,%rdx,4) .byte 196,67,121,22,84,147,36,1 // vpextrd $0x1,%xmm10,0x24(%r11,%rdx,4) .byte 196,65,121,126,84,147,32 // vmovd %xmm10,0x20(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 233,109,255,255,255 // jmpq d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,67,121,22,76,147,56,2 // vpextrd $0x2,%xmm9,0x38(%r11,%rdx,4) .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,67,121,22,76,147,52,1 // vpextrd $0x1,%xmm9,0x34(%r11,%rdx,4) .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,65,121,126,76,147,48 // vmovd %xmm9,0x30(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,122,127,84,147,32 // vmovdqu %xmm10,0x20(%r11,%rdx,4) .byte 233,50,255,255,255 // jmpq d7e <_sk_store_bgra_hsw_lowp+0xca> .byte 90 // pop %rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,106,255 // ljmp *-0x1(%rdx) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,155,255,255,255,142 // lcall *-0x71000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,128,255,255,255,114 // incl 0x72ffffff(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 186,255,255,255,179 // mov $0xb3ffffff,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,171,255,255,255,163 // ljmp *-0x5c000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,225 // jmpq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_hsw_lowp .globl _sk_load_a8_hsw_lowp FUNCTION(_sk_load_a8_hsw_lowp) _sk_load_a8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,45 // jne ebf <_sk_load_a8_hsw_lowp+0x37> .byte 196,193,122,111,4,19 // vmovdqu (%r11,%rdx,1),%xmm0 .byte 196,226,125,48,192 // vpmovzxbw %xmm0,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,226,125,121,13,215,21,0,0 // vpbroadcastw 0x15d7(%rip),%ymm1 # 2482 <_sk_xor__hsw_lowp+0x34e> .byte 197,253,228,217 // vpmulhuw %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,197 // ja e98 <_sk_load_a8_hsw_lowp+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,194,0,0,0 // lea 0xc2(%rip),%r10 # fa0 <_sk_load_a8_hsw_lowp+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,166 // jmp e98 <_sk_load_a8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,227,121,14,193,1 // vpblendw $0x1,%xmm1,%xmm0,%xmm0 .byte 235,137 // jmp e98 <_sk_load_a8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,92,255,255,255 // jmpq e98 <_sk_load_a8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,47,255,255,255 // jmpq e98 <_sk_load_a8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm1 .byte 196,195,113,34,76,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1 .byte 196,227,113,2,192,8 // vpblendd $0x8,%xmm0,%xmm1,%xmm0 .byte 233,250,254,255,255 // jmpq e98 <_sk_load_a8_hsw_lowp+0x10> .byte 102,144 // xchg %ax,%ax .byte 71,255 // rex.RXB (bad) .byte 255 // (bad) .byte 255,94,255 // lcall *-0x1(%rsi) .byte 255 // (bad) .byte 255,82,255 // callq *-0x1(%rdx) .byte 255 // (bad) .byte 255,139,255,255,255,131 // decl -0x7c000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp fb5 <_sk_load_a8_hsw_lowp+0x12d> .byte 255 // (bad) .byte 255,111,255 // ljmp *-0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 184,255,255,255,176 // mov $0xb0ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,168,255,255,255,156 // ljmp *-0x63000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_hsw_lowp .globl _sk_load_a8_dst_hsw_lowp FUNCTION(_sk_load_a8_dst_hsw_lowp) _sk_load_a8_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,45 // jne 1013 <_sk_load_a8_dst_hsw_lowp+0x37> .byte 196,193,122,111,36,19 // vmovdqu (%r11,%rdx,1),%xmm4 .byte 196,226,125,48,228 // vpmovzxbw %xmm4,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,226,125,121,45,133,20,0,0 // vpbroadcastw 0x1485(%rip),%ymm5 # 2484 <_sk_xor__hsw_lowp+0x350> .byte 197,221,228,253 // vpmulhuw %ymm5,%ymm4,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,197 // ja fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,194,0,0,0 // lea 0xc2(%rip),%r10 # 10f4 <_sk_load_a8_dst_hsw_lowp+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,166 // jmp fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,227,89,14,229,1 // vpblendw $0x1,%xmm5,%xmm4,%xmm4 .byte 235,137 // jmp fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,92,255,255,255 // jmpq fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,19 // vmovq (%r11,%rdx,1),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,47,255,255,255 // jmpq fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,19 // vmovq (%r11,%rdx,1),%xmm5 .byte 196,195,81,34,108,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5 .byte 196,227,81,2,228,8 // vpblendd $0x8,%xmm4,%xmm5,%xmm4 .byte 233,250,254,255,255 // jmpq fec <_sk_load_a8_dst_hsw_lowp+0x10> .byte 102,144 // xchg %ax,%ax .byte 71,255 // rex.RXB (bad) .byte 255 // (bad) .byte 255,94,255 // lcall *-0x1(%rsi) .byte 255 // (bad) .byte 255,82,255 // callq *-0x1(%rdx) .byte 255 // (bad) .byte 255,139,255,255,255,131 // decl -0x7c000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 1109 <_sk_load_a8_dst_hsw_lowp+0x12d> .byte 255 // (bad) .byte 255,111,255 // ljmp *-0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 184,255,255,255,176 // mov $0xb0ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,168,255,255,255,156 // ljmp *-0x63000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_a8_hsw_lowp .globl _sk_store_a8_hsw_lowp FUNCTION(_sk_store_a8_hsw_lowp) _sk_store_a8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 197,189,113,211,7 // vpsrlw $0x7,%ymm3,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,57,103,193 // vpackuswb %xmm9,%xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne 1154 <_sk_store_a8_hsw_lowp+0x24> .byte 196,65,122,127,4,19 // vmovdqu %xmm8,(%r11,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,236 // ja 1150 <_sk_store_a8_hsw_lowp+0x20> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,137,0,0,0 // lea 0x89(%rip),%r10 # 11f8 <_sk_store_a8_hsw_lowp+0xc8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,20,4,19,0 // vpextrb $0x0,%xmm8,(%r11,%rdx,1) .byte 235,207 // jmp 1150 <_sk_store_a8_hsw_lowp+0x20> .byte 196,67,121,20,68,19,2,2 // vpextrb $0x2,%xmm8,0x2(%r11,%rdx,1) .byte 196,67,121,21,4,19,0 // vpextrw $0x0,%xmm8,(%r11,%rdx,1) .byte 235,190 // jmp 1150 <_sk_store_a8_hsw_lowp+0x20> .byte 196,67,121,20,68,19,6,6 // vpextrb $0x6,%xmm8,0x6(%r11,%rdx,1) .byte 196,67,121,20,68,19,5,5 // vpextrb $0x5,%xmm8,0x5(%r11,%rdx,1) .byte 196,67,121,20,68,19,4,4 // vpextrb $0x4,%xmm8,0x4(%r11,%rdx,1) .byte 196,65,121,126,4,19 // vmovd %xmm8,(%r11,%rdx,1) .byte 235,158 // jmp 1150 <_sk_store_a8_hsw_lowp+0x20> .byte 196,67,121,20,68,19,10,10 // vpextrb $0xa,%xmm8,0xa(%r11,%rdx,1) .byte 196,67,121,20,68,19,9,9 // vpextrb $0x9,%xmm8,0x9(%r11,%rdx,1) .byte 196,67,121,20,68,19,8,8 // vpextrb $0x8,%xmm8,0x8(%r11,%rdx,1) .byte 235,32 // jmp 11ec <_sk_store_a8_hsw_lowp+0xbc> .byte 196,67,121,20,68,19,14,14 // vpextrb $0xe,%xmm8,0xe(%r11,%rdx,1) .byte 196,67,121,20,68,19,13,13 // vpextrb $0xd,%xmm8,0xd(%r11,%rdx,1) .byte 196,67,121,20,68,19,12,12 // vpextrb $0xc,%xmm8,0xc(%r11,%rdx,1) .byte 196,67,121,22,68,19,8,2 // vpextrd $0x2,%xmm8,0x8(%r11,%rdx,1) .byte 196,65,121,214,4,19 // vmovq %xmm8,(%r11,%rdx,1) .byte 233,89,255,255,255 // jmpq 1150 <_sk_store_a8_hsw_lowp+0x20> .byte 144 // nop .byte 128,255,255 // cmp $0xff,%bh .byte 255,145,255,255,255,137 // callq *-0x76000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,178,255,255,255,170 // pushq -0x55000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,162,255,255,255,154 // jmpq *-0x65000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,244 // push %rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 186,255,255,255,236 // mov $0xecffffff,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_hsw_lowp .globl _sk_load_g8_hsw_lowp FUNCTION(_sk_load_g8_hsw_lowp) _sk_load_g8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,50 // jne 1270 <_sk_load_g8_hsw_lowp+0x3c> .byte 196,193,122,111,4,19 // vmovdqu (%r11,%rdx,1),%xmm0 .byte 196,226,125,48,192 // vpmovzxbw %xmm0,%ymm0 .byte 197,253,113,240,8 // vpsllw $0x8,%ymm0,%ymm0 .byte 196,226,125,121,13,47,18,0,0 // vpbroadcastw 0x122f(%rip),%ymm1 # 2486 <_sk_xor__hsw_lowp+0x352> .byte 197,253,228,193 // vpmulhuw %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,29,34,18,0,0 // vpbroadcastw 0x1222(%rip),%ymm3 # 2488 <_sk_xor__hsw_lowp+0x354> .byte 197,253,111,200 // vmovdqa %ymm0,%ymm1 .byte 197,253,111,208 // vmovdqa %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,192 // ja 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,193,0,0,0 // lea 0xc1(%rip),%r10 # 1350 <_sk_load_g8_hsw_lowp+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,161 // jmp 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,227,121,14,193,1 // vpblendw $0x1,%xmm1,%xmm0,%xmm0 .byte 235,132 // jmp 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,87,255,255,255 // jmpq 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,42,255,255,255 // jmpq 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm1 .byte 196,195,113,34,76,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1 .byte 196,227,113,2,192,8 // vpblendd $0x8,%xmm0,%xmm1,%xmm0 .byte 233,245,254,255,255 // jmpq 1244 <_sk_load_g8_hsw_lowp+0x10> .byte 144 // nop .byte 72,255 // rex.W (bad) .byte 255 // (bad) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255,83,255 // callq *-0x1(%rbx) .byte 255 // (bad) .byte 255,140,255,255,255,132,255 // decl -0x7b0001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 124,255 // jl 1365 <_sk_load_g8_hsw_lowp+0x131> .byte 255 // (bad) .byte 255,112,255 // pushq -0x1(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 185,255,255,255,177 // mov $0xb1ffffff,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,169,255,255,255,157 // ljmp *-0x62000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_hsw_lowp .globl _sk_load_g8_dst_hsw_lowp FUNCTION(_sk_load_g8_dst_hsw_lowp) _sk_load_g8_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,50 // jne 13c8 <_sk_load_g8_dst_hsw_lowp+0x3c> .byte 196,193,122,111,36,19 // vmovdqu (%r11,%rdx,1),%xmm4 .byte 196,226,125,48,228 // vpmovzxbw %xmm4,%ymm4 .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,226,125,121,45,219,16,0,0 // vpbroadcastw 0x10db(%rip),%ymm5 # 248a <_sk_xor__hsw_lowp+0x356> .byte 197,221,228,229 // vpmulhuw %ymm5,%ymm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,61,206,16,0,0 // vpbroadcastw 0x10ce(%rip),%ymm7 # 248c <_sk_xor__hsw_lowp+0x358> .byte 197,253,111,236 // vmovdqa %ymm4,%ymm5 .byte 197,253,111,244 // vmovdqa %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,192 // ja 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,193,0,0,0 // lea 0xc1(%rip),%r10 # 14a8 <_sk_load_g8_dst_hsw_lowp+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,161 // jmp 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,227,89,14,229,1 // vpblendw $0x1,%xmm5,%xmm4,%xmm4 .byte 235,132 // jmp 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,121,110,44,19 // vmovd (%r11,%rdx,1),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,87,255,255,255 // jmpq 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,19 // vmovq (%r11,%rdx,1),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,42,255,255,255 // jmpq 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,19 // vmovq (%r11,%rdx,1),%xmm5 .byte 196,195,81,34,108,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5 .byte 196,227,81,2,228,8 // vpblendd $0x8,%xmm4,%xmm5,%xmm4 .byte 233,245,254,255,255 // jmpq 139c <_sk_load_g8_dst_hsw_lowp+0x10> .byte 144 // nop .byte 72,255 // rex.W (bad) .byte 255 // (bad) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255,83,255 // callq *-0x1(%rbx) .byte 255 // (bad) .byte 255,140,255,255,255,132,255 // decl -0x7b0001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 124,255 // jl 14bd <_sk_load_g8_dst_hsw_lowp+0x131> .byte 255 // (bad) .byte 255,112,255 // pushq -0x1(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 185,255,255,255,177 // mov $0xb1ffffff,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,169,255,255,255,157 // ljmp *-0x62000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_srcover_rgba_8888_hsw_lowp .globl _sk_srcover_rgba_8888_hsw_lowp FUNCTION(_sk_srcover_rgba_8888_hsw_lowp) _sk_srcover_rgba_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,220,1,0,0 // jne 16ce <_sk_srcover_rgba_8888_hsw_lowp+0x1ea> .byte 196,193,126,111,124,147,32 // vmovdqu 0x20(%r11,%rdx,4),%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 197,253,111,37,153,15,0,0 // vmovdqa 0xf99(%rip),%ymm4 # 24a0 <_sk_xor__hsw_lowp+0x36c> .byte 196,226,61,0,236 // vpshufb %ymm4,%ymm8,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,226,69,0,228 // vpshufb %ymm4,%ymm7,%ymm4 .byte 196,227,253,0,228,232 // vpermq $0xe8,%ymm4,%ymm4 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,98,125,121,13,148,15,0,0 // vpbroadcastw 0xf94(%rip),%ymm9 # 24c0 <_sk_xor__hsw_lowp+0x38c> .byte 197,221,113,244,8 // vpsllw $0x8,%ymm4,%ymm4 .byte 196,98,125,121,21,136,15,0,0 // vpbroadcastw 0xf88(%rip),%ymm10 # 24c2 <_sk_xor__hsw_lowp+0x38e> .byte 196,193,93,228,226 // vpmulhuw %ymm10,%ymm4,%ymm4 .byte 197,253,111,45,153,15,0,0 // vmovdqa 0xf99(%rip),%ymm5 # 24e0 <_sk_xor__hsw_lowp+0x3ac> .byte 196,226,61,0,245 // vpshufb %ymm5,%ymm8,%ymm6 .byte 196,227,253,0,246,232 // vpermq $0xe8,%ymm6,%ymm6 .byte 196,226,69,0,237 // vpshufb %ymm5,%ymm7,%ymm5 .byte 196,227,253,0,237,232 // vpermq $0xe8,%ymm5,%ymm5 .byte 196,227,77,56,237,1 // vinserti128 $0x1,%xmm5,%ymm6,%ymm5 .byte 197,213,113,245,8 // vpsllw $0x8,%ymm5,%ymm5 .byte 196,193,85,228,234 // vpmulhuw %ymm10,%ymm5,%ymm5 .byte 197,253,111,53,139,15,0,0 // vmovdqa 0xf8b(%rip),%ymm6 # 2500 <_sk_xor__hsw_lowp+0x3cc> .byte 196,98,61,0,222 // vpshufb %ymm6,%ymm8,%ymm11 .byte 196,67,253,0,219,232 // vpermq $0xe8,%ymm11,%ymm11 .byte 196,226,69,0,246 // vpshufb %ymm6,%ymm7,%ymm6 .byte 196,227,253,0,246,232 // vpermq $0xe8,%ymm6,%ymm6 .byte 196,227,37,56,246,1 // vinserti128 $0x1,%xmm6,%ymm11,%ymm6 .byte 197,205,113,246,8 // vpsllw $0x8,%ymm6,%ymm6 .byte 196,193,77,228,242 // vpmulhuw %ymm10,%ymm6,%ymm6 .byte 197,125,111,29,125,15,0,0 // vmovdqa 0xf7d(%rip),%ymm11 # 2520 <_sk_xor__hsw_lowp+0x3ec> .byte 196,66,61,0,195 // vpshufb %ymm11,%ymm8,%ymm8 .byte 196,67,253,0,192,232 // vpermq $0xe8,%ymm8,%ymm8 .byte 196,194,69,0,251 // vpshufb %ymm11,%ymm7,%ymm7 .byte 196,227,253,0,255,232 // vpermq $0xe8,%ymm7,%ymm7 .byte 196,227,61,56,255,1 // vinserti128 $0x1,%xmm7,%ymm8,%ymm7 .byte 197,197,113,247,8 // vpsllw $0x8,%ymm7,%ymm7 .byte 196,193,69,228,250 // vpmulhuw %ymm10,%ymm7,%ymm7 .byte 196,98,125,121,5,110,15,0,0 // vpbroadcastw 0xf6e(%rip),%ymm8 # 2540 <_sk_xor__hsw_lowp+0x40c> .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,66,93,11,208 // vpmulhrsw %ymm8,%ymm4,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,66,85,11,208 // vpmulhrsw %ymm8,%ymm5,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,66,77,11,208 // vpmulhrsw %ymm8,%ymm6,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,66,69,11,192 // vpmulhrsw %ymm8,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 197,189,113,208,7 // vpsrlw $0x7,%ymm0,%ymm8 .byte 196,65,61,234,193 // vpminsw %ymm9,%ymm8,%ymm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 197,165,113,209,7 // vpsrlw $0x7,%ymm1,%ymm11 .byte 196,65,37,234,217 // vpminsw %ymm9,%ymm11,%ymm11 .byte 196,67,125,57,220,1 // vextracti128 $0x1,%ymm11,%xmm12 .byte 196,66,125,51,228 // vpmovzxwd %xmm12,%ymm12 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,193,37,114,243,8 // vpslld $0x8,%ymm11,%ymm11 .byte 196,193,29,114,244,8 // vpslld $0x8,%ymm12,%ymm12 .byte 197,149,113,210,7 // vpsrlw $0x7,%ymm2,%ymm13 .byte 196,65,21,234,233 // vpminsw %ymm9,%ymm13,%ymm13 .byte 196,66,125,51,245 // vpmovzxwd %xmm13,%ymm14 .byte 196,67,125,57,237,1 // vextracti128 $0x1,%ymm13,%xmm13 .byte 196,66,125,51,237 // vpmovzxwd %xmm13,%ymm13 .byte 196,193,21,114,245,16 // vpslld $0x10,%ymm13,%ymm13 .byte 196,193,13,114,246,16 // vpslld $0x10,%ymm14,%ymm14 .byte 197,133,113,211,7 // vpsrlw $0x7,%ymm3,%ymm15 .byte 196,65,5,234,201 // vpminsw %ymm9,%ymm15,%ymm9 .byte 196,67,125,57,207,1 // vextracti128 $0x1,%ymm9,%xmm15 .byte 196,66,125,51,255 // vpmovzxwd %xmm15,%ymm15 .byte 196,66,125,51,201 // vpmovzxwd %xmm9,%ymm9 .byte 196,193,53,114,241,24 // vpslld $0x18,%ymm9,%ymm9 .byte 196,193,5,114,247,24 // vpslld $0x18,%ymm15,%ymm15 .byte 196,65,29,235,192 // vpor %ymm8,%ymm12,%ymm8 .byte 196,65,37,235,218 // vpor %ymm10,%ymm11,%ymm11 .byte 196,65,21,235,215 // vpor %ymm15,%ymm13,%ymm10 .byte 196,65,61,235,210 // vpor %ymm10,%ymm8,%ymm10 .byte 196,65,13,235,193 // vpor %ymm9,%ymm14,%ymm8 .byte 196,65,37,235,192 // vpor %ymm8,%ymm11,%ymm8 .byte 77,133,192 // test %r8,%r8 .byte 117,77 // jne 170a <_sk_srcover_rgba_8888_hsw_lowp+0x226> .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,126,127,84,147,32 // vmovdqu %ymm10,0x20(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,20,254,255,255 // ja 14ff <_sk_srcover_rgba_8888_hsw_lowp+0x1b> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,238,1,0,0 // lea 0x1ee(%rip),%r10 # 18e4 <_sk_srcover_rgba_8888_hsw_lowp+0x400> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,110,4,147 // vmovd (%r11,%rdx,4),%xmm8 .byte 233,245,253,255,255 // jmpq 14ff <_sk_srcover_rgba_8888_hsw_lowp+0x1b> .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,176 // ja 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 65,15,182,193 // movzbl %r9b,%eax .byte 76,141,13,251,1,0,0 // lea 0x1fb(%rip),%r9 # 1920 <_sk_srcover_rgba_8888_hsw_lowp+0x43c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,4,147 // vmovd %xmm8,(%r11,%rdx,4) .byte 235,148 // jmp 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 196,193,121,110,100,147,8 // vmovd 0x8(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm8 .byte 196,194,121,53,36,147 // vpmovzxdq (%r11,%rdx,4),%xmm4 .byte 197,249,112,228,232 // vpshufd $0xe8,%xmm4,%xmm4 .byte 196,99,61,2,196,3 // vpblendd $0x3,%ymm4,%ymm8,%ymm8 .byte 233,157,253,255,255 // jmpq 14ff <_sk_srcover_rgba_8888_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,24 // vmovd 0x18(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,99,69,2,196,64 // vpblendd $0x40,%ymm4,%ymm7,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,20,1 // vpinsrd $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,99,125,57,196,1 // vextracti128 $0x1,%ymm8,%xmm4 .byte 196,195,89,34,100,147,16,0 // vpinsrd $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,99,61,56,196,1 // vinserti128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,193,122,111,36,147 // vmovdqu (%r11,%rdx,4),%xmm4 .byte 196,67,93,2,192,240 // vpblendd $0xf0,%ymm8,%ymm4,%ymm8 .byte 233,78,253,255,255 // jmpq 14ff <_sk_srcover_rgba_8888_hsw_lowp+0x1b> .byte 196,193,121,110,100,147,40 // vmovd 0x28(%r11,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm7 .byte 196,195,65,34,100,147,36,1 // vpinsrd $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4 .byte 196,227,69,2,252,15 // vpblendd $0xf,%ymm4,%ymm7,%ymm7 .byte 196,193,121,110,100,147,32 // vmovd 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,69,2,252,1 // vpblendd $0x1,%ymm4,%ymm7,%ymm7 .byte 233,18,253,255,255 // jmpq 14f9 <_sk_srcover_rgba_8888_hsw_lowp+0x15> .byte 196,193,121,110,100,147,56 // vmovd 0x38(%r11,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,252,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,52,1 // vpinsrd $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,227,125,57,252,1 // vextracti128 $0x1,%ymm7,%xmm4 .byte 196,195,89,34,100,147,48,0 // vpinsrd $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,65,126,111,4,147 // vmovdqu (%r11,%rdx,4),%ymm8 .byte 196,193,122,111,100,147,32 // vmovdqu 0x20(%r11,%rdx,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,194,252,255,255 // jmpq 14ff <_sk_srcover_rgba_8888_hsw_lowp+0x1b> .byte 196,67,121,22,68,147,8,2 // vpextrd $0x2,%xmm8,0x8(%r11,%rdx,4) .byte 196,65,121,214,4,147 // vmovq %xmm8,(%r11,%rdx,4) .byte 233,122,254,255,255 // jmpq 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,24,2 // vpextrd $0x2,%xmm9,0x18(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,147,20,1 // vpextrd $0x1,%xmm9,0x14(%r11,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,76,147,16 // vmovd %xmm9,0x10(%r11,%rdx,4) .byte 196,65,122,127,4,147 // vmovdqu %xmm8,(%r11,%rdx,4) .byte 233,70,254,255,255 // jmpq 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 196,67,121,22,84,147,40,2 // vpextrd $0x2,%xmm10,0x28(%r11,%rdx,4) .byte 196,67,121,22,84,147,36,1 // vpextrd $0x1,%xmm10,0x24(%r11,%rdx,4) .byte 196,65,121,126,84,147,32 // vmovd %xmm10,0x20(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 233,36,254,255,255 // jmpq 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,67,121,22,76,147,56,2 // vpextrd $0x2,%xmm9,0x38(%r11,%rdx,4) .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,67,121,22,76,147,52,1 // vpextrd $0x1,%xmm9,0x34(%r11,%rdx,4) .byte 196,67,125,57,209,1 // vextracti128 $0x1,%ymm10,%xmm9 .byte 196,65,121,126,76,147,48 // vmovd %xmm9,0x30(%r11,%rdx,4) .byte 196,65,126,127,4,147 // vmovdqu %ymm8,(%r11,%rdx,4) .byte 196,65,122,127,84,147,32 // vmovdqu %xmm10,0x20(%r11,%rdx,4) .byte 233,233,253,255,255 // jmpq 16ca <_sk_srcover_rgba_8888_hsw_lowp+0x1e6> .byte 15,31,0 // nopl (%rax) .byte 27,254 // sbb %esi,%edi .byte 255 // (bad) .byte 255,104,254 // ljmp *-0x2(%rax) .byte 255 // (bad) .byte 255,82,254 // callq *-0x2(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 188,254,255,255,168 // mov $0xa8fffffe,%esp .byte 254 // (bad) .byte 255 // (bad) .byte 255,148,254,255,255,126,254 // callq *-0x1810001(%rsi,%rdi,8) .byte 255 // (bad) .byte 255,21,252,255,255,241 // callq *-0xe000004(%rip) # fffffffff2001901 <_sk_xor__hsw_lowp+0xfffffffff1fff7cd> .byte 254 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 254 // (bad) .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 254 // (bad) .byte 255 // (bad) .byte 255,65,255 // incl -0x1(%rcx) .byte 255 // (bad) .byte 255,45,255,255,255,25 // ljmp *0x19ffffff(%rip) # 1a001918 <_sk_xor__hsw_lowp+0x19fff7e4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,37,255,255,255,29 // jmpq *0x1dffffff(%rip) # 1e001928 <_sk_xor__hsw_lowp+0x1dfff7f4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,89,255 // lcall *-0x1(%rcx) .byte 255 // (bad) .byte 255,76,255,255 // decl -0x1(%rdi,%rdi,8) .byte 255 // (bad) .byte 62,255 // ds (bad) .byte 255 // (bad) .byte 255,48 // pushq (%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 193d <_sk_srcover_rgba_8888_hsw_lowp+0x459> .byte 255 // (bad) .byte 255,116,255,255 // pushq -0x1(%rdi,%rdi,8) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,175,255,255,255,162 // ljmp *-0x5d000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,148,255,255,255,134,255 // callq *-0x790001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_scale_1_float_hsw_lowp .globl _sk_scale_1_float_hsw_lowp FUNCTION(_sk_scale_1_float_hsw_lowp) _sk_scale_1_float_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,58,88,5,74,8,0,0 // vaddss 0x84a(%rip),%xmm8,%xmm8 # 21b4 <_sk_xor__hsw_lowp+0x80> .byte 197,121,126,192 // vmovd %xmm8,%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,121,192 // vpbroadcastw %xmm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_hsw_lowp .globl _sk_scale_u8_hsw_lowp FUNCTION(_sk_scale_u8_hsw_lowp) _sk_scale_u8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,75 // jne 19f8 <_sk_scale_u8_hsw_lowp+0x55> .byte 196,65,122,111,4,19 // vmovdqu (%r11,%rdx,1),%xmm8 .byte 196,66,125,48,192 // vpmovzxbw %xmm8,%ymm8 .byte 196,193,61,113,240,8 // vpsllw $0x8,%ymm8,%ymm8 .byte 196,98,125,121,13,123,11,0,0 // vpbroadcastw 0xb7b(%rip),%ymm9 # 2542 <_sk_xor__hsw_lowp+0x40e> .byte 196,65,61,228,193 // vpmulhuw %ymm9,%ymm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 119,166 // ja 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,200,0,0,0 // lea 0xc8(%rip),%r10 # 1ae0 <_sk_scale_u8_hsw_lowp+0x13d> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,135 // jmp 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,67,57,14,193,1 // vpblendw $0x1,%xmm9,%xmm8,%xmm8 .byte 233,102,255,255,255 // jmpq 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,56,255,255,255 // jmpq 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,10,255,255,255 // jmpq 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm9 .byte 196,67,49,34,76,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9 .byte 196,67,49,2,192,8 // vpblendd $0x8,%xmm8,%xmm9,%xmm8 .byte 233,212,254,255,255 // jmpq 19b3 <_sk_scale_u8_hsw_lowp+0x10> .byte 144 // nop .byte 65,255 // rex.B (bad) .byte 255 // (bad) .byte 255,89,255 // lcall *-0x1(%rcx) .byte 255 // (bad) .byte 255,76,255,255 // decl -0x1(%rdi,%rdi,8) .byte 255,138,255,255,255,130 // decl -0x7d000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 122,255 // jp 1af5 <_sk_scale_u8_hsw_lowp+0x152> .byte 255 // (bad) .byte 255,109,255 // ljmp *-0x1(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 184,255,255,255,176 // mov $0xb0ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,168,255,255,255,155 // ljmp *-0x64000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_hsw_lowp .globl _sk_lerp_1_float_hsw_lowp FUNCTION(_sk_lerp_1_float_hsw_lowp) _sk_lerp_1_float_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,58,88,5,142,6,0,0 // vaddss 0x68e(%rip),%xmm8,%xmm8 # 21b8 <_sk_xor__hsw_lowp+0x84> .byte 197,121,126,192 // vmovd %xmm8,%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,121,192 // vpbroadcastw %xmm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,98,125,121,13,250,9,0,0 // vpbroadcastw 0x9fa(%rip),%ymm9 # 2544 <_sk_xor__hsw_lowp+0x410> .byte 196,65,53,249,200 // vpsubw %ymm8,%ymm9,%ymm9 .byte 196,66,93,11,209 // vpmulhrsw %ymm9,%ymm4,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,66,85,11,209 // vpmulhrsw %ymm9,%ymm5,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,66,77,11,209 // vpmulhrsw %ymm9,%ymm6,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 196,66,69,11,193 // vpmulhrsw %ymm9,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_hsw_lowp .globl _sk_lerp_u8_hsw_lowp FUNCTION(_sk_lerp_u8_hsw_lowp) _sk_lerp_u8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,145,0,0,0 // jne 1c48 <_sk_lerp_u8_hsw_lowp+0x9f> .byte 196,65,122,111,4,19 // vmovdqu (%r11,%rdx,1),%xmm8 .byte 196,66,125,48,192 // vpmovzxbw %xmm8,%ymm8 .byte 196,193,61,113,240,8 // vpsllw $0x8,%ymm8,%ymm8 .byte 196,98,125,121,13,117,9,0,0 // vpbroadcastw 0x975(%rip),%ymm9 # 2546 <_sk_xor__hsw_lowp+0x412> .byte 196,65,61,228,193 // vpmulhuw %ymm9,%ymm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,98,125,121,13,95,9,0,0 // vpbroadcastw 0x95f(%rip),%ymm9 # 2548 <_sk_xor__hsw_lowp+0x414> .byte 196,65,53,249,200 // vpsubw %ymm8,%ymm9,%ymm9 .byte 196,66,93,11,209 // vpmulhrsw %ymm9,%ymm4,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,66,85,11,209 // vpmulhrsw %ymm9,%ymm5,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,66,77,11,209 // vpmulhrsw %ymm9,%ymm6,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 196,66,69,11,193 // vpmulhrsw %ymm9,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,15 // and $0xf,%r9b .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,14 // cmp $0xe,%r9b .byte 15,135,92,255,255,255 // ja 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,204,0,0,0 // lea 0xcc(%rip),%r10 # 1d38 <_sk_lerp_u8_hsw_lowp+0x18f> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,58,255,255,255 // jmpq 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,2,2 // vpinsrb $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,67,57,14,193,1 // vpblendw $0x1,%xmm9,%xmm8,%xmm8 .byte 233,25,255,255,255 // jmpq 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,6,6 // vpinsrb $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,5,5 // vpinsrb $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,4,4 // vpinsrb $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,121,110,12,19 // vmovd (%r11,%rdx,1),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,235,254,255,255 // jmpq 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,10,10 // vpinsrb $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,9,9 // vpinsrb $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,8,8 // vpinsrb $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,189,254,255,255 // jmpq 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,19,14,14 // vpinsrb $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,13,13 // vpinsrb $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,19,12,12 // vpinsrb $0xc,0xc(%r11,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,19 // vmovq (%r11,%rdx,1),%xmm9 .byte 196,67,49,34,76,19,8,2 // vpinsrd $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9 .byte 196,67,49,2,192,8 // vpblendd $0x8,%xmm8,%xmm9,%xmm8 .byte 233,135,254,255,255 // jmpq 1bbd <_sk_lerp_u8_hsw_lowp+0x14> .byte 102,144 // xchg %ax,%ax .byte 61,255,255,255,88 // cmp $0x58ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,75,255 // decl -0x1(%rbx) .byte 255 // (bad) .byte 255,137,255,255,255,129 // decl -0x7e000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 121,255 // jns 1d4d <_sk_lerp_u8_hsw_lowp+0x1a4> .byte 255 // (bad) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,183,255,255,255,175 // pushq -0x50000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,167,255,255,255,154 // jmpq *-0x65000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,255 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 255 // (bad) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_swap_rb_hsw_lowp .globl _sk_swap_rb_hsw_lowp FUNCTION(_sk_swap_rb_hsw_lowp) _sk_swap_rb_hsw_lowp: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_hsw_lowp .globl _sk_move_src_dst_hsw_lowp FUNCTION(_sk_move_src_dst_hsw_lowp) _sk_move_src_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_hsw_lowp .globl _sk_move_dst_src_hsw_lowp FUNCTION(_sk_move_dst_src_hsw_lowp) _sk_move_dst_src_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_hsw_lowp .globl _sk_clear_hsw_lowp FUNCTION(_sk_clear_hsw_lowp) _sk_clear_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_hsw_lowp .globl _sk_srcatop_hsw_lowp FUNCTION(_sk_srcatop_hsw_lowp) _sk_srcatop_hsw_lowp: .byte 196,226,125,11,199 // vpmulhrsw %ymm7,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,98,125,121,5,119,7,0,0 // vpbroadcastw 0x777(%rip),%ymm8 # 254a <_sk_xor__hsw_lowp+0x416> .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,66,93,11,200 // vpmulhrsw %ymm8,%ymm4,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,192 // vpaddw %ymm0,%ymm9,%ymm0 .byte 196,226,117,11,207 // vpmulhrsw %ymm7,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,66,85,11,200 // vpmulhrsw %ymm8,%ymm5,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,201 // vpaddw %ymm1,%ymm9,%ymm1 .byte 196,226,109,11,215 // vpmulhrsw %ymm7,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,66,77,11,200 // vpmulhrsw %ymm8,%ymm6,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,210 // vpaddw %ymm2,%ymm9,%ymm2 .byte 196,226,101,11,223 // vpmulhrsw %ymm7,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 196,66,69,11,192 // vpmulhrsw %ymm8,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_hsw_lowp .globl _sk_dstatop_hsw_lowp FUNCTION(_sk_dstatop_hsw_lowp) _sk_dstatop_hsw_lowp: .byte 196,98,93,11,195 // vpmulhrsw %ymm3,%ymm4,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 196,98,125,121,13,8,7,0,0 // vpbroadcastw 0x708(%rip),%ymm9 # 254c <_sk_xor__hsw_lowp+0x418> .byte 197,53,249,207 // vpsubw %ymm7,%ymm9,%ymm9 .byte 196,194,125,11,193 // vpmulhrsw %ymm9,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 196,98,85,11,195 // vpmulhrsw %ymm3,%ymm5,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 196,194,117,11,201 // vpmulhrsw %ymm9,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 196,98,77,11,195 // vpmulhrsw %ymm3,%ymm6,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 196,194,109,11,209 // vpmulhrsw %ymm9,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 196,98,69,11,195 // vpmulhrsw %ymm3,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 196,194,101,11,217 // vpmulhrsw %ymm9,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_hsw_lowp .globl _sk_srcin_hsw_lowp FUNCTION(_sk_srcin_hsw_lowp) _sk_srcin_hsw_lowp: .byte 196,226,125,11,199 // vpmulhrsw %ymm7,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,226,117,11,207 // vpmulhrsw %ymm7,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,226,109,11,215 // vpmulhrsw %ymm7,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,226,101,11,223 // vpmulhrsw %ymm7,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_hsw_lowp .globl _sk_dstin_hsw_lowp FUNCTION(_sk_dstin_hsw_lowp) _sk_dstin_hsw_lowp: .byte 196,226,93,11,195 // vpmulhrsw %ymm3,%ymm4,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,226,85,11,203 // vpmulhrsw %ymm3,%ymm5,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,226,77,11,211 // vpmulhrsw %ymm3,%ymm6,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,226,69,11,219 // vpmulhrsw %ymm3,%ymm7,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_hsw_lowp .globl _sk_srcout_hsw_lowp FUNCTION(_sk_srcout_hsw_lowp) _sk_srcout_hsw_lowp: .byte 196,98,125,121,5,71,6,0,0 // vpbroadcastw 0x647(%rip),%ymm8 # 254e <_sk_xor__hsw_lowp+0x41a> .byte 197,61,249,199 // vpsubw %ymm7,%ymm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_hsw_lowp .globl _sk_dstout_hsw_lowp FUNCTION(_sk_dstout_hsw_lowp) _sk_dstout_hsw_lowp: .byte 196,226,125,121,5,16,6,0,0 // vpbroadcastw 0x610(%rip),%ymm0 # 2550 <_sk_xor__hsw_lowp+0x41c> .byte 197,253,249,219 // vpsubw %ymm3,%ymm0,%ymm3 .byte 196,226,93,11,195 // vpmulhrsw %ymm3,%ymm4,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,226,85,11,203 // vpmulhrsw %ymm3,%ymm5,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,226,77,11,211 // vpmulhrsw %ymm3,%ymm6,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,226,69,11,219 // vpmulhrsw %ymm3,%ymm7,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_hsw_lowp .globl _sk_srcover_hsw_lowp FUNCTION(_sk_srcover_hsw_lowp) _sk_srcover_hsw_lowp: .byte 196,98,125,121,5,217,5,0,0 // vpbroadcastw 0x5d9(%rip),%ymm8 # 2552 <_sk_xor__hsw_lowp+0x41e> .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,66,93,11,200 // vpmulhrsw %ymm8,%ymm4,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,192 // vpaddw %ymm0,%ymm9,%ymm0 .byte 196,66,85,11,200 // vpmulhrsw %ymm8,%ymm5,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,201 // vpaddw %ymm1,%ymm9,%ymm1 .byte 196,66,77,11,200 // vpmulhrsw %ymm8,%ymm6,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,210 // vpaddw %ymm2,%ymm9,%ymm2 .byte 196,66,69,11,192 // vpmulhrsw %ymm8,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_hsw_lowp .globl _sk_dstover_hsw_lowp FUNCTION(_sk_dstover_hsw_lowp) _sk_dstover_hsw_lowp: .byte 196,98,125,121,5,146,5,0,0 // vpbroadcastw 0x592(%rip),%ymm8 # 2554 <_sk_xor__hsw_lowp+0x420> .byte 197,61,249,199 // vpsubw %ymm7,%ymm8,%ymm8 .byte 196,194,125,11,192 // vpmulhrsw %ymm8,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 197,253,253,196 // vpaddw %ymm4,%ymm0,%ymm0 .byte 196,194,117,11,200 // vpmulhrsw %ymm8,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 197,245,253,205 // vpaddw %ymm5,%ymm1,%ymm1 .byte 196,194,109,11,208 // vpmulhrsw %ymm8,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 197,237,253,214 // vpaddw %ymm6,%ymm2,%ymm2 .byte 196,194,101,11,216 // vpmulhrsw %ymm8,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 197,229,253,223 // vpaddw %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_hsw_lowp .globl _sk_modulate_hsw_lowp FUNCTION(_sk_modulate_hsw_lowp) _sk_modulate_hsw_lowp: .byte 196,226,125,11,196 // vpmulhrsw %ymm4,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 196,226,117,11,205 // vpmulhrsw %ymm5,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,226,109,11,214 // vpmulhrsw %ymm6,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,226,101,11,223 // vpmulhrsw %ymm7,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_hsw_lowp .globl _sk_multiply_hsw_lowp FUNCTION(_sk_multiply_hsw_lowp) _sk_multiply_hsw_lowp: .byte 196,98,125,121,5,31,5,0,0 // vpbroadcastw 0x51f(%rip),%ymm8 # 2556 <_sk_xor__hsw_lowp+0x422> .byte 197,61,249,207 // vpsubw %ymm7,%ymm8,%ymm9 .byte 196,66,125,11,209 // vpmulhrsw %ymm9,%ymm0,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,66,93,11,216 // vpmulhrsw %ymm8,%ymm4,%ymm11 .byte 196,66,125,29,219 // vpabsw %ymm11,%ymm11 .byte 196,65,37,253,210 // vpaddw %ymm10,%ymm11,%ymm10 .byte 196,226,125,11,196 // vpmulhrsw %ymm4,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,66,117,11,209 // vpmulhrsw %ymm9,%ymm1,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 196,66,85,11,216 // vpmulhrsw %ymm8,%ymm5,%ymm11 .byte 196,66,125,29,219 // vpabsw %ymm11,%ymm11 .byte 196,65,37,253,210 // vpaddw %ymm10,%ymm11,%ymm10 .byte 196,226,117,11,205 // vpmulhrsw %ymm5,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,66,109,11,209 // vpmulhrsw %ymm9,%ymm2,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 196,66,77,11,216 // vpmulhrsw %ymm8,%ymm6,%ymm11 .byte 196,66,125,29,219 // vpabsw %ymm11,%ymm11 .byte 196,65,37,253,210 // vpaddw %ymm10,%ymm11,%ymm10 .byte 196,226,109,11,214 // vpmulhrsw %ymm6,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,66,101,11,201 // vpmulhrsw %ymm9,%ymm3,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 196,66,69,11,192 // vpmulhrsw %ymm8,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,226,101,11,223 // vpmulhrsw %ymm7,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_hsw_lowp .globl _sk_screen_hsw_lowp FUNCTION(_sk_screen_hsw_lowp) _sk_screen_hsw_lowp: .byte 196,98,125,121,5,112,4,0,0 // vpbroadcastw 0x470(%rip),%ymm8 # 2558 <_sk_xor__hsw_lowp+0x424> .byte 197,61,249,200 // vpsubw %ymm0,%ymm8,%ymm9 .byte 196,98,53,11,204 // vpmulhrsw %ymm4,%ymm9,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,192 // vpaddw %ymm0,%ymm9,%ymm0 .byte 197,61,249,201 // vpsubw %ymm1,%ymm8,%ymm9 .byte 196,98,53,11,205 // vpmulhrsw %ymm5,%ymm9,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,201 // vpaddw %ymm1,%ymm9,%ymm1 .byte 197,61,249,202 // vpsubw %ymm2,%ymm8,%ymm9 .byte 196,98,53,11,206 // vpmulhrsw %ymm6,%ymm9,%ymm9 .byte 196,66,125,29,201 // vpabsw %ymm9,%ymm9 .byte 197,181,253,210 // vpaddw %ymm2,%ymm9,%ymm2 .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,98,61,11,199 // vpmulhrsw %ymm7,%ymm8,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__hsw_lowp .globl _sk_xor__hsw_lowp FUNCTION(_sk_xor__hsw_lowp) _sk_xor__hsw_lowp: .byte 196,98,125,121,5,29,4,0,0 // vpbroadcastw 0x41d(%rip),%ymm8 # 255a <_sk_xor__hsw_lowp+0x426> .byte 197,61,249,207 // vpsubw %ymm7,%ymm8,%ymm9 .byte 196,194,125,11,193 // vpmulhrsw %ymm9,%ymm0,%ymm0 .byte 196,226,125,29,192 // vpabsw %ymm0,%ymm0 .byte 197,61,249,195 // vpsubw %ymm3,%ymm8,%ymm8 .byte 196,66,93,11,208 // vpmulhrsw %ymm8,%ymm4,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,194,117,11,201 // vpmulhrsw %ymm9,%ymm1,%ymm1 .byte 196,226,125,29,201 // vpabsw %ymm1,%ymm1 .byte 196,66,85,11,208 // vpmulhrsw %ymm8,%ymm5,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,194,109,11,209 // vpmulhrsw %ymm9,%ymm2,%ymm2 .byte 196,226,125,29,210 // vpabsw %ymm2,%ymm2 .byte 196,66,77,11,208 // vpmulhrsw %ymm8,%ymm6,%ymm10 .byte 196,66,125,29,210 // vpabsw %ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,194,101,11,217 // vpmulhrsw %ymm9,%ymm3,%ymm3 .byte 196,226,125,29,219 // vpabsw %ymm3,%ymm3 .byte 196,66,69,11,192 // vpmulhrsw %ymm8,%ymm7,%ymm8 .byte 196,66,125,29,192 // vpabsw %ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax BALIGN4 .byte 0,0 // add %al,(%rax) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128 // .byte 0x80 .byte 67 // rex.XB BALIGN32 .byte 0,128,0,128,0,0 // add %al,0x8000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,0,1 // addb $0x1,(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,129,128,0,0,0,0 // addb $0x0,0x80(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,2 // add %eax,(%rdx) .byte 5,6,9,10,13 // add $0xd0a0906,%eax .byte 14 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 18,21,22,25,26,29 // adc 0x1d1a1916(%rip),%dl # 1d1a3b4d <_sk_xor__hsw_lowp+0x1d1a1a19> .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 19,22 // adc (%rsi),%edx .byte 23 // (bad) .byte 26,27 // sbb (%rbx),%bl .byte 30 // (bad) .byte 31 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255,23 // callq *(%rdi) .byte 255,27 // lcall *(%rbx) .byte 255,31 // lcall *(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 1,4,5,8,9,12,13 // add %eax,0xd0c0908(,%rax,1) .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,0,1 // addb $0x1,(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,129,128,0,0,0,0 // addb $0x0,0x80(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,2 // add %eax,(%rdx) .byte 5,6,9,10,13 // add $0xd0a0906,%eax .byte 14 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 18,21,22,25,26,29 // adc 0x1d1a1916(%rip),%dl # 1d1a3bed <_sk_xor__hsw_lowp+0x1d1a1ab9> .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 19,22 // adc (%rsi),%edx .byte 23 // (bad) .byte 26,27 // sbb (%rbx),%bl .byte 30 // (bad) .byte 31 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255,23 // callq *(%rdi) .byte 255,27 // lcall *(%rbx) .byte 255,31 // lcall *(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,0,1 // addb $0x1,(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,129,128,0,0,0,0 // addb $0x0,0x80(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,2 // add %eax,(%rdx) .byte 5,6,9,10,13 // add $0xd0a0906,%eax .byte 14 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 18,21,22,25,26,29 // adc 0x1d1a1916(%rip),%dl # 1d1a3cad <_sk_xor__hsw_lowp+0x1d1a1b79> .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 19,22 // adc (%rsi),%edx .byte 23 // (bad) .byte 26,27 // sbb (%rbx),%bl .byte 30 // (bad) .byte 31 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255,23 // callq *(%rdi) .byte 255,27 // lcall *(%rbx) .byte 255,31 // lcall *(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 1,4,5,8,9,12,13 // add %eax,0xd0c0908(,%rax,1) .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,0,1 // addb $0x1,(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,129,128,0,0,0,0 // addb $0x0,0x80(%rcx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,2 // add %eax,(%rdx) .byte 5,6,9,10,13 // add $0xd0a0906,%eax .byte 14 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 18,21,22,25,26,29 // adc 0x1d1a1916(%rip),%dl # 1d1a3d4d <_sk_xor__hsw_lowp+0x1d1a1c19> .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 19,22 // adc (%rsi),%edx .byte 23 // (bad) .byte 26,27 // sbb (%rbx),%bl .byte 30 // (bad) .byte 31 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255,23 // callq *(%rdi) .byte 255,27 // lcall *(%rbx) .byte 255,31 // lcall *(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 129,128,129,128,129,128,0,128,129,128// addl $0x80818000,-0x7f7e7f7f(%rax) .byte 0,128,0,0,0,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,0,1 // addb $0x1,(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 128,128,128,128,128,128,128 // addb $0x80,-0x7f7f7f80(%rax) .byte 128,255,0 // cmp $0x0,%bh .byte 129,128,0,0,0,0,0,0,0,0 // addl $0x0,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,2 // add %eax,(%rdx) .byte 5,6,9,10,13 // add $0xd0a0906,%eax .byte 14 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 18,21,22,25,26,29 // adc 0x1d1a1916(%rip),%dl # 1d1a3e0d <_sk_xor__hsw_lowp+0x1d1a1cd9> .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 19,22 // adc (%rsi),%edx .byte 23 // (bad) .byte 26,27 // sbb (%rbx),%bl .byte 30 // (bad) .byte 31 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255,23 // callq *(%rdi) .byte 255,27 // lcall *(%rbx) .byte 255,31 // lcall *(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 128,129,128,0,128,129,128 // addb $0x80,-0x7e7fff80(%rcx) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0 // .byte 0x0 .byte 128 // .byte 0x80 BALIGN32 HIDDEN _sk_start_pipeline_ssse3_lowp .globl _sk_start_pipeline_ssse3_lowp FUNCTION(_sk_start_pipeline_ssse3_lowp) _sk_start_pipeline_ssse3_lowp: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 80 // push %rax .byte 77,137,196 // mov %r8,%r12 .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 73,137,254 // mov %rdi,%r14 .byte 72,137,206 // mov %rcx,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,141,78,8 // lea 0x8(%r14),%rcx .byte 76,57,249 // cmp %r15,%rcx .byte 118,5 // jbe 30 <_sk_start_pipeline_ssse3_lowp+0x30> .byte 76,137,242 // mov %r14,%rdx .byte 235,45 // jmp 5d <_sk_start_pipeline_ssse3_lowp+0x5d> .byte 76,137,125,208 // mov %r15,-0x30(%rbp) .byte 69,49,192 // xor %r8d,%r8d .byte 76,137,231 // mov %r12,%rdi .byte 73,137,247 // mov %rsi,%r15 .byte 76,137,242 // mov %r14,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,137,254 // mov %r15,%rsi .byte 76,139,125,208 // mov -0x30(%rbp),%r15 .byte 73,141,86,8 // lea 0x8(%r14),%rdx .byte 73,131,198,16 // add $0x10,%r14 .byte 77,57,254 // cmp %r15,%r14 .byte 73,137,214 // mov %rdx,%r14 .byte 118,215 // jbe 34 <_sk_start_pipeline_ssse3_lowp+0x34> .byte 77,137,248 // mov %r15,%r8 .byte 73,41,208 // sub %rdx,%r8 .byte 116,9 // je 6e <_sk_start_pipeline_ssse3_lowp+0x6e> .byte 76,137,231 // mov %r12,%rdi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 76,137,248 // mov %r15,%rax .byte 72,131,196,8 // add $0x8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_ssse3_lowp .globl _sk_just_return_ssse3_lowp FUNCTION(_sk_just_return_ssse3_lowp) _sk_just_return_ssse3_lowp: .byte 195 // retq HIDDEN _sk_uniform_color_ssse3_lowp .globl _sk_uniform_color_ssse3_lowp FUNCTION(_sk_uniform_color_ssse3_lowp) _sk_uniform_color_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,16,24 // movups (%rax),%xmm3 .byte 15,88,29,227,25,0,0 // addps 0x19e3(%rip),%xmm3 # 1a70 <_sk_xor__ssse3_lowp+0xa7> .byte 242,15,112,195,0 // pshuflw $0x0,%xmm3,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 242,15,112,203,170 // pshuflw $0xaa,%xmm3,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 243,15,112,211,0 // pshufhw $0x0,%xmm3,%xmm2 .byte 102,15,112,210,250 // pshufd $0xfa,%xmm2,%xmm2 .byte 243,15,112,219,170 // pshufhw $0xaa,%xmm3,%xmm3 .byte 102,15,112,219,250 // pshufd $0xfa,%xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_ssse3_lowp .globl _sk_black_color_ssse3_lowp FUNCTION(_sk_black_color_ssse3_lowp) _sk_black_color_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,190,25,0,0 // movaps 0x19be(%rip),%xmm3 # 1a80 <_sk_xor__ssse3_lowp+0xb7> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_ssse3_lowp .globl _sk_white_color_ssse3_lowp FUNCTION(_sk_white_color_ssse3_lowp) _sk_white_color_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,5,186,25,0,0 // movaps 0x19ba(%rip),%xmm0 # 1a90 <_sk_xor__ssse3_lowp+0xc7> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_ssse3_lowp .globl _sk_set_rgb_ssse3_lowp FUNCTION(_sk_set_rgb_ssse3_lowp) _sk_set_rgb_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,21,213,28,0,0 // movss 0x1cd5(%rip),%xmm2 # 1dc0 <_sk_xor__ssse3_lowp+0x3f7> .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,88,194 // addss %xmm2,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,65,15,110,193 // movd %r9d,%xmm0 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 243,15,88,202 // addss %xmm2,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,65,15,110,201 // movd %r9d,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 243,15,88,80,8 // addss 0x8(%rax),%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_ssse3_lowp .globl _sk_premul_ssse3_lowp FUNCTION(_sk_premul_ssse3_lowp) _sk_premul_ssse3_lowp: .byte 102,15,56,11,195 // pmulhrsw %xmm3,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,56,11,203 // pmulhrsw %xmm3,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,56,11,211 // pmulhrsw %xmm3,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_8888_ssse3_lowp .globl _sk_load_8888_ssse3_lowp FUNCTION(_sk_load_8888_ssse3_lowp) _sk_load_8888_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,191,0,0,0 // jne 22e <_sk_load_8888_ssse3_lowp+0xcd> .byte 69,15,16,68,147,16 // movups 0x10(%r11,%rdx,4),%xmm8 .byte 102,65,15,16,28,147 // movupd (%r11,%rdx,4),%xmm3 .byte 102,15,111,13,29,25,0,0 // movdqa 0x191d(%rip),%xmm1 # 1aa0 <_sk_xor__ssse3_lowp+0xd7> .byte 102,15,40,195 // movapd %xmm3,%xmm0 .byte 102,15,56,0,193 // pshufb %xmm1,%xmm0 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,15,56,0,209 // pshufb %xmm1,%xmm2 .byte 102,15,108,194 // punpcklqdq %xmm2,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,68,15,111,13,8,25,0,0 // movdqa 0x1908(%rip),%xmm9 # 1ab0 <_sk_xor__ssse3_lowp+0xe7> .byte 102,65,15,228,193 // pmulhuw %xmm9,%xmm0 .byte 102,68,15,111,21,10,25,0,0 // movdqa 0x190a(%rip),%xmm10 # 1ac0 <_sk_xor__ssse3_lowp+0xf7> .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,65,15,56,0,202 // pshufb %xmm10,%xmm1 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,65,15,56,0,210 // pshufb %xmm10,%xmm2 .byte 102,15,108,202 // punpcklqdq %xmm2,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,65,15,228,201 // pmulhuw %xmm9,%xmm1 .byte 102,68,15,111,21,238,24,0,0 // movdqa 0x18ee(%rip),%xmm10 # 1ad0 <_sk_xor__ssse3_lowp+0x107> .byte 102,15,40,211 // movapd %xmm3,%xmm2 .byte 102,65,15,56,0,210 // pshufb %xmm10,%xmm2 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,211 // punpcklqdq %xmm11,%xmm2 .byte 102,15,113,242,8 // psllw $0x8,%xmm2 .byte 102,65,15,228,209 // pmulhuw %xmm9,%xmm2 .byte 102,68,15,111,21,209,24,0,0 // movdqa 0x18d1(%rip),%xmm10 # 1ae0 <_sk_xor__ssse3_lowp+0x117> .byte 102,65,15,56,0,218 // pshufb %xmm10,%xmm3 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,216 // punpcklqdq %xmm8,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,65,15,228,217 // pmulhuw %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,48,255,255,255 // ja 17b <_sk_load_8888_ssse3_lowp+0x1a> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,94,0,0,0 // lea 0x5e(%rip),%r10 # 2b4 <_sk_load_8888_ssse3_lowp+0x153> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 243,65,15,16,28,147 // movss (%r11,%rdx,4),%xmm3 .byte 233,17,255,255,255 // jmpq 17b <_sk_load_8888_ssse3_lowp+0x1a> .byte 102,65,15,110,68,147,8 // movd 0x8(%r11,%rdx,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,65,15,18,28,147 // movlpd (%r11,%rdx,4),%xmm3 .byte 233,250,254,255,255 // jmpq 17b <_sk_load_8888_ssse3_lowp+0x1a> .byte 102,65,15,110,68,147,24 // movd 0x18(%r11,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,16,68,147,20 // movss 0x14(%r11,%rdx,4),%xmm0 .byte 65,15,198,192,0 // shufps $0x0,%xmm8,%xmm0 .byte 65,15,198,192,226 // shufps $0xe2,%xmm8,%xmm0 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 243,65,15,16,68,147,16 // movss 0x10(%r11,%rdx,4),%xmm0 .byte 243,68,15,16,192 // movss %xmm0,%xmm8 .byte 233,193,254,255,255 // jmpq 175 <_sk_load_8888_ssse3_lowp+0x14> .byte 171 // stos %eax,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,182,255,255,255,193 // pushq -0x3e000001(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_ssse3_lowp .globl _sk_load_8888_dst_ssse3_lowp FUNCTION(_sk_load_8888_dst_ssse3_lowp) _sk_load_8888_dst_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,191,0,0,0 // jne 39d <_sk_load_8888_dst_ssse3_lowp+0xcd> .byte 69,15,16,68,147,16 // movups 0x10(%r11,%rdx,4),%xmm8 .byte 102,65,15,16,60,147 // movupd (%r11,%rdx,4),%xmm7 .byte 102,15,111,45,254,23,0,0 // movdqa 0x17fe(%rip),%xmm5 # 1af0 <_sk_xor__ssse3_lowp+0x127> .byte 102,15,40,231 // movapd %xmm7,%xmm4 .byte 102,15,56,0,229 // pshufb %xmm5,%xmm4 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,15,56,0,245 // pshufb %xmm5,%xmm6 .byte 102,15,108,230 // punpcklqdq %xmm6,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,68,15,111,13,233,23,0,0 // movdqa 0x17e9(%rip),%xmm9 # 1b00 <_sk_xor__ssse3_lowp+0x137> .byte 102,65,15,228,225 // pmulhuw %xmm9,%xmm4 .byte 102,68,15,111,21,235,23,0,0 // movdqa 0x17eb(%rip),%xmm10 # 1b10 <_sk_xor__ssse3_lowp+0x147> .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,65,15,56,0,234 // pshufb %xmm10,%xmm5 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,65,15,56,0,242 // pshufb %xmm10,%xmm6 .byte 102,15,108,238 // punpcklqdq %xmm6,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,65,15,228,233 // pmulhuw %xmm9,%xmm5 .byte 102,68,15,111,21,207,23,0,0 // movdqa 0x17cf(%rip),%xmm10 # 1b20 <_sk_xor__ssse3_lowp+0x157> .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,65,15,56,0,242 // pshufb %xmm10,%xmm6 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,243 // punpcklqdq %xmm11,%xmm6 .byte 102,15,113,246,8 // psllw $0x8,%xmm6 .byte 102,65,15,228,241 // pmulhuw %xmm9,%xmm6 .byte 102,68,15,111,21,178,23,0,0 // movdqa 0x17b2(%rip),%xmm10 # 1b30 <_sk_xor__ssse3_lowp+0x167> .byte 102,65,15,56,0,250 // pshufb %xmm10,%xmm7 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,248 // punpcklqdq %xmm8,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,65,15,228,249 // pmulhuw %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,48,255,255,255 // ja 2ea <_sk_load_8888_dst_ssse3_lowp+0x1a> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,95,0,0,0 // lea 0x5f(%rip),%r10 # 424 <_sk_load_8888_dst_ssse3_lowp+0x154> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,147 // movss (%r11,%rdx,4),%xmm7 .byte 233,17,255,255,255 // jmpq 2ea <_sk_load_8888_dst_ssse3_lowp+0x1a> .byte 102,65,15,110,100,147,8 // movd 0x8(%r11,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,65,15,18,60,147 // movlpd (%r11,%rdx,4),%xmm7 .byte 233,250,254,255,255 // jmpq 2ea <_sk_load_8888_dst_ssse3_lowp+0x1a> .byte 102,65,15,110,100,147,24 // movd 0x18(%r11,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,147,20 // movss 0x14(%r11,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,147,16 // movss 0x10(%r11,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 233,193,254,255,255 // jmpq 2e4 <_sk_load_8888_dst_ssse3_lowp+0x14> .byte 144 // nop .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,181,255,255,255,192 // pushq -0x3f000001(%rbp) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 217,255 // fcos .byte 255 // (bad) .byte 255,204 // dec %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_8888_ssse3_lowp .globl _sk_store_8888_ssse3_lowp FUNCTION(_sk_store_8888_ssse3_lowp) _sk_store_8888_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,68,15,111,21,231,22,0,0 // movdqa 0x16e7(%rip),%xmm10 # 1b40 <_sk_xor__ssse3_lowp+0x177> .byte 102,69,15,234,194 // pminsw %xmm10,%xmm8 .byte 102,69,15,239,219 // pxor %xmm11,%xmm11 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,235 // punpcklwd %xmm11,%xmm13 .byte 102,69,15,105,195 // punpckhwd %xmm11,%xmm8 .byte 102,68,15,111,201 // movdqa %xmm1,%xmm9 .byte 102,65,15,113,209,7 // psrlw $0x7,%xmm9 .byte 102,69,15,234,202 // pminsw %xmm10,%xmm9 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,69,15,105,227 // punpckhwd %xmm11,%xmm12 .byte 102,69,15,97,203 // punpcklwd %xmm11,%xmm9 .byte 102,65,15,114,241,8 // pslld $0x8,%xmm9 .byte 102,65,15,114,244,8 // pslld $0x8,%xmm12 .byte 102,69,15,235,224 // por %xmm8,%xmm12 .byte 102,69,15,235,205 // por %xmm13,%xmm9 .byte 102,68,15,111,234 // movdqa %xmm2,%xmm13 .byte 102,65,15,113,213,7 // psrlw $0x7,%xmm13 .byte 102,69,15,234,234 // pminsw %xmm10,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,97,243 // punpcklwd %xmm11,%xmm14 .byte 102,69,15,105,235 // punpckhwd %xmm11,%xmm13 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,65,15,114,246,16 // pslld $0x10,%xmm14 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,69,15,234,194 // pminsw %xmm10,%xmm8 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,69,15,105,211 // punpckhwd %xmm11,%xmm10 .byte 102,69,15,97,195 // punpcklwd %xmm11,%xmm8 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,65,15,114,242,24 // pslld $0x18,%xmm10 .byte 102,69,15,235,213 // por %xmm13,%xmm10 .byte 102,69,15,235,212 // por %xmm12,%xmm10 .byte 102,69,15,235,198 // por %xmm14,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,17 // jne 527 <_sk_store_8888_ssse3_lowp+0xe7> .byte 243,69,15,127,4,147 // movdqu %xmm8,(%r11,%rdx,4) .byte 243,69,15,127,84,147,16 // movdqu %xmm10,0x10(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 523 <_sk_store_8888_ssse3_lowp+0xe3> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,82,0,0,0 // lea 0x52(%rip),%r10 # 594 <_sk_store_8888_ssse3_lowp+0x154> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,4,147 // movd %xmm8,(%r11,%rdx,4) .byte 235,208 // jmp 523 <_sk_store_8888_ssse3_lowp+0xe3> .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,69,15,126,76,147,8 // movd %xmm9,0x8(%r11,%rdx,4) .byte 102,69,15,214,4,147 // movq %xmm8,(%r11,%rdx,4) .byte 235,187 // jmp 523 <_sk_store_8888_ssse3_lowp+0xe3> .byte 102,69,15,112,202,78 // pshufd $0x4e,%xmm10,%xmm9 .byte 102,69,15,126,76,147,24 // movd %xmm9,0x18(%r11,%rdx,4) .byte 102,69,15,112,202,229 // pshufd $0xe5,%xmm10,%xmm9 .byte 102,69,15,126,76,147,20 // movd %xmm9,0x14(%r11,%rdx,4) .byte 102,69,15,126,84,147,16 // movd %xmm10,0x10(%r11,%rdx,4) .byte 243,69,15,127,4,147 // movdqu %xmm8,(%r11,%rdx,4) .byte 235,146 // jmp 523 <_sk_store_8888_ssse3_lowp+0xe3> .byte 15,31,0 // nopl (%rax) .byte 183,255 // mov $0xff,%bh .byte 255 // (bad) .byte 255,204 // dec %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,245 // mov $0xf5ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,225 // jmpq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_ssse3_lowp .globl _sk_load_bgra_ssse3_lowp FUNCTION(_sk_load_bgra_ssse3_lowp) _sk_load_bgra_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,191,0,0,0 // jne 67d <_sk_load_bgra_ssse3_lowp+0xcd> .byte 69,15,16,68,147,16 // movups 0x10(%r11,%rdx,4),%xmm8 .byte 102,65,15,16,28,147 // movupd (%r11,%rdx,4),%xmm3 .byte 102,15,111,5,126,21,0,0 // movdqa 0x157e(%rip),%xmm0 # 1b50 <_sk_xor__ssse3_lowp+0x187> .byte 102,15,40,211 // movapd %xmm3,%xmm2 .byte 102,15,56,0,208 // pshufb %xmm0,%xmm2 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 .byte 102,15,56,0,200 // pshufb %xmm0,%xmm1 .byte 102,15,108,209 // punpcklqdq %xmm1,%xmm2 .byte 102,15,113,242,8 // psllw $0x8,%xmm2 .byte 102,68,15,111,13,105,21,0,0 // movdqa 0x1569(%rip),%xmm9 # 1b60 <_sk_xor__ssse3_lowp+0x197> .byte 102,65,15,228,209 // pmulhuw %xmm9,%xmm2 .byte 102,68,15,111,21,107,21,0,0 // movdqa 0x156b(%rip),%xmm10 # 1b70 <_sk_xor__ssse3_lowp+0x1a7> .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,65,15,56,0,202 // pshufb %xmm10,%xmm1 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,65,15,56,0,194 // pshufb %xmm10,%xmm0 .byte 102,15,108,200 // punpcklqdq %xmm0,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,65,15,228,201 // pmulhuw %xmm9,%xmm1 .byte 102,68,15,111,21,79,21,0,0 // movdqa 0x154f(%rip),%xmm10 # 1b80 <_sk_xor__ssse3_lowp+0x1b7> .byte 102,15,40,195 // movapd %xmm3,%xmm0 .byte 102,65,15,56,0,194 // pshufb %xmm10,%xmm0 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,195 // punpcklqdq %xmm11,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,65,15,228,193 // pmulhuw %xmm9,%xmm0 .byte 102,68,15,111,21,50,21,0,0 // movdqa 0x1532(%rip),%xmm10 # 1b90 <_sk_xor__ssse3_lowp+0x1c7> .byte 102,65,15,56,0,218 // pshufb %xmm10,%xmm3 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,216 // punpcklqdq %xmm8,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,65,15,228,217 // pmulhuw %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,48,255,255,255 // ja 5ca <_sk_load_bgra_ssse3_lowp+0x1a> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,95,0,0,0 // lea 0x5f(%rip),%r10 # 704 <_sk_load_bgra_ssse3_lowp+0x154> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 243,65,15,16,28,147 // movss (%r11,%rdx,4),%xmm3 .byte 233,17,255,255,255 // jmpq 5ca <_sk_load_bgra_ssse3_lowp+0x1a> .byte 102,65,15,110,68,147,8 // movd 0x8(%r11,%rdx,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,65,15,18,28,147 // movlpd (%r11,%rdx,4),%xmm3 .byte 233,250,254,255,255 // jmpq 5ca <_sk_load_bgra_ssse3_lowp+0x1a> .byte 102,65,15,110,68,147,24 // movd 0x18(%r11,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,16,68,147,20 // movss 0x14(%r11,%rdx,4),%xmm0 .byte 65,15,198,192,0 // shufps $0x0,%xmm8,%xmm0 .byte 65,15,198,192,226 // shufps $0xe2,%xmm8,%xmm0 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 243,65,15,16,68,147,16 // movss 0x10(%r11,%rdx,4),%xmm0 .byte 243,68,15,16,192 // movss %xmm0,%xmm8 .byte 233,193,254,255,255 // jmpq 5c4 <_sk_load_bgra_ssse3_lowp+0x14> .byte 144 // nop .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,181,255,255,255,192 // pushq -0x3f000001(%rbp) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 217,255 // fcos .byte 255 // (bad) .byte 255,204 // dec %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_ssse3_lowp .globl _sk_load_bgra_dst_ssse3_lowp FUNCTION(_sk_load_bgra_dst_ssse3_lowp) _sk_load_bgra_dst_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,191,0,0,0 // jne 7ed <_sk_load_bgra_dst_ssse3_lowp+0xcd> .byte 69,15,16,68,147,16 // movups 0x10(%r11,%rdx,4),%xmm8 .byte 102,65,15,16,60,147 // movupd (%r11,%rdx,4),%xmm7 .byte 102,15,111,37,94,20,0,0 // movdqa 0x145e(%rip),%xmm4 # 1ba0 <_sk_xor__ssse3_lowp+0x1d7> .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,15,56,0,244 // pshufb %xmm4,%xmm6 .byte 102,65,15,111,232 // movdqa %xmm8,%xmm5 .byte 102,15,56,0,236 // pshufb %xmm4,%xmm5 .byte 102,15,108,245 // punpcklqdq %xmm5,%xmm6 .byte 102,15,113,246,8 // psllw $0x8,%xmm6 .byte 102,68,15,111,13,73,20,0,0 // movdqa 0x1449(%rip),%xmm9 # 1bb0 <_sk_xor__ssse3_lowp+0x1e7> .byte 102,65,15,228,241 // pmulhuw %xmm9,%xmm6 .byte 102,68,15,111,21,75,20,0,0 // movdqa 0x144b(%rip),%xmm10 # 1bc0 <_sk_xor__ssse3_lowp+0x1f7> .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,65,15,56,0,234 // pshufb %xmm10,%xmm5 .byte 102,65,15,111,224 // movdqa %xmm8,%xmm4 .byte 102,65,15,56,0,226 // pshufb %xmm10,%xmm4 .byte 102,15,108,236 // punpcklqdq %xmm4,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,65,15,228,233 // pmulhuw %xmm9,%xmm5 .byte 102,68,15,111,21,47,20,0,0 // movdqa 0x142f(%rip),%xmm10 # 1bd0 <_sk_xor__ssse3_lowp+0x207> .byte 102,15,40,231 // movapd %xmm7,%xmm4 .byte 102,65,15,56,0,226 // pshufb %xmm10,%xmm4 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,227 // punpcklqdq %xmm11,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,65,15,228,225 // pmulhuw %xmm9,%xmm4 .byte 102,68,15,111,21,18,20,0,0 // movdqa 0x1412(%rip),%xmm10 # 1be0 <_sk_xor__ssse3_lowp+0x217> .byte 102,65,15,56,0,250 // pshufb %xmm10,%xmm7 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,248 // punpcklqdq %xmm8,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,65,15,228,249 // pmulhuw %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,48,255,255,255 // ja 73a <_sk_load_bgra_dst_ssse3_lowp+0x1a> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,95,0,0,0 // lea 0x5f(%rip),%r10 # 874 <_sk_load_bgra_dst_ssse3_lowp+0x154> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,147 // movss (%r11,%rdx,4),%xmm7 .byte 233,17,255,255,255 // jmpq 73a <_sk_load_bgra_dst_ssse3_lowp+0x1a> .byte 102,65,15,110,100,147,8 // movd 0x8(%r11,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,65,15,18,60,147 // movlpd (%r11,%rdx,4),%xmm7 .byte 233,250,254,255,255 // jmpq 73a <_sk_load_bgra_dst_ssse3_lowp+0x1a> .byte 102,65,15,110,100,147,24 // movd 0x18(%r11,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,147,20 // movss 0x14(%r11,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,147,16 // movss 0x10(%r11,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 233,193,254,255,255 // jmpq 734 <_sk_load_bgra_dst_ssse3_lowp+0x14> .byte 144 // nop .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,181,255,255,255,192 // pushq -0x3f000001(%rbp) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 217,255 // fcos .byte 255 // (bad) .byte 255,204 // dec %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_bgra_ssse3_lowp .globl _sk_store_bgra_ssse3_lowp FUNCTION(_sk_store_bgra_ssse3_lowp) _sk_store_bgra_ssse3_lowp: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 102,68,15,111,210 // movdqa %xmm2,%xmm10 .byte 102,65,15,113,210,7 // psrlw $0x7,%xmm10 .byte 102,68,15,111,13,71,19,0,0 // movdqa 0x1347(%rip),%xmm9 # 1bf0 <_sk_xor__ssse3_lowp+0x227> .byte 102,69,15,234,209 // pminsw %xmm9,%xmm10 .byte 102,69,15,239,246 // pxor %xmm14,%xmm14 .byte 102,65,15,111,250 // movdqa %xmm10,%xmm7 .byte 102,65,15,97,254 // punpcklwd %xmm14,%xmm7 .byte 102,69,15,105,214 // punpckhwd %xmm14,%xmm10 .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 .byte 102,65,15,113,212,7 // psrlw $0x7,%xmm12 .byte 102,69,15,234,225 // pminsw %xmm9,%xmm12 .byte 102,69,15,111,236 // movdqa %xmm12,%xmm13 .byte 102,69,15,97,238 // punpcklwd %xmm14,%xmm13 .byte 102,69,15,105,230 // punpckhwd %xmm14,%xmm12 .byte 102,68,15,111,248 // movdqa %xmm0,%xmm15 .byte 102,65,15,113,215,7 // psrlw $0x7,%xmm15 .byte 102,69,15,234,249 // pminsw %xmm9,%xmm15 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,69,15,234,193 // pminsw %xmm9,%xmm8 .byte 102,69,15,111,207 // movdqa %xmm15,%xmm9 .byte 102,69,15,105,206 // punpckhwd %xmm14,%xmm9 .byte 102,69,15,97,254 // punpcklwd %xmm14,%xmm15 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,105,222 // punpckhwd %xmm14,%xmm11 .byte 102,69,15,97,198 // punpcklwd %xmm14,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,69,15,235,202 // por %xmm10,%xmm9 .byte 102,65,15,114,247,16 // pslld $0x10,%xmm15 .byte 102,68,15,235,255 // por %xmm7,%xmm15 .byte 102,65,15,114,244,8 // pslld $0x8,%xmm12 .byte 102,65,15,114,243,24 // pslld $0x18,%xmm11 .byte 102,69,15,235,220 // por %xmm12,%xmm11 .byte 102,69,15,235,217 // por %xmm9,%xmm11 .byte 102,65,15,114,245,8 // pslld $0x8,%xmm13 .byte 102,65,15,114,240,24 // pslld $0x18,%xmm8 .byte 102,69,15,235,197 // por %xmm13,%xmm8 .byte 102,69,15,235,199 // por %xmm15,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,22 // jne 981 <_sk_store_bgra_ssse3_lowp+0xf1> .byte 243,69,15,127,4,147 // movdqu %xmm8,(%r11,%rdx,4) .byte 243,69,15,127,92,147,16 // movdqu %xmm11,0x10(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,231 // ja 978 <_sk_store_bgra_ssse3_lowp+0xe8> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,80,0,0,0 // lea 0x50(%rip),%r10 # 9ec <_sk_store_bgra_ssse3_lowp+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,4,147 // movd %xmm8,(%r11,%rdx,4) .byte 235,203 // jmp 978 <_sk_store_bgra_ssse3_lowp+0xe8> .byte 102,65,15,112,248,78 // pshufd $0x4e,%xmm8,%xmm7 .byte 102,65,15,126,124,147,8 // movd %xmm7,0x8(%r11,%rdx,4) .byte 102,69,15,214,4,147 // movq %xmm8,(%r11,%rdx,4) .byte 235,182 // jmp 978 <_sk_store_bgra_ssse3_lowp+0xe8> .byte 102,65,15,112,251,78 // pshufd $0x4e,%xmm11,%xmm7 .byte 102,65,15,126,124,147,24 // movd %xmm7,0x18(%r11,%rdx,4) .byte 102,65,15,112,251,229 // pshufd $0xe5,%xmm11,%xmm7 .byte 102,65,15,126,124,147,20 // movd %xmm7,0x14(%r11,%rdx,4) .byte 102,69,15,126,92,147,16 // movd %xmm11,0x10(%r11,%rdx,4) .byte 243,69,15,127,4,147 // movdqu %xmm8,(%r11,%rdx,4) .byte 235,141 // jmp 978 <_sk_store_bgra_ssse3_lowp+0xe8> .byte 144 // nop .byte 185,255,255,255,206 // mov $0xceffffff,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,247 // push %rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,240 // push %rax .byte 255 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_ssse3_lowp .globl _sk_load_a8_ssse3_lowp FUNCTION(_sk_load_a8_ssse3_lowp) _sk_load_a8_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,37 // jne a37 <_sk_load_a8_ssse3_lowp+0x2f> .byte 243,65,15,126,28,19 // movq (%r11,%rdx,1),%xmm3 .byte 102,15,96,216 // punpcklbw %xmm0,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,228,29,215,17,0,0 // pmulhuw 0x11d7(%rip),%xmm3 # 1c00 <_sk_xor__ssse3_lowp+0x237> .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,87,192 // xorpd %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,209 // ja a1c <_sk_load_a8_ssse3_lowp+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,110,0,0,0 // lea 0x6e(%rip),%r10 # ac4 <_sk_load_a8_ssse3_lowp+0xbc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 235,178 // jmp a1c <_sk_load_a8_ssse3_lowp+0x14> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,216,2 // pinsrw $0x2,%eax,%xmm3 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 243,15,16,216 // movss %xmm0,%xmm3 .byte 235,144 // jmp a1c <_sk_load_a8_ssse3_lowp+0x14> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,216,6 // pinsrw $0x6,%eax,%xmm3 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,15,196,216,5 // pinsrw $0x5,%eax,%xmm3 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,15,196,216,4 // pinsrw $0x4,%eax,%xmm3 .byte 102,65,15,110,4,19 // movd (%r11,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 233,88,255,255,255 // jmpq a1c <_sk_load_a8_ssse3_lowp+0x14> .byte 155 // fwait .byte 255 // (bad) .byte 255 // (bad) .byte 255,181,255,255,255,166 // pushq -0x59000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_ssse3_lowp .globl _sk_load_a8_dst_ssse3_lowp FUNCTION(_sk_load_a8_dst_ssse3_lowp) _sk_load_a8_dst_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,37 // jne b0f <_sk_load_a8_dst_ssse3_lowp+0x2f> .byte 243,65,15,126,60,19 // movq (%r11,%rdx,1),%xmm7 .byte 102,15,96,248 // punpcklbw %xmm0,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,15,228,61,15,17,0,0 // pmulhuw 0x110f(%rip),%xmm7 # 1c10 <_sk_xor__ssse3_lowp+0x247> .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,87,228 // xorpd %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,209 // ja af4 <_sk_load_a8_dst_ssse3_lowp+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,110,0,0,0 // lea 0x6e(%rip),%r10 # b9c <_sk_load_a8_dst_ssse3_lowp+0xbc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 235,178 // jmp af4 <_sk_load_a8_dst_ssse3_lowp+0x14> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,196,248,2 // pinsrw $0x2,%eax,%xmm7 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 243,15,16,252 // movss %xmm4,%xmm7 .byte 235,144 // jmp af4 <_sk_load_a8_dst_ssse3_lowp+0x14> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,196,248,6 // pinsrw $0x6,%eax,%xmm7 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,15,196,248,5 // pinsrw $0x5,%eax,%xmm7 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,15,196,248,4 // pinsrw $0x4,%eax,%xmm7 .byte 102,65,15,110,36,19 // movd (%r11,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 242,15,16,252 // movsd %xmm4,%xmm7 .byte 233,88,255,255,255 // jmpq af4 <_sk_load_a8_dst_ssse3_lowp+0x14> .byte 155 // fwait .byte 255 // (bad) .byte 255 // (bad) .byte 255,181,255,255,255,166 // pushq -0x59000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_a8_ssse3_lowp .globl _sk_store_a8_ssse3_lowp FUNCTION(_sk_store_a8_ssse3_lowp) _sk_store_a8_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 77,133,192 // test %r8,%r8 .byte 117,10 // jne bdc <_sk_store_a8_ssse3_lowp+0x24> .byte 242,69,15,17,4,19 // movsd %xmm8,(%r11,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja bd8 <_sk_store_a8_ssse3_lowp+0x20> .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,136,0,0,0 // lea 0x88(%rip),%r10 # c84 <_sk_store_a8_ssse3_lowp+0xcc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,127,68,36,168 // movdqa %xmm8,-0x58(%rsp) .byte 138,68,36,168 // mov -0x58(%rsp),%al .byte 65,136,4,19 // mov %al,(%r11,%rdx,1) .byte 235,194 // jmp bd8 <_sk_store_a8_ssse3_lowp+0x20> .byte 102,68,15,127,68,36,184 // movdqa %xmm8,-0x48(%rsp) .byte 138,68,36,188 // mov -0x44(%rsp),%al .byte 65,136,68,19,2 // mov %al,0x2(%r11,%rdx,1) .byte 102,68,15,56,0,5,0,16,0,0 // pshufb 0x1000(%rip),%xmm8 # 1c30 <_sk_xor__ssse3_lowp+0x267> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,19 // mov %ax,(%r11,%rdx,1) .byte 235,156 // jmp bd8 <_sk_store_a8_ssse3_lowp+0x20> .byte 102,68,15,127,68,36,232 // movdqa %xmm8,-0x18(%rsp) .byte 138,68,36,244 // mov -0xc(%rsp),%al .byte 65,136,68,19,6 // mov %al,0x6(%r11,%rdx,1) .byte 102,68,15,127,68,36,216 // movdqa %xmm8,-0x28(%rsp) .byte 138,68,36,226 // mov -0x1e(%rsp),%al .byte 65,136,68,19,5 // mov %al,0x5(%r11,%rdx,1) .byte 102,68,15,127,68,36,200 // movdqa %xmm8,-0x38(%rsp) .byte 138,68,36,208 // mov -0x30(%rsp),%al .byte 65,136,68,19,4 // mov %al,0x4(%r11,%rdx,1) .byte 102,68,15,56,0,5,170,15,0,0 // pshufb 0xfaa(%rip),%xmm8 # 1c20 <_sk_xor__ssse3_lowp+0x257> .byte 102,69,15,126,4,19 // movd %xmm8,(%r11,%rdx,1) .byte 233,87,255,255,255 // jmpq bd8 <_sk_store_a8_ssse3_lowp+0x20> .byte 15,31,0 // nopl (%rax) .byte 129,255,255,255,162,255 // cmp $0xffa2ffff,%edi .byte 255 // (bad) .byte 255,146,255,255,255,232 // callq *-0x17000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,200 // dec %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 184 // .byte 0xb8 .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_ssse3_lowp .globl _sk_load_g8_ssse3_lowp FUNCTION(_sk_load_g8_ssse3_lowp) _sk_load_g8_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,42 // jne cd4 <_sk_load_g8_ssse3_lowp+0x34> .byte 243,65,15,126,4,19 // movq (%r11,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,228,5,127,15,0,0 // pmulhuw 0xf7f(%rip),%xmm0 # 1c40 <_sk_xor__ssse3_lowp+0x277> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,134,15,0,0 // movaps 0xf86(%rip),%xmm3 # 1c50 <_sk_xor__ssse3_lowp+0x287> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,204 // ja cb4 <_sk_load_g8_ssse3_lowp+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,113,0,0,0 // lea 0x71(%rip),%r10 # d64 <_sk_load_g8_ssse3_lowp+0xc4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,173 // jmp cb4 <_sk_load_g8_ssse3_lowp+0x14> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,2 // pinsrw $0x2,%eax,%xmm0 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 243,15,16,193 // movss %xmm1,%xmm0 .byte 235,139 // jmp cb4 <_sk_load_g8_ssse3_lowp+0x14> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,6 // pinsrw $0x6,%eax,%xmm0 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,15,196,192,5 // pinsrw $0x5,%eax,%xmm0 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,15,196,192,4 // pinsrw $0x4,%eax,%xmm0 .byte 102,65,15,110,12,19 // movd (%r11,%rdx,1),%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 233,83,255,255,255 // jmpq cb4 <_sk_load_g8_ssse3_lowp+0x14> .byte 15,31,0 // nopl (%rax) .byte 152 // cwtl .byte 255 // (bad) .byte 255 // (bad) .byte 255,178,255,255,255,163 // pushq -0x5c000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_ssse3_lowp .globl _sk_load_g8_dst_ssse3_lowp FUNCTION(_sk_load_g8_dst_ssse3_lowp) _sk_load_g8_dst_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,42 // jne db4 <_sk_load_g8_dst_ssse3_lowp+0x34> .byte 243,65,15,126,36,19 // movq (%r11,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,228,37,191,14,0,0 // pmulhuw 0xebf(%rip),%xmm4 # 1c60 <_sk_xor__ssse3_lowp+0x297> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,198,14,0,0 // movaps 0xec6(%rip),%xmm7 # 1c70 <_sk_xor__ssse3_lowp+0x2a7> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,204 // ja d94 <_sk_load_g8_dst_ssse3_lowp+0x14> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,113,0,0,0 // lea 0x71(%rip),%r10 # e44 <_sk_load_g8_dst_ssse3_lowp+0xc4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,173 // jmp d94 <_sk_load_g8_dst_ssse3_lowp+0x14> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,2 // pinsrw $0x2,%eax,%xmm4 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,139 // jmp d94 <_sk_load_g8_dst_ssse3_lowp+0x14> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,6 // pinsrw $0x6,%eax,%xmm4 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,15,196,224,5 // pinsrw $0x5,%eax,%xmm4 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,15,196,224,4 // pinsrw $0x4,%eax,%xmm4 .byte 102,65,15,110,44,19 // movd (%r11,%rdx,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,83,255,255,255 // jmpq d94 <_sk_load_g8_dst_ssse3_lowp+0x14> .byte 15,31,0 // nopl (%rax) .byte 152 // cwtl .byte 255 // (bad) .byte 255 // (bad) .byte 255,178,255,255,255,163 // pushq -0x5c000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,197 // inc %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_srcover_rgba_8888_ssse3_lowp .globl _sk_srcover_rgba_8888_ssse3_lowp FUNCTION(_sk_srcover_rgba_8888_ssse3_lowp) _sk_srcover_rgba_8888_ssse3_lowp: .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,11,2,0,0 // jne 107e <_sk_srcover_rgba_8888_ssse3_lowp+0x21e> .byte 69,15,16,68,147,16 // movups 0x10(%r11,%rdx,4),%xmm8 .byte 102,65,15,16,60,147 // movupd (%r11,%rdx,4),%xmm7 .byte 102,15,111,45,249,13,0,0 // movdqa 0xdf9(%rip),%xmm5 # 1c80 <_sk_xor__ssse3_lowp+0x2b7> .byte 102,15,40,231 // movapd %xmm7,%xmm4 .byte 102,15,56,0,229 // pshufb %xmm5,%xmm4 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,15,56,0,245 // pshufb %xmm5,%xmm6 .byte 102,15,108,230 // punpcklqdq %xmm6,%xmm4 .byte 102,15,111,13,234,13,0,0 // movdqa 0xdea(%rip),%xmm1 # 1c90 <_sk_xor__ssse3_lowp+0x2c7> .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,68,15,111,13,236,13,0,0 // movdqa 0xdec(%rip),%xmm9 # 1ca0 <_sk_xor__ssse3_lowp+0x2d7> .byte 102,65,15,228,225 // pmulhuw %xmm9,%xmm4 .byte 102,68,15,111,21,238,13,0,0 // movdqa 0xdee(%rip),%xmm10 # 1cb0 <_sk_xor__ssse3_lowp+0x2e7> .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,65,15,56,0,234 // pshufb %xmm10,%xmm5 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,65,15,56,0,242 // pshufb %xmm10,%xmm6 .byte 102,15,108,238 // punpcklqdq %xmm6,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,65,15,228,233 // pmulhuw %xmm9,%xmm5 .byte 102,68,15,111,21,210,13,0,0 // movdqa 0xdd2(%rip),%xmm10 # 1cc0 <_sk_xor__ssse3_lowp+0x2f7> .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,65,15,56,0,242 // pshufb %xmm10,%xmm6 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,243 // punpcklqdq %xmm11,%xmm6 .byte 102,15,113,246,8 // psllw $0x8,%xmm6 .byte 102,65,15,228,241 // pmulhuw %xmm9,%xmm6 .byte 102,68,15,111,21,181,13,0,0 // movdqa 0xdb5(%rip),%xmm10 # 1cd0 <_sk_xor__ssse3_lowp+0x307> .byte 102,65,15,56,0,250 // pshufb %xmm10,%xmm7 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,248 // punpcklqdq %xmm8,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,65,15,228,249 // pmulhuw %xmm9,%xmm7 .byte 102,68,15,111,29,161,13,0,0 // movdqa 0xda1(%rip),%xmm11 # 1ce0 <_sk_xor__ssse3_lowp+0x317> .byte 102,68,15,249,219 // psubw %xmm3,%xmm11 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 102,69,15,56,11,195 // pmulhrsw %xmm11,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,68,15,253,192 // paddw %xmm0,%xmm8 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,65,15,56,11,195 // pmulhrsw %xmm11,%xmm0 .byte 102,68,15,56,29,200 // pabsw %xmm0,%xmm9 .byte 102,69,15,253,204 // paddw %xmm12,%xmm9 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,65,15,56,11,195 // pmulhrsw %xmm11,%xmm0 .byte 102,68,15,56,29,224 // pabsw %xmm0,%xmm12 .byte 102,68,15,253,226 // paddw %xmm2,%xmm12 .byte 102,68,15,56,11,223 // pmulhrsw %xmm7,%xmm11 .byte 102,69,15,56,29,219 // pabsw %xmm11,%xmm11 .byte 102,68,15,253,219 // paddw %xmm3,%xmm11 .byte 102,68,15,127,68,36,232 // movdqa %xmm8,-0x18(%rsp) .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,113,211,7 // psrlw $0x7,%xmm3 .byte 102,15,234,217 // pminsw %xmm1,%xmm3 .byte 102,69,15,239,255 // pxor %xmm15,%xmm15 .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,69,15,97,239 // punpcklwd %xmm15,%xmm13 .byte 102,65,15,105,223 // punpckhwd %xmm15,%xmm3 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,113,210,7 // psrlw $0x7,%xmm2 .byte 102,15,234,209 // pminsw %xmm1,%xmm2 .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 .byte 102,69,15,105,247 // punpckhwd %xmm15,%xmm14 .byte 102,65,15,97,215 // punpcklwd %xmm15,%xmm2 .byte 102,69,15,111,212 // movdqa %xmm12,%xmm10 .byte 102,65,15,113,210,7 // psrlw $0x7,%xmm10 .byte 102,68,15,234,209 // pminsw %xmm1,%xmm10 .byte 102,69,15,111,194 // movdqa %xmm10,%xmm8 .byte 102,69,15,97,199 // punpcklwd %xmm15,%xmm8 .byte 102,69,15,105,215 // punpckhwd %xmm15,%xmm10 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,15,113,208,7 // psrlw $0x7,%xmm0 .byte 102,15,234,193 // pminsw %xmm1,%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,65,15,105,207 // punpckhwd %xmm15,%xmm1 .byte 102,65,15,97,199 // punpcklwd %xmm15,%xmm0 .byte 102,65,15,114,246,8 // pslld $0x8,%xmm14 .byte 102,68,15,235,243 // por %xmm3,%xmm14 .byte 102,15,114,242,8 // pslld $0x8,%xmm2 .byte 102,65,15,235,213 // por %xmm13,%xmm2 .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 .byte 102,15,114,241,24 // pslld $0x18,%xmm1 .byte 102,65,15,235,202 // por %xmm10,%xmm1 .byte 102,65,15,235,206 // por %xmm14,%xmm1 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,15,114,240,24 // pslld $0x18,%xmm0 .byte 102,65,15,235,192 // por %xmm8,%xmm0 .byte 102,15,235,194 // por %xmm2,%xmm0 .byte 77,133,192 // test %r8,%r8 .byte 117,97 // jne 10ba <_sk_srcover_rgba_8888_ssse3_lowp+0x25a> .byte 243,65,15,127,4,147 // movdqu %xmm0,(%r11,%rdx,4) .byte 243,65,15,127,76,147,16 // movdqu %xmm1,0x10(%r11,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,68,36,232 // movaps -0x18(%rsp),%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,65,15,111,212 // movdqa %xmm12,%xmm2 .byte 102,65,15,111,219 // movdqa %xmm11,%xmm3 .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,228,253,255,255 // ja e7f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,206,0,0,0 // lea 0xce(%rip),%r10 # 1174 <_sk_srcover_rgba_8888_ssse3_lowp+0x314> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,147 // movss (%r11,%rdx,4),%xmm7 .byte 233,197,253,255,255 // jmpq e7f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f> .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,156 // ja 1066 <_sk_srcover_rgba_8888_ssse3_lowp+0x206> .byte 65,15,182,193 // movzbl %r9b,%eax .byte 76,141,13,187,0,0,0 // lea 0xbb(%rip),%r9 # 1190 <_sk_srcover_rgba_8888_ssse3_lowp+0x330> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,65,15,126,4,147 // movd %xmm0,(%r11,%rdx,4) .byte 235,128 // jmp 1066 <_sk_srcover_rgba_8888_ssse3_lowp+0x206> .byte 102,65,15,110,100,147,8 // movd 0x8(%r11,%rdx,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,65,15,18,60,147 // movlpd (%r11,%rdx,4),%xmm7 .byte 233,130,253,255,255 // jmpq e7f <_sk_srcover_rgba_8888_ssse3_lowp+0x1f> .byte 102,65,15,110,100,147,24 // movd 0x18(%r11,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,147,20 // movss 0x14(%r11,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,147,16 // movss 0x10(%r11,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 233,73,253,255,255 // jmpq e79 <_sk_srcover_rgba_8888_ssse3_lowp+0x19> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,76,147,8 // movd %xmm1,0x8(%r11,%rdx,4) .byte 102,65,15,214,4,147 // movq %xmm0,(%r11,%rdx,4) .byte 233,31,255,255,255 // jmpq 1066 <_sk_srcover_rgba_8888_ssse3_lowp+0x206> .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,65,15,126,84,147,24 // movd %xmm2,0x18(%r11,%rdx,4) .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,65,15,126,84,147,20 // movd %xmm2,0x14(%r11,%rdx,4) .byte 102,65,15,126,76,147,16 // movd %xmm1,0x10(%r11,%rdx,4) .byte 243,65,15,127,4,147 // movdqu %xmm0,(%r11,%rdx,4) .byte 233,245,254,255,255 // jmpq 1066 <_sk_srcover_rgba_8888_ssse3_lowp+0x206> .byte 15,31,0 // nopl (%rax) .byte 59,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 126,255 // jle 1179 <_sk_srcover_rgba_8888_ssse3_lowp+0x319> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,5,253,255,255,171 // incl -0x54000003(%rip) # ffffffffac001182 <_sk_xor__ssse3_lowp+0xffffffffabfff7b9> .byte 255 // (bad) .byte 255 // (bad) .byte 255,150,255,255,255,137 // callq *-0x76000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,78,255 // decl -0x1(%rsi) .byte 255 // (bad) .byte 255,172,255,255,255,160,255 // ljmp *-0x5f0001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,214 // callq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 183,255 // mov $0xff,%bh .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_scale_1_float_ssse3_lowp .globl _sk_scale_1_float_ssse3_lowp FUNCTION(_sk_scale_1_float_ssse3_lowp) _sk_scale_1_float_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,88,5,8,12,0,0 // addss 0xc08(%rip),%xmm8 # 1dc4 <_sk_xor__ssse3_lowp+0x3fb> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,56,11,216 // pmulhrsw %xmm8,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_ssse3_lowp .globl _sk_scale_u8_ssse3_lowp FUNCTION(_sk_scale_u8_ssse3_lowp) _sk_scale_u8_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 117,74 // jne 1256 <_sk_scale_u8_ssse3_lowp+0x54> .byte 243,69,15,126,4,19 // movq (%r11,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,228,5,202,10,0,0 // pmulhuw 0xaca(%rip),%xmm8 # 1cf0 <_sk_xor__ssse3_lowp+0x327> .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,56,11,216 // pmulhrsw %xmm8,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,172 // ja 1217 <_sk_scale_u8_ssse3_lowp+0x15> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,126,0,0,0 // lea 0x7e(%rip),%r10 # 12f4 <_sk_scale_u8_ssse3_lowp+0xf2> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 235,140 // jmp 1217 <_sk_scale_u8_ssse3_lowp+0x15> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,2 // pinsrw $0x2,%eax,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 243,69,15,16,193 // movss %xmm9,%xmm8 .byte 233,98,255,255,255 // jmpq 1217 <_sk_scale_u8_ssse3_lowp+0x15> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,6 // pinsrw $0x6,%eax,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,68,15,196,192,5 // pinsrw $0x5,%eax,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,68,15,196,192,4 // pinsrw $0x4,%eax,%xmm8 .byte 102,69,15,110,12,19 // movd (%r11,%rdx,1),%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 233,36,255,255,255 // jmpq 1217 <_sk_scale_u8_ssse3_lowp+0x15> .byte 144 // nop .byte 139,255 // mov %edi,%edi .byte 255 // (bad) .byte 255,168,255,255,255,151 // ljmp *-0x68000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_ssse3_lowp .globl _sk_lerp_1_float_ssse3_lowp FUNCTION(_sk_lerp_1_float_ssse3_lowp) _sk_lerp_1_float_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,88,5,168,10,0,0 // addss 0xaa8(%rip),%xmm8 # 1dc8 <_sk_xor__ssse3_lowp+0x3ff> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,68,15,56,29,200 // pabsw %xmm0,%xmm9 .byte 102,68,15,111,21,181,9,0,0 // movdqa 0x9b5(%rip),%xmm10 # 1d00 <_sk_xor__ssse3_lowp+0x337> .byte 102,69,15,249,208 // psubw %xmm8,%xmm10 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,56,11,194 // pmulhrsw %xmm10,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,68,15,56,29,201 // pabsw %xmm1,%xmm9 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,56,11,202 // pmulhrsw %xmm10,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,68,15,56,29,202 // pabsw %xmm2,%xmm9 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,56,11,210 // pmulhrsw %xmm10,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,65,15,56,11,216 // pmulhrsw %xmm8,%xmm3 .byte 102,68,15,56,29,195 // pabsw %xmm3,%xmm8 .byte 102,68,15,56,11,215 // pmulhrsw %xmm7,%xmm10 .byte 102,65,15,56,29,218 // pabsw %xmm10,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_ssse3_lowp .globl _sk_lerp_u8_ssse3_lowp FUNCTION(_sk_lerp_u8_ssse3_lowp) _sk_lerp_u8_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,24 // mov (%rax),%r11 .byte 77,133,192 // test %r8,%r8 .byte 15,133,169,0,0,0 // jne 147c <_sk_lerp_u8_ssse3_lowp+0xb7> .byte 243,69,15,126,4,19 // movq (%r11,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,228,5,35,9,0,0 // pmulhuw 0x923(%rip),%xmm8 # 1d10 <_sk_xor__ssse3_lowp+0x347> .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,68,15,56,29,200 // pabsw %xmm0,%xmm9 .byte 102,68,15,111,21,30,9,0,0 // movdqa 0x91e(%rip),%xmm10 # 1d20 <_sk_xor__ssse3_lowp+0x357> .byte 102,69,15,249,208 // psubw %xmm8,%xmm10 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,56,11,194 // pmulhrsw %xmm10,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,68,15,56,29,201 // pabsw %xmm1,%xmm9 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,56,11,202 // pmulhrsw %xmm10,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,68,15,56,29,202 // pabsw %xmm2,%xmm9 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,56,11,210 // pmulhrsw %xmm10,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,65,15,56,11,216 // pmulhrsw %xmm8,%xmm3 .byte 102,68,15,56,29,195 // pabsw %xmm3,%xmm8 .byte 102,68,15,56,11,215 // pmulhrsw %xmm7,%xmm10 .byte 102,65,15,56,29,218 // pabsw %xmm10,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,137,193 // mov %r8d,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,73,255,255,255 // ja 13de <_sk_lerp_u8_ssse3_lowp+0x19> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,128,0,0,0 // lea 0x80(%rip),%r10 # 1520 <_sk_lerp_u8_ssse3_lowp+0x15b> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,19 // movzbl (%r11,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,38,255,255,255 // jmpq 13de <_sk_lerp_u8_ssse3_lowp+0x19> .byte 65,15,182,68,19,2 // movzbl 0x2(%r11,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,2 // pinsrw $0x2,%eax,%xmm8 .byte 65,15,183,4,19 // movzwl (%r11,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 243,69,15,16,193 // movss %xmm9,%xmm8 .byte 233,252,254,255,255 // jmpq 13de <_sk_lerp_u8_ssse3_lowp+0x19> .byte 65,15,182,68,19,6 // movzbl 0x6(%r11,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,6 // pinsrw $0x6,%eax,%xmm8 .byte 65,15,182,68,19,5 // movzbl 0x5(%r11,%rdx,1),%eax .byte 102,68,15,196,192,5 // pinsrw $0x5,%eax,%xmm8 .byte 65,15,182,68,19,4 // movzbl 0x4(%r11,%rdx,1),%eax .byte 102,68,15,196,192,4 // pinsrw $0x4,%eax,%xmm8 .byte 102,69,15,110,12,19 // movd (%r11,%rdx,1),%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 233,190,254,255,255 // jmpq 13de <_sk_lerp_u8_ssse3_lowp+0x19> .byte 137,255 // mov %edi,%edi .byte 255 // (bad) .byte 255,169,255,255,255,152 // ljmp *-0x67000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 235,255 // jmp 152d <_sk_lerp_u8_ssse3_lowp+0x168> .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_swap_rb_ssse3_lowp .globl _sk_swap_rb_ssse3_lowp FUNCTION(_sk_swap_rb_ssse3_lowp) _sk_swap_rb_ssse3_lowp: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_ssse3_lowp .globl _sk_move_src_dst_ssse3_lowp FUNCTION(_sk_move_src_dst_ssse3_lowp) _sk_move_src_dst_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_ssse3_lowp .globl _sk_move_dst_src_ssse3_lowp FUNCTION(_sk_move_dst_src_ssse3_lowp) _sk_move_dst_src_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_ssse3_lowp .globl _sk_clear_ssse3_lowp FUNCTION(_sk_clear_ssse3_lowp) _sk_clear_ssse3_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_ssse3_lowp .globl _sk_srcatop_ssse3_lowp FUNCTION(_sk_srcatop_ssse3_lowp) _sk_srcatop_ssse3_lowp: .byte 102,15,56,11,199 // pmulhrsw %xmm7,%xmm0 .byte 102,68,15,56,29,192 // pabsw %xmm0,%xmm8 .byte 102,68,15,111,13,161,7,0,0 // movdqa 0x7a1(%rip),%xmm9 # 1d30 <_sk_xor__ssse3_lowp+0x367> .byte 102,68,15,249,203 // psubw %xmm3,%xmm9 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,56,11,193 // pmulhrsw %xmm9,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,56,11,207 // pmulhrsw %xmm7,%xmm1 .byte 102,68,15,56,29,193 // pabsw %xmm1,%xmm8 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,56,11,201 // pmulhrsw %xmm9,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,56,11,215 // pmulhrsw %xmm7,%xmm2 .byte 102,68,15,56,29,194 // pabsw %xmm2,%xmm8 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,56,11,209 // pmulhrsw %xmm9,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,56,11,223 // pmulhrsw %xmm7,%xmm3 .byte 102,68,15,56,29,195 // pabsw %xmm3,%xmm8 .byte 102,68,15,56,11,207 // pmulhrsw %xmm7,%xmm9 .byte 102,65,15,56,29,217 // pabsw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_ssse3_lowp .globl _sk_dstatop_ssse3_lowp FUNCTION(_sk_dstatop_ssse3_lowp) _sk_dstatop_ssse3_lowp: .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,68,15,111,13,32,7,0,0 // movdqa 0x720(%rip),%xmm9 # 1d40 <_sk_xor__ssse3_lowp+0x377> .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,56,11,193 // pmulhrsw %xmm9,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,68,15,111,197 // movdqa %xmm5,%xmm8 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,65,15,56,11,201 // pmulhrsw %xmm9,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,65,15,56,11,209 // pmulhrsw %xmm9,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,68,15,111,199 // movdqa %xmm7,%xmm8 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,68,15,56,11,203 // pmulhrsw %xmm3,%xmm9 .byte 102,65,15,56,29,217 // pabsw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_ssse3_lowp .globl _sk_srcin_ssse3_lowp FUNCTION(_sk_srcin_ssse3_lowp) _sk_srcin_ssse3_lowp: .byte 102,15,56,11,199 // pmulhrsw %xmm7,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,56,11,207 // pmulhrsw %xmm7,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,56,11,215 // pmulhrsw %xmm7,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,15,56,11,223 // pmulhrsw %xmm7,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_ssse3_lowp .globl _sk_dstin_ssse3_lowp FUNCTION(_sk_dstin_ssse3_lowp) _sk_dstin_ssse3_lowp: .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,56,11,195 // pmulhrsw %xmm3,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,56,11,203 // pmulhrsw %xmm3,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,56,11,211 // pmulhrsw %xmm3,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,15,56,11,223 // pmulhrsw %xmm7,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_ssse3_lowp .globl _sk_srcout_ssse3_lowp FUNCTION(_sk_srcout_ssse3_lowp) _sk_srcout_ssse3_lowp: .byte 102,68,15,111,5,70,6,0,0 // movdqa 0x646(%rip),%xmm8 # 1d50 <_sk_xor__ssse3_lowp+0x387> .byte 102,68,15,249,199 // psubw %xmm7,%xmm8 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,65,15,56,29,216 // pabsw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_ssse3_lowp .globl _sk_dstout_ssse3_lowp FUNCTION(_sk_dstout_ssse3_lowp) _sk_dstout_ssse3_lowp: .byte 102,68,15,111,5,23,6,0,0 // movdqa 0x617(%rip),%xmm8 # 1d60 <_sk_xor__ssse3_lowp+0x397> .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,68,15,56,11,199 // pmulhrsw %xmm7,%xmm8 .byte 102,65,15,56,29,216 // pabsw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_ssse3_lowp .globl _sk_srcover_ssse3_lowp FUNCTION(_sk_srcover_ssse3_lowp) _sk_srcover_ssse3_lowp: .byte 102,68,15,111,5,220,5,0,0 // movdqa 0x5dc(%rip),%xmm8 # 1d70 <_sk_xor__ssse3_lowp+0x3a7> .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,68,15,111,204 // movdqa %xmm4,%xmm9 .byte 102,69,15,56,11,200 // pmulhrsw %xmm8,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,68,15,111,205 // movdqa %xmm5,%xmm9 .byte 102,69,15,56,11,200 // pmulhrsw %xmm8,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,68,15,111,206 // movdqa %xmm6,%xmm9 .byte 102,69,15,56,11,200 // pmulhrsw %xmm8,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,68,15,56,11,199 // pmulhrsw %xmm7,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_ssse3_lowp .globl _sk_dstover_ssse3_lowp FUNCTION(_sk_dstover_ssse3_lowp) _sk_dstover_ssse3_lowp: .byte 102,68,15,111,5,135,5,0,0 // movdqa 0x587(%rip),%xmm8 # 1d80 <_sk_xor__ssse3_lowp+0x3b7> .byte 102,68,15,249,199 // psubw %xmm7,%xmm8 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,253,196 // paddw %xmm4,%xmm0 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,68,15,56,11,195 // pmulhrsw %xmm3,%xmm8 .byte 102,65,15,56,29,216 // pabsw %xmm8,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_ssse3_lowp .globl _sk_modulate_ssse3_lowp FUNCTION(_sk_modulate_ssse3_lowp) _sk_modulate_ssse3_lowp: .byte 102,15,56,11,196 // pmulhrsw %xmm4,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,15,56,11,205 // pmulhrsw %xmm5,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,15,56,11,214 // pmulhrsw %xmm6,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,15,56,11,223 // pmulhrsw %xmm7,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_ssse3_lowp .globl _sk_multiply_ssse3_lowp FUNCTION(_sk_multiply_ssse3_lowp) _sk_multiply_ssse3_lowp: .byte 102,68,15,111,5,28,5,0,0 // movdqa 0x51c(%rip),%xmm8 # 1d90 <_sk_xor__ssse3_lowp+0x3c7> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,68,15,111,208 // movdqa %xmm0,%xmm10 .byte 102,69,15,56,11,209 // pmulhrsw %xmm9,%xmm10 .byte 102,69,15,56,29,210 // pabsw %xmm10,%xmm10 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,15,56,11,196 // pmulhrsw %xmm4,%xmm0 .byte 102,68,15,111,220 // movdqa %xmm4,%xmm11 .byte 102,69,15,56,11,216 // pmulhrsw %xmm8,%xmm11 .byte 102,69,15,56,29,219 // pabsw %xmm11,%xmm11 .byte 102,69,15,253,218 // paddw %xmm10,%xmm11 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,195 // paddw %xmm11,%xmm0 .byte 102,68,15,111,209 // movdqa %xmm1,%xmm10 .byte 102,69,15,56,11,209 // pmulhrsw %xmm9,%xmm10 .byte 102,69,15,56,29,210 // pabsw %xmm10,%xmm10 .byte 102,15,56,11,205 // pmulhrsw %xmm5,%xmm1 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,69,15,56,11,216 // pmulhrsw %xmm8,%xmm11 .byte 102,69,15,56,29,219 // pabsw %xmm11,%xmm11 .byte 102,69,15,253,218 // paddw %xmm10,%xmm11 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,203 // paddw %xmm11,%xmm1 .byte 102,68,15,111,210 // movdqa %xmm2,%xmm10 .byte 102,69,15,56,11,209 // pmulhrsw %xmm9,%xmm10 .byte 102,69,15,56,29,210 // pabsw %xmm10,%xmm10 .byte 102,15,56,11,214 // pmulhrsw %xmm6,%xmm2 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,56,11,216 // pmulhrsw %xmm8,%xmm11 .byte 102,69,15,56,29,219 // pabsw %xmm11,%xmm11 .byte 102,69,15,253,218 // paddw %xmm10,%xmm11 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,68,15,56,11,203 // pmulhrsw %xmm3,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,68,15,56,11,199 // pmulhrsw %xmm7,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,15,56,11,223 // pmulhrsw %xmm7,%xmm3 .byte 102,15,56,29,219 // pabsw %xmm3,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_ssse3_lowp .globl _sk_screen_ssse3_lowp FUNCTION(_sk_screen_ssse3_lowp) _sk_screen_ssse3_lowp: .byte 102,68,15,111,5,66,4,0,0 // movdqa 0x442(%rip),%xmm8 # 1da0 <_sk_xor__ssse3_lowp+0x3d7> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,200 // psubw %xmm0,%xmm9 .byte 102,68,15,56,11,204 // pmulhrsw %xmm4,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,201 // psubw %xmm1,%xmm9 .byte 102,68,15,56,11,205 // pmulhrsw %xmm5,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,202 // psubw %xmm2,%xmm9 .byte 102,68,15,56,11,206 // pmulhrsw %xmm6,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,68,15,56,11,199 // pmulhrsw %xmm7,%xmm8 .byte 102,69,15,56,29,192 // pabsw %xmm8,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__ssse3_lowp .globl _sk_xor__ssse3_lowp FUNCTION(_sk_xor__ssse3_lowp) _sk_xor__ssse3_lowp: .byte 102,68,15,111,5,222,3,0,0 // movdqa 0x3de(%rip),%xmm8 # 1db0 <_sk_xor__ssse3_lowp+0x3e7> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,56,11,193 // pmulhrsw %xmm9,%xmm0 .byte 102,68,15,56,29,208 // pabsw %xmm0,%xmm10 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,56,11,192 // pmulhrsw %xmm8,%xmm0 .byte 102,15,56,29,192 // pabsw %xmm0,%xmm0 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,65,15,56,11,201 // pmulhrsw %xmm9,%xmm1 .byte 102,68,15,56,29,209 // pabsw %xmm1,%xmm10 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,56,11,200 // pmulhrsw %xmm8,%xmm1 .byte 102,15,56,29,201 // pabsw %xmm1,%xmm1 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,65,15,56,11,209 // pmulhrsw %xmm9,%xmm2 .byte 102,68,15,56,29,210 // pabsw %xmm2,%xmm10 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,56,11,208 // pmulhrsw %xmm8,%xmm2 .byte 102,15,56,29,210 // pabsw %xmm2,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,68,15,56,11,203 // pmulhrsw %xmm3,%xmm9 .byte 102,69,15,56,29,201 // pabsw %xmm9,%xmm9 .byte 102,68,15,56,11,199 // pmulhrsw %xmm7,%xmm8 .byte 102,65,15,56,29,216 // pabsw %xmm8,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax BALIGN16 .byte 0,0 // add %al,(%rax) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,128 // addb $0x80,0x0(%rbx) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,129,128,129,128,129 // jno ffffffff81809c35 <_sk_xor__ssse3_lowp+0xffffffff8180826c> .byte 128,129,128,129,128,129,128 // addb $0x80,-0x7e7f7e80(%rcx) .byte 129,128,129,128,1,2,5,6,9,10 // addl $0xa090605,0x2018081(%rax) .byte 13,14,9,10,13 // or $0xd0a090e,%eax .byte 14 // (bad) .byte 13,14,15,255,2 // or $0x2ff0f0e,%eax .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 1,4,5,8,9,12,13 // add %eax,0xd0c0908(,%rax,1) .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,129,128,129,128,129 // jno ffffffff81809c85 <_sk_xor__ssse3_lowp+0xffffffff818082bc> .byte 128,129,128,129,128,129,128 // addb $0x80,-0x7e7f7e80(%rcx) .byte 129,128,129,128,1,2,5,6,9,10 // addl $0xa090605,0x2018081(%rax) .byte 13,14,9,10,13 // or $0xd0a090e,%eax .byte 14 // (bad) .byte 13,14,15,255,2 // or $0x2ff0f0e,%eax .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,129,128,129,128,129 // jno ffffffff81809ce5 <_sk_xor__ssse3_lowp+0xffffffff8180831c> .byte 128,129,128,129,128,129,128 // addb $0x80,-0x7e7f7e80(%rcx) .byte 129,128,129,128,1,2,5,6,9,10 // addl $0xa090605,0x2018081(%rax) .byte 13,14,9,10,13 // or $0xd0a090e,%eax .byte 14 // (bad) .byte 13,14,15,255,2 // or $0x2ff0f0e,%eax .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 1,4,5,8,9,12,13 // add %eax,0xd0c0908(,%rax,1) .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,129,128,129,128,129 // jno ffffffff81809d35 <_sk_xor__ssse3_lowp+0xffffffff8180836c> .byte 128,129,128,129,128,129,128 // addb $0x80,-0x7e7f7e80(%rcx) .byte 129,128,129,128,1,2,5,6,9,10 // addl $0xa090605,0x2018081(%rax) .byte 13,14,9,10,13 // or $0xd0a090e,%eax .byte 14 // (bad) .byte 13,14,15,255,2 // or $0x2ff0f0e,%eax .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,0,2,4,6,0,0,0,0 // addl $0x0,0x6040200(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,0,128,0,128 // addl $0x80008000,-0x7f7e7f7f(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,0,128,0,128 // addl $0x80008000,-0x7f7e7f7f(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,1 // add %al,(%rcx) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,255 // (bad) .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,129,128,129,128,129 // add %al,-0x7e7f7e80(%rcx) .byte 128,129,128,129,128,129,128 // addb $0x80,-0x7e7f7e80(%rcx) .byte 129,128,129,128,1,2,5,6,9,10 // addl $0xa090605,0x2018081(%rax) .byte 13,14,9,10,13 // or $0xd0a090e,%eax .byte 14 // (bad) .byte 13,14,15,255,2 // or $0x2ff0f0e,%eax .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255,3 // incl (%rbx) .byte 255,7 // incl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 128,0,128 // addb $0x80,(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,0,128,0,128 // addl $0x80008000,-0x7f7e7f7f(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 129,128,129,128,129,128,129,128,129,128// addl $0x80818081,-0x7f7e7f7f(%rax) .byte 129,128,129,128,129,128,0,128,0,128 // addl $0x80008000,-0x7f7e7f7f(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) BALIGN4 .byte 0,0 // add %al,(%rax) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128,67,0,0 // addb $0x0,0x0(%rbx) .byte 128 // .byte 0x80 .byte 67 // rex.XB #elif defined(__i386__) BALIGN32 HIDDEN _sk_start_pipeline_sse2 .globl _sk_start_pipeline_sse2 FUNCTION(_sk_start_pipeline_sse2) _sk_start_pipeline_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,10 // mov (%edx),%ecx .byte 131,194,4 // add $0x4,%edx .byte 141,70,4 // lea 0x4(%esi),%eax .byte 57,248 // cmp %edi,%eax .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 118,4 // jbe 25 <_sk_start_pipeline_sse2+0x25> .byte 137,240 // mov %esi,%eax .byte 235,42 // jmp 4f <_sk_start_pipeline_sse2+0x4f> .byte 131,236,76 // sub $0x4c,%esp .byte 106,0 // push $0x0 .byte 255,117,12 // pushl 0xc(%ebp) .byte 86 // push %esi .byte 82 // push %edx .byte 83 // push %ebx .byte 137,207 // mov %ecx,%edi .byte 137,211 // mov %edx,%ebx .byte 255,215 // call *%edi .byte 137,218 // mov %ebx,%edx .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 137,249 // mov %edi,%ecx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 131,196,96 // add $0x60,%esp .byte 141,70,4 // lea 0x4(%esi),%eax .byte 131,198,8 // add $0x8,%esi .byte 57,254 // cmp %edi,%esi .byte 137,198 // mov %eax,%esi .byte 118,214 // jbe 25 <_sk_start_pipeline_sse2+0x25> .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 41,199 // sub %eax,%edi .byte 116,15 // je 65 <_sk_start_pipeline_sse2+0x65> .byte 131,236,76 // sub $0x4c,%esp .byte 87 // push %edi .byte 86 // push %esi .byte 80 // push %eax .byte 82 // push %edx .byte 83 // push %ebx .byte 255,209 // call *%ecx .byte 131,196,108 // add $0x6c,%esp .byte 235,3 // jmp 68 <_sk_start_pipeline_sse2+0x68> .byte 131,196,12 // add $0xc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_just_return_sse2 .globl _sk_just_return_sse2 FUNCTION(_sk_just_return_sse2) _sk_just_return_sse2: .byte 195 // ret HIDDEN _sk_seed_shader_sse2 .globl _sk_seed_shader_sse2 FUNCTION(_sk_seed_shader_sse2) _sk_seed_shader_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 7c <_sk_seed_shader_sse2+0xe> .byte 89 // pop %ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 102,15,110,199 // movd %edi,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 15,40,145,116,145,0,0 // movaps 0x9174(%ecx),%xmm2 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,16,0 // movups (%eax),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 102,15,110,202 // movd %edx,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 139,93,12 // mov 0xc(%ebp),%ebx .byte 141,67,4 // lea 0x4(%ebx),%eax .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,145,132,145,0,0 // movaps 0x9184(%ecx),%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,19 // call *(%ebx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dither_sse2 .globl _sk_dither_sse2 FUNCTION(_sk_dither_sse2) _sk_dither_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 11b <_sk_dither_sse2+0x20> .byte 94 // pop %esi .byte 139,77,20 // mov 0x14(%ebp),%ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 102,15,110,226 // movd %edx,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 243,15,111,104,32 // movdqu 0x20(%eax),%xmm5 .byte 102,15,254,236 // paddd %xmm4,%xmm5 .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 102,15,112,252,0 // pshufd $0x0,%xmm4,%xmm7 .byte 102,15,239,253 // pxor %xmm5,%xmm7 .byte 102,15,111,182,245,144,0,0 // movdqa 0x90f5(%esi),%xmm6 .byte 102,15,111,207 // movdqa %xmm7,%xmm1 .byte 102,15,219,206 // pand %xmm6,%xmm1 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 102,15,111,134,21,145,0,0 // movdqa 0x9115(%esi),%xmm0 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,219,224 // pand %xmm0,%xmm4 .byte 102,15,219,197 // pand %xmm5,%xmm0 .byte 102,15,111,158,5,145,0,0 // movdqa 0x9105(%esi),%xmm3 .byte 102,15,219,251 // pand %xmm3,%xmm7 .byte 102,15,219,235 // pand %xmm3,%xmm5 .byte 102,15,114,246,4 // pslld $0x4,%xmm6 .byte 102,15,254,192 // paddd %xmm0,%xmm0 .byte 102,15,235,198 // por %xmm6,%xmm0 .byte 102,15,114,213,2 // psrld $0x2,%xmm5 .byte 102,15,235,197 // por %xmm5,%xmm0 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 102,15,114,241,5 // pslld $0x5,%xmm1 .byte 102,15,114,244,2 // pslld $0x2,%xmm4 .byte 102,15,114,215,1 // psrld $0x1,%xmm7 .byte 102,15,235,225 // por %xmm1,%xmm4 .byte 102,15,235,224 // por %xmm0,%xmm4 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 15,91,196 // cvtdq2ps %xmm4,%xmm0 .byte 15,89,134,37,145,0,0 // mulps 0x9125(%esi),%xmm0 .byte 15,88,134,53,145,0,0 // addps 0x9135(%esi),%xmm0 .byte 139,55 // mov (%edi),%esi .byte 243,15,16,14 // movss (%esi),%xmm1 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,40,101,216 // movaps -0x28(%ebp),%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,88,77,200 // addps -0x38(%ebp),%xmm1 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,95,234 // maxps %xmm2,%xmm5 .byte 15,93,227 // minps %xmm3,%xmm4 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,226 // maxps %xmm2,%xmm4 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,95,209 // maxps %xmm1,%xmm2 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 141,95,8 // lea 0x8(%edi),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,76,36,12 // mov %ecx,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 255,87,4 // call *0x4(%edi) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_uniform_color_sse2 .globl _sk_uniform_color_sse2 FUNCTION(_sk_uniform_color_sse2) _sk_uniform_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 243,15,16,87,8 // movss 0x8(%edi),%xmm2 .byte 243,15,16,95,12 // movss 0xc(%edi),%xmm3 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_black_color_sse2 .globl _sk_black_color_sse2 FUNCTION(_sk_black_color_sse2) _sk_black_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 2e0 <_sk_black_color_sse2+0xe> .byte 89 // pop %ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,93,12 // mov 0xc(%ebp),%ebx .byte 141,67,4 // lea 0x4(%ebx),%eax .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,153,128,143,0,0 // movaps 0x8f80(%ecx),%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,19 // call *(%ebx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_white_color_sse2 .globl _sk_white_color_sse2 FUNCTION(_sk_white_color_sse2) _sk_white_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 352 <_sk_white_color_sse2+0xe> .byte 89 // pop %ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,93,12 // mov 0xc(%ebp),%ebx .byte 141,67,4 // lea 0x4(%ebx),%eax .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,129,30,143,0,0 // movaps 0x8f1e(%ecx),%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,19 // call *(%ebx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_rgba_sse2 .globl _sk_load_rgba_sse2 FUNCTION(_sk_load_rgba_sse2) _sk_load_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,16,79,16 // movups 0x10(%edi),%xmm1 .byte 15,16,87,32 // movups 0x20(%edi),%xmm2 .byte 15,16,95,48 // movups 0x30(%edi),%xmm3 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_rgba_sse2 .globl _sk_store_rgba_sse2 FUNCTION(_sk_store_rgba_sse2) _sk_store_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,17,7 // movups %xmm0,(%edi) .byte 15,17,79,16 // movups %xmm1,0x10(%edi) .byte 15,17,87,32 // movups %xmm2,0x20(%edi) .byte 15,17,95,48 // movups %xmm3,0x30(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clear_sse2 .globl _sk_clear_sse2 FUNCTION(_sk_clear_sse2) _sk_clear_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcatop_sse2 .globl _sk_srcatop_sse2 FUNCTION(_sk_srcatop_sse2) _sk_srcatop_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 511 <_sk_srcatop_sse2+0x17> .byte 88 // pop %eax .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,40,136,111,141,0,0 // movaps 0x8d6f(%eax),%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,89,125,40 // mulps 0x28(%ebp),%xmm7 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,117,56 // mulps 0x38(%ebp),%xmm6 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstatop_sse2 .globl _sk_dstatop_sse2 FUNCTION(_sk_dstatop_sse2) _sk_dstatop_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 232,0,0,0,0 // call 5bb <_sk_dstatop_sse2+0x11> .byte 88 // pop %eax .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,89,117,40 // mulps 0x28(%ebp),%xmm6 .byte 15,40,184,213,140,0,0 // movaps 0x8cd5(%eax),%xmm7 .byte 15,92,125,88 // subps 0x58(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcin_sse2 .globl _sk_srcin_sse2 FUNCTION(_sk_srcin_sse2) _sk_srcin_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstin_sse2 .globl _sk_dstin_sse2 FUNCTION(_sk_dstin_sse2) _sk_dstin_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcout_sse2 .globl _sk_srcout_sse2 FUNCTION(_sk_srcout_sse2) _sk_srcout_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 72f <_sk_srcout_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,40,184,113,139,0,0 // movaps 0x8b71(%eax),%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstout_sse2 .globl _sk_dstout_sse2 FUNCTION(_sk_dstout_sse2) _sk_dstout_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 7a7 <_sk_dstout_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,160,9,139,0,0 // movaps 0x8b09(%eax),%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcover_sse2 .globl _sk_srcover_sse2 FUNCTION(_sk_srcover_sse2) _sk_srcover_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 837 <_sk_srcover_sse2+0x17> .byte 88 // pop %eax .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,128,137,138,0,0 // movaps 0x8a89(%eax),%xmm0 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,125,56 // mulps 0x38(%ebp),%xmm7 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstover_sse2 .globl _sk_dstover_sse2 FUNCTION(_sk_dstover_sse2) _sk_dstover_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8ce <_sk_dstover_sse2+0xe> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,162,2,138,0,0 // movaps 0x8a02(%edx),%xmm4 .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 141,90,4 // lea 0x4(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,18 // call *(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_modulate_sse2 .globl _sk_modulate_sse2 FUNCTION(_sk_modulate_sse2) _sk_modulate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_multiply_sse2 .globl _sk_multiply_sse2 FUNCTION(_sk_multiply_sse2) _sk_multiply_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 232,0,0,0,0 // call 9c4 <_sk_multiply_sse2+0x18> .byte 88 // pop %eax .byte 15,40,144,28,137,0,0 // movaps 0x891c(%eax),%xmm2 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,92,125,88 // subps 0x58(%ebp),%xmm7 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 255,23 // call *(%edi) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_plus__sse2 .globl _sk_plus__sse2 FUNCTION(_sk_plus__sse2) _sk_plus__sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_screen_sse2 .globl _sk_screen_sse2 FUNCTION(_sk_screen_sse2) _sk_screen_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xor__sse2 .globl _sk_xor__sse2 FUNCTION(_sk_xor__sse2) _sk_xor__sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 232,0,0,0,0 // call bab <_sk_xor__sse2+0x12> .byte 88 // pop %eax .byte 15,40,176,69,135,0,0 // movaps 0x8745(%eax),%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,92,125,88 // subps 0x58(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,89,93,40 // mulps 0x28(%ebp),%xmm3 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,89,125,216 // mulps -0x28(%ebp),%xmm7 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_darken_sse2 .globl _sk_darken_sse2 FUNCTION(_sk_darken_sse2) _sk_darken_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,95,207 // maxps %xmm7,%xmm1 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,95,227 // maxps %xmm3,%xmm4 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,95,213 // maxps %xmm5,%xmm2 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 232,0,0,0,0 // call ca5 <_sk_darken_sse2+0x63> .byte 88 // pop %eax .byte 15,40,144,91,134,0,0 // movaps 0x865b(%eax),%xmm2 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lighten_sse2 .globl _sk_lighten_sse2 FUNCTION(_sk_lighten_sse2) _sk_lighten_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,93,227 // minps %xmm3,%xmm4 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,93,213 // minps %xmm5,%xmm2 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 232,0,0,0,0 // call d6a <_sk_lighten_sse2+0x63> .byte 88 // pop %eax .byte 15,40,144,166,133,0,0 // movaps 0x85a6(%eax),%xmm2 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_difference_sse2 .globl _sk_difference_sse2 FUNCTION(_sk_difference_sse2) _sk_difference_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,93,227 // minps %xmm3,%xmm4 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,93,213 // minps %xmm5,%xmm2 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 232,0,0,0,0 // call e38 <_sk_difference_sse2+0x6c> .byte 88 // pop %eax .byte 15,40,144,232,132,0,0 // movaps 0x84e8(%eax),%xmm2 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_exclusion_sse2 .globl _sk_exclusion_sse2 FUNCTION(_sk_exclusion_sse2) _sk_exclusion_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call eae <_sk_exclusion_sse2+0x14> .byte 88 // pop %eax .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,40,144,130,132,0,0 // movaps 0x8482(%eax),%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_colorburn_sse2 .globl _sk_colorburn_sse2 FUNCTION(_sk_colorburn_sse2) _sk_colorburn_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,172,0,0,0 // sub $0xac,%esp .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,41,77,200 // movaps %xmm1,-0x38(%ebp) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call f5f <_sk_colorburn_sse2+0x1c> .byte 88 // pop %eax .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,92,69,40 // subps 0x28(%ebp),%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,94,193 // divps %xmm1,%xmm0 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,93,240 // minps %xmm0,%xmm6 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,40,176,225,131,0,0 // movaps 0x83e1(%eax),%xmm6 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,88,235 // addps %xmm3,%xmm5 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,197 // andnps %xmm5,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,194,77,88,0 // cmpeqps 0x58(%ebp),%xmm1 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,84,217 // andps %xmm1,%xmm3 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 15,86,203 // orps %xmm3,%xmm1 .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,69,56 // subps 0x38(%ebp),%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,94,194 // divps %xmm2,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,194,215,0 // cmpeqps %xmm7,%xmm2 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 15,194,233,0 // cmpeqps %xmm1,%xmm5 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,221 // andps %xmm5,%xmm3 .byte 15,85,234 // andnps %xmm2,%xmm5 .byte 15,86,235 // orps %xmm3,%xmm5 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,69,72 // subps 0x48(%ebp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 15,94,195 // divps %xmm3,%xmm0 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,93,208 // minps %xmm0,%xmm2 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,194,250,0 // cmpeqps %xmm2,%xmm7 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,84,215 // andps %xmm7,%xmm2 .byte 15,85,248 // andnps %xmm0,%xmm7 .byte 15,86,250 // orps %xmm2,%xmm7 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,194,85,88,0 // cmpeqps 0x58(%ebp),%xmm2 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 255,23 // call *(%edi) .byte 129,196,172,0,0,0 // add $0xac,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_colordodge_sse2 .globl _sk_colordodge_sse2 FUNCTION(_sk_colordodge_sse2) _sk_colordodge_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,172,0,0,0 // sub $0xac,%esp .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 232,0,0,0,0 // call 1121 <_sk_colordodge_sse2+0x1f> .byte 88 // pop %eax .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,94,212 // divps %xmm4,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,93,226 // minps %xmm2,%xmm4 .byte 15,40,152,47,130,0,0 // movaps 0x822f(%eax),%xmm3 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,194,236,0 // cmpeqps %xmm4,%xmm5 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,84,213 // andps %xmm5,%xmm2 .byte 15,85,232 // andnps %xmm0,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,94,198 // divps %xmm6,%xmm0 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,93,240 // minps %xmm0,%xmm6 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,194,207,0 // cmpeqps %xmm7,%xmm1 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,206 // andnps %xmm6,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,194,244,0 // cmpeqps %xmm4,%xmm6 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,84,214 // andps %xmm6,%xmm2 .byte 15,85,241 // andnps %xmm1,%xmm6 .byte 15,86,242 // orps %xmm2,%xmm6 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,89,77,72 // mulps 0x48(%ebp),%xmm1 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,94,203 // divps %xmm3,%xmm1 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,93,217 // minps %xmm1,%xmm3 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,194,207,0 // cmpeqps %xmm7,%xmm1 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,203 // andnps %xmm3,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,194,226,0 // cmpeqps %xmm2,%xmm4 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,227 // orps %xmm3,%xmm4 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,172,0,0,0 // add $0xac,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hardlight_sse2 .globl _sk_hardlight_sse2 FUNCTION(_sk_hardlight_sse2) _sk_hardlight_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 12c3 <_sk_hardlight_sse2+0x1a> .byte 88 // pop %eax .byte 15,40,176,157,128,0,0 // movaps 0x809d(%eax),%xmm6 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,92,77,88 // subps 0x58(%ebp),%xmm1 .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,92,244 // subps %xmm4,%xmm6 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,85,88 // mulps 0x58(%ebp),%xmm2 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,193,2 // cmpleps %xmm1,%xmm0 .byte 15,89,101,40 // mulps 0x28(%ebp),%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,89,117,56 // mulps 0x38(%ebp),%xmm6 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,92,101,56 // subps 0x38(%ebp),%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,194,225,2 // cmpleps %xmm1,%xmm4 .byte 15,89,109,56 // mulps 0x38(%ebp),%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,84,236 // andps %xmm4,%xmm5 .byte 15,85,227 // andnps %xmm3,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,109,216 // movaps -0x28(%ebp),%xmm5 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,194,238,2 // cmpleps %xmm6,%xmm5 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,85,234 // andnps %xmm2,%xmm5 .byte 15,86,239 // orps %xmm7,%xmm5 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 255,23 // call *(%edi) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_overlay_sse2 .globl _sk_overlay_sse2 FUNCTION(_sk_overlay_sse2) _sk_overlay_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 144e <_sk_overlay_sse2+0x18> .byte 88 // pop %eax .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,40,144,34,127,0,0 // movaps 0x7f22(%eax),%xmm2 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,89,85,40 // mulps 0x28(%ebp),%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,92,244 // subps %xmm4,%xmm6 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 15,89,101,40 // mulps 0x28(%ebp),%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,89,117,56 // mulps 0x38(%ebp),%xmm6 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,194,101,88,2 // cmpleps 0x58(%ebp),%xmm4 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 15,85,226 // andnps %xmm2,%xmm4 .byte 15,86,225 // orps %xmm1,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,40,117,184 // movaps -0x48(%ebp),%xmm6 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,89,85,72 // mulps 0x48(%ebp),%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,92,117,72 // subps 0x48(%ebp),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,194,238,2 // cmpleps %xmm6,%xmm5 .byte 15,40,117,184 // movaps -0x48(%ebp),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,84,245 // andps %xmm5,%xmm6 .byte 15,85,239 // andnps %xmm7,%xmm5 .byte 15,86,238 // orps %xmm6,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 255,23 // call *(%edi) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_softlight_sse2 .globl _sk_softlight_sse2 FUNCTION(_sk_softlight_sse2) _sk_softlight_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,12,1,0,0 // sub $0x10c,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,41,149,72,255,255,255 // movaps %xmm2,-0xb8(%ebp) .byte 15,41,141,88,255,255,255 // movaps %xmm1,-0xa8(%ebp) .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,194,218,1 // cmpltps %xmm2,%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,94,202 // divps %xmm2,%xmm1 .byte 15,84,203 // andps %xmm3,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,210 // mulps %xmm2,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 161d <_sk_softlight_sse2+0x51> .byte 88 // pop %eax .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,128,115,125,0,0 // movaps 0x7d73(%eax),%xmm0 .byte 15,41,133,120,255,255,255 // movaps %xmm0,-0x88(%ebp) .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,40,184,99,125,0,0 // movaps 0x7d63(%eax),%xmm7 .byte 15,41,125,216 // movaps %xmm7,-0x28(%ebp) .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,82,209 // rsqrtps %xmm1,%xmm2 .byte 15,83,242 // rcpps %xmm2,%xmm6 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,40,128,131,125,0,0 // movaps 0x7d83(%eax),%xmm0 .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,194,194,2 // cmpleps %xmm2,%xmm0 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,41,109,152 // movaps %xmm5,-0x68(%ebp) .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,41,77,136 // movaps %xmm1,-0x78(%ebp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,194,242,2 // cmpleps %xmm2,%xmm6 .byte 15,84,254 // andps %xmm6,%xmm7 .byte 15,85,240 // andnps %xmm0,%xmm6 .byte 15,86,247 // orps %xmm7,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,41,181,104,255,255,255 // movaps %xmm6,-0x98(%ebp) .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,94,230 // divps %xmm6,%xmm4 .byte 15,84,101,184 // andps -0x48(%ebp),%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,88,133,120,255,255,255 // addps -0x88(%ebp),%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,125,216 // movaps -0x28(%ebp),%xmm7 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 15,82,236 // rsqrtps %xmm4,%xmm5 .byte 15,83,237 // rcpps %xmm5,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,89,101,168 // mulps -0x58(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,198,2 // cmpleps %xmm6,%xmm0 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,197 // andnps %xmm5,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,89,77,152 // mulps -0x68(%ebp),%xmm1 .byte 15,40,109,136 // movaps -0x78(%ebp),%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,194,226,2 // cmpleps %xmm2,%xmm4 .byte 15,84,252 // andps %xmm4,%xmm7 .byte 15,85,224 // andnps %xmm0,%xmm4 .byte 15,86,231 // orps %xmm7,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,84,125,184 // andps -0x48(%ebp),%xmm7 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,40,149,120,255,255,255 // movaps -0x88(%ebp),%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,82,199 // rsqrtps %xmm7,%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,194,238,2 // cmpleps %xmm6,%xmm5 .byte 15,84,213 // andps %xmm5,%xmm2 .byte 15,85,232 // andnps %xmm0,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,40,133,72,255,255,255 // movaps -0xb8(%ebp),%xmm0 .byte 15,40,77,152 // movaps -0x68(%ebp),%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,125,200 // movaps -0x38(%ebp),%xmm7 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,117,136 // movaps -0x78(%ebp),%xmm6 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,194,215,2 // cmpleps %xmm7,%xmm2 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,213 // andnps %xmm5,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,133,104,255,255,255 // movaps -0x98(%ebp),%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,12,1,0,0 // add $0x10c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hue_sse2 .globl _sk_hue_sse2 FUNCTION(_sk_hue_sse2) _sk_hue_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,236,0,0,0 // sub $0xec,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,252 // maxps %xmm4,%xmm7 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,95,223 // maxps %xmm7,%xmm3 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,93,252 // minps %xmm4,%xmm7 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 232,0,0,0,0 // call 18ee <_sk_hue_sse2+0x3f> .byte 88 // pop %eax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,41,101,200 // movaps %xmm4,-0x38(%ebp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,40,184,242,122,0,0 // movaps 0x7af2(%eax),%xmm7 .byte 15,41,125,168 // movaps %xmm7,-0x58(%ebp) .byte 15,92,125,88 // subps 0x58(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,41,133,104,255,255,255 // movaps %xmm0,-0x98(%ebp) .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,41,141,120,255,255,255 // movaps %xmm1,-0x88(%ebp) .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,41,125,136 // movaps %xmm7,-0x78(%ebp) .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,41,101,184 // movaps %xmm4,-0x48(%ebp) .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,93,249 // minps %xmm1,%xmm7 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,95,200 // maxps %xmm0,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,95,209 // maxps %xmm1,%xmm2 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,152,194,122,0,0 // movaps 0x7ac2(%eax),%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,160,210,122,0,0 // movaps 0x7ad2(%eax),%xmm4 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,40,152,226,122,0,0 // movaps 0x7ae2(%eax),%xmm3 .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,94,242 // divps %xmm2,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,94,250 // divps %xmm2,%xmm7 .byte 15,94,194 // divps %xmm2,%xmm0 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,194,213,4 // cmpneqps %xmm5,%xmm2 .byte 15,84,242 // andps %xmm2,%xmm6 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,89,69,216 // mulps -0x28(%ebp),%xmm0 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,89,77,184 // mulps -0x48(%ebp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,93,193 // minps %xmm1,%xmm0 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,93,208 // minps %xmm0,%xmm2 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,41,109,200 // movaps %xmm5,-0x38(%ebp) .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,194,194,2 // cmpleps %xmm2,%xmm0 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,94,212 // divps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,85,234 // andnps %xmm2,%xmm5 .byte 15,84,240 // andps %xmm0,%xmm6 .byte 15,86,245 // orps %xmm5,%xmm6 .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,101,168 // movaps -0x58(%ebp),%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,41,101,168 // movaps %xmm4,-0x58(%ebp) .byte 15,88,109,88 // addps 0x58(%ebp),%xmm5 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,41,109,184 // movaps %xmm5,-0x48(%ebp) .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,194,215,1 // cmpltps %xmm7,%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,85,230 // andnps %xmm6,%xmm4 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,41,109,152 // movaps %xmm5,-0x68(%ebp) .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,94,247 // divps %xmm7,%xmm6 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 15,84,242 // andps %xmm2,%xmm6 .byte 15,86,244 // orps %xmm4,%xmm6 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,94,101,216 // divps -0x28(%ebp),%xmm4 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,85,236 // andnps %xmm4,%xmm5 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,85,236 // andnps %xmm4,%xmm5 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,89,101,152 // mulps -0x68(%ebp),%xmm4 .byte 15,94,231 // divps %xmm7,%xmm4 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,94,101,216 // divps -0x28(%ebp),%xmm4 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,89,69,152 // mulps -0x68(%ebp),%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,84,194 // andps %xmm2,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,95,241 // maxps %xmm1,%xmm6 .byte 15,95,233 // maxps %xmm1,%xmm5 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,40,125,168 // movaps -0x58(%ebp),%xmm7 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,173,104,255,255,255 // movaps -0x98(%ebp),%xmm5 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,149,120,255,255,255 // movaps -0x88(%ebp),%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,88,125,136 // addps -0x78(%ebp),%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,236,0,0,0 // add $0xec,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_saturation_sse2 .globl _sk_saturation_sse2 FUNCTION(_sk_saturation_sse2) _sk_saturation_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,12,1,0,0 // sub $0x10c,%esp .byte 15,41,149,72,255,255,255 // movaps %xmm2,-0xb8(%ebp) .byte 15,41,141,88,255,255,255 // movaps %xmm1,-0xa8(%ebp) .byte 15,41,133,104,255,255,255 // movaps %xmm0,-0x98(%ebp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,95,226 // maxps %xmm2,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,95,244 // maxps %xmm4,%xmm6 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,93,226 // minps %xmm2,%xmm4 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,93,212 // minps %xmm4,%xmm2 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,89,93,56 // mulps 0x38(%ebp),%xmm3 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,125,72 // mulps 0x48(%ebp),%xmm7 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,93,199 // minps %xmm7,%xmm0 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,93,208 // minps %xmm0,%xmm2 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,95,231 // maxps %xmm7,%xmm4 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,95,196 // maxps %xmm4,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,92,218 // subps %xmm2,%xmm3 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,117,88 // mulps 0x58(%ebp),%xmm6 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 232,0,0,0,0 // call 1c3c <_sk_saturation_sse2+0x8e> .byte 88 // pop %eax .byte 15,40,176,180,119,0,0 // movaps 0x77b4(%eax),%xmm6 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,40,160,196,119,0,0 // movaps 0x77c4(%eax),%xmm4 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,89,144,212,119,0,0 // mulps 0x77d4(%eax),%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,94,232 // divps %xmm0,%xmm5 .byte 15,94,216 // divps %xmm0,%xmm3 .byte 15,94,248 // divps %xmm0,%xmm7 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,194,193,4 // cmpneqps %xmm1,%xmm0 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,84,216 // andps %xmm0,%xmm3 .byte 15,84,199 // andps %xmm7,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,136,212,119,0,0 // mulps 0x77d4(%eax),%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,89,85,216 // mulps -0x28(%ebp),%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,93,194 // minps %xmm2,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,95,194 // maxps %xmm2,%xmm0 .byte 15,41,149,120,255,255,255 // movaps %xmm2,-0x88(%ebp) .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,41,125,200 // movaps %xmm7,-0x38(%ebp) .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,40,128,212,119,0,0 // movaps 0x77d4(%eax),%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,41,69,136 // movaps %xmm0,-0x78(%ebp) .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,194,249,2 // cmpleps %xmm1,%xmm7 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,202 // divps %xmm2,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 15,84,239 // andps %xmm7,%xmm5 .byte 15,86,232 // orps %xmm0,%xmm5 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,144,228,119,0,0 // movaps 0x77e4(%eax),%xmm2 .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,194,209,1 // cmpltps %xmm1,%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,40,69,136 // movaps -0x78(%ebp),%xmm0 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,41,77,200 // movaps %xmm1,-0x38(%ebp) .byte 15,94,233 // divps %xmm1,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,234 // andps %xmm2,%xmm5 .byte 15,86,236 // orps %xmm4,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,77,184 // divps -0x48(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,84,223 // andps %xmm7,%xmm3 .byte 15,86,220 // orps %xmm4,%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,203 // andnps %xmm3,%xmm1 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,94,93,200 // divps -0x38(%ebp),%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,40,165,120,255,255,255 // movaps -0x88(%ebp),%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,77,184 // divps -0x48(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,84,231 // andps %xmm7,%xmm4 .byte 15,85,249 // andnps %xmm1,%xmm7 .byte 15,86,252 // orps %xmm4,%xmm7 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,207 // andnps %xmm7,%xmm1 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,94,125,200 // divps -0x38(%ebp),%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,86,249 // orps %xmm1,%xmm7 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,232 // maxps %xmm0,%xmm5 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,40,101,152 // movaps -0x68(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,40,141,104,255,255,255 // movaps -0x98(%ebp),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,89,133,72,255,255,255 // mulps -0xb8(%ebp),%xmm0 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,12,1,0,0 // add $0x10c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_color_sse2 .globl _sk_color_sse2 FUNCTION(_sk_color_sse2) _sk_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,28,1,0,0 // sub $0x11c,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,41,149,72,255,255,255 // movaps %xmm2,-0xb8(%ebp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 232,0,0,0,0 // call 1ec3 <_sk_color_sse2+0x1f> .byte 88 // pop %eax .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,152,109,117,0,0 // movaps 0x756d(%eax),%xmm3 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,176,125,117,0,0 // movaps 0x757d(%eax),%xmm6 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,184,141,117,0,0 // movaps 0x758d(%eax),%xmm7 .byte 15,41,189,56,255,255,255 // movaps %xmm7,-0xc8(%ebp) .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,41,101,136 // movaps %xmm4,-0x78(%ebp) .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,41,77,152 // movaps %xmm1,-0x68(%ebp) .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,40,136,157,117,0,0 // movaps 0x759d(%eax),%xmm1 .byte 15,41,77,168 // movaps %xmm1,-0x58(%ebp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,41,133,88,255,255,255 // movaps %xmm0,-0xa8(%ebp) .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,41,173,120,255,255,255 // movaps %xmm5,-0x88(%ebp) .byte 15,40,141,72,255,255,255 // movaps -0xb8(%ebp),%xmm1 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,41,165,104,255,255,255 // movaps %xmm4,-0x98(%ebp) .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,181,56,255,255,255 // movaps -0xc8(%ebp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,40,101,136 // movaps -0x78(%ebp),%xmm4 .byte 15,89,101,200 // mulps -0x38(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 15,40,109,152 // movaps -0x68(%ebp),%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,93,196 // minps %xmm4,%xmm0 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,95,196 // maxps %xmm4,%xmm0 .byte 15,41,101,136 // movaps %xmm4,-0x78(%ebp) .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,85,184 // movaps -0x48(%ebp),%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,194,241,2 // cmpleps %xmm1,%xmm6 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,202 // divps %xmm2,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 15,84,222 // andps %xmm6,%xmm3 .byte 15,86,218 // orps %xmm2,%xmm3 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,88,101,88 // addps 0x58(%ebp),%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,41,101,200 // movaps %xmm4,-0x38(%ebp) .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,194,231,1 // cmpltps %xmm7,%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,85,203 // andnps %xmm3,%xmm1 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,94,223 // divps %xmm7,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,77,216 // divps -0x28(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 15,84,238 // andps %xmm6,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,94,215 // divps %xmm7,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,84,212 // andps %xmm4,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 15,40,85,136 // movaps -0x78(%ebp),%xmm2 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,94,77,216 // divps -0x28(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,84,214 // andps %xmm6,%xmm2 .byte 15,85,241 // andnps %xmm1,%xmm6 .byte 15,86,242 // orps %xmm2,%xmm6 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,85,206 // andnps %xmm6,%xmm1 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,94,247 // divps %xmm7,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 15,84,244 // andps %xmm4,%xmm6 .byte 15,86,241 // orps %xmm1,%xmm6 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,40,101,152 // movaps -0x68(%ebp),%xmm4 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 15,95,240 // maxps %xmm0,%xmm6 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,40,141,120,255,255,255 // movaps -0x88(%ebp),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,173,104,255,255,255 // addps -0x98(%ebp),%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,28,1,0,0 // add $0x11c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_luminosity_sse2 .globl _sk_luminosity_sse2 FUNCTION(_sk_luminosity_sse2) _sk_luminosity_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,252,0,0,0 // sub $0xfc,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 232,0,0,0,0 // call 2176 <_sk_luminosity_sse2+0x1a> .byte 88 // pop %eax .byte 15,40,160,250,114,0,0 // movaps 0x72fa(%eax),%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,128,10,115,0,0 // movaps 0x730a(%eax),%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,40,184,42,115,0,0 // movaps 0x732a(%eax),%xmm7 .byte 15,41,125,152 // movaps %xmm7,-0x68(%ebp) .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,41,157,88,255,255,255 // movaps %xmm3,-0xa8(%ebp) .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,41,141,104,255,255,255 // movaps %xmm1,-0x98(%ebp) .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,41,189,120,255,255,255 // movaps %xmm7,-0x88(%ebp) .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,128,26,115,0,0 // movaps 0x731a(%eax),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,109,40 // mulps 0x28(%ebp),%xmm5 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,41,117,168 // movaps %xmm6,-0x58(%ebp) .byte 15,89,93,56 // mulps 0x38(%ebp),%xmm3 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,101,216 // mulps -0x28(%ebp),%xmm4 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,85,200 // mulps -0x38(%ebp),%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,89,117,72 // mulps 0x48(%ebp),%xmm6 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,93,209 // minps %xmm1,%xmm2 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,93,226 // minps %xmm2,%xmm4 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,95,241 // maxps %xmm1,%xmm6 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,95,214 // maxps %xmm6,%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,194,252,2 // cmpleps %xmm4,%xmm7 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,94,226 // divps %xmm2,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,85,212 // andnps %xmm4,%xmm2 .byte 15,84,239 // andps %xmm7,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,40,101,168 // movaps -0x58(%ebp),%xmm4 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,40,117,152 // movaps -0x68(%ebp),%xmm6 .byte 15,92,244 // subps %xmm4,%xmm6 .byte 15,41,117,152 // movaps %xmm6,-0x68(%ebp) .byte 15,88,101,88 // addps 0x58(%ebp),%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,41,101,168 // movaps %xmm4,-0x58(%ebp) .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,117,184 // movaps -0x48(%ebp),%xmm6 .byte 15,194,214,1 // cmpltps %xmm6,%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,41,101,136 // movaps %xmm4,-0x78(%ebp) .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,40,101,216 // movaps -0x28(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 15,94,238 // divps %xmm6,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,234 // andps %xmm2,%xmm5 .byte 15,86,109,136 // orps -0x78(%ebp),%xmm5 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,94,101,200 // divps -0x38(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,85,244 // andnps %xmm4,%xmm6 .byte 15,84,223 // andps %xmm7,%xmm3 .byte 15,86,222 // orps %xmm6,%xmm3 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,85,227 // andnps %xmm3,%xmm4 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,94,93,184 // divps -0x48(%ebp),%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 15,86,220 // orps %xmm4,%xmm3 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,94,101,200 // divps -0x38(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,84,207 // andps %xmm7,%xmm1 .byte 15,85,252 // andnps %xmm4,%xmm7 .byte 15,86,249 // orps %xmm1,%xmm7 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,207 // andnps %xmm7,%xmm1 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,94,125,184 // divps -0x48(%ebp),%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,86,249 // orps %xmm1,%xmm7 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,232 // maxps %xmm0,%xmm5 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,40,101,152 // movaps -0x68(%ebp),%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,141,104,255,255,255 // movaps -0x98(%ebp),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,165,120,255,255,255 // addps -0x88(%ebp),%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,252,0,0,0 // add $0xfc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcover_rgba_8888_sse2 .globl _sk_srcover_rgba_8888_sse2 FUNCTION(_sk_srcover_rgba_8888_sse2) _sk_srcover_rgba_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,172,0,0,0 // sub $0xac,%esp .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 102,15,127,77,184 // movdqa %xmm1,-0x48(%ebp) .byte 102,15,127,69,200 // movdqa %xmm0,-0x38(%ebp) .byte 232,0,0,0,0 // call 240a <_sk_srcover_rgba_8888_sse2+0x1f> .byte 95 // pop %edi .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,54 // mov (%esi),%esi .byte 133,210 // test %edx,%edx .byte 15,133,40,1,0,0 // jne 2548 <_sk_srcover_rgba_8888_sse2+0x15d> .byte 243,15,111,12,142 // movdqu (%esi,%ecx,4),%xmm1 .byte 102,15,111,135,166,112,0,0 // movdqa 0x70a6(%edi),%xmm0 .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,219,224 // pand %xmm0,%xmm4 .byte 102,15,111,249 // movdqa %xmm1,%xmm7 .byte 102,15,114,215,8 // psrld $0x8,%xmm7 .byte 102,15,219,248 // pand %xmm0,%xmm7 .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 15,91,244 // cvtdq2ps %xmm4,%xmm6 .byte 15,40,167,182,112,0,0 // movaps 0x70b6(%edi),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,135,198,112,0,0 // movaps 0x70c6(%edi),%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,41,117,200 // movaps %xmm6,-0x38(%ebp) .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,91,215 // cvtdq2ps %xmm7,%xmm2 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,89,125,216 // mulps -0x28(%ebp),%xmm7 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,89,109,216 // mulps -0x28(%ebp),%xmm5 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,253 // addps %xmm5,%xmm7 .byte 15,89,93,216 // mulps -0x28(%ebp),%xmm3 .byte 102,15,114,209,24 // psrld $0x18,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 102,15,91,206 // cvtps2dq %xmm6,%xmm1 .byte 102,15,114,241,8 // pslld $0x8,%xmm1 .byte 102,15,91,216 // cvtps2dq %xmm0,%xmm3 .byte 102,15,235,203 // por %xmm3,%xmm1 .byte 102,15,91,239 // cvtps2dq %xmm7,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,91,220 // cvtps2dq %xmm4,%xmm3 .byte 102,15,114,243,24 // pslld $0x18,%xmm3 .byte 102,15,235,221 // por %xmm5,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 139,93,20 // mov 0x14(%ebp),%ebx .byte 139,125,8 // mov 0x8(%ebp),%edi .byte 133,210 // test %edx,%edx .byte 15,133,131,0,0,0 // jne 2579 <_sk_srcover_rgba_8888_sse2+0x18e> .byte 243,15,127,28,142 // movdqu %xmm3,(%esi,%ecx,4) .byte 141,112,8 // lea 0x8(%eax),%esi .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,92,36,12 // mov %ebx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 137,60,36 // mov %edi,(%esp) .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,172,0,0,0 // add $0xac,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 137,211 // mov %edx,%ebx .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,94 // je 25b0 <_sk_srcover_rgba_8888_sse2+0x1c5> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 128,251,2 // cmp $0x2,%bl .byte 116,20 // je 256f <_sk_srcover_rgba_8888_sse2+0x184> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,193,254,255,255 // jne 2425 <_sk_srcover_rgba_8888_sse2+0x3a> .byte 102,15,110,68,142,8 // movd 0x8(%esi,%ecx,4),%xmm0 .byte 102,15,112,200,69 // pshufd $0x45,%xmm0,%xmm1 .byte 102,15,18,12,142 // movlpd (%esi,%ecx,4),%xmm1 .byte 233,172,254,255,255 // jmp 2425 <_sk_srcover_rgba_8888_sse2+0x3a> .byte 137,208 // mov %edx,%eax .byte 136,69,216 // mov %al,-0x28(%ebp) .byte 128,101,216,3 // andb $0x3,-0x28(%ebp) .byte 128,125,216,1 // cmpb $0x1,-0x28(%ebp) .byte 116,50 // je 25ba <_sk_srcover_rgba_8888_sse2+0x1cf> .byte 128,125,216,2 // cmpb $0x2,-0x28(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 116,21 // je 25a6 <_sk_srcover_rgba_8888_sse2+0x1bb> .byte 128,125,216,3 // cmpb $0x3,-0x28(%ebp) .byte 15,133,96,255,255,255 // jne 24fb <_sk_srcover_rgba_8888_sse2+0x110> .byte 102,15,112,203,78 // pshufd $0x4e,%xmm3,%xmm1 .byte 102,15,126,76,142,8 // movd %xmm1,0x8(%esi,%ecx,4) .byte 102,15,214,28,142 // movq %xmm3,(%esi,%ecx,4) .byte 233,75,255,255,255 // jmp 24fb <_sk_srcover_rgba_8888_sse2+0x110> .byte 102,15,110,12,142 // movd (%esi,%ecx,4),%xmm1 .byte 233,107,254,255,255 // jmp 2425 <_sk_srcover_rgba_8888_sse2+0x3a> .byte 102,15,126,28,142 // movd %xmm3,(%esi,%ecx,4) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 233,52,255,255,255 // jmp 24fb <_sk_srcover_rgba_8888_sse2+0x110> HIDDEN _sk_clamp_0_sse2 .globl _sk_clamp_0_sse2 FUNCTION(_sk_clamp_0_sse2) _sk_clamp_0_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,95,199 // maxps %xmm7,%xmm0 .byte 15,95,207 // maxps %xmm7,%xmm1 .byte 15,95,215 // maxps %xmm7,%xmm2 .byte 15,95,223 // maxps %xmm7,%xmm3 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_1_sse2 .globl _sk_clamp_1_sse2 FUNCTION(_sk_clamp_1_sse2) _sk_clamp_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 2640 <_sk_clamp_1_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,184,160,110,0,0 // movaps 0x6ea0(%eax),%xmm7 .byte 15,93,199 // minps %xmm7,%xmm0 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,93,215 // minps %xmm7,%xmm2 .byte 15,93,223 // minps %xmm7,%xmm3 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_a_sse2 .globl _sk_clamp_a_sse2 FUNCTION(_sk_clamp_a_sse2) _sk_clamp_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 26b5 <_sk_clamp_a_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,93,152,59,110,0,0 // minps 0x6e3b(%eax),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_a_dst_sse2 .globl _sk_clamp_a_dst_sse2 FUNCTION(_sk_clamp_a_dst_sse2) _sk_clamp_a_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 2727 <_sk_clamp_a_dst_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,93,160,217,109,0,0 // minps 0x6dd9(%eax),%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,93,252 // minps %xmm4,%xmm7 .byte 15,93,244 // minps %xmm4,%xmm6 .byte 15,93,236 // minps %xmm4,%xmm5 .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_set_rgb_sse2 .globl _sk_set_rgb_sse2 FUNCTION(_sk_set_rgb_sse2) _sk_set_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 243,15,16,87,8 // movss 0x8(%edi),%xmm2 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_swap_rb_sse2 .globl _sk_swap_rb_sse2 FUNCTION(_sk_swap_rb_sse2) _sk_swap_rb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_src_dst_sse2 .globl _sk_move_src_dst_sse2 FUNCTION(_sk_move_src_dst_sse2) _sk_move_src_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_dst_src_sse2 .globl _sk_move_dst_src_sse2 FUNCTION(_sk_move_dst_src_sse2) _sk_move_dst_src_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_premul_sse2 .globl _sk_premul_sse2 FUNCTION(_sk_premul_sse2) _sk_premul_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_unpremul_sse2 .globl _sk_unpremul_sse2 FUNCTION(_sk_unpremul_sse2) _sk_unpremul_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 2984 <_sk_unpremul_sse2+0xe> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,40,185,140,107,0,0 // movaps 0x6b8c(%ecx),%xmm7 .byte 15,94,251 // divps %xmm3,%xmm7 .byte 15,194,243,4 // cmpneqps %xmm3,%xmm6 .byte 15,84,247 // andps %xmm7,%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,89,4 // lea 0x4(%ecx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,17 // call *(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_from_srgb_sse2 .globl _sk_from_srgb_sse2 FUNCTION(_sk_from_srgb_sse2) _sk_from_srgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 2a13 <_sk_from_srgb_sse2+0x1e> .byte 88 // pop %eax .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,89,219 // mulps %xmm3,%xmm3 .byte 15,40,160,29,107,0,0 // movaps 0x6b1d(%eax),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,136,45,107,0,0 // movaps 0x6b2d(%eax),%xmm1 .byte 15,41,77,200 // movaps %xmm1,-0x38(%ebp) .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,152,13,107,0,0 // movaps 0x6b0d(%eax),%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,184,61,107,0,0 // movaps 0x6b3d(%eax),%xmm7 .byte 15,41,125,216 // movaps %xmm7,-0x28(%ebp) .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,40,184,77,107,0,0 // movaps 0x6b4d(%eax),%xmm7 .byte 15,194,215,1 // cmpltps %xmm7,%xmm2 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,77,200 // addps -0x38(%ebp),%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,194,239,1 // cmpltps %xmm7,%xmm5 .byte 15,84,197 // andps %xmm5,%xmm0 .byte 15,85,233 // andnps %xmm1,%xmm5 .byte 15,86,232 // orps %xmm0,%xmm5 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,88,101,216 // addps -0x28(%ebp),%xmm4 .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,84,222 // andps %xmm6,%xmm3 .byte 15,85,244 // andnps %xmm4,%xmm6 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,86,243 // orps %xmm3,%xmm6 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_from_srgb_dst_sse2 .globl _sk_from_srgb_dst_sse2 FUNCTION(_sk_from_srgb_dst_sse2) _sk_from_srgb_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,188,0,0,0 // sub $0xbc,%esp .byte 15,41,93,152 // movaps %xmm3,-0x68(%ebp) .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 232,0,0,0,0 // call 2b36 <_sk_from_srgb_dst_sse2+0x21> .byte 88 // pop %eax .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,168,74,106,0,0 // movaps 0x6a4a(%eax),%xmm5 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,144,90,106,0,0 // movaps 0x6a5a(%eax),%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,88,250 // addps %xmm2,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,40,176,58,106,0,0 // movaps 0x6a3a(%eax),%xmm6 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,40,152,106,106,0,0 // movaps 0x6a6a(%eax),%xmm3 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,40,144,122,106,0,0 // movaps 0x6a7a(%eax),%xmm2 .byte 15,194,202,1 // cmpltps %xmm2,%xmm1 .byte 15,84,225 // andps %xmm1,%xmm4 .byte 15,85,207 // andnps %xmm7,%xmm1 .byte 15,86,204 // orps %xmm4,%xmm1 .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,88,125,216 // addps -0x28(%ebp),%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,194,194,1 // cmpltps %xmm2,%xmm0 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,199 // andnps %xmm7,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,109,216 // addps -0x28(%ebp),%xmm5 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,88,235 // addps %xmm3,%xmm5 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,194,226,1 // cmpltps %xmm2,%xmm4 .byte 15,84,244 // andps %xmm4,%xmm6 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,86,230 // orps %xmm6,%xmm4 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,40,93,152 // movaps -0x68(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,188,0,0,0 // add $0xbc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_to_srgb_sse2 .globl _sk_to_srgb_sse2 FUNCTION(_sk_to_srgb_sse2) _sk_to_srgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,172,0,0,0 // sub $0xac,%esp .byte 15,41,93,168 // movaps %xmm3,-0x58(%ebp) .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 2c56 <_sk_to_srgb_sse2+0x1e> .byte 88 // pop %eax .byte 15,82,218 // rsqrtps %xmm2,%xmm3 .byte 15,40,160,122,105,0,0 // movaps 0x697a(%eax),%xmm4 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,40,128,138,105,0,0 // movaps 0x698a(%eax),%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,40,128,154,105,0,0 // movaps 0x699a(%eax),%xmm0 .byte 15,41,69,184 // movaps %xmm0,-0x48(%ebp) .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,128,170,105,0,0 // movaps 0x69aa(%eax),%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,83,195 // rcpps %xmm3,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,168,106,105,0,0 // movaps 0x696a(%eax),%xmm5 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,152,186,105,0,0 // movaps 0x69ba(%eax),%xmm3 .byte 15,194,211,1 // cmpltps %xmm3,%xmm2 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,82,198 // rsqrtps %xmm6,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,77,184 // addps -0x48(%ebp),%xmm1 .byte 15,88,69,200 // addps -0x38(%ebp),%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,194,243,1 // cmpltps %xmm3,%xmm6 .byte 15,84,206 // andps %xmm6,%xmm1 .byte 15,85,240 // andnps %xmm0,%xmm6 .byte 15,86,241 // orps %xmm1,%xmm6 .byte 15,82,199 // rsqrtps %xmm7,%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,216 // addps -0x28(%ebp),%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,184 // addps -0x48(%ebp),%xmm4 .byte 15,88,69,200 // addps -0x38(%ebp),%xmm0 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,194,251,1 // cmpltps %xmm3,%xmm7 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,84,239 // andps %xmm7,%xmm5 .byte 15,85,248 // andnps %xmm0,%xmm7 .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,86,253 // orps %xmm5,%xmm7 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,172,0,0,0 // add $0xac,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_rgb_to_hsl_sse2 .globl _sk_rgb_to_hsl_sse2 FUNCTION(_sk_rgb_to_hsl_sse2) _sk_rgb_to_hsl_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 2d95 <_sk_rgb_to_hsl_sse2+0x1b> .byte 88 // pop %eax .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,95,205 // maxps %xmm5,%xmm1 .byte 15,95,202 // maxps %xmm2,%xmm1 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,93,253 // minps %xmm5,%xmm7 .byte 15,41,109,216 // movaps %xmm5,-0x28(%ebp) .byte 15,93,250 // minps %xmm2,%xmm7 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,40,152,139,104,0,0 // movaps 0x688b(%eax),%xmm3 .byte 15,94,216 // divps %xmm0,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,194,234,1 // cmpltps %xmm2,%xmm5 .byte 15,84,168,155,104,0,0 // andps 0x689b(%eax),%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,194,196,0 // cmpeqps %xmm4,%xmm0 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,194,117,216,0 // cmpeqps -0x28(%ebp),%xmm6 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,92,101,216 // subps -0x28(%ebp),%xmm4 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,152,171,104,0,0 // movaps 0x68ab(%eax),%xmm3 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,88,160,187,104,0,0 // addps 0x68bb(%eax),%xmm4 .byte 15,84,214 // andps %xmm6,%xmm2 .byte 15,85,244 // andnps %xmm4,%xmm6 .byte 15,86,242 // orps %xmm2,%xmm6 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,194,231,4 // cmpneqps %xmm7,%xmm4 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,40,168,219,104,0,0 // movaps 0x68db(%eax),%xmm5 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,194,234,1 // cmpltps %xmm2,%xmm5 .byte 15,84,221 // andps %xmm5,%xmm3 .byte 15,85,233 // andnps %xmm1,%xmm5 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,86,235 // orps %xmm3,%xmm5 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,94,205 // divps %xmm5,%xmm1 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,89,128,203,104,0,0 // mulps 0x68cb(%eax),%xmm0 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 255,16 // call *(%eax) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hsl_to_rgb_sse2 .globl _sk_hsl_to_rgb_sse2 FUNCTION(_sk_hsl_to_rgb_sse2) _sk_hsl_to_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,44,1,0,0 // sub $0x12c,%esp .byte 15,41,157,40,255,255,255 // movaps %xmm3,-0xd8(%ebp) .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 232,0,0,0,0 // call 2eca <_sk_hsl_to_rgb_sse2+0x1c> .byte 88 // pop %eax .byte 15,40,152,182,103,0,0 // movaps 0x67b6(%eax),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,181,72,255,255,255 // movaps %xmm6,-0xb8(%ebp) .byte 15,194,226,2 // cmpleps %xmm2,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,194,217,0 // cmpeqps %xmm1,%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,236 // andps %xmm4,%xmm5 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,40,136,198,103,0,0 // movaps 0x67c6(%eax),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 243,15,91,193 // cvttps2dq %xmm1,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,194,216,1 // cmpltps %xmm0,%xmm3 .byte 15,40,168,214,103,0,0 // movaps 0x67d6(%eax),%xmm5 .byte 15,41,173,104,255,255,255 // movaps %xmm5,-0x98(%ebp) .byte 15,84,221 // andps %xmm5,%xmm3 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,41,173,56,255,255,255 // movaps %xmm5,-0xc8(%ebp) .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,41,101,184 // movaps %xmm4,-0x48(%ebp) .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,144,230,103,0,0 // movaps 0x67e6(%eax),%xmm2 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,194,209,2 // cmpleps %xmm1,%xmm2 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,194,193,2 // cmpleps %xmm1,%xmm0 .byte 15,40,176,22,104,0,0 // movaps 0x6816(%eax),%xmm6 .byte 15,41,181,88,255,255,255 // movaps %xmm6,-0xa8(%ebp) .byte 15,194,241,2 // cmpleps %xmm1,%xmm6 .byte 15,40,152,246,103,0,0 // movaps 0x67f6(%eax),%xmm3 .byte 15,41,93,152 // movaps %xmm3,-0x68(%ebp) .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,184,6,104,0,0 // movaps 0x6806(%eax),%xmm7 .byte 15,41,125,136 // movaps %xmm7,-0x78(%ebp) .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,253 // addps %xmm5,%xmm7 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,86,211 // orps %xmm3,%xmm2 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,85,69,184 // andnps -0x48(%ebp),%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,85,241 // andnps %xmm1,%xmm6 .byte 15,86,240 // orps %xmm0,%xmm6 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,41,133,120,255,255,255 // movaps %xmm0,-0x88(%ebp) .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 243,15,91,194 // cvttps2dq %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,84,136,214,103,0,0 // andps 0x67d6(%eax),%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,40,128,230,103,0,0 // movaps 0x67e6(%eax),%xmm0 .byte 15,194,193,2 // cmpleps %xmm1,%xmm0 .byte 15,40,144,182,103,0,0 // movaps 0x67b6(%eax),%xmm2 .byte 15,194,209,2 // cmpleps %xmm1,%xmm2 .byte 15,40,152,22,104,0,0 // movaps 0x6816(%eax),%xmm3 .byte 15,194,217,2 // cmpleps %xmm1,%xmm3 .byte 15,89,136,246,103,0,0 // mulps 0x67f6(%eax),%xmm1 .byte 15,40,176,6,104,0,0 // movaps 0x6806(%eax),%xmm6 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,84,248 // andps %xmm0,%xmm7 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,199 // orps %xmm7,%xmm0 .byte 15,84,194 // andps %xmm2,%xmm0 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,86,208 // orps %xmm0,%xmm2 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,84,211 // andps %xmm3,%xmm2 .byte 15,85,217 // andnps %xmm1,%xmm3 .byte 15,86,218 // orps %xmm2,%xmm3 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,85,243 // andnps %xmm3,%xmm6 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,88,144,38,104,0,0 // addps 0x6826(%eax),%xmm2 .byte 243,15,91,194 // cvttps2dq %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,84,141,104,255,255,255 // andps -0x98(%ebp),%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,40,77,152 // movaps -0x68(%ebp),%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,93,136 // movaps -0x78(%ebp),%xmm3 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,194,234,2 // cmpleps %xmm2,%xmm5 .byte 15,84,229 // andps %xmm5,%xmm4 .byte 15,85,235 // andnps %xmm3,%xmm5 .byte 15,86,236 // orps %xmm4,%xmm5 .byte 15,40,133,72,255,255,255 // movaps -0xb8(%ebp),%xmm0 .byte 15,194,194,2 // cmpleps %xmm2,%xmm0 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,199 // andnps %xmm7,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,40,157,88,255,255,255 // movaps -0xa8(%ebp),%xmm3 .byte 15,194,218,2 // cmpleps %xmm2,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,85,217 // andnps %xmm1,%xmm3 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,149,56,255,255,255 // movaps -0xc8(%ebp),%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,84,211 // andps %xmm3,%xmm2 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,133,120,255,255,255 // movaps -0x88(%ebp),%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,86,242 // orps %xmm2,%xmm6 .byte 15,86,211 // orps %xmm3,%xmm2 .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,157,40,255,255,255 // movaps -0xd8(%ebp),%xmm3 .byte 255,23 // call *(%edi) .byte 129,196,44,1,0,0 // add $0x12c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_1_float_sse2 .globl _sk_scale_1_float_sse2 FUNCTION(_sk_scale_1_float_sse2) _sk_scale_1_float_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,39 // movss (%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_u8_sse2 .globl _sk_scale_u8_sse2 FUNCTION(_sk_scale_u8_sse2) _sk_scale_u8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 31d0 <_sk_scale_u8_sse2+0xe> .byte 91 // pop %ebx .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 117,106 // jne 325b <_sk_scale_u8_sse2+0x99> .byte 102,15,110,36,57 // movd (%ecx,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,163,48,101,0,0 // pand 0x6530(%ebx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,163,64,101,0,0 // mulps 0x6540(%ebx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,65 // je 32a9 <_sk_scale_u8_sse2+0xe7> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,23 // je 328c <_sk_scale_u8_sse2+0xca> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,131 // jne 31fe <_sk_scale_u8_sse2+0x3c> .byte 15,182,116,57,2 // movzbl 0x2(%ecx,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,12,57 // movzwl (%ecx,%edi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 233,85,255,255,255 // jmp 31fe <_sk_scale_u8_sse2+0x3c> .byte 15,182,12,57 // movzbl (%ecx,%edi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,69,255,255,255 // jmp 31fe <_sk_scale_u8_sse2+0x3c> HIDDEN _sk_lerp_1_float_sse2 .globl _sk_lerp_1_float_sse2 FUNCTION(_sk_lerp_1_float_sse2) _sk_lerp_1_float_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,57 // movss (%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,92,85,72 // subps 0x48(%ebp),%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lerp_u8_sse2 .globl _sk_lerp_u8_sse2 FUNCTION(_sk_lerp_u8_sse2) _sk_lerp_u8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 232,0,0,0,0 // call 3357 <_sk_lerp_u8_sse2+0x12> .byte 91 // pop %ebx .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 15,133,143,0,0,0 // jne 3403 <_sk_lerp_u8_sse2+0xbe> .byte 102,15,110,36,57 // movd (%ecx,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,163,201,99,0,0 // pand 0x63c9(%ebx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,163,217,99,0,0 // mulps 0x63d9(%ebx),%xmm4 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,69 // je 3455 <_sk_lerp_u8_sse2+0x110> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,27 // je 3438 <_sk_lerp_u8_sse2+0xf3> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,90,255,255,255 // jne 3381 <_sk_lerp_u8_sse2+0x3c> .byte 15,182,116,57,2 // movzbl 0x2(%ecx,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,12,57 // movzwl (%ecx,%edi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 233,44,255,255,255 // jmp 3381 <_sk_lerp_u8_sse2+0x3c> .byte 15,182,12,57 // movzbl (%ecx,%edi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,28,255,255,255 // jmp 3381 <_sk_lerp_u8_sse2+0x3c> HIDDEN _sk_lerp_565_sse2 .globl _sk_lerp_565_sse2 FUNCTION(_sk_lerp_565_sse2) _sk_lerp_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 3473 <_sk_lerp_565_sse2+0xe> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 15,133,212,0,0,0 // jne 3560 <_sk_lerp_565_sse2+0xfb> .byte 243,15,126,52,121 // movq (%ecx,%edi,2),%xmm6 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,111,163,205,98,0,0 // movdqa 0x62cd(%ebx),%xmm4 .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,163,221,98,0,0 // mulps 0x62dd(%ebx),%xmm4 .byte 102,15,111,187,237,98,0,0 // movdqa 0x62ed(%ebx),%xmm7 .byte 102,15,219,254 // pand %xmm6,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,187,253,98,0,0 // mulps 0x62fd(%ebx),%xmm7 .byte 102,15,219,179,13,99,0,0 // pand 0x630d(%ebx),%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,179,29,99,0,0 // mulps 0x631d(%ebx),%xmm6 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,88,253 // addps %xmm5,%xmm7 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,95,251 // maxps %xmm3,%xmm7 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,95,231 // maxps %xmm7,%xmm4 .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,58 // je 35a7 <_sk_lerp_565_sse2+0x142> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,27 // je 3595 <_sk_lerp_565_sse2+0x130> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,17,255,255,255 // jne 3495 <_sk_lerp_565_sse2+0x30> .byte 15,183,116,121,4 // movzwl 0x4(%ecx,%edi,2),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,15,110,36,121 // movd (%ecx,%edi,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 242,15,16,244 // movsd %xmm4,%xmm6 .byte 233,238,254,255,255 // jmp 3495 <_sk_lerp_565_sse2+0x30> .byte 15,183,12,121 // movzwl (%ecx,%edi,2),%ecx .byte 102,15,110,241 // movd %ecx,%xmm6 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,222,254,255,255 // jmp 3495 <_sk_lerp_565_sse2+0x30> HIDDEN _sk_load_tables_sse2 .globl _sk_load_tables_sse2 FUNCTION(_sk_load_tables_sse2) _sk_load_tables_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 35c5 <_sk_load_tables_sse2+0xe> .byte 94 // pop %esi .byte 139,69,24 // mov 0x18(%ebp),%eax .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 133,192 // test %eax,%eax .byte 139,17 // mov (%ecx),%edx .byte 139,58 // mov (%edx),%edi .byte 15,133,75,1,0,0 // jne 3726 <_sk_load_tables_sse2+0x16f> .byte 243,15,111,28,159 // movdqu (%edi,%ebx,4),%xmm3 .byte 102,15,111,150,219,97,0,0 // movdqa 0x61db(%esi),%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,224,231 // pshufd $0xe7,%xmm0,%xmm4 .byte 102,15,126,231 // movd %xmm4,%edi .byte 139,74,4 // mov 0x4(%edx),%ecx .byte 243,15,16,36,185 // movss (%ecx,%edi,4),%xmm4 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,44,185 // movss (%ecx,%edi,4),%xmm5 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 139,74,8 // mov 0x8(%edx),%ecx .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,112,225,229 // pshufd $0xe5,%xmm1,%xmm4 .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,185 // movss (%ecx,%edi,4),%xmm6 .byte 102,15,126,231 // movd %xmm4,%edi .byte 243,15,16,36,185 // movss (%ecx,%edi,4),%xmm4 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,249,78 // pshufd $0x4e,%xmm1,%xmm7 .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 102,15,126,255 // movd %xmm7,%edi .byte 243,15,16,60,185 // movss (%ecx,%edi,4),%xmm7 .byte 15,20,197 // unpcklps %xmm5,%xmm0 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 139,74,12 // mov 0xc(%edx),%ecx .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 102,15,112,213,229 // pshufd $0xe5,%xmm5,%xmm2 .byte 102,15,112,245,231 // pshufd $0xe7,%xmm5,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 243,15,16,52,145 // movss (%ecx,%edx,4),%xmm6 .byte 102,15,126,210 // movd %xmm2,%edx .byte 243,15,16,60,145 // movss (%ecx,%edx,4),%xmm7 .byte 102,15,126,234 // movd %xmm5,%edx .byte 102,15,112,237,78 // pshufd $0x4e,%xmm5,%xmm5 .byte 243,15,16,20,145 // movss (%ecx,%edx,4),%xmm2 .byte 102,15,126,234 // movd %xmm5,%edx .byte 243,15,16,44,145 // movss (%ecx,%edx,4),%xmm5 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,158,235,97,0,0 // mulps 0x61eb(%esi),%xmm3 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 137,206 // mov %ecx,%esi .byte 141,78,8 // lea 0x8(%esi),%ecx .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,68,36,16 // mov %eax,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 137,193 // mov %eax,%ecx .byte 128,225,3 // and $0x3,%cl .byte 128,249,1 // cmp $0x1,%cl .byte 116,39 // je 3757 <_sk_load_tables_sse2+0x1a0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,249,2 // cmp $0x2,%cl .byte 116,20 // je 374d <_sk_load_tables_sse2+0x196> .byte 128,249,3 // cmp $0x3,%cl .byte 15,133,158,254,255,255 // jne 35e0 <_sk_load_tables_sse2+0x29> .byte 102,15,110,68,159,8 // movd 0x8(%edi,%ebx,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,159 // movlpd (%edi,%ebx,4),%xmm3 .byte 233,137,254,255,255 // jmp 35e0 <_sk_load_tables_sse2+0x29> .byte 102,15,110,28,159 // movd (%edi,%ebx,4),%xmm3 .byte 233,127,254,255,255 // jmp 35e0 <_sk_load_tables_sse2+0x29> HIDDEN _sk_load_tables_u16_be_sse2 .globl _sk_load_tables_u16_be_sse2 FUNCTION(_sk_load_tables_u16_be_sse2) _sk_load_tables_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 232,0,0,0,0 // call 3772 <_sk_load_tables_u16_be_sse2+0x11> .byte 95 // pop %edi .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 131,125,24,0 // cmpl $0x0,0x18(%ebp) .byte 139,24 // mov (%eax),%ebx .byte 139,11 // mov (%ebx),%ecx .byte 141,52,149,0,0,0,0 // lea 0x0(,%edx,4),%esi .byte 186,255,0,255,0 // mov $0xff00ff,%edx .byte 15,133,229,1,0,0 // jne 3978 <_sk_load_tables_u16_be_sse2+0x217> .byte 102,15,16,4,113 // movupd (%ecx,%esi,2),%xmm0 .byte 243,15,111,76,113,16 // movdqu 0x10(%ecx,%esi,2),%xmm1 .byte 102,15,40,216 // movapd %xmm0,%xmm3 .byte 102,15,97,217 // punpcklwd %xmm1,%xmm3 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,105,216 // punpckhwd %xmm0,%xmm3 .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,202,78 // pshufd $0x4e,%xmm2,%xmm1 .byte 102,15,112,234,231 // pshufd $0xe7,%xmm2,%xmm5 .byte 33,214 // and %edx,%esi .byte 137,117,216 // mov %esi,-0x28(%ebp) .byte 33,209 // and %edx,%ecx .byte 137,77,220 // mov %ecx,-0x24(%ebp) .byte 243,15,126,69,216 // movq -0x28(%ebp),%xmm0 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,97,194 // punpcklwd %xmm2,%xmm0 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,112,208,229 // pshufd $0xe5,%xmm0,%xmm2 .byte 102,15,112,240,231 // pshufd $0xe7,%xmm0,%xmm6 .byte 102,15,126,241 // movd %xmm6,%ecx .byte 139,115,4 // mov 0x4(%ebx),%esi .byte 243,15,16,52,142 // movss (%esi,%ecx,4),%xmm6 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 243,15,16,20,142 // movss (%esi,%ecx,4),%xmm2 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,248,78 // pshufd $0x4e,%xmm0,%xmm7 .byte 243,15,16,4,142 // movss (%esi,%ecx,4),%xmm0 .byte 102,15,126,249 // movd %xmm7,%ecx .byte 243,15,16,60,142 // movss (%esi,%ecx,4),%xmm7 .byte 102,15,126,233 // movd %xmm5,%ecx .byte 139,115,8 // mov 0x8(%ebx),%esi .byte 33,209 // and %edx,%ecx .byte 137,77,228 // mov %ecx,-0x1c(%ebp) .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 33,209 // and %edx,%ecx .byte 137,77,224 // mov %ecx,-0x20(%ebp) .byte 102,15,126,201 // movd %xmm1,%ecx .byte 243,15,126,109,224 // movq -0x20(%ebp),%xmm5 .byte 102,15,97,236 // punpcklwd %xmm4,%xmm5 .byte 102,15,112,205,231 // pshufd $0xe7,%xmm5,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,36,134 // movss (%esi,%eax,4),%xmm4 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 102,15,112,205,229 // pshufd $0xe5,%xmm5,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,52,134 // movss (%esi,%eax,4),%xmm6 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,12,134 // movss (%esi,%eax,4),%xmm1 .byte 102,15,112,237,78 // pshufd $0x4e,%xmm5,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,134 // movss (%esi,%eax,4),%xmm5 .byte 102,15,126,216 // movd %xmm3,%eax .byte 139,115,12 // mov 0xc(%ebx),%esi .byte 33,208 // and %edx,%eax .byte 137,69,232 // mov %eax,-0x18(%ebp) .byte 33,209 // and %edx,%ecx .byte 15,20,194 // unpcklps %xmm2,%xmm0 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 15,20,205 // unpcklps %xmm5,%xmm1 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 137,77,236 // mov %ecx,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 102,15,97,212 // punpcklwd %xmm4,%xmm2 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 102,15,112,226,229 // pshufd $0xe5,%xmm2,%xmm4 .byte 102,15,112,234,231 // pshufd $0xe7,%xmm2,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,134 // movss (%esi,%eax,4),%xmm5 .byte 102,15,126,224 // movd %xmm4,%eax .byte 243,15,16,36,134 // movss (%esi,%eax,4),%xmm4 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 243,15,16,20,134 // movss (%esi,%eax,4),%xmm2 .byte 102,15,126,240 // movd %xmm6,%eax .byte 243,15,16,52,134 // movss (%esi,%eax,4),%xmm6 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 102,15,112,219,78 // pshufd $0x4e,%xmm3,%xmm3 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,220 // por %xmm4,%xmm3 .byte 102,15,126,93,208 // movd %xmm3,-0x30(%ebp) .byte 102,15,112,219,229 // pshufd $0xe5,%xmm3,%xmm3 .byte 102,15,126,93,212 // movd %xmm3,-0x2c(%ebp) .byte 243,15,126,93,208 // movq -0x30(%ebp),%xmm3 .byte 102,15,97,223 // punpcklwd %xmm7,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,159,78,96,0,0 // mulps 0x604e(%edi),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,193 // mov %eax,%ecx .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,113 // movsd (%ecx,%esi,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 139,69,24 // mov 0x18(%ebp),%eax .byte 131,248,1 // cmp $0x1,%eax .byte 15,132,17,254,255,255 // je 379e <_sk_load_tables_u16_be_sse2+0x3d> .byte 102,15,22,68,113,8 // movhpd 0x8(%ecx,%esi,2),%xmm0 .byte 131,248,3 // cmp $0x3,%eax .byte 15,130,2,254,255,255 // jb 379e <_sk_load_tables_u16_be_sse2+0x3d> .byte 243,15,126,76,113,16 // movq 0x10(%ecx,%esi,2),%xmm1 .byte 233,247,253,255,255 // jmp 379e <_sk_load_tables_u16_be_sse2+0x3d> HIDDEN _sk_load_tables_rgb_u16_be_sse2 .globl _sk_load_tables_rgb_u16_be_sse2 FUNCTION(_sk_load_tables_rgb_u16_be_sse2) _sk_load_tables_rgb_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 232,0,0,0,0 // call 39b5 <_sk_load_tables_rgb_u16_be_sse2+0xe> .byte 88 // pop %eax .byte 137,69,240 // mov %eax,-0x10(%ebp) .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 131,125,24,0 // cmpl $0x0,0x18(%ebp) .byte 139,24 // mov (%eax),%ebx .byte 139,19 // mov (%ebx),%edx .byte 141,60,73 // lea (%ecx,%ecx,2),%edi .byte 190,255,0,255,0 // mov $0xff00ff,%esi .byte 15,133,198,1,0,0 // jne 3b9b <_sk_load_tables_rgb_u16_be_sse2+0x1f4> .byte 243,15,111,12,122 // movdqu (%edx,%edi,2),%xmm1 .byte 243,15,111,92,122,8 // movdqu 0x8(%edx,%edi,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,115,218,6 // psrldq $0x6,%xmm2 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 102,15,97,194 // punpcklwd %xmm2,%xmm0 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,105,200 // punpckhwd %xmm0,%xmm1 .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,194 // movd %xmm0,%edx .byte 33,240 // and %esi,%eax .byte 137,69,216 // mov %eax,-0x28(%ebp) .byte 33,247 // and %esi,%edi .byte 137,125,220 // mov %edi,-0x24(%ebp) .byte 243,15,126,69,216 // movq -0x28(%ebp),%xmm0 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,97,194 // punpcklwd %xmm2,%xmm0 .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,112,248,231 // pshufd $0xe7,%xmm0,%xmm7 .byte 102,15,126,248 // movd %xmm7,%eax .byte 139,123,4 // mov 0x4(%ebx),%edi .byte 243,15,16,20,135 // movss (%edi,%eax,4),%xmm2 .byte 102,15,126,224 // movd %xmm4,%eax .byte 243,15,16,60,135 // movss (%edi,%eax,4),%xmm7 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 243,15,16,44,135 // movss (%edi,%eax,4),%xmm5 .byte 102,15,126,224 // movd %xmm4,%eax .byte 243,15,16,36,135 // movss (%edi,%eax,4),%xmm4 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 139,123,8 // mov 0x8(%ebx),%edi .byte 33,240 // and %esi,%eax .byte 137,69,224 // mov %eax,-0x20(%ebp) .byte 102,15,126,216 // movd %xmm3,%eax .byte 33,242 // and %esi,%edx .byte 137,85,228 // mov %edx,-0x1c(%ebp) .byte 243,15,126,93,224 // movq -0x20(%ebp),%xmm3 .byte 102,15,97,222 // punpcklwd %xmm6,%xmm3 .byte 102,15,112,243,231 // pshufd $0xe7,%xmm3,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 243,15,16,52,151 // movss (%edi,%edx,4),%xmm6 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 243,15,16,4,143 // movss (%edi,%ecx,4),%xmm0 .byte 15,20,250 // unpcklps %xmm2,%xmm7 .byte 102,15,126,217 // movd %xmm3,%ecx .byte 243,15,16,12,143 // movss (%edi,%ecx,4),%xmm1 .byte 102,15,112,211,78 // pshufd $0x4e,%xmm3,%xmm2 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 243,15,16,28,143 // movss (%edi,%ecx,4),%xmm3 .byte 139,75,12 // mov 0xc(%ebx),%ecx .byte 33,242 // and %esi,%edx .byte 137,85,232 // mov %edx,-0x18(%ebp) .byte 33,240 // and %esi,%eax .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 15,20,239 // unpcklps %xmm7,%xmm5 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 137,69,236 // mov %eax,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 102,15,97,212 // punpcklwd %xmm4,%xmm2 .byte 102,15,112,226,229 // pshufd $0xe5,%xmm2,%xmm4 .byte 102,15,112,242,231 // pshufd $0xe7,%xmm2,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 243,15,16,52,129 // movss (%ecx,%eax,4),%xmm6 .byte 102,15,126,224 // movd %xmm4,%eax .byte 243,15,16,36,129 // movss (%ecx,%eax,4),%xmm4 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,250,78 // pshufd $0x4e,%xmm2,%xmm7 .byte 243,15,16,20,129 // movss (%ecx,%eax,4),%xmm2 .byte 102,15,126,248 // movd %xmm7,%eax .byte 243,15,16,60,129 // movss (%ecx,%eax,4),%xmm7 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,193 // mov %eax,%ecx .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 139,69,240 // mov -0x10(%ebp),%eax .byte 15,40,152,27,94,0,0 // movaps 0x5e1b(%eax),%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,110,12,122 // movd (%edx,%edi,2),%xmm1 .byte 102,15,196,76,122,4,2 // pinsrw $0x2,0x4(%edx,%edi,2),%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 139,69,24 // mov 0x18(%ebp),%eax .byte 131,248,1 // cmp $0x1,%eax .byte 117,13 // jne 3bc0 <_sk_load_tables_rgb_u16_be_sse2+0x219> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,55,254,255,255 // jmp 39f7 <_sk_load_tables_rgb_u16_be_sse2+0x50> .byte 102,15,110,68,122,6 // movd 0x6(%edx,%edi,2),%xmm0 .byte 102,15,196,68,122,10,2 // pinsrw $0x2,0xa(%edx,%edi,2),%xmm0 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 131,248,3 // cmp $0x3,%eax .byte 114,18 // jb 3be8 <_sk_load_tables_rgb_u16_be_sse2+0x241> .byte 102,15,110,92,122,12 // movd 0xc(%edx,%edi,2),%xmm3 .byte 102,15,196,92,122,16,2 // pinsrw $0x2,0x10(%edx,%edi,2),%xmm3 .byte 233,15,254,255,255 // jmp 39f7 <_sk_load_tables_rgb_u16_be_sse2+0x50> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,6,254,255,255 // jmp 39f7 <_sk_load_tables_rgb_u16_be_sse2+0x50> HIDDEN _sk_byte_tables_sse2 .globl _sk_byte_tables_sse2 FUNCTION(_sk_byte_tables_sse2) _sk_byte_tables_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 3bff <_sk_byte_tables_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,40,170,225,91,0,0 // movaps 0x5be1(%edx),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,224,231 // pshufd $0xe7,%xmm0,%xmm4 .byte 139,57 // mov (%ecx),%edi .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 102,15,126,227 // movd %xmm4,%ebx .byte 15,182,28,31 // movzbl (%edi,%ebx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 9,243 // or %esi,%ebx .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,126,198 // movd %xmm0,%esi .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 102,15,126,224 // movd %xmm4,%eax .byte 15,182,4,7 // movzbl (%edi,%eax,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,240 // or %esi,%eax .byte 102,15,196,192,0 // pinsrw $0x0,%eax,%xmm0 .byte 139,65,4 // mov 0x4(%ecx),%eax .byte 102,15,196,195,1 // pinsrw $0x1,%ebx,%xmm0 .byte 15,40,162,241,91,0,0 // movaps 0x5bf1(%edx),%xmm4 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 .byte 102,15,112,241,78 // pshufd $0x4e,%xmm1,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 15,182,20,16 // movzbl (%eax,%edx,1),%edx .byte 15,182,52,48 // movzbl (%eax,%esi,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,214 // or %edx,%esi .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,201,229 // pshufd $0xe5,%xmm1,%xmm1 .byte 15,182,20,16 // movzbl (%eax,%edx,1),%edx .byte 102,15,126,207 // movd %xmm1,%edi .byte 15,182,4,56 // movzbl (%eax,%edi,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,208 // or %edx,%eax .byte 102,15,196,200,0 // pinsrw $0x0,%eax,%xmm1 .byte 102,15,196,206,1 // pinsrw $0x1,%esi,%xmm1 .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,112,242,231 // pshufd $0xe7,%xmm2,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 15,182,20,16 // movzbl (%eax,%edx,1),%edx .byte 15,182,52,48 // movzbl (%eax,%esi,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,214 // or %edx,%esi .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,112,210,229 // pshufd $0xe5,%xmm2,%xmm2 .byte 15,182,20,16 // movzbl (%eax,%edx,1),%edx .byte 102,15,126,215 // movd %xmm2,%edi .byte 15,182,4,56 // movzbl (%eax,%edi,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,208 // or %edx,%eax .byte 102,15,196,208,0 // pinsrw $0x0,%eax,%xmm2 .byte 102,15,196,214,1 // pinsrw $0x1,%esi,%xmm2 .byte 139,65,12 // mov 0xc(%ecx),%eax .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 102,15,91,219 // cvtps2dq %xmm3,%xmm3 .byte 102,15,126,217 // movd %xmm3,%ecx .byte 102,15,112,235,229 // pshufd $0xe5,%xmm3,%xmm5 .byte 102,15,112,243,78 // pshufd $0x4e,%xmm3,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,112,219,231 // pshufd $0xe7,%xmm3,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 15,182,20,16 // movzbl (%eax,%edx,1),%edx .byte 15,182,52,48 // movzbl (%eax,%esi,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,214 // or %edx,%esi .byte 102,15,126,234 // movd %xmm5,%edx .byte 15,182,12,8 // movzbl (%eax,%ecx,1),%ecx .byte 15,182,4,16 // movzbl (%eax,%edx,1),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 193,224,8 // shl $0x8,%eax .byte 9,200 // or %ecx,%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 102,15,196,216,0 // pinsrw $0x0,%eax,%xmm3 .byte 139,69,20 // mov 0x14(%ebp),%eax .byte 102,15,196,222,1 // pinsrw $0x1,%esi,%xmm3 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,96,199 // punpcklbw %xmm7,%xmm0 .byte 102,15,97,199 // punpcklwd %xmm7,%xmm0 .byte 102,15,96,207 // punpcklbw %xmm7,%xmm1 .byte 102,15,97,207 // punpcklwd %xmm7,%xmm1 .byte 102,15,96,215 // punpcklbw %xmm7,%xmm2 .byte 102,15,97,215 // punpcklwd %xmm7,%xmm2 .byte 102,15,96,223 // punpcklbw %xmm7,%xmm3 .byte 102,15,97,223 // punpcklwd %xmm7,%xmm3 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 139,93,12 // mov 0xc(%ebp),%ebx .byte 141,123,8 // lea 0x8(%ebx),%edi .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,83,4 // call *0x4(%ebx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_byte_tables_rgb_sse2 .globl _sk_byte_tables_rgb_sse2 FUNCTION(_sk_byte_tables_rgb_sse2) _sk_byte_tables_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,81,12 // mov 0xc(%ecx),%edx .byte 74 // dec %edx .byte 102,15,110,226 // movd %edx,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,15,126,234 // movd %xmm5,%edx .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 139,57 // mov (%ecx),%edi .byte 15,182,20,23 // movzbl (%edi,%edx,1),%edx .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,214 // or %edx,%esi .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 15,182,20,23 // movzbl (%edi,%edx,1),%edx .byte 102,15,126,195 // movd %xmm0,%ebx .byte 15,182,60,31 // movzbl (%edi,%ebx,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,215 // or %edx,%edi .byte 232,0,0,0,0 // call 3e3b <_sk_byte_tables_rgb_sse2+0x65> .byte 90 // pop %edx .byte 102,15,196,199,0 // pinsrw $0x0,%edi,%xmm0 .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 102,15,196,198,1 // pinsrw $0x1,%esi,%xmm0 .byte 15,40,170,197,89,0,0 // movaps 0x59c5(%edx),%xmm5 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 .byte 102,15,112,241,78 // pshufd $0x4e,%xmm1,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 15,182,20,23 // movzbl (%edi,%edx,1),%edx .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,214 // or %edx,%esi .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,201,229 // pshufd $0xe5,%xmm1,%xmm1 .byte 15,182,20,23 // movzbl (%edi,%edx,1),%edx .byte 102,15,126,203 // movd %xmm1,%ebx .byte 15,182,60,31 // movzbl (%edi,%ebx,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,215 // or %edx,%edi .byte 102,15,196,207,0 // pinsrw $0x0,%edi,%xmm1 .byte 102,15,196,206,1 // pinsrw $0x1,%esi,%xmm1 .byte 139,73,8 // mov 0x8(%ecx),%ecx .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,112,226,229 // pshufd $0xe5,%xmm2,%xmm4 .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,215 // movd %xmm2,%edi .byte 15,182,52,49 // movzbl (%ecx,%esi,1),%esi .byte 15,182,60,57 // movzbl (%ecx,%edi,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,247 // or %esi,%edi .byte 102,15,126,230 // movd %xmm4,%esi .byte 15,182,20,17 // movzbl (%ecx,%edx,1),%edx .byte 15,182,12,49 // movzbl (%ecx,%esi,1),%ecx .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 193,225,8 // shl $0x8,%ecx .byte 9,209 // or %edx,%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 102,15,196,209,0 // pinsrw $0x0,%ecx,%xmm2 .byte 139,77,20 // mov 0x14(%ebp),%ecx .byte 102,15,196,215,1 // pinsrw $0x1,%edi,%xmm2 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,96,199 // punpcklbw %xmm7,%xmm0 .byte 102,15,97,199 // punpcklwd %xmm7,%xmm0 .byte 102,15,96,207 // punpcklbw %xmm7,%xmm1 .byte 102,15,97,207 // punpcklwd %xmm7,%xmm1 .byte 102,15,96,215 // punpcklbw %xmm7,%xmm2 .byte 102,15,97,215 // punpcklwd %xmm7,%xmm2 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,76,36,12 // mov %ecx,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_r_sse2 .globl _sk_table_r_sse2 FUNCTION(_sk_table_r_sse2) _sk_table_r_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 139,62 // mov (%esi),%edi .byte 139,118,4 // mov 0x4(%esi),%esi .byte 78 // dec %esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 102,15,91,196 // cvtps2dq %xmm4,%xmm0 .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,183 // movss (%edi,%esi,4),%xmm5 .byte 102,15,126,230 // movd %xmm4,%esi .byte 243,15,16,36,183 // movss (%edi,%esi,4),%xmm4 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,240,78 // pshufd $0x4e,%xmm0,%xmm6 .byte 243,15,16,4,183 // movss (%edi,%esi,4),%xmm0 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,183 // movss (%edi,%esi,4),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_g_sse2 .globl _sk_table_g_sse2 FUNCTION(_sk_table_g_sse2) _sk_table_g_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 139,62 // mov (%esi),%edi .byte 139,118,4 // mov 0x4(%esi),%esi .byte 78 // dec %esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 102,15,91,204 // cvtps2dq %xmm4,%xmm1 .byte 102,15,112,225,229 // pshufd $0xe5,%xmm1,%xmm4 .byte 102,15,112,233,231 // pshufd $0xe7,%xmm1,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,183 // movss (%edi,%esi,4),%xmm5 .byte 102,15,126,230 // movd %xmm4,%esi .byte 243,15,16,36,183 // movss (%edi,%esi,4),%xmm4 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,241,78 // pshufd $0x4e,%xmm1,%xmm6 .byte 243,15,16,12,183 // movss (%edi,%esi,4),%xmm1 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,183 // movss (%edi,%esi,4),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_b_sse2 .globl _sk_table_b_sse2 FUNCTION(_sk_table_b_sse2) _sk_table_b_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 139,62 // mov (%esi),%edi .byte 139,118,4 // mov 0x4(%esi),%esi .byte 78 // dec %esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 102,15,91,212 // cvtps2dq %xmm4,%xmm2 .byte 102,15,112,226,229 // pshufd $0xe5,%xmm2,%xmm4 .byte 102,15,112,234,231 // pshufd $0xe7,%xmm2,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,183 // movss (%edi,%esi,4),%xmm5 .byte 102,15,126,230 // movd %xmm4,%esi .byte 243,15,16,36,183 // movss (%edi,%esi,4),%xmm4 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 243,15,16,20,183 // movss (%edi,%esi,4),%xmm2 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,183 // movss (%edi,%esi,4),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_a_sse2 .globl _sk_table_a_sse2 FUNCTION(_sk_table_a_sse2) _sk_table_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 139,62 // mov (%esi),%edi .byte 139,118,4 // mov 0x4(%esi),%esi .byte 78 // dec %esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 102,15,91,220 // cvtps2dq %xmm4,%xmm3 .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .byte 102,15,112,235,231 // pshufd $0xe7,%xmm3,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,183 // movss (%edi,%esi,4),%xmm5 .byte 102,15,126,230 // movd %xmm4,%esi .byte 243,15,16,36,183 // movss (%edi,%esi,4),%xmm4 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,243,78 // pshufd $0x4e,%xmm3,%xmm6 .byte 243,15,16,28,183 // movss (%edi,%esi,4),%xmm3 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,183 // movss (%edi,%esi,4),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,20,220 // unpcklps %xmm4,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_r_sse2 .globl _sk_parametric_r_sse2 FUNCTION(_sk_parametric_r_sse2) _sk_parametric_r_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4244 <_sk_parametric_r_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 243,15,16,119,4 // movss 0x4(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,103,8 // movss 0x8(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,91,230 // cvtdq2ps %xmm6,%xmm4 .byte 15,89,166,204,85,0,0 // mulps 0x55cc(%esi),%xmm4 .byte 15,84,182,220,85,0,0 // andps 0x55dc(%esi),%xmm6 .byte 15,86,182,236,85,0,0 // orps 0x55ec(%esi),%xmm6 .byte 15,88,166,252,85,0,0 // addps 0x55fc(%esi),%xmm4 .byte 15,40,190,12,86,0,0 // movaps 0x560c(%esi),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,88,182,28,86,0,0 // addps 0x561c(%esi),%xmm6 .byte 15,40,190,44,86,0,0 // movaps 0x562c(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 243,15,91,236 // cvttps2dq %xmm4,%xmm5 .byte 15,91,245 // cvtdq2ps %xmm5,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,40,174,60,86,0,0 // movaps 0x563c(%esi),%xmm5 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,88,166,76,86,0,0 // addps 0x564c(%esi),%xmm4 .byte 15,40,182,92,86,0,0 // movaps 0x565c(%esi),%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,40,182,108,86,0,0 // movaps 0x566c(%esi),%xmm6 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,190,124,86,0,0 // movaps 0x567c(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 15,89,190,140,86,0,0 // mulps 0x568c(%esi),%xmm7 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 243,15,16,103,16 // movss 0x10(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,119,12 // movss 0xc(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 243,15,16,103,24 // movss 0x18(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 243,15,16,103,20 // movss 0x14(%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 102,15,91,255 // cvtps2dq %xmm7,%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,84,240 // andps %xmm0,%xmm6 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,86,198 // orps %xmm6,%xmm0 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,95,198 // maxps %xmm6,%xmm0 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,93,197 // minps %xmm5,%xmm0 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_g_sse2 .globl _sk_parametric_g_sse2 FUNCTION(_sk_parametric_g_sse2) _sk_parametric_g_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 43a6 <_sk_parametric_g_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 243,15,16,119,4 // movss 0x4(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,103,8 // movss 0x8(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,91,230 // cvtdq2ps %xmm6,%xmm4 .byte 15,89,166,58,85,0,0 // mulps 0x553a(%esi),%xmm4 .byte 15,84,182,74,85,0,0 // andps 0x554a(%esi),%xmm6 .byte 15,86,182,90,85,0,0 // orps 0x555a(%esi),%xmm6 .byte 15,88,166,106,85,0,0 // addps 0x556a(%esi),%xmm4 .byte 15,40,190,122,85,0,0 // movaps 0x557a(%esi),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,88,182,138,85,0,0 // addps 0x558a(%esi),%xmm6 .byte 15,40,190,154,85,0,0 // movaps 0x559a(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 243,15,91,236 // cvttps2dq %xmm4,%xmm5 .byte 15,91,245 // cvtdq2ps %xmm5,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,40,174,170,85,0,0 // movaps 0x55aa(%esi),%xmm5 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,88,166,186,85,0,0 // addps 0x55ba(%esi),%xmm4 .byte 15,40,182,202,85,0,0 // movaps 0x55ca(%esi),%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,40,182,218,85,0,0 // movaps 0x55da(%esi),%xmm6 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,190,234,85,0,0 // movaps 0x55ea(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 15,89,190,250,85,0,0 // mulps 0x55fa(%esi),%xmm7 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 243,15,16,103,16 // movss 0x10(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,119,12 // movss 0xc(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,194,204,2 // cmpleps %xmm4,%xmm1 .byte 243,15,16,103,24 // movss 0x18(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 243,15,16,103,20 // movss 0x14(%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 102,15,91,255 // cvtps2dq %xmm7,%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,84,241 // andps %xmm1,%xmm6 .byte 15,85,204 // andnps %xmm4,%xmm1 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,86,206 // orps %xmm6,%xmm1 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,95,206 // maxps %xmm6,%xmm1 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,93,205 // minps %xmm5,%xmm1 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_b_sse2 .globl _sk_parametric_b_sse2 FUNCTION(_sk_parametric_b_sse2) _sk_parametric_b_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4508 <_sk_parametric_b_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 243,15,16,119,4 // movss 0x4(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,103,8 // movss 0x8(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,91,230 // cvtdq2ps %xmm6,%xmm4 .byte 15,89,166,168,84,0,0 // mulps 0x54a8(%esi),%xmm4 .byte 15,84,182,184,84,0,0 // andps 0x54b8(%esi),%xmm6 .byte 15,86,182,200,84,0,0 // orps 0x54c8(%esi),%xmm6 .byte 15,88,166,216,84,0,0 // addps 0x54d8(%esi),%xmm4 .byte 15,40,190,232,84,0,0 // movaps 0x54e8(%esi),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,88,182,248,84,0,0 // addps 0x54f8(%esi),%xmm6 .byte 15,40,190,8,85,0,0 // movaps 0x5508(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 243,15,91,236 // cvttps2dq %xmm4,%xmm5 .byte 15,91,245 // cvtdq2ps %xmm5,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,40,174,24,85,0,0 // movaps 0x5518(%esi),%xmm5 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,88,166,40,85,0,0 // addps 0x5528(%esi),%xmm4 .byte 15,40,182,56,85,0,0 // movaps 0x5538(%esi),%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,40,182,72,85,0,0 // movaps 0x5548(%esi),%xmm6 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,190,88,85,0,0 // movaps 0x5558(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 15,89,190,104,85,0,0 // mulps 0x5568(%esi),%xmm7 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 243,15,16,103,16 // movss 0x10(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,119,12 // movss 0xc(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,194,212,2 // cmpleps %xmm4,%xmm2 .byte 243,15,16,103,24 // movss 0x18(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 243,15,16,103,20 // movss 0x14(%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 102,15,91,255 // cvtps2dq %xmm7,%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,84,242 // andps %xmm2,%xmm6 .byte 15,85,212 // andnps %xmm4,%xmm2 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,86,214 // orps %xmm6,%xmm2 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,95,214 // maxps %xmm6,%xmm2 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,93,213 // minps %xmm5,%xmm2 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_a_sse2 .globl _sk_parametric_a_sse2 FUNCTION(_sk_parametric_a_sse2) _sk_parametric_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 466a <_sk_parametric_a_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 243,15,16,119,4 // movss 0x4(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,103,8 // movss 0x8(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,91,230 // cvtdq2ps %xmm6,%xmm4 .byte 15,89,166,22,84,0,0 // mulps 0x5416(%esi),%xmm4 .byte 15,84,182,38,84,0,0 // andps 0x5426(%esi),%xmm6 .byte 15,86,182,54,84,0,0 // orps 0x5436(%esi),%xmm6 .byte 15,88,166,70,84,0,0 // addps 0x5446(%esi),%xmm4 .byte 15,40,190,86,84,0,0 // movaps 0x5456(%esi),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,88,182,102,84,0,0 // addps 0x5466(%esi),%xmm6 .byte 15,40,190,118,84,0,0 // movaps 0x5476(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 243,15,91,236 // cvttps2dq %xmm4,%xmm5 .byte 15,91,245 // cvtdq2ps %xmm5,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,40,174,134,84,0,0 // movaps 0x5486(%esi),%xmm5 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,88,166,150,84,0,0 // addps 0x5496(%esi),%xmm4 .byte 15,40,182,166,84,0,0 // movaps 0x54a6(%esi),%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,40,182,182,84,0,0 // movaps 0x54b6(%esi),%xmm6 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,190,198,84,0,0 // movaps 0x54c6(%esi),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 15,89,190,214,84,0,0 // mulps 0x54d6(%esi),%xmm7 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 243,15,16,103,16 // movss 0x10(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,119,12 // movss 0xc(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,194,220,2 // cmpleps %xmm4,%xmm3 .byte 243,15,16,103,24 // movss 0x18(%edi),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 243,15,16,103,20 // movss 0x14(%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 102,15,91,255 // cvtps2dq %xmm7,%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,84,243 // andps %xmm3,%xmm6 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,86,222 // orps %xmm6,%xmm3 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,95,222 // maxps %xmm6,%xmm3 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,93,221 // minps %xmm5,%xmm3 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lab_to_xyz_sse2 .globl _sk_lab_to_xyz_sse2 FUNCTION(_sk_lab_to_xyz_sse2) _sk_lab_to_xyz_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 47d6 <_sk_lab_to_xyz_sse2+0x18> .byte 88 // pop %eax .byte 15,89,144,122,83,0,0 // mulps 0x537a(%eax),%xmm2 .byte 15,40,160,138,83,0,0 // movaps 0x538a(%eax),%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,168,154,83,0,0 // movaps 0x539a(%eax),%xmm5 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,88,144,170,83,0,0 // addps 0x53aa(%eax),%xmm2 .byte 15,89,144,186,83,0,0 // mulps 0x53ba(%eax),%xmm2 .byte 15,89,136,202,83,0,0 // mulps 0x53ca(%eax),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,89,152,218,83,0,0 // mulps 0x53da(%eax),%xmm3 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,152,234,83,0,0 // movaps 0x53ea(%eax),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,194,224,1 // cmpltps %xmm0,%xmm4 .byte 15,40,176,250,83,0,0 // movaps 0x53fa(%eax),%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,184,10,84,0,0 // movaps 0x540a(%eax),%xmm7 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,194,216,1 // cmpltps %xmm0,%xmm3 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,85,221 // andnps %xmm5,%xmm3 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,89,160,26,84,0,0 // mulps 0x541a(%eax),%xmm4 .byte 15,89,152,42,84,0,0 // mulps 0x542a(%eax),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,16 // call *(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_a8_sse2 .globl _sk_load_a8_sse2 FUNCTION(_sk_load_a8_sse2) _sk_load_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4905 <_sk_load_a8_sse2+0xe> .byte 94 // pop %esi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 102,15,111,69,40 // movdqa 0x28(%ebp),%xmm0 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 117,98 // jne 498d <_sk_load_a8_sse2+0x96> .byte 102,15,110,28,25 // movd (%ecx,%ebx,1),%xmm3 .byte 102,15,96,216 // punpcklbw %xmm0,%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,219,158,11,83,0,0 // pand 0x530b(%esi),%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,158,27,83,0,0 // mulps 0x531b(%esi),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 102,15,127,68,36,32 // movdqa %xmm0,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,61 // je 49d7 <_sk_load_a8_sse2+0xe0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,23 // je 49be <_sk_load_a8_sse2+0xc7> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,139 // jne 4938 <_sk_load_a8_sse2+0x41> .byte 15,182,124,25,2 // movzbl 0x2(%ecx,%ebx,1),%edi .byte 102,15,110,223 // movd %edi,%xmm3 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,112,219,69 // pshufd $0x45,%xmm3,%xmm3 .byte 15,183,12,25 // movzwl (%ecx,%ebx,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,221 // movsd %xmm5,%xmm3 .byte 233,97,255,255,255 // jmp 4938 <_sk_load_a8_sse2+0x41> .byte 15,182,12,25 // movzbl (%ecx,%ebx,1),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,81,255,255,255 // jmp 4938 <_sk_load_a8_sse2+0x41> HIDDEN _sk_load_a8_dst_sse2 .globl _sk_load_a8_dst_sse2 FUNCTION(_sk_load_a8_dst_sse2) _sk_load_a8_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 49f5 <_sk_load_a8_dst_sse2+0xe> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 117,94 // jne 4a68 <_sk_load_a8_dst_sse2+0x81> .byte 102,15,110,36,57 // movd (%ecx,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,163,59,82,0,0 // pand 0x523b(%ebx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 102,15,87,237 // xorpd %xmm5,%xmm5 .byte 15,89,163,75,82,0,0 // mulps 0x524b(%ebx),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 102,15,41,108,36,64 // movapd %xmm5,0x40(%esp) .byte 102,15,41,108,36,48 // movapd %xmm5,0x30(%esp) .byte 102,15,41,108,36,32 // movapd %xmm5,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,61 // je 4ab2 <_sk_load_a8_dst_sse2+0xcb> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,23 // je 4a99 <_sk_load_a8_dst_sse2+0xb2> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,143 // jne 4a17 <_sk_load_a8_dst_sse2+0x30> .byte 15,182,116,57,2 // movzbl 0x2(%ecx,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,12,57 // movzwl (%ecx,%edi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,101,255,255,255 // jmp 4a17 <_sk_load_a8_dst_sse2+0x30> .byte 15,182,12,57 // movzbl (%ecx,%edi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,85,255,255,255 // jmp 4a17 <_sk_load_a8_dst_sse2+0x30> HIDDEN _sk_gather_a8_sse2 .globl _sk_gather_a8_sse2 FUNCTION(_sk_gather_a8_sse2) _sk_gather_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,8 // movd 0x8(%ecx),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 15,182,52,50 // movzbl (%edx,%esi,1),%esi .byte 15,182,60,58 // movzbl (%edx,%edi,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,247 // or %esi,%edi .byte 102,15,126,206 // movd %xmm1,%esi .byte 15,182,12,10 // movzbl (%edx,%ecx,1),%ecx .byte 15,182,20,50 // movzbl (%edx,%esi,1),%edx .byte 232,0,0,0,0 // call 4b3c <_sk_gather_a8_sse2+0x7a> .byte 94 // pop %esi .byte 193,226,8 // shl $0x8,%edx .byte 9,202 // or %ecx,%edx .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 102,15,196,194,0 // pinsrw $0x0,%edx,%xmm0 .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 102,15,196,199,1 // pinsrw $0x1,%edi,%xmm0 .byte 139,125,20 // mov 0x14(%ebp),%edi .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,158,20,81,0,0 // mulps 0x5114(%esi),%xmm3 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,40,85,72 // movaps 0x48(%ebp),%xmm2 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_a8_sse2 .globl _sk_store_a8_sse2 FUNCTION(_sk_store_a8_sse2) _sk_store_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 232,0,0,0,0 // call 4bcd <_sk_store_a8_sse2+0x11> .byte 89 // pop %ecx .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,30 // mov (%esi),%ebx .byte 15,40,161,147,80,0,0 // movaps 0x5093(%ecx),%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,228 // packssdw %xmm4,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 137,254 // mov %edi,%esi .byte 133,255 // test %edi,%edi .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 117,70 // jne 4c56 <_sk_store_a8_sse2+0x9a> .byte 102,15,126,225 // movd %xmm4,%ecx .byte 137,12,59 // mov %ecx,(%ebx,%edi,1) .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 137,240 // mov %esi,%eax .byte 36,3 // and $0x3,%al .byte 60,1 // cmp $0x1,%al .byte 116,69 // je 4cab <_sk_store_a8_sse2+0xef> .byte 136,69,243 // mov %al,-0xd(%ebp) .byte 60,2 // cmp $0x2,%al .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 116,21 // je 4c85 <_sk_store_a8_sse2+0xc9> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,161 // jne 4c17 <_sk_store_a8_sse2+0x5b> .byte 102,15,127,101,200 // movdqa %xmm4,-0x38(%ebp) .byte 138,85,208 // mov -0x30(%ebp),%dl .byte 136,84,59,2 // mov %dl,0x2(%ebx,%edi,1) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 102,15,112,228,212 // pshufd $0xd4,%xmm4,%xmm4 .byte 102,15,219,161,163,80,0,0 // pand 0x50a3(%ecx),%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 102,137,12,59 // mov %cx,(%ebx,%edi,1) .byte 233,108,255,255,255 // jmp 4c17 <_sk_store_a8_sse2+0x5b> .byte 102,15,127,101,216 // movdqa %xmm4,-0x28(%ebp) .byte 138,77,216 // mov -0x28(%ebp),%cl .byte 136,12,59 // mov %cl,(%ebx,%edi,1) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 233,89,255,255,255 // jmp 4c17 <_sk_store_a8_sse2+0x5b> HIDDEN _sk_load_g8_sse2 .globl _sk_load_g8_sse2 FUNCTION(_sk_load_g8_sse2) _sk_load_g8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4ccc <_sk_load_g8_sse2+0xe> .byte 88 // pop %eax .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,18 // mov (%edx),%edx .byte 133,219 // test %ebx,%ebx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 117,100 // jne 4d55 <_sk_load_g8_sse2+0x97> .byte 102,15,110,4,58 // movd (%edx,%edi,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,128,180,79,0,0 // pand 0x4fb4(%eax),%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,128,196,79,0,0 // mulps 0x4fc4(%eax),%xmm0 .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,152,212,79,0,0 // movaps 0x4fd4(%eax),%xmm3 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,93,243 // mov %bl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,61 // je 4d9f <_sk_load_g8_sse2+0xe1> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 116,23 // je 4d86 <_sk_load_g8_sse2+0xc8> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,137 // jne 4cfe <_sk_load_g8_sse2+0x40> .byte 15,182,116,58,2 // movzbl 0x2(%edx,%edi,1),%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 15,183,20,58 // movzwl (%edx,%edi,1),%edx .byte 102,15,110,234 // movd %edx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,197 // movsd %xmm5,%xmm0 .byte 233,95,255,255,255 // jmp 4cfe <_sk_load_g8_sse2+0x40> .byte 15,182,20,58 // movzbl (%edx,%edi,1),%edx .byte 102,15,110,194 // movd %edx,%xmm0 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 233,79,255,255,255 // jmp 4cfe <_sk_load_g8_sse2+0x40> HIDDEN _sk_load_g8_dst_sse2 .globl _sk_load_g8_dst_sse2 FUNCTION(_sk_load_g8_dst_sse2) _sk_load_g8_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4dbd <_sk_load_g8_dst_sse2+0xe> .byte 94 // pop %esi .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 117,94 // jne 4e30 <_sk_load_g8_dst_sse2+0x81> .byte 102,15,110,36,25 // movd (%ecx,%ebx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,166,243,78,0,0 // pand 0x4ef3(%esi),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,166,3,79,0,0 // mulps 0x4f03(%esi),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,174,19,79,0,0 // movaps 0x4f13(%esi),%xmm5 .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,61 // je 4e7a <_sk_load_g8_dst_sse2+0xcb> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,23 // je 4e61 <_sk_load_g8_dst_sse2+0xb2> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,143 // jne 4ddf <_sk_load_g8_dst_sse2+0x30> .byte 15,182,124,25,2 // movzbl 0x2(%ecx,%ebx,1),%edi .byte 102,15,110,231 // movd %edi,%xmm4 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,12,25 // movzwl (%ecx,%ebx,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,101,255,255,255 // jmp 4ddf <_sk_load_g8_dst_sse2+0x30> .byte 15,182,12,25 // movzbl (%ecx,%ebx,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,85,255,255,255 // jmp 4ddf <_sk_load_g8_dst_sse2+0x30> HIDDEN _sk_gather_g8_sse2 .globl _sk_gather_g8_sse2 FUNCTION(_sk_gather_g8_sse2) _sk_gather_g8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,8 // movd 0x8(%ecx),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 15,182,52,50 // movzbl (%edx,%esi,1),%esi .byte 15,182,60,58 // movzbl (%edx,%edi,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,247 // or %esi,%edi .byte 102,15,126,206 // movd %xmm1,%esi .byte 15,182,12,10 // movzbl (%edx,%ecx,1),%ecx .byte 15,182,20,50 // movzbl (%edx,%esi,1),%edx .byte 232,0,0,0,0 // call 4f04 <_sk_gather_g8_sse2+0x7a> .byte 94 // pop %esi .byte 193,226,8 // shl $0x8,%edx .byte 9,202 // or %ecx,%edx .byte 102,15,196,194,0 // pinsrw $0x0,%edx,%xmm0 .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 102,15,196,199,1 // pinsrw $0x1,%edi,%xmm0 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 102,15,96,197 // punpcklbw %xmm5,%xmm0 .byte 102,15,97,197 // punpcklwd %xmm5,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,134,220,77,0,0 // mulps 0x4ddc(%esi),%xmm0 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 137,193 // mov %eax,%ecx .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,158,236,77,0,0 // movaps 0x4dec(%esi),%xmm3 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gather_i8_sse2 .globl _sk_gather_i8_sse2 FUNCTION(_sk_gather_i8_sse2) _sk_gather_i8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4f98 <_sk_gather_i8_sse2+0xe> .byte 88 // pop %eax .byte 137,69,240 // mov %eax,-0x10(%ebp) .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 133,210 // test %edx,%edx .byte 116,7 // je 4fb4 <_sk_gather_i8_sse2+0x2a> .byte 131,192,4 // add $0x4,%eax .byte 137,209 // mov %edx,%ecx .byte 235,6 // jmp 4fba <_sk_gather_i8_sse2+0x30> .byte 139,72,4 // mov 0x4(%eax),%ecx .byte 131,192,8 // add $0x8,%eax .byte 139,49 // mov (%ecx),%esi .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,8 // movd 0x8(%ecx),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 15,182,12,14 // movzbl (%esi,%ecx,1),%ecx .byte 15,182,60,62 // movzbl (%esi,%edi,1),%edi .byte 193,231,8 // shl $0x8,%edi .byte 9,207 // or %ecx,%edi .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 15,182,12,14 // movzbl (%esi,%ecx,1),%ecx .byte 102,15,126,195 // movd %xmm0,%ebx .byte 15,182,52,30 // movzbl (%esi,%ebx,1),%esi .byte 193,230,8 // shl $0x8,%esi .byte 9,206 // or %ecx,%esi .byte 102,15,196,198,0 // pinsrw $0x0,%esi,%xmm0 .byte 102,15,196,199,1 // pinsrw $0x1,%edi,%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 139,74,4 // mov 0x4(%edx),%ecx .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,110,20,145 // movd (%ecx,%edx,4),%xmm2 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,110,12,145 // movd (%ecx,%edx,4),%xmm1 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,110,44,145 // movd (%ecx,%edx,4),%xmm5 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,110,4,145 // movd (%ecx,%edx,4),%xmm0 .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,232 // punpckldq %xmm0,%xmm5 .byte 102,15,98,233 // punpckldq %xmm1,%xmm5 .byte 139,77,240 // mov -0x10(%ebp),%ecx .byte 102,15,111,145,104,77,0,0 // movdqa 0x4d68(%ecx),%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,161,120,77,0,0 // movaps 0x4d78(%ecx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,114,213,24 // psrld $0x18,%xmm5 .byte 15,91,221 // cvtdq2ps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_565_sse2 .globl _sk_load_565_sse2 FUNCTION(_sk_load_565_sse2) _sk_load_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5125 <_sk_load_565_sse2+0xe> .byte 88 // pop %eax .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,18 // mov (%edx),%edx .byte 133,219 // test %ebx,%ebx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 15,133,134,0,0,0 // jne 51d4 <_sk_load_565_sse2+0xbd> .byte 243,15,126,20,122 // movq (%edx,%edi,2),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,128,251,75,0,0 // movdqa 0x4bfb(%eax),%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,128,11,76,0,0 // mulps 0x4c0b(%eax),%xmm0 .byte 102,15,111,136,27,76,0,0 // movdqa 0x4c1b(%eax),%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,136,43,76,0,0 // mulps 0x4c2b(%eax),%xmm1 .byte 102,15,219,144,59,76,0,0 // pand 0x4c3b(%eax),%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,144,75,76,0,0 // mulps 0x4c4b(%eax),%xmm2 .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,152,91,76,0,0 // movaps 0x4c5b(%eax),%xmm3 .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,93,243 // mov %bl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,58 // je 521b <_sk_load_565_sse2+0x104> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 116,27 // je 5209 <_sk_load_565_sse2+0xf2> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,95,255,255,255 // jne 5157 <_sk_load_565_sse2+0x40> .byte 15,183,116,122,4 // movzwl 0x4(%edx,%edi,2),%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,15,110,4,122 // movd (%edx,%edi,2),%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 242,15,16,208 // movsd %xmm0,%xmm2 .byte 233,60,255,255,255 // jmp 5157 <_sk_load_565_sse2+0x40> .byte 15,183,20,122 // movzwl (%edx,%edi,2),%edx .byte 102,15,110,210 // movd %edx,%xmm2 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 233,44,255,255,255 // jmp 5157 <_sk_load_565_sse2+0x40> HIDDEN _sk_load_565_dst_sse2 .globl _sk_load_565_dst_sse2 FUNCTION(_sk_load_565_dst_sse2) _sk_load_565_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5239 <_sk_load_565_dst_sse2+0xe> .byte 94 // pop %esi .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 15,133,134,0,0,0 // jne 52d8 <_sk_load_565_dst_sse2+0xad> .byte 243,15,126,36,89 // movq (%ecx,%ebx,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,111,174,87,75,0,0 // movdqa 0x4b57(%esi),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,174,103,75,0,0 // mulps 0x4b67(%esi),%xmm5 .byte 102,15,111,182,119,75,0,0 // movdqa 0x4b77(%esi),%xmm6 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,182,135,75,0,0 // mulps 0x4b87(%esi),%xmm6 .byte 102,15,219,166,151,75,0,0 // pand 0x4b97(%esi),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,166,167,75,0,0 // mulps 0x4ba7(%esi),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,190,183,75,0,0 // movaps 0x4bb7(%esi),%xmm7 .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,58 // je 531f <_sk_load_565_dst_sse2+0xf4> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,27 // je 530d <_sk_load_565_dst_sse2+0xe2> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,95,255,255,255 // jne 525b <_sk_load_565_dst_sse2+0x30> .byte 15,183,124,89,4 // movzwl 0x4(%ecx,%ebx,2),%edi .byte 102,15,110,231 // movd %edi,%xmm4 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,110,44,89 // movd (%ecx,%ebx,2),%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,60,255,255,255 // jmp 525b <_sk_load_565_dst_sse2+0x30> .byte 15,183,12,89 // movzwl (%ecx,%ebx,2),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,44,255,255,255 // jmp 525b <_sk_load_565_dst_sse2+0x30> HIDDEN _sk_gather_565_sse2 .globl _sk_gather_565_sse2 FUNCTION(_sk_gather_565_sse2) _sk_gather_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 533d <_sk_gather_565_sse2+0xe> .byte 88 // pop %eax .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,86,8 // movd 0x8(%esi),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,196,20,119,0 // pinsrw $0x0,(%edi,%esi,2),%xmm2 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,196,20,119,1 // pinsrw $0x1,(%edi,%esi,2),%xmm2 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 15,183,52,119 // movzwl (%edi,%esi,2),%esi .byte 102,15,196,214,2 // pinsrw $0x2,%esi,%xmm2 .byte 102,15,126,198 // movd %xmm0,%esi .byte 15,183,52,119 // movzwl (%edi,%esi,2),%esi .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 102,15,196,214,3 // pinsrw $0x3,%esi,%xmm2 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,128,195,74,0,0 // movdqa 0x4ac3(%eax),%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,128,211,74,0,0 // mulps 0x4ad3(%eax),%xmm0 .byte 102,15,111,136,227,74,0,0 // movdqa 0x4ae3(%eax),%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,136,243,74,0,0 // mulps 0x4af3(%eax),%xmm1 .byte 102,15,219,144,3,75,0,0 // pand 0x4b03(%eax),%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,144,19,75,0,0 // mulps 0x4b13(%eax),%xmm2 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 141,74,8 // lea 0x8(%edx),%ecx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,152,35,75,0,0 // movaps 0x4b23(%eax),%xmm3 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_565_sse2 .globl _sk_store_565_sse2 FUNCTION(_sk_store_565_sse2) _sk_store_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 545f <_sk_store_565_sse2+0xe> .byte 88 // pop %eax .byte 15,40,160,17,74,0,0 // movaps 0x4a11(%eax),%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,11 // pslld $0xb,%xmm5 .byte 15,40,176,33,74,0,0 // movaps 0x4a21(%eax),%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,5 // pslld $0x5,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,62 // mov (%esi),%edi .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,86,230 // orpd %xmm6,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,228 // packssdw %xmm4,%xmm4 .byte 102,15,126,101,232 // movd %xmm4,-0x18(%ebp) .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,15,126,109,236 // movd %xmm5,-0x14(%ebp) .byte 133,219 // test %ebx,%ebx .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 117,82 // jne 5520 <_sk_store_565_sse2+0xcf> .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,126,238 // movd %xmm5,%esi .byte 137,20,79 // mov %edx,(%edi,%ecx,2) .byte 137,116,79,4 // mov %esi,0x4(%edi,%ecx,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 137,218 // mov %ebx,%edx .byte 128,226,3 // and $0x3,%dl .byte 128,250,1 // cmp $0x1,%dl .byte 116,37 // je 5558 <_sk_store_565_sse2+0x107> .byte 128,250,2 // cmp $0x2,%dl .byte 116,15 // je 5547 <_sk_store_565_sse2+0xf6> .byte 128,250,3 // cmp $0x3,%dl .byte 117,160 // jne 54dd <_sk_store_565_sse2+0x8c> .byte 102,15,197,212,4 // pextrw $0x4,%xmm4,%edx .byte 102,137,84,79,4 // mov %dx,0x4(%edi,%ecx,2) .byte 102,15,112,228,212 // pshufd $0xd4,%xmm4,%xmm4 .byte 242,15,112,228,232 // pshuflw $0xe8,%xmm4,%xmm4 .byte 102,15,126,36,79 // movd %xmm4,(%edi,%ecx,2) .byte 235,133 // jmp 54dd <_sk_store_565_sse2+0x8c> .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,137,20,79 // mov %dx,(%edi,%ecx,2) .byte 233,120,255,255,255 // jmp 54dd <_sk_store_565_sse2+0x8c> HIDDEN _sk_load_4444_sse2 .globl _sk_load_4444_sse2 FUNCTION(_sk_load_4444_sse2) _sk_load_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5573 <_sk_load_4444_sse2+0xe> .byte 94 // pop %esi .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 15,133,149,0,0,0 // jne 5631 <_sk_load_4444_sse2+0xcc> .byte 243,15,126,28,89 // movq (%ecx,%ebx,2),%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,134,29,73,0,0 // movdqa 0x491d(%esi),%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,134,45,73,0,0 // mulps 0x492d(%esi),%xmm0 .byte 102,15,111,142,61,73,0,0 // movdqa 0x493d(%esi),%xmm1 .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,142,77,73,0,0 // mulps 0x494d(%esi),%xmm1 .byte 102,15,111,150,93,73,0,0 // movdqa 0x495d(%esi),%xmm2 .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,150,109,73,0,0 // mulps 0x496d(%esi),%xmm2 .byte 102,15,219,158,125,73,0,0 // pand 0x497d(%esi),%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,158,141,73,0,0 // mulps 0x498d(%esi),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,58 // je 5678 <_sk_load_4444_sse2+0x113> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,27 // je 5666 <_sk_load_4444_sse2+0x101> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,80,255,255,255 // jne 55a5 <_sk_load_4444_sse2+0x40> .byte 15,183,124,89,4 // movzwl 0x4(%ecx,%ebx,2),%edi .byte 102,15,110,199 // movd %edi,%xmm0 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,110,4,89 // movd (%ecx,%ebx,2),%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 233,45,255,255,255 // jmp 55a5 <_sk_load_4444_sse2+0x40> .byte 15,183,12,89 // movzwl (%ecx,%ebx,2),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,29,255,255,255 // jmp 55a5 <_sk_load_4444_sse2+0x40> HIDDEN _sk_load_4444_dst_sse2 .globl _sk_load_4444_dst_sse2 FUNCTION(_sk_load_4444_dst_sse2) _sk_load_4444_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5696 <_sk_load_4444_dst_sse2+0xe> .byte 95 // pop %edi .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 15,133,149,0,0,0 // jne 5744 <_sk_load_4444_dst_sse2+0xbc> .byte 243,15,126,36,89 // movq (%ecx,%ebx,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,111,175,122,72,0,0 // movdqa 0x487a(%edi),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,175,138,72,0,0 // mulps 0x488a(%edi),%xmm5 .byte 102,15,111,183,154,72,0,0 // movdqa 0x489a(%edi),%xmm6 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,183,170,72,0,0 // mulps 0x48aa(%edi),%xmm6 .byte 102,15,111,191,186,72,0,0 // movdqa 0x48ba(%edi),%xmm7 .byte 102,15,219,252 // pand %xmm4,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,191,202,72,0,0 // mulps 0x48ca(%edi),%xmm7 .byte 102,15,219,167,218,72,0,0 // pand 0x48da(%edi),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,167,234,72,0,0 // mulps 0x48ea(%edi),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,58 // je 578b <_sk_load_4444_dst_sse2+0x103> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,27 // je 5779 <_sk_load_4444_dst_sse2+0xf1> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,80,255,255,255 // jne 56b8 <_sk_load_4444_dst_sse2+0x30> .byte 15,183,116,89,4 // movzwl 0x4(%ecx,%ebx,2),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,110,44,89 // movd (%ecx,%ebx,2),%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,45,255,255,255 // jmp 56b8 <_sk_load_4444_dst_sse2+0x30> .byte 15,183,12,89 // movzwl (%ecx,%ebx,2),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,29,255,255,255 // jmp 56b8 <_sk_load_4444_dst_sse2+0x30> HIDDEN _sk_gather_4444_sse2 .globl _sk_gather_4444_sse2 FUNCTION(_sk_gather_4444_sse2) _sk_gather_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 57a9 <_sk_gather_4444_sse2+0xe> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,86,8 // movd 0x8(%esi),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,196,28,119,0 // pinsrw $0x0,(%edi,%esi,2),%xmm3 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,196,28,119,1 // pinsrw $0x1,(%edi,%esi,2),%xmm3 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 15,183,52,119 // movzwl (%edi,%esi,2),%esi .byte 102,15,196,222,2 // pinsrw $0x2,%esi,%xmm3 .byte 102,15,126,198 // movd %xmm0,%esi .byte 15,183,60,119 // movzwl (%edi,%esi,2),%edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 102,15,196,223,3 // pinsrw $0x3,%edi,%xmm3 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,130,231,71,0,0 // movdqa 0x47e7(%edx),%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,130,247,71,0,0 // mulps 0x47f7(%edx),%xmm0 .byte 102,15,111,138,7,72,0,0 // movdqa 0x4807(%edx),%xmm1 .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,138,23,72,0,0 // mulps 0x4817(%edx),%xmm1 .byte 102,15,111,146,39,72,0,0 // movdqa 0x4827(%edx),%xmm2 .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,146,55,72,0,0 // mulps 0x4837(%edx),%xmm2 .byte 102,15,219,154,71,72,0,0 // pand 0x4847(%edx),%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,154,87,72,0,0 // mulps 0x4857(%edx),%xmm3 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,89,8 // lea 0x8(%ecx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_4444_sse2 .globl _sk_store_4444_sse2 FUNCTION(_sk_store_4444_sse2) _sk_store_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 58da <_sk_store_4444_sse2+0xe> .byte 88 // pop %eax .byte 15,40,160,54,71,0,0 // movaps 0x4736(%eax),%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,12 // pslld $0xc,%xmm5 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,8 // pslld $0x8,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,4 // pslld $0x4,%xmm5 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,86,229 // orpd %xmm5,%xmm4 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,62 // mov (%esi),%edi .byte 102,15,86,230 // orpd %xmm6,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,228 // packssdw %xmm4,%xmm4 .byte 102,15,126,101,232 // movd %xmm4,-0x18(%ebp) .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,15,126,109,236 // movd %xmm5,-0x14(%ebp) .byte 133,219 // test %ebx,%ebx .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 117,82 // jne 59aa <_sk_store_4444_sse2+0xde> .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,126,238 // movd %xmm5,%esi .byte 137,20,79 // mov %edx,(%edi,%ecx,2) .byte 137,116,79,4 // mov %esi,0x4(%edi,%ecx,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 137,218 // mov %ebx,%edx .byte 128,226,3 // and $0x3,%dl .byte 128,250,1 // cmp $0x1,%dl .byte 116,37 // je 59e2 <_sk_store_4444_sse2+0x116> .byte 128,250,2 // cmp $0x2,%dl .byte 116,15 // je 59d1 <_sk_store_4444_sse2+0x105> .byte 128,250,3 // cmp $0x3,%dl .byte 117,160 // jne 5967 <_sk_store_4444_sse2+0x9b> .byte 102,15,197,212,4 // pextrw $0x4,%xmm4,%edx .byte 102,137,84,79,4 // mov %dx,0x4(%edi,%ecx,2) .byte 102,15,112,228,212 // pshufd $0xd4,%xmm4,%xmm4 .byte 242,15,112,228,232 // pshuflw $0xe8,%xmm4,%xmm4 .byte 102,15,126,36,79 // movd %xmm4,(%edi,%ecx,2) .byte 235,133 // jmp 5967 <_sk_store_4444_sse2+0x9b> .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,137,20,79 // mov %dx,(%edi,%ecx,2) .byte 233,120,255,255,255 // jmp 5967 <_sk_store_4444_sse2+0x9b> HIDDEN _sk_load_8888_sse2 .globl _sk_load_8888_sse2 FUNCTION(_sk_load_8888_sse2) _sk_load_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 59fd <_sk_load_8888_sse2+0xe> .byte 91 // pop %ebx .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,147,0,0,0 // jne 5ab1 <_sk_load_8888_sse2+0xc2> .byte 243,15,111,44,185 // movdqu (%ecx,%edi,4),%xmm5 .byte 102,15,111,147,35,70,0,0 // movdqa 0x4623(%ebx),%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,163,51,70,0,0 // movaps 0x4633(%ebx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,114,213,24 // psrld $0x18,%xmm5 .byte 15,91,221 // cvtdq2ps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,44 // je 5aea <_sk_load_8888_sse2+0xfb> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,21 // je 5ae0 <_sk_load_8888_sse2+0xf1> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,78,255,255,255 // jne 5a23 <_sk_load_8888_sse2+0x34> .byte 102,15,110,68,185,8 // movd 0x8(%ecx,%edi,4),%xmm0 .byte 102,15,112,232,69 // pshufd $0x45,%xmm0,%xmm5 .byte 102,15,18,44,185 // movlpd (%ecx,%edi,4),%xmm5 .byte 233,57,255,255,255 // jmp 5a23 <_sk_load_8888_sse2+0x34> .byte 102,15,110,44,185 // movd (%ecx,%edi,4),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,44,255,255,255 // jmp 5a23 <_sk_load_8888_sse2+0x34> HIDDEN _sk_load_8888_dst_sse2 .globl _sk_load_8888_dst_sse2 FUNCTION(_sk_load_8888_dst_sse2) _sk_load_8888_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 102,15,127,93,200 // movdqa %xmm3,-0x38(%ebp) .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 232,0,0,0,0 // call 5b11 <_sk_load_8888_dst_sse2+0x1a> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,150,0,0,0 // jne 5bc0 <_sk_load_8888_dst_sse2+0xc9> .byte 243,15,111,28,185 // movdqu (%ecx,%edi,4),%xmm3 .byte 102,15,111,147,47,69,0,0 // movdqa 0x452f(%ebx),%xmm2 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,219,242 // pand %xmm2,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,187,63,69,0,0 // movaps 0x453f(%ebx),%xmm7 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,114,212,8 // psrld $0x8,%xmm4 .byte 102,15,219,226 // pand %xmm2,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 15,41,84,36,64 // movaps %xmm2,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,44 // je 5bf9 <_sk_load_8888_dst_sse2+0x102> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,21 // je 5bef <_sk_load_8888_dst_sse2+0xf8> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,75,255,255,255 // jne 5b2f <_sk_load_8888_dst_sse2+0x38> .byte 102,15,110,100,185,8 // movd 0x8(%ecx,%edi,4),%xmm4 .byte 102,15,112,220,69 // pshufd $0x45,%xmm4,%xmm3 .byte 102,15,18,28,185 // movlpd (%ecx,%edi,4),%xmm3 .byte 233,54,255,255,255 // jmp 5b2f <_sk_load_8888_dst_sse2+0x38> .byte 102,15,110,28,185 // movd (%ecx,%edi,4),%xmm3 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,41,255,255,255 // jmp 5b2f <_sk_load_8888_dst_sse2+0x38> HIDDEN _sk_gather_8888_sse2 .globl _sk_gather_8888_sse2 FUNCTION(_sk_gather_8888_sse2) _sk_gather_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5c14 <_sk_gather_8888_sse2+0xe> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,86,8 // movd 0x8(%esi),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,110,20,183 // movd (%edi,%esi,4),%xmm2 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,110,12,183 // movd (%edi,%esi,4),%xmm1 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,110,28,183 // movd (%edi,%esi,4),%xmm3 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,110,4,183 // movd (%edi,%esi,4),%xmm0 .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,111,162,76,68,0,0 // movdqa 0x444c(%edx),%xmm4 .byte 15,40,170,92,68,0,0 // movaps 0x445c(%edx),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,216 // punpckldq %xmm0,%xmm3 .byte 102,15,98,217 // punpckldq %xmm1,%xmm3 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,204 // pand %xmm4,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,15,219,212 // pand %xmm4,%xmm2 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,89,8 // lea 0x8(%ecx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_8888_sse2 .globl _sk_store_8888_sse2 FUNCTION(_sk_store_8888_sse2) _sk_store_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5d39 <_sk_store_8888_sse2+0xe> .byte 88 // pop %eax .byte 15,40,160,71,67,0,0 // movaps 0x4347(%eax),%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,8 // pslld $0x8,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,114,244,24 // pslld $0x18,%xmm4 .byte 102,15,235,229 // por %xmm5,%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,235,230 // por %xmm6,%xmm4 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 139,58 // mov (%edx),%edi .byte 133,219 // test %ebx,%ebx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 117,62 // jne 5de2 <_sk_store_8888_sse2+0xb7> .byte 243,15,127,36,143 // movdqu %xmm4,(%edi,%ecx,4) .byte 141,120,8 // lea 0x8(%eax),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 137,218 // mov %ebx,%edx .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,37 // je 5e16 <_sk_store_8888_sse2+0xeb> .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 116,21 // je 5e0f <_sk_store_8888_sse2+0xe4> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,169 // jne 5da9 <_sk_store_8888_sse2+0x7e> .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,15,126,108,143,8 // movd %xmm5,0x8(%edi,%ecx,4) .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,214,36,143 // movq %xmm4,(%edi,%ecx,4) .byte 235,147 // jmp 5da9 <_sk_store_8888_sse2+0x7e> .byte 102,15,126,36,143 // movd %xmm4,(%edi,%ecx,4) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 235,137 // jmp 5da9 <_sk_store_8888_sse2+0x7e> HIDDEN _sk_load_bgra_sse2 .globl _sk_load_bgra_sse2 FUNCTION(_sk_load_bgra_sse2) _sk_load_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 5e2e <_sk_load_bgra_sse2+0xe> .byte 91 // pop %ebx .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,147,0,0,0 // jne 5ee2 <_sk_load_bgra_sse2+0xc2> .byte 243,15,111,44,185 // movdqu (%ecx,%edi,4),%xmm5 .byte 102,15,111,131,98,66,0,0 // movdqa 0x4262(%ebx),%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 15,40,163,114,66,0,0 // movaps 0x4272(%ebx),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,216 // pand %xmm0,%xmm3 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,114,213,24 // psrld $0x18,%xmm5 .byte 15,91,221 // cvtdq2ps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,44 // je 5f1b <_sk_load_bgra_sse2+0xfb> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,21 // je 5f11 <_sk_load_bgra_sse2+0xf1> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,78,255,255,255 // jne 5e54 <_sk_load_bgra_sse2+0x34> .byte 102,15,110,68,185,8 // movd 0x8(%ecx,%edi,4),%xmm0 .byte 102,15,112,232,69 // pshufd $0x45,%xmm0,%xmm5 .byte 102,15,18,44,185 // movlpd (%ecx,%edi,4),%xmm5 .byte 233,57,255,255,255 // jmp 5e54 <_sk_load_bgra_sse2+0x34> .byte 102,15,110,44,185 // movd (%ecx,%edi,4),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,44,255,255,255 // jmp 5e54 <_sk_load_bgra_sse2+0x34> HIDDEN _sk_load_bgra_dst_sse2 .globl _sk_load_bgra_dst_sse2 FUNCTION(_sk_load_bgra_dst_sse2) _sk_load_bgra_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 102,15,127,93,200 // movdqa %xmm3,-0x38(%ebp) .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 232,0,0,0,0 // call 5f42 <_sk_load_bgra_dst_sse2+0x1a> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,150,0,0,0 // jne 5ff1 <_sk_load_bgra_dst_sse2+0xc9> .byte 243,15,111,28,185 // movdqu (%ecx,%edi,4),%xmm3 .byte 102,15,111,147,110,65,0,0 // movdqa 0x416e(%ebx),%xmm2 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,219,242 // pand %xmm2,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,187,126,65,0,0 // movaps 0x417e(%ebx),%xmm7 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,114,212,8 // psrld $0x8,%xmm4 .byte 102,15,219,226 // pand %xmm2,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,44 // je 602a <_sk_load_bgra_dst_sse2+0x102> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 116,21 // je 6020 <_sk_load_bgra_dst_sse2+0xf8> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,75,255,255,255 // jne 5f60 <_sk_load_bgra_dst_sse2+0x38> .byte 102,15,110,100,185,8 // movd 0x8(%ecx,%edi,4),%xmm4 .byte 102,15,112,220,69 // pshufd $0x45,%xmm4,%xmm3 .byte 102,15,18,28,185 // movlpd (%ecx,%edi,4),%xmm3 .byte 233,54,255,255,255 // jmp 5f60 <_sk_load_bgra_dst_sse2+0x38> .byte 102,15,110,28,185 // movd (%ecx,%edi,4),%xmm3 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 233,41,255,255,255 // jmp 5f60 <_sk_load_bgra_dst_sse2+0x38> HIDDEN _sk_gather_bgra_sse2 .globl _sk_gather_bgra_sse2 FUNCTION(_sk_gather_bgra_sse2) _sk_gather_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 6045 <_sk_gather_bgra_sse2+0xe> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,86,8 // movd 0x8(%esi),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,110,20,183 // movd (%edi,%esi,4),%xmm2 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,110,12,183 // movd (%edi,%esi,4),%xmm1 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,110,28,183 // movd (%edi,%esi,4),%xmm3 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,110,4,183 // movd (%edi,%esi,4),%xmm0 .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 102,15,111,162,139,64,0,0 // movdqa 0x408b(%edx),%xmm4 .byte 15,40,170,155,64,0,0 // movaps 0x409b(%edx),%xmm5 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,216 // punpckldq %xmm0,%xmm3 .byte 102,15,98,217 // punpckldq %xmm1,%xmm3 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,219,212 // pand %xmm4,%xmm2 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,204 // pand %xmm4,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,114,208,16 // psrld $0x10,%xmm0 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,89,8 // lea 0x8(%ecx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_bgra_sse2 .globl _sk_store_bgra_sse2 FUNCTION(_sk_store_bgra_sse2) _sk_store_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 616a <_sk_store_bgra_sse2+0xe> .byte 88 // pop %eax .byte 15,40,160,134,63,0,0 // movaps 0x3f86(%eax),%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,8 // pslld $0x8,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,114,244,24 // pslld $0x18,%xmm4 .byte 102,15,235,229 // por %xmm5,%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,235,230 // por %xmm6,%xmm4 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 139,58 // mov (%edx),%edi .byte 133,219 // test %ebx,%ebx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 117,62 // jne 6213 <_sk_store_bgra_sse2+0xb7> .byte 243,15,127,36,143 // movdqu %xmm4,(%edi,%ecx,4) .byte 141,120,8 // lea 0x8(%eax),%edi .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 137,218 // mov %ebx,%edx .byte 136,85,243 // mov %dl,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,37 // je 6247 <_sk_store_bgra_sse2+0xeb> .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 116,21 // je 6240 <_sk_store_bgra_sse2+0xe4> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 117,169 // jne 61da <_sk_store_bgra_sse2+0x7e> .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,15,126,108,143,8 // movd %xmm5,0x8(%edi,%ecx,4) .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,214,36,143 // movq %xmm4,(%edi,%ecx,4) .byte 235,147 // jmp 61da <_sk_store_bgra_sse2+0x7e> .byte 102,15,126,36,143 // movd %xmm4,(%edi,%ecx,4) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 235,137 // jmp 61da <_sk_store_bgra_sse2+0x7e> HIDDEN _sk_load_f16_sse2 .globl _sk_load_f16_sse2 FUNCTION(_sk_load_f16_sse2) _sk_load_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,188,0,0,0 // sub $0xbc,%esp .byte 232,0,0,0,0 // call 6262 <_sk_load_f16_sse2+0x11> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,220,1,0,0 // jne 6457 <_sk_load_f16_sse2+0x206> .byte 102,15,16,4,249 // movupd (%ecx,%edi,8),%xmm0 .byte 243,15,111,76,249,16 // movdqu 0x10(%ecx,%edi,8),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,126,77,208 // movd %xmm1,-0x30(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,212 // movd %xmm0,-0x2c(%ebp) .byte 243,15,126,117,208 // movq -0x30(%ebp),%xmm6 .byte 102,15,112,193,231 // pshufd $0xe7,%xmm1,%xmm0 .byte 102,15,126,69,220 // movd %xmm0,-0x24(%ebp) .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,15,126,69,216 // movd %xmm0,-0x28(%ebp) .byte 243,15,126,101,216 // movq -0x28(%ebp),%xmm4 .byte 102,15,126,85,224 // movd %xmm2,-0x20(%ebp) .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,69,228 // movd %xmm0,-0x1c(%ebp) .byte 243,15,126,125,224 // movq -0x20(%ebp),%xmm7 .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,69,236 // movd %xmm0,-0x14(%ebp) .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,69,232 // movd %xmm0,-0x18(%ebp) .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,243 // punpcklwd %xmm3,%xmm6 .byte 102,15,111,171,158,62,0,0 // movdqa 0x3e9e(%ebx),%xmm5 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,219,213 // pand %xmm5,%xmm2 .byte 102,15,239,242 // pxor %xmm2,%xmm6 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,202 // por %xmm2,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,219,229 // pand %xmm5,%xmm4 .byte 102,15,239,212 // pxor %xmm4,%xmm2 .byte 102,15,127,85,152 // movdqa %xmm2,-0x68(%ebp) .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,212 // por %xmm4,%xmm2 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,97,227 // punpcklwd %xmm3,%xmm4 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,219,253 // pand %xmm5,%xmm7 .byte 102,15,239,231 // pxor %xmm7,%xmm4 .byte 102,15,127,101,168 // movdqa %xmm4,-0x58(%ebp) .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,244,13 // pslld $0xd,%xmm4 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 243,15,126,125,232 // movq -0x18(%ebp),%xmm7 .byte 102,15,97,251 // punpcklwd %xmm3,%xmm7 .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 102,15,239,253 // pxor %xmm5,%xmm7 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,15,114,240,13 // pslld $0xd,%xmm0 .byte 102,15,235,197 // por %xmm5,%xmm0 .byte 102,15,111,155,174,62,0,0 // movdqa 0x3eae(%ebx),%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 102,15,254,211 // paddd %xmm3,%xmm2 .byte 102,15,254,227 // paddd %xmm3,%xmm4 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,111,155,190,62,0,0 // movdqa 0x3ebe(%ebx),%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,239,243 // pxor %xmm3,%xmm6 .byte 102,15,111,155,206,62,0,0 // movdqa 0x3ece(%ebx),%xmm3 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,102,238 // pcmpgtd %xmm6,%xmm5 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 102,15,111,117,152 // movdqa -0x68(%ebp),%xmm6 .byte 102,15,239,117,184 // pxor -0x48(%ebp),%xmm6 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,102,206 // pcmpgtd %xmm6,%xmm1 .byte 102,15,223,202 // pandn %xmm2,%xmm1 .byte 102,15,111,117,168 // movdqa -0x58(%ebp),%xmm6 .byte 102,15,239,117,184 // pxor -0x48(%ebp),%xmm6 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,102,214 // pcmpgtd %xmm6,%xmm2 .byte 102,15,223,212 // pandn %xmm4,%xmm2 .byte 102,15,239,125,184 // pxor -0x48(%ebp),%xmm7 .byte 102,15,102,223 // pcmpgtd %xmm7,%xmm3 .byte 102,15,223,216 // pandn %xmm0,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,188,0,0,0 // add $0xbc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,249 // movsd (%ecx,%edi,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,250,1 // cmp $0x1,%edx .byte 15,132,29,254,255,255 // je 6286 <_sk_load_f16_sse2+0x35> .byte 102,15,22,68,249,8 // movhpd 0x8(%ecx,%edi,8),%xmm0 .byte 131,250,3 // cmp $0x3,%edx .byte 15,130,14,254,255,255 // jb 6286 <_sk_load_f16_sse2+0x35> .byte 243,15,126,76,249,16 // movq 0x10(%ecx,%edi,8),%xmm1 .byte 233,3,254,255,255 // jmp 6286 <_sk_load_f16_sse2+0x35> HIDDEN _sk_load_f16_dst_sse2 .globl _sk_load_f16_dst_sse2 FUNCTION(_sk_load_f16_dst_sse2) _sk_load_f16_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,252,0,0,0 // sub $0xfc,%esp .byte 15,41,157,88,255,255,255 // movaps %xmm3,-0xa8(%ebp) .byte 102,15,127,149,104,255,255,255 // movdqa %xmm2,-0x98(%ebp) .byte 15,41,141,120,255,255,255 // movaps %xmm1,-0x88(%ebp) .byte 102,15,127,69,136 // movdqa %xmm0,-0x78(%ebp) .byte 232,0,0,0,0 // call 64af <_sk_load_f16_dst_sse2+0x2c> .byte 91 // pop %ebx .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,133,233,1,0,0 // jne 66b1 <_sk_load_f16_dst_sse2+0x22e> .byte 102,15,16,12,249 // movupd (%ecx,%edi,8),%xmm1 .byte 243,15,111,68,249,16 // movdqu 0x10(%ecx,%edi,8),%xmm0 .byte 102,15,40,217 // movapd %xmm1,%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,105,200 // punpckhwd %xmm0,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 102,15,105,217 // punpckhwd %xmm1,%xmm3 .byte 102,15,126,69,208 // movd %xmm0,-0x30(%ebp) .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,77,212 // movd %xmm1,-0x2c(%ebp) .byte 243,15,126,117,208 // movq -0x30(%ebp),%xmm6 .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,77,220 // movd %xmm1,-0x24(%ebp) .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,126,69,216 // movd %xmm0,-0x28(%ebp) .byte 243,15,126,109,216 // movq -0x28(%ebp),%xmm5 .byte 102,15,126,93,224 // movd %xmm3,-0x20(%ebp) .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,69,228 // movd %xmm0,-0x1c(%ebp) .byte 243,15,126,77,224 // movq -0x20(%ebp),%xmm1 .byte 102,15,112,195,231 // pshufd $0xe7,%xmm3,%xmm0 .byte 102,15,126,69,236 // movd %xmm0,-0x14(%ebp) .byte 102,15,112,195,78 // pshufd $0x4e,%xmm3,%xmm0 .byte 102,15,126,69,232 // movd %xmm0,-0x18(%ebp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,111,155,145,60,0,0 // movdqa 0x3c91(%ebx),%xmm3 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,239,240 // pxor %xmm0,%xmm6 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,114,247,13 // pslld $0xd,%xmm7 .byte 102,15,235,248 // por %xmm0,%xmm7 .byte 102,15,97,236 // punpcklwd %xmm4,%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,239,232 // pxor %xmm0,%xmm5 .byte 102,15,127,109,152 // movdqa %xmm5,-0x68(%ebp) .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,245,13 // pslld $0xd,%xmm5 .byte 102,15,235,232 // por %xmm0,%xmm5 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,97,202 // punpcklwd %xmm2,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,239,200 // pxor %xmm0,%xmm1 .byte 102,15,127,77,168 // movdqa %xmm1,-0x58(%ebp) .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,114,244,13 // pslld $0xd,%xmm4 .byte 102,15,235,224 // por %xmm0,%xmm4 .byte 243,15,126,77,232 // movq -0x18(%ebp),%xmm1 .byte 102,15,97,202 // punpcklwd %xmm2,%xmm1 .byte 102,15,219,217 // pand %xmm1,%xmm3 .byte 102,15,239,203 // pxor %xmm3,%xmm1 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 102,15,111,155,161,60,0,0 // movdqa 0x3ca1(%ebx),%xmm3 .byte 102,15,254,251 // paddd %xmm3,%xmm7 .byte 102,15,254,235 // paddd %xmm3,%xmm5 .byte 102,15,254,227 // paddd %xmm3,%xmm4 .byte 102,15,254,211 // paddd %xmm3,%xmm2 .byte 102,15,111,131,177,60,0,0 // movdqa 0x3cb1(%ebx),%xmm0 .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 102,15,239,240 // pxor %xmm0,%xmm6 .byte 102,15,111,131,193,60,0,0 // movdqa 0x3cc1(%ebx),%xmm0 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,102,222 // pcmpgtd %xmm6,%xmm3 .byte 102,15,223,223 // pandn %xmm7,%xmm3 .byte 102,15,111,125,152 // movdqa -0x68(%ebp),%xmm7 .byte 102,15,239,125,184 // pxor -0x48(%ebp),%xmm7 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,102,247 // pcmpgtd %xmm7,%xmm6 .byte 102,15,223,245 // pandn %xmm5,%xmm6 .byte 102,15,111,125,168 // movdqa -0x58(%ebp),%xmm7 .byte 102,15,239,125,184 // pxor -0x48(%ebp),%xmm7 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,102,239 // pcmpgtd %xmm7,%xmm5 .byte 102,15,223,236 // pandn %xmm4,%xmm5 .byte 102,15,239,77,184 // pxor -0x48(%ebp),%xmm1 .byte 102,15,102,193 // pcmpgtd %xmm1,%xmm0 .byte 102,15,223,194 // pandn %xmm2,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,52,36 // mov %esi,(%esp) .byte 102,15,127,68,36,80 // movdqa %xmm0,0x50(%esp) .byte 102,15,127,108,36,64 // movdqa %xmm5,0x40(%esp) .byte 102,15,127,116,36,48 // movdqa %xmm6,0x30(%esp) .byte 102,15,127,92,36,32 // movdqa %xmm3,0x20(%esp) .byte 15,40,69,136 // movaps -0x78(%ebp),%xmm0 .byte 15,40,141,120,255,255,255 // movaps -0x88(%ebp),%xmm1 .byte 15,40,149,104,255,255,255 // movaps -0x98(%ebp),%xmm2 .byte 15,40,157,88,255,255,255 // movaps -0xa8(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,252,0,0,0 // add $0xfc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,12,249 // movsd (%ecx,%edi,8),%xmm1 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 131,250,1 // cmp $0x1,%edx .byte 15,132,16,254,255,255 // je 64d3 <_sk_load_f16_dst_sse2+0x50> .byte 102,15,22,76,249,8 // movhpd 0x8(%ecx,%edi,8),%xmm1 .byte 131,250,3 // cmp $0x3,%edx .byte 15,130,1,254,255,255 // jb 64d3 <_sk_load_f16_dst_sse2+0x50> .byte 243,15,126,68,249,16 // movq 0x10(%ecx,%edi,8),%xmm0 .byte 233,246,253,255,255 // jmp 64d3 <_sk_load_f16_dst_sse2+0x50> HIDDEN _sk_gather_f16_sse2 .globl _sk_gather_f16_sse2 FUNCTION(_sk_gather_f16_sse2) _sk_gather_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,204,0,0,0 // sub $0xcc,%esp .byte 232,0,0,0,0 // call 66ee <_sk_gather_f16_sse2+0x11> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,22 // mov (%esi),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,86,8 // movd 0x8(%esi),%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,218 // pmuludq %xmm2,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,110,68,250,4 // movd 0x4(%edx,%edi,8),%xmm0 .byte 102,15,110,28,250 // movd (%edx,%edi,8),%xmm3 .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,110,84,250,4 // movd 0x4(%edx,%edi,8),%xmm2 .byte 102,15,110,36,250 // movd (%edx,%edi,8),%xmm4 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,15,98,227 // punpckldq %xmm3,%xmm4 .byte 102,15,98,226 // punpckldq %xmm2,%xmm4 .byte 102,15,110,68,242,4 // movd 0x4(%edx,%esi,8),%xmm0 .byte 102,15,110,76,250,4 // movd 0x4(%edx,%edi,8),%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,15,110,12,242 // movd (%edx,%esi,8),%xmm1 .byte 102,15,110,20,250 // movd (%edx,%edi,8),%xmm2 .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,200 // punpckldq %xmm0,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,97,196 // punpcklwd %xmm4,%xmm0 .byte 102,15,105,204 // punpckhwd %xmm4,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,126,85,208 // movd %xmm2,-0x30(%ebp) .byte 102,15,112,202,229 // pshufd $0xe5,%xmm2,%xmm1 .byte 102,15,126,77,212 // movd %xmm1,-0x2c(%ebp) .byte 243,15,126,101,208 // movq -0x30(%ebp),%xmm4 .byte 102,15,112,218,231 // pshufd $0xe7,%xmm2,%xmm3 .byte 102,15,126,93,220 // movd %xmm3,-0x24(%ebp) .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,15,126,85,216 // movd %xmm2,-0x28(%ebp) .byte 243,15,126,85,216 // movq -0x28(%ebp),%xmm2 .byte 102,15,126,69,224 // movd %xmm0,-0x20(%ebp) .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,15,126,93,228 // movd %xmm3,-0x1c(%ebp) .byte 243,15,126,77,224 // movq -0x20(%ebp),%xmm1 .byte 102,15,112,216,231 // pshufd $0xe7,%xmm0,%xmm3 .byte 102,15,126,93,236 // movd %xmm3,-0x14(%ebp) .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,126,69,232 // movd %xmm0,-0x18(%ebp) .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,97,235 // punpcklwd %xmm3,%xmm5 .byte 102,15,111,161,146,58,0,0 // movdqa 0x3a92(%ecx),%xmm4 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 102,15,239,232 // pxor %xmm0,%xmm5 .byte 102,15,127,109,136 // movdqa %xmm5,-0x78(%ebp) .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,245,13 // pslld $0xd,%xmm5 .byte 102,15,235,232 // por %xmm0,%xmm5 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 102,15,239,208 // pxor %xmm0,%xmm2 .byte 102,15,127,85,152 // movdqa %xmm2,-0x68(%ebp) .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,111,242 // movdqa %xmm2,%xmm6 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,15,235,240 // por %xmm0,%xmm6 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 102,15,239,200 // pxor %xmm0,%xmm1 .byte 102,15,127,77,168 // movdqa %xmm1,-0x58(%ebp) .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,111,249 // movdqa %xmm1,%xmm7 .byte 102,15,114,247,13 // pslld $0xd,%xmm7 .byte 102,15,235,248 // por %xmm0,%xmm7 .byte 243,15,126,69,232 // movq -0x18(%ebp),%xmm0 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 102,15,219,224 // pand %xmm0,%xmm4 .byte 102,15,239,196 // pxor %xmm4,%xmm0 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,204 // por %xmm4,%xmm1 .byte 102,15,111,153,162,58,0,0 // movdqa 0x3aa2(%ecx),%xmm3 .byte 102,15,254,235 // paddd %xmm3,%xmm5 .byte 102,15,254,243 // paddd %xmm3,%xmm6 .byte 102,15,254,251 // paddd %xmm3,%xmm7 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 102,15,111,153,178,58,0,0 // movdqa 0x3ab2(%ecx),%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,111,85,136 // movdqa -0x78(%ebp),%xmm2 .byte 102,15,239,211 // pxor %xmm3,%xmm2 .byte 102,15,111,153,194,58,0,0 // movdqa 0x3ac2(%ecx),%xmm3 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,102,226 // pcmpgtd %xmm2,%xmm4 .byte 102,15,223,229 // pandn %xmm5,%xmm4 .byte 102,15,111,85,152 // movdqa -0x68(%ebp),%xmm2 .byte 102,15,239,85,184 // pxor -0x48(%ebp),%xmm2 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,102,234 // pcmpgtd %xmm2,%xmm5 .byte 102,15,223,238 // pandn %xmm6,%xmm5 .byte 102,15,111,117,168 // movdqa -0x58(%ebp),%xmm6 .byte 102,15,239,117,184 // pxor -0x48(%ebp),%xmm6 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,102,214 // pcmpgtd %xmm6,%xmm2 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 102,15,223,215 // pandn %xmm7,%xmm2 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 102,15,239,69,184 // pxor -0x48(%ebp),%xmm0 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 102,15,102,216 // pcmpgtd %xmm0,%xmm3 .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 102,15,223,217 // pandn %xmm1,%xmm3 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,204,0,0,0 // add $0xcc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_f16_sse2 .globl _sk_store_f16_sse2 FUNCTION(_sk_store_f16_sse2) _sk_store_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,188,0,0,0 // sub $0xbc,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 102,15,111,250 // movdqa %xmm2,%xmm7 .byte 232,0,0,0,0 // call 698b <_sk_store_f16_sse2+0x19> .byte 88 // pop %eax .byte 102,15,111,176,53,56,0,0 // movdqa 0x3835(%eax),%xmm6 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,219,214 // pand %xmm6,%xmm2 .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,239,234 // pxor %xmm2,%xmm5 .byte 102,15,111,160,69,56,0,0 // movdqa 0x3845(%eax),%xmm4 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,102,197 // pcmpgtd %xmm5,%xmm0 .byte 102,15,114,213,13 // psrld $0xd,%xmm5 .byte 102,15,111,152,85,56,0,0 // movdqa 0x3855(%eax),%xmm3 .byte 102,15,254,211 // paddd %xmm3,%xmm2 .byte 102,15,254,213 // paddd %xmm5,%xmm2 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,15,223,194 // pandn %xmm2,%xmm0 .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 102,15,127,77,168 // movdqa %xmm1,-0x58(%ebp) .byte 102,15,239,205 // pxor %xmm5,%xmm1 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,102,209 // pcmpgtd %xmm1,%xmm2 .byte 102,15,114,209,13 // psrld $0xd,%xmm1 .byte 102,15,254,235 // paddd %xmm3,%xmm5 .byte 102,15,127,93,216 // movdqa %xmm3,-0x28(%ebp) .byte 102,15,254,233 // paddd %xmm1,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,15,223,213 // pandn %xmm5,%xmm2 .byte 102,15,111,207 // movdqa %xmm7,%xmm1 .byte 102,15,219,206 // pand %xmm6,%xmm1 .byte 102,15,127,125,152 // movdqa %xmm7,-0x68(%ebp) .byte 102,15,239,249 // pxor %xmm1,%xmm7 .byte 102,15,114,209,16 // psrld $0x10,%xmm1 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,102,239 // pcmpgtd %xmm7,%xmm5 .byte 102,15,114,215,13 // psrld $0xd,%xmm7 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 102,15,254,207 // paddd %xmm7,%xmm1 .byte 102,15,111,93,200 // movdqa -0x38(%ebp),%xmm3 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 102,15,219,243 // pand %xmm3,%xmm6 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,239,206 // pxor %xmm6,%xmm1 .byte 102,15,114,214,16 // psrld $0x10,%xmm6 .byte 102,15,254,117,216 // paddd -0x28(%ebp),%xmm6 .byte 102,15,102,225 // pcmpgtd %xmm1,%xmm4 .byte 102,15,114,209,13 // psrld $0xd,%xmm1 .byte 102,15,254,241 // paddd %xmm1,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,223,230 // pandn %xmm6,%xmm4 .byte 102,15,107,192 // packssdw %xmm0,%xmm0 .byte 102,15,107,210 // packssdw %xmm2,%xmm2 .byte 102,15,97,194 // punpcklwd %xmm2,%xmm0 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 102,15,107,237 // packssdw %xmm5,%xmm5 .byte 102,15,107,228 // packssdw %xmm4,%xmm4 .byte 102,15,97,236 // punpcklwd %xmm4,%xmm5 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 139,26 // mov (%edx),%ebx .byte 133,255 // test %edi,%edi .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,98,205 // punpckldq %xmm5,%xmm1 .byte 117,82 // jne 6b27 <_sk_store_f16_sse2+0x1b5> .byte 15,17,12,203 // movups %xmm1,(%ebx,%ecx,8) .byte 102,15,106,197 // punpckhdq %xmm5,%xmm0 .byte 243,15,127,68,203,16 // movdqu %xmm0,0x10(%ebx,%ecx,8) .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,40,85,152 // movaps -0x68(%ebp),%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,188,0,0,0 // add $0xbc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,214,12,203 // movq %xmm1,(%ebx,%ecx,8) .byte 131,255,1 // cmp $0x1,%edi .byte 116,178 // je 6ae3 <_sk_store_f16_sse2+0x171> .byte 102,15,23,76,203,8 // movhpd %xmm1,0x8(%ebx,%ecx,8) .byte 131,255,3 // cmp $0x3,%edi .byte 114,167 // jb 6ae3 <_sk_store_f16_sse2+0x171> .byte 102,15,106,197 // punpckhdq %xmm5,%xmm0 .byte 102,15,214,68,203,16 // movq %xmm0,0x10(%ebx,%ecx,8) .byte 235,155 // jmp 6ae3 <_sk_store_f16_sse2+0x171> HIDDEN _sk_load_u16_be_sse2 .globl _sk_load_u16_be_sse2 FUNCTION(_sk_load_u16_be_sse2) _sk_load_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 232,0,0,0,0 // call 6b59 <_sk_load_u16_be_sse2+0x11> .byte 91 // pop %ebx .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,9 // mov (%ecx),%ecx .byte 133,210 // test %edx,%edx .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 141,52,189,0,0,0,0 // lea 0x0(,%edi,4),%esi .byte 15,133,66,1,0,0 // jne 6cbc <_sk_load_u16_be_sse2+0x174> .byte 102,15,16,4,113 // movupd (%ecx,%esi,2),%xmm0 .byte 243,15,111,76,113,16 // movdqu 0x10(%ecx,%esi,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,112,233,78 // pshufd $0x4e,%xmm1,%xmm5 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,126,77,216 // movd %xmm1,-0x28(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,220 // movd %xmm0,-0x24(%ebp) .byte 243,15,126,69,216 // movq -0x28(%ebp),%xmm0 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,163,151,54,0,0 // movaps 0x3697(%ebx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,126,109,208 // movd %xmm5,-0x30(%ebp) .byte 102,15,112,205,229 // pshufd $0xe5,%xmm5,%xmm1 .byte 102,15,126,77,212 // movd %xmm1,-0x2c(%ebp) .byte 243,15,126,77,208 // movq -0x30(%ebp),%xmm1 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,213 // por %xmm5,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 102,15,112,210,229 // pshufd $0xe5,%xmm2,%xmm2 .byte 102,15,126,85,236 // movd %xmm2,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 102,15,126,117,224 // movd %xmm6,-0x20(%ebp) .byte 102,15,112,238,229 // pshufd $0xe5,%xmm6,%xmm5 .byte 102,15,126,109,228 // movd %xmm5,-0x1c(%ebp) .byte 243,15,126,109,224 // movq -0x20(%ebp),%xmm5 .byte 102,15,97,235 // punpcklwd %xmm3,%xmm5 .byte 15,91,221 // cvtdq2ps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,113 // movsd (%ecx,%esi,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,250,1 // cmp $0x1,%edx .byte 15,132,183,254,255,255 // je 6b85 <_sk_load_u16_be_sse2+0x3d> .byte 102,15,22,68,113,8 // movhpd 0x8(%ecx,%esi,2),%xmm0 .byte 131,250,3 // cmp $0x3,%edx .byte 15,130,168,254,255,255 // jb 6b85 <_sk_load_u16_be_sse2+0x3d> .byte 243,15,126,76,113,16 // movq 0x10(%ecx,%esi,2),%xmm1 .byte 233,157,254,255,255 // jmp 6b85 <_sk_load_u16_be_sse2+0x3d> HIDDEN _sk_load_rgb_u16_be_sse2 .globl _sk_load_rgb_u16_be_sse2 FUNCTION(_sk_load_rgb_u16_be_sse2) _sk_load_rgb_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 232,0,0,0,0 // call 6cf6 <_sk_load_rgb_u16_be_sse2+0xe> .byte 88 // pop %eax .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,18 // mov (%edx),%edx .byte 133,246 // test %esi,%esi .byte 139,93,16 // mov 0x10(%ebp),%ebx .byte 141,60,91 // lea (%ebx,%ebx,2),%edi .byte 15,133,32,1,0,0 // jne 6e37 <_sk_load_rgb_u16_be_sse2+0x14f> .byte 243,15,111,20,122 // movdqu (%edx,%edi,2),%xmm2 .byte 243,15,111,124,122,8 // movdqu 0x8(%edx,%edi,2),%xmm7 .byte 102,15,115,223,4 // psrldq $0x4,%xmm7 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 102,15,111,207 // movdqa %xmm7,%xmm1 .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 .byte 102,15,97,215 // punpcklwd %xmm7,%xmm2 .byte 102,15,97,193 // punpcklwd %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,15,126,77,224 // movd %xmm1,-0x20(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,228 // movd %xmm0,-0x1c(%ebp) .byte 243,15,126,69,224 // movq -0x20(%ebp),%xmm0 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,97,199 // punpcklwd %xmm7,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,160,10,53,0,0 // movaps 0x350a(%eax),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,15,126,93,216 // movd %xmm3,-0x28(%ebp) .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,15,126,77,220 // movd %xmm1,-0x24(%ebp) .byte 243,15,126,77,216 // movq -0x28(%ebp),%xmm1 .byte 102,15,97,207 // punpcklwd %xmm7,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 102,15,112,210,229 // pshufd $0xe5,%xmm2,%xmm2 .byte 102,15,126,85,236 // movd %xmm2,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 102,15,97,215 // punpcklwd %xmm7,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,92,36,8 // mov %ebx,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,152,26,53,0,0 // movaps 0x351a(%eax),%xmm3 .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,110,20,122 // movd (%edx,%edi,2),%xmm2 .byte 102,15,196,84,122,4,2 // pinsrw $0x2,0x4(%edx,%edi,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,254,1 // cmp $0x1,%esi .byte 117,13 // jne 6e59 <_sk_load_rgb_u16_be_sse2+0x171> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,224,254,255,255 // jmp 6d39 <_sk_load_rgb_u16_be_sse2+0x51> .byte 102,15,110,68,122,6 // movd 0x6(%edx,%edi,2),%xmm0 .byte 102,15,196,68,122,10,2 // pinsrw $0x2,0xa(%edx,%edi,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,254,3 // cmp $0x3,%esi .byte 114,18 // jb 6e81 <_sk_load_rgb_u16_be_sse2+0x199> .byte 102,15,110,124,122,12 // movd 0xc(%edx,%edi,2),%xmm7 .byte 102,15,196,124,122,16,2 // pinsrw $0x2,0x10(%edx,%edi,2),%xmm7 .byte 233,184,254,255,255 // jmp 6d39 <_sk_load_rgb_u16_be_sse2+0x51> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 233,175,254,255,255 // jmp 6d39 <_sk_load_rgb_u16_be_sse2+0x51> HIDDEN _sk_store_u16_be_sse2 .globl _sk_store_u16_be_sse2 FUNCTION(_sk_store_u16_be_sse2) _sk_store_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 232,0,0,0,0 // call 6e9c <_sk_store_u16_be_sse2+0x12> .byte 88 // pop %eax .byte 15,40,176,132,51,0,0 // movaps 0x3384(%eax),%xmm6 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,228 // packssdw %xmm4,%xmm4 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,235,229 // por %xmm5,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 102,15,91,253 // cvtps2dq %xmm5,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,15,107,255 // packssdw %xmm7,%xmm7 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,235,253 // por %xmm5,%xmm7 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,15,107,237 // packssdw %xmm5,%xmm5 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,235,235 // por %xmm3,%xmm5 .byte 15,89,117,216 // mulps -0x28(%ebp),%xmm6 .byte 102,15,91,222 // cvtps2dq %xmm6,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,107,219 // packssdw %xmm3,%xmm3 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,113,246,8 // psllw $0x8,%xmm6 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,222 // por %xmm6,%xmm3 .byte 102,15,97,231 // punpcklwd %xmm7,%xmm4 .byte 102,15,97,235 // punpcklwd %xmm3,%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 139,26 // mov (%edx),%ebx .byte 133,255 // test %edi,%edi .byte 141,20,141,0,0,0,0 // lea 0x0(,%ecx,4),%edx .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 102,15,98,221 // punpckldq %xmm5,%xmm3 .byte 117,82 // jne 6fcf <_sk_store_u16_be_sse2+0x145> .byte 15,17,28,83 // movups %xmm3,(%ebx,%edx,2) .byte 102,15,106,229 // punpckhdq %xmm5,%xmm4 .byte 243,15,127,100,83,16 // movdqu %xmm4,0x10(%ebx,%edx,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 15,40,93,88 // movaps 0x58(%ebp),%xmm3 .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,84,36,4 // mov %edx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,214,28,83 // movq %xmm3,(%ebx,%edx,2) .byte 131,255,1 // cmp $0x1,%edi .byte 116,178 // je 6f8b <_sk_store_u16_be_sse2+0x101> .byte 102,15,23,92,83,8 // movhpd %xmm3,0x8(%ebx,%edx,2) .byte 131,255,3 // cmp $0x3,%edi .byte 114,167 // jb 6f8b <_sk_store_u16_be_sse2+0x101> .byte 102,15,106,229 // punpckhdq %xmm5,%xmm4 .byte 102,15,214,100,83,16 // movq %xmm4,0x10(%ebx,%edx,2) .byte 235,155 // jmp 6f8b <_sk_store_u16_be_sse2+0x101> HIDDEN _sk_load_f32_sse2 .globl _sk_load_f32_sse2 FUNCTION(_sk_load_f32_sse2) _sk_load_f32_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,30 // mov (%esi),%ebx .byte 137,206 // mov %ecx,%esi .byte 193,230,4 // shl $0x4,%esi .byte 15,16,44,51 // movups (%ebx,%esi,1),%xmm5 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 133,210 // test %edx,%edx .byte 141,52,141,0,0,0,0 // lea 0x0(,%ecx,4),%esi .byte 117,117 // jne 709a <_sk_load_f32_sse2+0xaa> .byte 15,16,84,179,16 // movups 0x10(%ebx,%esi,4),%xmm2 .byte 15,16,92,179,32 // movups 0x20(%ebx,%esi,4),%xmm3 .byte 15,16,68,179,48 // movups 0x30(%ebx,%esi,4),%xmm0 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 15,21,234 // unpckhps %xmm2,%xmm5 .byte 15,21,216 // unpckhps %xmm0,%xmm3 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,204 // movhlps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,221 // movhlps %xmm5,%xmm3 .byte 141,112,8 // lea 0x8(%eax),%esi .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 131,250,1 // cmp $0x1,%edx .byte 117,8 // jne 70aa <_sk_load_f32_sse2+0xba> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 235,138 // jmp 7034 <_sk_load_f32_sse2+0x44> .byte 15,16,84,179,16 // movups 0x10(%ebx,%esi,4),%xmm2 .byte 131,250,3 // cmp $0x3,%edx .byte 114,10 // jb 70be <_sk_load_f32_sse2+0xce> .byte 15,16,92,179,32 // movups 0x20(%ebx,%esi,4),%xmm3 .byte 233,118,255,255,255 // jmp 7034 <_sk_load_f32_sse2+0x44> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 233,110,255,255,255 // jmp 7034 <_sk_load_f32_sse2+0x44> HIDDEN _sk_load_f32_dst_sse2 .globl _sk_load_f32_dst_sse2 FUNCTION(_sk_load_f32_dst_sse2) _sk_load_f32_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,30 // mov (%esi),%ebx .byte 137,206 // mov %ecx,%esi .byte 193,230,4 // shl $0x4,%esi .byte 15,16,52,51 // movups (%ebx,%esi,1),%xmm6 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 133,210 // test %edx,%edx .byte 141,52,141,0,0,0,0 // lea 0x0(,%ecx,4),%esi .byte 117,122 // jne 7178 <_sk_load_f32_dst_sse2+0xb2> .byte 15,16,124,179,16 // movups 0x10(%ebx,%esi,4),%xmm7 .byte 15,16,92,179,32 // movups 0x20(%ebx,%esi,4),%xmm3 .byte 15,16,84,179,48 // movups 0x30(%ebx,%esi,4),%xmm2 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,20,231 // unpcklps %xmm7,%xmm4 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,20,234 // unpcklps %xmm2,%xmm5 .byte 15,21,247 // unpckhps %xmm7,%xmm6 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,213 // unpcklpd %xmm5,%xmm2 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 15,18,222 // movhlps %xmm6,%xmm3 .byte 141,112,8 // lea 0x8(%eax),%esi .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,92,36,80 // movaps %xmm3,0x50(%esp) .byte 102,15,41,100,36,64 // movapd %xmm4,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 102,15,41,84,36,32 // movapd %xmm2,0x20(%esp) .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 131,250,1 // cmp $0x1,%edx .byte 117,8 // jne 7188 <_sk_load_f32_dst_sse2+0xc2> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,133 // jmp 710d <_sk_load_f32_dst_sse2+0x47> .byte 15,16,124,179,16 // movups 0x10(%ebx,%esi,4),%xmm7 .byte 131,250,3 // cmp $0x3,%edx .byte 114,10 // jb 719c <_sk_load_f32_dst_sse2+0xd6> .byte 15,16,92,179,32 // movups 0x20(%ebx,%esi,4),%xmm3 .byte 233,113,255,255,255 // jmp 710d <_sk_load_f32_dst_sse2+0x47> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 233,105,255,255,255 // jmp 710d <_sk_load_f32_dst_sse2+0x47> HIDDEN _sk_store_f32_sse2 .globl _sk_store_f32_sse2 FUNCTION(_sk_store_f32_sse2) _sk_store_f32_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,48 // mov (%eax),%esi .byte 139,54 // mov (%esi),%esi .byte 137,207 // mov %ecx,%edi .byte 193,231,4 // shl $0x4,%edi .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,20,241 // unpcklps %xmm1,%xmm6 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 102,15,20,196 // unpcklpd %xmm4,%xmm0 .byte 102,15,17,4,62 // movupd %xmm0,(%esi,%edi,1) .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,18,230 // movhlps %xmm6,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 102,15,20,242 // unpcklpd %xmm2,%xmm6 .byte 133,210 // test %edx,%edx .byte 139,93,8 // mov 0x8(%ebp),%ebx .byte 141,60,141,0,0,0,0 // lea 0x0(,%ecx,4),%edi .byte 117,99 // jne 7261 <_sk_store_f32_sse2+0xbd> .byte 102,15,21,194 // unpckhpd %xmm2,%xmm0 .byte 15,17,100,190,16 // movups %xmm4,0x10(%esi,%edi,4) .byte 102,15,17,116,190,32 // movupd %xmm6,0x20(%esi,%edi,4) .byte 102,15,17,68,190,48 // movupd %xmm0,0x30(%esi,%edi,4) .byte 141,112,8 // lea 0x8(%eax),%esi .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 137,28,36 // mov %ebx,(%esp) .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 131,250,1 // cmp $0x1,%edx .byte 116,173 // je 7213 <_sk_store_f32_sse2+0x6f> .byte 15,17,100,190,16 // movups %xmm4,0x10(%esi,%edi,4) .byte 131,250,3 // cmp $0x3,%edx .byte 114,163 // jb 7213 <_sk_store_f32_sse2+0x6f> .byte 102,15,17,116,190,32 // movupd %xmm6,0x20(%esi,%edi,4) .byte 235,155 // jmp 7213 <_sk_store_f32_sse2+0x6f> HIDDEN _sk_clamp_x_sse2 .globl _sk_clamp_x_sse2 FUNCTION(_sk_clamp_x_sse2) _sk_clamp_x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,15,254,197 // paddd %xmm5,%xmm0 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,93,224 // minps %xmm0,%xmm4 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_y_sse2 .globl _sk_clamp_y_sse2 FUNCTION(_sk_clamp_y_sse2) _sk_clamp_y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 102,15,118,201 // pcmpeqd %xmm1,%xmm1 .byte 102,15,254,205 // paddd %xmm5,%xmm1 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,93,225 // minps %xmm1,%xmm4 .byte 15,40,77,88 // movaps 0x58(%ebp),%xmm1 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,76,36,80 // movaps %xmm1,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_x_sse2 .globl _sk_repeat_x_sse2 FUNCTION(_sk_repeat_x_sse2) _sk_repeat_x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 737c <_sk_repeat_x_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,39 // movss (%edi),%xmm4 .byte 243,15,16,111,4 // movss 0x4(%edi),%xmm5 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,194,238,1 // cmpltps %xmm6,%xmm5 .byte 15,84,174,180,46,0,0 // andps 0x2eb4(%esi),%xmm5 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,254,244 // paddd %xmm4,%xmm6 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,93,198 // minps %xmm6,%xmm0 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_y_sse2 .globl _sk_repeat_y_sse2 FUNCTION(_sk_repeat_y_sse2) _sk_repeat_y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 741b <_sk_repeat_y_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,39 // movss (%edi),%xmm4 .byte 243,15,16,111,4 // movss 0x4(%edi),%xmm5 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,194,238,1 // cmpltps %xmm6,%xmm5 .byte 15,84,174,37,46,0,0 // andps 0x2e25(%esi),%xmm5 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,254,244 // paddd %xmm4,%xmm6 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,93,206 // minps %xmm6,%xmm1 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_x_sse2 .globl _sk_mirror_x_sse2 FUNCTION(_sk_mirror_x_sse2) _sk_mirror_x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 74ba <_sk_mirror_x_sse2+0xe> .byte 95 // pop %edi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 243,15,16,46 // movss (%esi),%xmm5 .byte 243,15,16,118,4 // movss 0x4(%esi),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 243,15,89,183,134,50,0,0 // mulss 0x3286(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 243,15,91,254 // cvttps2dq %xmm6,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,84,183,150,45,0,0 // andps 0x2d96(%edi),%xmm6 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 243,15,88,237 // addss %xmm5,%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,84,199 // andps %xmm7,%xmm0 .byte 102,15,118,255 // pcmpeqd %xmm7,%xmm7 .byte 102,15,254,252 // paddd %xmm4,%xmm7 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,93,199 // minps %xmm7,%xmm0 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_y_sse2 .globl _sk_mirror_y_sse2 FUNCTION(_sk_mirror_y_sse2) _sk_mirror_y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 757b <_sk_mirror_y_sse2+0xe> .byte 95 // pop %edi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 243,15,16,46 // movss (%esi),%xmm5 .byte 243,15,16,118,4 // movss 0x4(%esi),%xmm6 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 243,15,89,183,201,49,0,0 // mulss 0x31c9(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 243,15,91,254 // cvttps2dq %xmm6,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,84,183,229,44,0,0 // andps 0x2ce5(%edi),%xmm6 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 243,15,88,237 // addss %xmm5,%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,84,207 // andps %xmm7,%xmm1 .byte 102,15,118,255 // pcmpeqd %xmm7,%xmm7 .byte 102,15,254,252 // paddd %xmm4,%xmm7 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_x_1_sse2 .globl _sk_clamp_x_1_sse2 FUNCTION(_sk_clamp_x_1_sse2) _sk_clamp_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 763c <_sk_clamp_x_1_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,93,160,52,44,0,0 // minps 0x2c34(%eax),%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_x_1_sse2 .globl _sk_repeat_x_1_sse2 FUNCTION(_sk_repeat_x_1_sse2) _sk_repeat_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 76ae <_sk_repeat_x_1_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 243,15,91,240 // cvttps2dq %xmm0,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,84,184,210,43,0,0 // andps 0x2bd2(%eax),%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_x_1_sse2 .globl _sk_mirror_x_1_sse2 FUNCTION(_sk_mirror_x_1_sse2) _sk_mirror_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 772b <_sk_mirror_x_1_sse2+0xe> .byte 95 // pop %edi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,175,101,43,0,0 // movaps 0x2b65(%edi),%xmm5 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,40,183,117,43,0,0 // movaps 0x2b75(%edi),%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 243,15,91,254 // cvttps2dq %xmm6,%xmm7 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,84,183,133,43,0,0 // andps 0x2b85(%edi),%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,84,197 // andps %xmm5,%xmm0 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_luminance_to_alpha_sse2 .globl _sk_luminance_to_alpha_sse2 FUNCTION(_sk_luminance_to_alpha_sse2) _sk_luminance_to_alpha_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 232,0,0,0,0 // call 77cb <_sk_luminance_to_alpha_sse2+0x11> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 15,89,128,245,42,0,0 // mulps 0x2af5(%eax),%xmm0 .byte 15,89,136,5,43,0,0 // mulps 0x2b05(%eax),%xmm1 .byte 15,89,152,21,43,0,0 // mulps 0x2b15(%eax),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,16 // call *(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_translate_sse2 .globl _sk_matrix_translate_sse2 FUNCTION(_sk_matrix_translate_sse2) _sk_matrix_translate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 243,15,16,39 // movss (%edi),%xmm4 .byte 243,15,16,111,4 // movss 0x4(%edi),%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_scale_translate_sse2 .globl _sk_matrix_scale_translate_sse2 FUNCTION(_sk_matrix_scale_translate_sse2) _sk_matrix_scale_translate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,103,8 // movss 0x8(%edi),%xmm4 .byte 243,15,16,47 // movss (%edi),%xmm5 .byte 243,15,16,119,4 // movss 0x4(%edi),%xmm6 .byte 243,15,16,127,12 // movss 0xc(%edi),%xmm7 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_2x3_sse2 .globl _sk_matrix_2x3_sse2 FUNCTION(_sk_matrix_2x3_sse2) _sk_matrix_2x3_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,119,8 // movss 0x8(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,16 // movss 0x10(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 243,15,16,119,12 // movss 0xc(%edi),%xmm6 .byte 243,15,16,127,20 // movss 0x14(%edi),%xmm7 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_3x4_sse2 .globl _sk_matrix_3x4_sse2 FUNCTION(_sk_matrix_3x4_sse2) _sk_matrix_3x4_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,119,24 // movss 0x18(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,36 // movss 0x24(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,12 // movss 0xc(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,119,28 // movss 0x1c(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,40 // movss 0x28(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,16 // movss 0x10(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 243,15,16,119,8 // movss 0x8(%edi),%xmm6 .byte 243,15,16,127,32 // movss 0x20(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 243,15,16,87,44 // movss 0x2c(%edi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 243,15,16,87,20 // movss 0x14(%edi),%xmm2 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,40,85,88 // movaps 0x58(%ebp),%xmm2 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,84,36,80 // movaps %xmm2,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_4x5_sse2 .globl _sk_matrix_4x5_sse2 FUNCTION(_sk_matrix_4x5_sse2) _sk_matrix_4x5_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 141,122,4 // lea 0x4(%edx),%edi .byte 137,125,240 // mov %edi,-0x10(%ebp) .byte 139,58 // mov (%edx),%edi .byte 243,15,16,23 // movss (%edi),%xmm2 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,119,48 // movss 0x30(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,64 // movss 0x40(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,32 // movss 0x20(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,119,16 // movss 0x10(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,119,52 // movss 0x34(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,68 // movss 0x44(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,36 // movss 0x24(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,119,20 // movss 0x14(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,41,109,216 // movaps %xmm5,-0x28(%ebp) .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 243,15,16,119,56 // movss 0x38(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,72 // movss 0x48(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,40 // movss 0x28(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,119,24 // movss 0x18(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,127,8 // movss 0x8(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,119,60 // movss 0x3c(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 243,15,16,95,76 // movss 0x4c(%edi),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 243,15,16,71,44 // movss 0x2c(%edi),%xmm0 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 243,15,16,95,12 // movss 0xc(%edi),%xmm3 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 243,15,16,103,28 // movss 0x1c(%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,101,216 // mulps -0x28(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_4x3_sse2 .globl _sk_matrix_4x3_sse2 FUNCTION(_sk_matrix_4x3_sse2) _sk_matrix_4x3_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,87,16 // movss 0x10(%edi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,95,32 // movss 0x20(%edi),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,87,20 // movss 0x14(%edi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,95,36 // movss 0x24(%edi),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,87,8 // movss 0x8(%edi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,95,24 // movss 0x18(%edi),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,15,16,119,40 // movss 0x28(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,95,12 // movss 0xc(%edi),%xmm3 .byte 243,15,16,119,28 // movss 0x1c(%edi),%xmm6 .byte 243,15,16,127,44 // movss 0x2c(%edi),%xmm7 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_perspective_sse2 .globl _sk_matrix_perspective_sse2 FUNCTION(_sk_matrix_perspective_sse2) _sk_matrix_perspective_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,111,4 // movss 0x4(%edi),%xmm5 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,119,8 // movss 0x8(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 243,15,16,111,12 // movss 0xc(%edi),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,119,16 // movss 0x10(%edi),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,127,20 // movss 0x14(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 243,15,16,119,24 // movss 0x18(%edi),%xmm6 .byte 243,15,16,127,28 // movss 0x1c(%edi),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 243,15,16,79,32 // movss 0x20(%edi),%xmm1 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,83,246 // rcpps %xmm6,%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_evenly_spaced_gradient_sse2 .globl _sk_evenly_spaced_gradient_sse2 FUNCTION(_sk_evenly_spaced_gradient_sse2) _sk_evenly_spaced_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 15,41,69,184 // movaps %xmm0,-0x48(%ebp) .byte 232,0,0,0,0 // call 7e85 <_sk_evenly_spaced_gradient_sse2+0x15> .byte 90 // pop %edx .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 137,69,240 // mov %eax,-0x10(%ebp) .byte 139,9 // mov (%ecx),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,65,4 // mov 0x4(%ecx),%eax .byte 78 // dec %esi .byte 102,15,110,206 // movd %esi,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 102,15,111,146,107,36,0,0 // movdqa 0x246b(%edx),%xmm2 .byte 102,15,219,209 // pand %xmm1,%xmm2 .byte 102,15,235,146,123,36,0,0 // por 0x247b(%edx),%xmm2 .byte 102,15,114,209,16 // psrld $0x10,%xmm1 .byte 102,15,235,138,139,36,0,0 // por 0x248b(%edx),%xmm1 .byte 15,88,138,155,36,0,0 // addps 0x249b(%edx),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,15,112,217,231 // pshufd $0xe7,%xmm1,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 243,15,16,28,184 // movss (%eax,%edi,4),%xmm3 .byte 243,15,16,52,144 // movss (%eax,%edx,4),%xmm6 .byte 102,15,126,206 // movd %xmm1,%esi .byte 243,15,16,36,176 // movss (%eax,%esi,4),%xmm4 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,12,152 // movss (%eax,%ebx,4),%xmm1 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 139,65,20 // mov 0x14(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,52,144 // movss (%eax,%edx,4),%xmm6 .byte 243,15,16,12,176 // movss (%eax,%esi,4),%xmm1 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 139,65,24 // mov 0x18(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 139,65,12 // mov 0xc(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,176 // movss (%eax,%esi,4),%xmm2 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 139,65,28 // mov 0x1c(%ecx),%eax .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 243,15,16,60,176 // movss (%eax,%esi,4),%xmm7 .byte 243,15,16,44,152 // movss (%eax,%ebx,4),%xmm5 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 139,65,16 // mov 0x10(%ecx),%eax .byte 243,15,16,28,184 // movss (%eax,%edi,4),%xmm3 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 243,15,16,4,152 // movss (%eax,%ebx,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 15,20,221 // unpcklps %xmm5,%xmm3 .byte 139,65,32 // mov 0x20(%ecx),%eax .byte 243,15,16,4,184 // movss (%eax,%edi,4),%xmm0 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,52,152 // movss (%eax,%ebx,4),%xmm6 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 15,20,197 // unpcklps %xmm5,%xmm0 .byte 15,40,117,184 // movaps -0x48(%ebp),%xmm6 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 139,93,12 // mov 0xc(%ebp),%ebx .byte 141,123,8 // lea 0x8(%ebx),%edi .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 255,83,4 // call *0x4(%ebx) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gauss_a_to_rgba_sse2 .globl _sk_gauss_a_to_rgba_sse2 FUNCTION(_sk_gauss_a_to_rgba_sse2) _sk_gauss_a_to_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 807c <_sk_gauss_a_to_rgba_sse2+0xe> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 15,40,130,180,34,0,0 // movaps 0x22b4(%edx),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,130,196,34,0,0 // addps 0x22c4(%edx),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,130,212,34,0,0 // addps 0x22d4(%edx),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,130,228,34,0,0 // addps 0x22e4(%edx),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,130,244,34,0,0 // addps 0x22f4(%edx),%xmm0 .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 141,90,4 // lea 0x4(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,18 // call *(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gradient_sse2 .globl _sk_gradient_sse2 FUNCTION(_sk_gradient_sse2) _sk_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,156,0,0,0 // sub $0x9c,%esp .byte 232,0,0,0,0 // call 8119 <_sk_gradient_sse2+0x11> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 137,77,240 // mov %ecx,-0x10(%ebp) .byte 139,56 // mov (%eax),%edi .byte 139,7 // mov (%edi),%eax .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,248,2 // cmp $0x2,%eax .byte 114,43 // jb 815b <_sk_gradient_sse2+0x53> .byte 139,79,36 // mov 0x24(%edi),%ecx .byte 72 // dec %eax .byte 131,193,4 // add $0x4,%ecx .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,40,146,103,34,0,0 // movaps 0x2267(%edx),%xmm2 .byte 243,15,16,25 // movss (%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,194,216,2 // cmpleps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 131,193,4 // add $0x4,%ecx .byte 72 // dec %eax .byte 117,231 // jne 8142 <_sk_gradient_sse2+0x3a> .byte 102,15,126,203 // movd %xmm1,%ebx .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 139,119,4 // mov 0x4(%edi),%esi .byte 243,15,16,12,142 // movss (%esi,%ecx,4),%xmm1 .byte 243,15,16,28,134 // movss (%esi,%eax,4),%xmm3 .byte 243,15,16,36,158 // movss (%esi,%ebx,4),%xmm4 .byte 102,15,126,210 // movd %xmm2,%edx .byte 243,15,16,20,150 // movss (%esi,%edx,4),%xmm2 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 139,119,20 // mov 0x14(%edi),%esi .byte 243,15,16,12,142 // movss (%esi,%ecx,4),%xmm1 .byte 243,15,16,52,134 // movss (%esi,%eax,4),%xmm6 .byte 243,15,16,44,158 // movss (%esi,%ebx,4),%xmm5 .byte 243,15,16,60,150 // movss (%esi,%edx,4),%xmm7 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 15,41,101,184 // movaps %xmm4,-0x48(%ebp) .byte 15,20,241 // unpcklps %xmm1,%xmm6 .byte 15,20,239 // unpcklps %xmm7,%xmm5 .byte 139,119,8 // mov 0x8(%edi),%esi .byte 243,15,16,20,142 // movss (%esi,%ecx,4),%xmm2 .byte 243,15,16,28,134 // movss (%esi,%eax,4),%xmm3 .byte 243,15,16,12,158 // movss (%esi,%ebx,4),%xmm1 .byte 243,15,16,60,150 // movss (%esi,%edx,4),%xmm7 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 15,41,109,200 // movaps %xmm5,-0x38(%ebp) .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 139,119,24 // mov 0x18(%edi),%esi .byte 243,15,16,20,142 // movss (%esi,%ecx,4),%xmm2 .byte 243,15,16,28,134 // movss (%esi,%eax,4),%xmm3 .byte 243,15,16,36,158 // movss (%esi,%ebx,4),%xmm4 .byte 243,15,16,60,150 // movss (%esi,%edx,4),%xmm7 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,231 // unpcklps %xmm7,%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 139,119,12 // mov 0xc(%edi),%esi .byte 243,15,16,20,142 // movss (%esi,%ecx,4),%xmm2 .byte 243,15,16,28,134 // movss (%esi,%eax,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,158 // movss (%esi,%ebx,4),%xmm2 .byte 243,15,16,60,150 // movss (%esi,%edx,4),%xmm7 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 139,119,28 // mov 0x1c(%edi),%esi .byte 243,15,16,60,142 // movss (%esi,%ecx,4),%xmm7 .byte 243,15,16,28,134 // movss (%esi,%eax,4),%xmm3 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 243,15,16,60,158 // movss (%esi,%ebx,4),%xmm7 .byte 243,15,16,44,150 // movss (%esi,%edx,4),%xmm5 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 139,119,16 // mov 0x10(%edi),%esi .byte 243,15,16,28,142 // movss (%esi,%ecx,4),%xmm3 .byte 243,15,16,44,134 // movss (%esi,%eax,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,28,158 // movss (%esi,%ebx,4),%xmm3 .byte 243,15,16,52,150 // movss (%esi,%edx,4),%xmm6 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 15,20,221 // unpcklps %xmm5,%xmm3 .byte 139,119,32 // mov 0x20(%edi),%esi .byte 243,15,16,44,142 // movss (%esi,%ecx,4),%xmm5 .byte 243,15,16,52,134 // movss (%esi,%eax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 243,15,16,44,158 // movss (%esi,%ebx,4),%xmm5 .byte 243,15,16,36,150 // movss (%esi,%edx,4),%xmm4 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 15,40,101,184 // movaps -0x48(%ebp),%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 139,69,240 // mov -0x10(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 139,85,24 // mov 0x18(%ebp),%edx .byte 137,84,36,16 // mov %edx,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 255,16 // call *(%eax) .byte 129,196,156,0,0,0 // add $0x9c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2 .globl _sk_evenly_spaced_2_stop_gradient_sse2 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2) _sk_evenly_spaced_2_stop_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,16,79,4 // movss 0x4(%edi),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,87,16 // movss 0x10(%edi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 243,15,16,111,20 // movss 0x14(%edi),%xmm5 .byte 243,15,16,87,8 // movss 0x8(%edi),%xmm2 .byte 243,15,16,119,24 // movss 0x18(%edi),%xmm6 .byte 243,15,16,95,12 // movss 0xc(%edi),%xmm3 .byte 243,15,16,127,28 // movss 0x1c(%edi),%xmm7 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_unit_angle_sse2 .globl _sk_xy_to_unit_angle_sse2 FUNCTION(_sk_xy_to_unit_angle_sse2) _sk_xy_to_unit_angle_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 83d9 <_sk_xy_to_unit_angle_sse2+0x1b> .byte 88 // pop %eax .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,233 // andps %xmm1,%xmm5 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,93,244 // minps %xmm4,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,252 // maxps %xmm4,%xmm7 .byte 15,94,247 // divps %xmm7,%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,40,128,183,31,0,0 // movaps 0x1fb7(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,128,199,31,0,0 // addps 0x1fc7(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,128,215,31,0,0 // addps 0x1fd7(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,88,128,231,31,0,0 // addps 0x1fe7(%eax),%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,194,236,1 // cmpltps %xmm4,%xmm5 .byte 15,40,184,247,31,0,0 // movaps 0x1ff7(%eax),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,84,253 // andps %xmm5,%xmm7 .byte 15,85,232 // andnps %xmm0,%xmm5 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,86,239 // orps %xmm7,%xmm5 .byte 15,194,204,1 // cmpltps %xmm4,%xmm1 .byte 15,40,128,7,32,0,0 // movaps 0x2007(%eax),%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,205 // andnps %xmm5,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,194,196,1 // cmpltps %xmm4,%xmm0 .byte 15,40,168,23,32,0,0 // movaps 0x2017(%eax),%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 15,40,77,56 // movaps 0x38(%ebp),%xmm1 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,194,224,7 // cmpordps %xmm0,%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,40,69,88 // movaps 0x58(%ebp),%xmm0 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,88,4 // lea 0x4(%eax),%ebx .byte 15,41,68,36,80 // movaps %xmm0,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,76,36,48 // movaps %xmm1,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,16 // call *(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_radius_sse2 .globl _sk_xy_to_radius_sse2 FUNCTION(_sk_xy_to_radius_sse2) _sk_xy_to_radius_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 15,81,199 // sqrtps %xmm7,%xmm0 .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,23 // call *(%edi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse2 .globl _sk_xy_to_2pt_conical_quadratic_max_sse2 FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse2) _sk_xy_to_2pt_conical_quadratic_max_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 232,0,0,0,0 // call 855e <_sk_xy_to_2pt_conical_quadratic_max_sse2+0x18> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,111,32 // movss 0x20(%edi),%xmm5 .byte 243,15,16,119,40 // movss 0x28(%edi),%xmm6 .byte 243,15,16,103,44 // movss 0x2c(%edi),%xmm4 .byte 243,15,89,230 // mulss %xmm6,%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 243,15,16,79,36 // movss 0x24(%edi),%xmm1 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,166,162,30,0,0 // mulps 0x1ea2(%esi),%xmm4 .byte 243,15,89,246 // mulss %xmm6,%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,89,174,178,30,0,0 // mulps 0x1eb2(%esi),%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,81,232 // sqrtps %xmm0,%xmm5 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,166,194,30,0,0 // xorps 0x1ec2(%esi),%xmm4 .byte 15,89,142,210,30,0,0 // mulps 0x1ed2(%esi),%xmm1 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 15,95,196 // maxps %xmm4,%xmm0 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse2 .globl _sk_xy_to_2pt_conical_quadratic_min_sse2 FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse2) _sk_xy_to_2pt_conical_quadratic_min_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 232,0,0,0,0 // call 8652 <_sk_xy_to_2pt_conical_quadratic_min_sse2+0x18> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,111,32 // movss 0x20(%edi),%xmm5 .byte 243,15,16,119,40 // movss 0x28(%edi),%xmm6 .byte 243,15,16,103,44 // movss 0x2c(%edi),%xmm4 .byte 243,15,89,230 // mulss %xmm6,%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 243,15,16,79,36 // movss 0x24(%edi),%xmm1 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,166,238,29,0,0 // mulps 0x1dee(%esi),%xmm4 .byte 243,15,89,246 // mulss %xmm6,%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,89,174,254,29,0,0 // mulps 0x1dfe(%esi),%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,81,232 // sqrtps %xmm0,%xmm5 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,166,14,30,0,0 // xorps 0x1e0e(%esi),%xmm4 .byte 15,89,142,30,30,0,0 // mulps 0x1e1e(%esi),%xmm1 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 15,93,196 // minps %xmm4,%xmm0 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,82,4 // call *0x4(%edx) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_2pt_conical_linear_sse2 .globl _sk_xy_to_2pt_conical_linear_sse2 FUNCTION(_sk_xy_to_2pt_conical_linear_sse2) _sk_xy_to_2pt_conical_linear_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 873c <_sk_xy_to_2pt_conical_linear_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,103,40 // movss 0x28(%edi),%xmm4 .byte 243,15,16,111,44 // movss 0x2c(%edi),%xmm5 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 243,15,89,236 // mulss %xmm4,%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,89,174,68,29,0,0 // mulps 0x1d44(%esi),%xmm5 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,246 // mulps %xmm6,%xmm6 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 243,15,89,228 // mulss %xmm4,%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,134,84,29,0,0 // xorps 0x1d54(%esi),%xmm0 .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,94,197 // divps %xmm5,%xmm0 .byte 15,40,109,88 // movaps 0x58(%ebp),%xmm5 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,116,36,16 // mov %esi,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mask_2pt_conical_degenerates_sse2 .globl _sk_mask_2pt_conical_degenerates_sse2 FUNCTION(_sk_mask_2pt_conical_degenerates_sse2) _sk_mask_2pt_conical_degenerates_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 243,15,16,103,40 // movss 0x28(%edi),%xmm4 .byte 243,15,16,111,44 // movss 0x2c(%edi),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,194,244,7 // cmpordps %xmm4,%xmm6 .byte 15,194,229,2 // cmpleps %xmm5,%xmm4 .byte 15,84,230 // andps %xmm6,%xmm4 .byte 15,17,39 // movups %xmm4,(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_apply_vector_mask_sse2 .globl _sk_apply_vector_mask_sse2 FUNCTION(_sk_apply_vector_mask_sse2) _sk_apply_vector_mask_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,39 // movups (%edi),%xmm4 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 15,84,212 // andps %xmm4,%xmm2 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_save_xy_sse2 .globl _sk_save_xy_sse2 FUNCTION(_sk_save_xy_sse2) _sk_save_xy_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 232,0,0,0,0 // call 88de <_sk_save_xy_sse2+0x15> .byte 88 // pop %eax .byte 15,40,160,194,27,0,0 // movaps 0x1bc2(%eax),%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,40,144,210,27,0,0 // movaps 0x1bd2(%eax),%xmm2 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 243,15,91,244 // cvttps2dq %xmm4,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,17,7 // movups %xmm0,(%edi) .byte 15,17,79,32 // movups %xmm1,0x20(%edi) .byte 15,17,111,64 // movups %xmm5,0x40(%edi) .byte 15,17,103,96 // movups %xmm4,0x60(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 15,40,117,88 // movaps 0x58(%ebp),%xmm6 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,116,36,80 // movaps %xmm6,0x50(%esp) .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,86,4 // call *0x4(%esi) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_accumulate_sse2 .globl _sk_accumulate_sse2 FUNCTION(_sk_accumulate_sse2) _sk_accumulate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,56 // mov (%eax),%edi .byte 15,16,167,128,0,0,0 // movups 0x80(%edi),%xmm4 .byte 15,16,175,160,0,0,0 // movups 0xa0(%edi),%xmm5 .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,40 // addps 0x28(%ebp),%xmm4 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,117,56 // addps 0x38(%ebp),%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,125,72 // addps 0x48(%ebp),%xmm7 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,109,88 // addps 0x58(%ebp),%xmm5 .byte 141,88,8 // lea 0x8(%eax),%ebx .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,41,108,36,80 // movaps %xmm5,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_nx_sse2 .globl _sk_bilinear_nx_sse2 FUNCTION(_sk_bilinear_nx_sse2) _sk_bilinear_nx_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8a23 <_sk_bilinear_nx_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,88,128,157,26,0,0 // addps 0x1a9d(%eax),%xmm0 .byte 15,40,160,173,26,0,0 // movaps 0x1aad(%eax),%xmm4 .byte 139,69,20 // mov 0x14(%ebp),%eax .byte 15,16,111,64 // movups 0x40(%edi),%xmm5 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,17,167,128,0,0,0 // movups %xmm4,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_px_sse2 .globl _sk_bilinear_px_sse2 FUNCTION(_sk_bilinear_px_sse2) _sk_bilinear_px_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8aa7 <_sk_bilinear_px_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,88,128,57,26,0,0 // addps 0x1a39(%eax),%xmm0 .byte 139,69,20 // mov 0x14(%ebp),%eax .byte 15,16,103,64 // movups 0x40(%edi),%xmm4 .byte 15,17,167,128,0,0,0 // movups %xmm4,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_ny_sse2 .globl _sk_bilinear_ny_sse2 FUNCTION(_sk_bilinear_ny_sse2) _sk_bilinear_ny_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8b21 <_sk_bilinear_ny_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,88,136,207,25,0,0 // addps 0x19cf(%eax),%xmm1 .byte 15,40,160,223,25,0,0 // movaps 0x19df(%eax),%xmm4 .byte 139,69,20 // mov 0x14(%ebp),%eax .byte 15,16,111,96 // movups 0x60(%edi),%xmm5 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,17,167,160,0,0,0 // movups %xmm4,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_py_sse2 .globl _sk_bilinear_py_sse2 FUNCTION(_sk_bilinear_py_sse2) _sk_bilinear_py_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8ba6 <_sk_bilinear_py_sse2+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,88,136,106,25,0,0 // addps 0x196a(%eax),%xmm1 .byte 139,69,20 // mov 0x14(%ebp),%eax .byte 15,16,103,96 // movups 0x60(%edi),%xmm4 .byte 15,17,167,160,0,0,0 // movups %xmm4,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n3x_sse2 .globl _sk_bicubic_n3x_sse2 FUNCTION(_sk_bicubic_n3x_sse2) _sk_bicubic_n3x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8c21 <_sk_bicubic_n3x_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,16,103,64 // movups 0x40(%edi),%xmm4 .byte 15,88,134,255,24,0,0 // addps 0x18ff(%esi),%xmm0 .byte 15,40,174,15,25,0,0 // movaps 0x190f(%esi),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,174,31,25,0,0 // mulps 0x191f(%esi),%xmm5 .byte 15,88,174,47,25,0,0 // addps 0x192f(%esi),%xmm5 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,17,175,128,0,0,0 // movups %xmm5,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n1x_sse2 .globl _sk_bicubic_n1x_sse2 FUNCTION(_sk_bicubic_n1x_sse2) _sk_bicubic_n1x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8cbc <_sk_bicubic_n1x_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,16,103,64 // movups 0x40(%edi),%xmm4 .byte 15,88,134,164,24,0,0 // addps 0x18a4(%esi),%xmm0 .byte 15,40,174,180,24,0,0 // movaps 0x18b4(%esi),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,166,196,24,0,0 // movaps 0x18c4(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,212,24,0,0 // addps 0x18d4(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,228,24,0,0 // addps 0x18e4(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,244,24,0,0 // addps 0x18f4(%esi),%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,17,167,128,0,0,0 // movups %xmm4,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p1x_sse2 .globl _sk_bicubic_p1x_sse2 FUNCTION(_sk_bicubic_p1x_sse2) _sk_bicubic_p1x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8d65 <_sk_bicubic_p1x_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,40,166,91,24,0,0 // movaps 0x185b(%esi),%xmm4 .byte 15,16,71,64 // movups 0x40(%edi),%xmm0 .byte 15,40,174,107,24,0,0 // movaps 0x186b(%esi),%xmm5 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,174,123,24,0,0 // addps 0x187b(%esi),%xmm5 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,174,139,24,0,0 // addps 0x188b(%esi),%xmm5 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,17,175,128,0,0,0 // movups %xmm5,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p3x_sse2 .globl _sk_bicubic_p3x_sse2 FUNCTION(_sk_bicubic_p3x_sse2) _sk_bicubic_p3x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8e03 <_sk_bicubic_p3x_sse2+0xe> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,7 // movups (%edi),%xmm0 .byte 15,16,103,64 // movups 0x40(%edi),%xmm4 .byte 15,88,129,253,23,0,0 // addps 0x17fd(%ecx),%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,161,13,24,0,0 // mulps 0x180d(%ecx),%xmm4 .byte 15,88,161,29,24,0,0 // addps 0x181d(%ecx),%xmm4 .byte 139,77,20 // mov 0x14(%ebp),%ecx .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,17,167,128,0,0,0 // movups %xmm4,0x80(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,76,36,12 // mov %ecx,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n3y_sse2 .globl _sk_bicubic_n3y_sse2 FUNCTION(_sk_bicubic_n3y_sse2) _sk_bicubic_n3y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8e94 <_sk_bicubic_n3y_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,16,103,96 // movups 0x60(%edi),%xmm4 .byte 15,88,142,156,23,0,0 // addps 0x179c(%esi),%xmm1 .byte 15,40,174,172,23,0,0 // movaps 0x17ac(%esi),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,174,188,23,0,0 // mulps 0x17bc(%esi),%xmm5 .byte 15,88,174,204,23,0,0 // addps 0x17cc(%esi),%xmm5 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,17,175,160,0,0,0 // movups %xmm5,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n1y_sse2 .globl _sk_bicubic_n1y_sse2 FUNCTION(_sk_bicubic_n1y_sse2) _sk_bicubic_n1y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8f30 <_sk_bicubic_n1y_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,16,103,96 // movups 0x60(%edi),%xmm4 .byte 15,88,142,64,23,0,0 // addps 0x1740(%esi),%xmm1 .byte 15,40,174,80,23,0,0 // movaps 0x1750(%esi),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,166,96,23,0,0 // movaps 0x1760(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,112,23,0,0 // addps 0x1770(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,128,23,0,0 // addps 0x1780(%esi),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,166,144,23,0,0 // addps 0x1790(%esi),%xmm4 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,17,167,160,0,0,0 // movups %xmm4,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p1y_sse2 .globl _sk_bicubic_p1y_sse2 FUNCTION(_sk_bicubic_p1y_sse2) _sk_bicubic_p1y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 8fda <_sk_bicubic_p1y_sse2+0xe> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,58 // mov (%edx),%edi .byte 15,40,166,246,22,0,0 // movaps 0x16f6(%esi),%xmm4 .byte 15,16,79,96 // movups 0x60(%edi),%xmm1 .byte 15,40,174,6,23,0,0 // movaps 0x1706(%esi),%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,174,22,23,0,0 // addps 0x1716(%esi),%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,174,38,23,0,0 // addps 0x1726(%esi),%xmm5 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,17,175,160,0,0,0 // movups %xmm5,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 141,90,8 // lea 0x8(%edx),%ebx .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,82,4 // call *0x4(%edx) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p3y_sse2 .globl _sk_bicubic_p3y_sse2 FUNCTION(_sk_bicubic_p3y_sse2) _sk_bicubic_p3y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 9079 <_sk_bicubic_p3y_sse2+0xe> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 15,16,79,32 // movups 0x20(%edi),%xmm1 .byte 15,16,103,96 // movups 0x60(%edi),%xmm4 .byte 15,88,137,151,22,0,0 // addps 0x1697(%ecx),%xmm1 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,161,167,22,0,0 // mulps 0x16a7(%ecx),%xmm4 .byte 15,88,161,183,22,0,0 // addps 0x16b7(%ecx),%xmm4 .byte 139,77,20 // mov 0x14(%ebp),%ecx .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,17,167,160,0,0,0 // movups %xmm4,0xa0(%edi) .byte 139,125,24 // mov 0x18(%ebp),%edi .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,125,88 // movaps 0x58(%ebp),%xmm7 .byte 141,94,8 // lea 0x8(%esi),%ebx .byte 15,41,124,36,80 // movaps %xmm7,0x50(%esp) .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,124,36,16 // mov %edi,0x10(%esp) .byte 137,76,36,12 // mov %ecx,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_callback_sse2 .globl _sk_callback_sse2 FUNCTION(_sk_callback_sse2) _sk_callback_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 102,15,20,217 // unpcklpd %xmm1,%xmm3 .byte 15,18,204 // movhlps %xmm4,%xmm1 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 102,15,17,95,4 // movupd %xmm3,0x4(%edi) .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,79,20 // movups %xmm1,0x14(%edi) .byte 102,15,17,95,36 // movupd %xmm3,0x24(%edi) .byte 15,17,87,52 // movups %xmm2,0x34(%edi) .byte 139,93,24 // mov 0x18(%ebp),%ebx .byte 133,219 // test %ebx,%ebx .byte 184,4,0,0,0 // mov $0x4,%eax .byte 15,69,195 // cmovne %ebx,%eax .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 137,60,36 // mov %edi,(%esp) .byte 255,23 // call *(%edi) .byte 139,135,132,0,0,0 // mov 0x84(%edi),%eax .byte 15,16,32 // movups (%eax),%xmm4 .byte 15,16,64,16 // movups 0x10(%eax),%xmm0 .byte 15,16,88,32 // movups 0x20(%eax),%xmm3 .byte 15,16,80,48 // movups 0x30(%eax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 141,70,8 // lea 0x8(%esi),%eax .byte 15,40,101,88 // movaps 0x58(%ebp),%xmm4 .byte 15,41,100,36,80 // movaps %xmm4,0x50(%esp) .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 137,92,36,16 // mov %ebx,0x10(%esp) .byte 139,77,20 // mov 0x14(%ebp),%ecx .byte 137,76,36,12 // mov %ecx,0xc(%esp) .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 255,86,4 // call *0x4(%esi) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret BALIGN16 .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,1 // cmpb $0x1,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%eax) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%eax) .byte 191,0,0,128,191 // mov $0xbf800000,%edi .byte 0,0 // add %al,(%eax) .byte 128,191,0,0,224,64,0 // cmpb $0x0,0x40e00000(%edi) .byte 0,224 // add %ah,%al .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 224,64 // loopne 93ec <.literal16+0x1fc> .byte 0,0 // add %al,(%eax) .byte 224,64 // loopne 93f0 <.literal16+0x200> .byte 154,153,153,62,154,153,153 // lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,61,10,23,63,61 // ds cmp $0x3d3f170a,%eax .byte 10,23 // or (%edi),%dl .byte 63 // aas .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%edi),%dl .byte 63 // aas .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9411 <.literal16+0x221> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9415 <.literal16+0x225> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9419 <.literal16+0x229> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 941d <.literal16+0x22d> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,154 // cmpb $0x9a,(%edi) .byte 153 // cltd .byte 153 // cltd .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,61,10,23 // ds lcall $0x170a,$0x3d3e9999 .byte 63 // aas .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%edi),%dl .byte 63 // aas .byte 61,10,23,63,174 // cmp $0xae3f170a,%eax .byte 71 // inc %edi .byte 225,61 // loope 9451 <.literal16+0x261> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9455 <.literal16+0x265> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9459 <.literal16+0x269> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 945d <.literal16+0x26d> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,154 // cmpb $0x9a,(%edi) .byte 153 // cltd .byte 153 // cltd .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,61,10,23 // ds lcall $0x170a,$0x3d3e9999 .byte 63 // aas .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%edi),%dl .byte 63 // aas .byte 61,10,23,63,174 // cmp $0xae3f170a,%eax .byte 71 // inc %edi .byte 225,61 // loope 9491 <.literal16+0x2a1> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9495 <.literal16+0x2a5> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 9499 <.literal16+0x2a9> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 949d <.literal16+0x2ad> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,154 // cmpb $0x9a,(%edi) .byte 153 // cltd .byte 153 // cltd .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,61,10,23 // ds lcall $0x170a,$0x3d3e9999 .byte 63 // aas .byte 61,10,23,63,61 // cmp $0x3d3f170a,%eax .byte 10,23 // or (%edi),%dl .byte 63 // aas .byte 61,10,23,63,174 // cmp $0xae3f170a,%eax .byte 71 // inc %edi .byte 225,61 // loope 94d1 <.literal16+0x2e1> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 94d5 <.literal16+0x2e5> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 94d9 <.literal16+0x2e9> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope 94dd <.literal16+0x2ed> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,255 // cmpb $0xff,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%eax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%eax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,127 // add %al,0x7f00003f(%eax) .byte 67 // inc %ebx .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 951b <.literal16+0x32b> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 951f <.literal16+0x32f> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9523 <.literal16+0x333> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,145 // cmpb $0x91,(%edi) .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%esi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%esi) .byte 154,153,153,62,154,153,153 // lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,92 // ds pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%esi) .byte 145 // xchg %eax,%ecx .byte 131,158,61,145,131,158,61 // sbbl $0x3d,-0x617c6ec3(%esi) .byte 154,153,153,62,154,153,153 // lcall $0x9999,$0x9a3e9999 .byte 62,154,153,153,62,154,153,153 // ds lcall $0x9999,$0x9a3e9999 .byte 62,92 // ds pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 82 // push %edx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // dec %esi .byte 65 // inc %ecx .byte 82 // push %edx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // dec %esi .byte 65 // inc %ecx .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%ebx) .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%ebx) .byte 186,159,98,60,186 // mov $0xba3c629f,%edx .byte 159 // lahf .byte 98,60,186 // bound %edi,(%edx,%edi,4) .byte 159 // lahf .byte 98,60,186 // bound %edi,(%edx,%edi,4) .byte 159 // lahf .byte 98,60,109,165,144,63,109 // bound %edi,0x6d3f90a5(,%ebp,2) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 109 // insl (%dx),%es:(%edi) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 109 // insl (%dx),%es:(%edi) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%esi) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%esi) .byte 168,177 // test $0xb1,%al .byte 152 // cwtl .byte 59,168,177,152,59,168 // cmp -0x57c4674f(%eax),%ebp .byte 177,152 // mov $0x98,%cl .byte 59,168,177,152,59,0 // cmp 0x3b98b1(%eax),%ebp .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,192 // add %al,-0x3fffffc1(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 0,64,0 // add %al,0x0(%eax) .byte 0,0 // add %al,(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 0,64,0 // add %al,0x0(%eax) .byte 0,0 // add %al,(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,171,170 // addb $0xaa,-0x55(%eax) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,0,0 // add %al,%ds:(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,171 // cmpb $0xab,(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 0,0 // add %al,(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,171,170 // addb $0xaa,-0x55(%eax) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,248,0,0 // addb $0x0,0xf8003b(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 224,7 // loopne 9769 <.literal16+0x579> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 976d <.literal16+0x57d> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9771 <.literal16+0x581> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9775 <.literal16+0x585> .byte 0,0 // add %al,(%eax) .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 31 // pop %ds .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,8 // add %cl,(%eax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%edi,1) .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,128,0,128,55 // addb $0x37,-0x7fff7fc5(%eax) .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,127,67 // add %bh,0x43(%edi) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 982b <.literal16+0x63b> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 982f <.literal16+0x63f> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9833 <.literal16+0x643> .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,0 // cmpb $0x0,(%ebx) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 9824 <.literal16+0x634> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9828 <.literal16+0x638> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 982c <.literal16+0x63c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9830 <.literal16+0x640> .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 119,115 // ja 98b5 <.literal16+0x6c5> .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,117,191 // ret $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 117,191 // jne 9819 <.literal16+0x629> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 163,233,220,63,163 // mov %eax,0xa33fdce9 .byte 233,220,63,163,233 // jmp e9a3d856 <_sk_callback_sse2+0xe9a34759> .byte 220,63 // fdivrl (%edi) .byte 163,233,220,63,0 // mov %eax,0x3fdce9 .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,81,140,242 // add %al,-0xd73aec1(%eax) .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 248 // clc .byte 245 // cmc .byte 154,64,248,245,154,64,248 // lcall $0xf840,$0x9af5f840 .byte 245 // cmc .byte 154,64,248,245,154,64,254 // lcall $0xfe40,$0x9af5f840 .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,52,0 // add %dh,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 98f4 <.literal16+0x704> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 98f8 <.literal16+0x708> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 98fc <.literal16+0x70c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9900 <.literal16+0x710> .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 119,115 // ja 9985 <.literal16+0x795> .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,117,191 // ret $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 117,191 // jne 98e9 <.literal16+0x6f9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 163,233,220,63,163 // mov %eax,0xa33fdce9 .byte 233,220,63,163,233 // jmp e9a3d926 <_sk_callback_sse2+0xe9a34829> .byte 220,63 // fdivrl (%edi) .byte 163,233,220,63,0 // mov %eax,0x3fdce9 .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,81,140,242 // add %al,-0xd73aec1(%eax) .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 248 // clc .byte 245 // cmc .byte 154,64,248,245,154,64,248 // lcall $0xf840,$0x9af5f840 .byte 245 // cmc .byte 154,64,248,245,154,64,254 // lcall $0xfe40,$0x9af5f840 .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,52,0 // add %dh,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 99c4 <.literal16+0x7d4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 99c8 <.literal16+0x7d8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 99cc <.literal16+0x7dc> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 99d0 <.literal16+0x7e0> .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 119,115 // ja 9a55 <.literal16+0x865> .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,117,191 // ret $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 117,191 // jne 99b9 <.literal16+0x7c9> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 163,233,220,63,163 // mov %eax,0xa33fdce9 .byte 233,220,63,163,233 // jmp e9a3d9f6 <_sk_callback_sse2+0xe9a348f9> .byte 220,63 // fdivrl (%edi) .byte 163,233,220,63,0 // mov %eax,0x3fdce9 .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,81,140,242 // add %al,-0xd73aec1(%eax) .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 248 // clc .byte 245 // cmc .byte 154,64,248,245,154,64,248 // lcall $0xf840,$0x9af5f840 .byte 245 // cmc .byte 154,64,248,245,154,64,254 // lcall $0xfe40,$0x9af5f840 .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,52,0 // add %dh,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 9a94 <.literal16+0x8a4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9a98 <.literal16+0x8a8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9a9c <.literal16+0x8ac> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 9aa0 <.literal16+0x8b0> .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 119,115 // ja 9b25 <.literal16+0x935> .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,117,191 // ret $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 117,191 // jne 9a89 <.literal16+0x899> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 163,233,220,63,163 // mov %eax,0xa33fdce9 .byte 233,220,63,163,233 // jmp e9a3dac6 <_sk_callback_sse2+0xe9a349c9> .byte 220,63 // fdivrl (%edi) .byte 163,233,220,63,0 // mov %eax,0x3fdce9 .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,81,140,242 // add %al,-0xd73aec1(%eax) .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 248 // clc .byte 245 // cmc .byte 154,64,248,245,154,64,248 // lcall $0xf840,$0x9af5f840 .byte 245 // cmc .byte 154,64,248,245,154,64,254 // lcall $0xfe40,$0x9af5f840 .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 127,67 // jg 9ba7 <.literal16+0x9b7> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9bab <.literal16+0x9bb> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9baf <.literal16+0x9bf> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9bb3 <.literal16+0x9c3> .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,203,61 // addb $0x3d,-0x35(%ecx) .byte 13,60,203,61,13 // or $0xd3dcb3c,%eax .byte 60,203 // cmp $0xcb,%al .byte 61,13,60,203,61 // cmp $0x3dcb3c0d,%eax .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,111,18 // cmp 0x12(%edi),%ebp .byte 3,59 // add (%ebx),%edi .byte 111 // outsl %ds:(%esi),(%dx) .byte 18,3 // adc (%ebx),%al .byte 59,111,18 // cmp 0x12(%edi),%ebp .byte 3,59 // add (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 163,59,10,215,163 // mov %eax,0xa3d70a3b .byte 59,10 // cmp (%edx),%ecx .byte 215 // xlat %ds:(%ebx) .byte 163,59,10,215,163 // mov %eax,0xa3d70a3b .byte 59,194 // cmp %edx,%eax .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,203 // cmp $0xcb,%al .byte 61,13,190,203,61 // cmp $0x3dcbbe0d,%eax .byte 13,190,203,61,13 // or $0xd3dcbbe,%eax .byte 190,203,61,13,190 // mov $0xbe0d3dcb,%esi .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe 9c33 <.literal16+0xa43> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe 9c37 <.literal16+0xa47> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe 9c3b <.literal16+0xa4b> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe 9c3f <.literal16+0xa4f> .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,129,128,128,59 // addb $0x3b,-0x7f7f7ec5(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,0 // cmpb $0x0,(%ebx) .byte 0,127,67 // add %bh,0x43(%edi) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9cab <.literal16+0xabb> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9caf <.literal16+0xabf> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg 9cb3 <.literal16+0xac3> .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%eax) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%eax) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,0,128,63 // addb $0x3f,-0x7fffffc5(%eax) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,248,0,0 // addb $0x0,0xf8003b(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 224,7 // loopne 9d49 <.literal16+0xb59> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9d4d <.literal16+0xb5d> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9d51 <.literal16+0xb61> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9d55 <.literal16+0xb65> .byte 0,0 // add %al,(%eax) .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 31 // pop %ds .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,8 // add %cl,(%eax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%edi,1) .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 248 // clc .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 224,7 // loopne 9db9 <.literal16+0xbc9> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9dbd <.literal16+0xbcd> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9dc1 <.literal16+0xbd1> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9dc5 <.literal16+0xbd5> .byte 0,0 // add %al,(%eax) .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 31 // pop %ds .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,8 // add %cl,(%eax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%edi,1) .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 248 // clc .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 224,7 // loopne 9e29 <.literal16+0xc39> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9e2d <.literal16+0xc3d> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9e31 <.literal16+0xc41> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne 9e35 <.literal16+0xc45> .byte 0,0 // add %al,(%eax) .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 31 // pop %ds .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,8 // add %cl,(%eax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%edi,1) .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,248 // add %bh,%al .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 124,66 // jl 9ec6 <.literal16+0xcd6> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl 9eca <.literal16+0xcda> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl 9ece <.literal16+0xcde> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl 9ed2 <.literal16+0xce2> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 240,0,0 // lock add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%ecx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%eax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%ecx),%ecx .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%ecx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%eax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 240,0,0 // lock add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%ecx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%eax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%ecx),%ecx .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%ecx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%eax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 240,0,0 // lock add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%ecx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%eax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%ecx),%ecx .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%ecx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%eax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,0 // add %al,(%eax) .byte 112,65 // jo a055 <.literal16+0xe65> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo a059 <.literal16+0xe69> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo a05d <.literal16+0xe6d> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo a061 <.literal16+0xe71> .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,0,127,67 // addb $0x43,0x7f00003b(%eax) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a0cb <.literal16+0xedb> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a0cf <.literal16+0xedf> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a0d3 <.literal16+0xee3> .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,255,0,0,0 // addb $0x0,0xff3b(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,0,127,67 // addb $0x43,0x7f00003b(%eax) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a13b <.literal16+0xf4b> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a13f <.literal16+0xf4f> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg a143 <.literal16+0xf53> .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,4 // addb $0x4,(%eax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,128 // addb $0x80,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,0 // add %al,0x0(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,4 // addb $0x4,(%eax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,128 // addb $0x80,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,0 // add %al,0x0(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,56 // add %bh,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,4 // addb $0x4,(%eax) .byte 0,128,0,4,0,128 // add %al,-0x7ffffc00(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 128,0,0 // addb $0x0,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 128,56,0 // cmpb $0x0,(%eax) .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,128,56,0,64,254 // add %al,-0x1bfffc8(%eax) .byte 255,0 // incl (%eax) .byte 64 // inc %eax .byte 254 // (bad) .byte 255,0 // incl (%eax) .byte 64 // inc %eax .byte 254 // (bad) .byte 255,0 // incl (%eax) .byte 64 // inc %eax .byte 254 // (bad) .byte 255,128,0,128,55,128 // incl -0x7fc88000(%eax) .byte 0,128,55,128,0,128 // add %al,-0x7fff7fc9(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 255 // (bad) .byte 127,71 // jg a26b <.literal16+0x107b> .byte 0,255 // add %bh,%bh .byte 127,71 // jg a26f <.literal16+0x107f> .byte 0,255 // add %bh,%bh .byte 127,71 // jg a273 <.literal16+0x1083> .byte 0,255 // add %bh,%bh .byte 127,71 // jg a277 <.literal16+0x1087> .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,191,0,0,128,191,0 // cmpb $0x0,-0x40800000(%edi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%eax) .byte 191,0,0,0,63 // mov $0x3f000000,%edi .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,208 // cmpb $0xd0,(%edi) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 152 // cwtl .byte 221,147,61,152,221,147 // fstl -0x6c2267c3(%ebx) .byte 61,152,221,147,61 // cmp $0x3d93dd98,%eax .byte 152 // cwtl .byte 221,147,61,255,255,0 // fstl 0xffff3d(%ebx) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 83 // push %ebx .byte 0,0 // add %al,(%eax) .byte 0,83,0 // add %dl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 83 // push %ebx .byte 0,0 // add %al,(%eax) .byte 0,83,128 // add %dl,-0x80(%ebx) .byte 0,0 // add %al,(%eax) .byte 211,128,0,0,211,128 // roll %cl,-0x7f2d0000(%eax) .byte 0,0 // add %al,(%eax) .byte 211,128,0,0,211,45 // roll %cl,0x2dd30000(%eax) .byte 16,17 // adc %dl,(%ecx) .byte 192,45,16,17,192,45,16 // shrb $0x10,0x2dc01110 .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax .byte 120,57 // js a37c <.literal16+0x118c> .byte 64 // inc %eax .byte 18,120,57 // adc 0x39(%eax),%bh .byte 64 // inc %eax .byte 18,120,57 // adc 0x39(%eax),%bh .byte 64 // inc %eax .byte 18,120,57 // adc 0x39(%eax),%bh .byte 64 // inc %eax .byte 32,148,90,62,32,148,90 // and %dl,0x5a94203e(%edx,%ebx,2) .byte 62,32,148,90,62,32,148,90 // and %dl,%ds:0x5a94203e(%edx,%ebx,2) .byte 62,4,157 // ds add $0x9d,%al .byte 30 // push %ds .byte 62,4,157 // ds add $0x9d,%al .byte 30 // push %ds .byte 62,4,157 // ds add $0x9d,%al .byte 30 // push %ds .byte 62,4,157 // ds add $0x9d,%al .byte 30 // push %ds .byte 62,0,24 // add %bl,%ds:(%eax) .byte 161,57,0,24,161 // mov 0xa1180039,%eax .byte 57,0 // cmp %eax,(%eax) .byte 24,161,57,0,24,161 // sbb %ah,-0x5ee7ffc7(%ecx) .byte 57,1 // cmp %eax,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,111,43 // add %ch,0x2b(%edi) .byte 231,187 // out %eax,$0xbb .byte 111 // outsl %ds:(%esi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,111,43,231,187 // mov $0xbbe72b6f,%ebx .byte 111 // outsl %ds:(%esi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,159,215,202,60 // mov $0x3ccad79f,%ebx .byte 159 // lahf .byte 215 // xlat %ds:(%ebx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%ebx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%ebx) .byte 202,60,212 // lret $0xd43c .byte 100,84 // fs push %esp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 212,100 // aam $0x64 .byte 84 // push %esp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%esi),%bh .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%esi),%bh .byte 0,0 // add %al,(%eax) .byte 128,62,0 // cmpb $0x0,(%esi) .byte 0,128,62,0,0,128 // add %al,-0x7fffffc2(%eax) .byte 62,0,0 // add %al,%ds:(%eax) .byte 128,62,0 // cmpb $0x0,(%esi) .byte 0,0 // add %al,(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,0 // add %al,(%eax) .byte 192,0,0 // rolb $0x0,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%eax) .byte 192,0,0 // rolb $0x0,(%eax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 128,0,0 // addb $0x0,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 128,192,0 // add $0x0,%al .byte 0,128,192,0,0,128 // add %al,-0x7fffff40(%eax) .byte 192,0,0 // rolb $0x0,(%eax) .byte 128,192,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 128,0,0 // addb $0x0,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,63 // add %al,0x3f000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,192 // add %al,%al .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,0 // add %al,(%eax) .byte 191,0,0,0,191 // mov $0xbf000000,%edi .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,0 // add %al,(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,0 // add %al,(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%edi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,114 // cmpb $0x72,(%edi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt a562 <.literal16+0x1372> .byte 199 // (bad) .byte 62,114,28 // jb,pt a566 <.literal16+0x1376> .byte 199 // (bad) .byte 62,114,28 // jb,pt a56a <.literal16+0x137a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,85 // cmpb $0x55,(%edi) .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%esi) .byte 99,61,57,142,99,61 // arpl %di,0x3d638e39 .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%esi) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%esi) .byte 99,61,57,142,99,61 // arpl %di,0x3d638e39 .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%esi) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 114,28 // jb a62e <.literal16+0x143e> .byte 199 // (bad) .byte 62,114,28 // jb,pt a632 <.literal16+0x1442> .byte 199 // (bad) .byte 62,114,28 // jb,pt a636 <.literal16+0x1446> .byte 199 // (bad) .byte 62,114,28 // jb,pt a63a <.literal16+0x144a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%eax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%edi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,114 // cmpb $0x72,(%edi) .byte 28,199 // sbb $0xc7,%al .byte 62,114,28 // jb,pt a672 <.literal16+0x1482> .byte 199 // (bad) .byte 62,114,28 // jb,pt a676 <.literal16+0x1486> .byte 199 // (bad) .byte 62,114,28 // jb,pt a67a <.literal16+0x148a> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 128,63,0 // cmpb $0x0,(%edi) .byte 0,128,63,0,0,128 // add %al,-0x7fffffc1(%eax) .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 128,63,85 // cmpb $0x55,(%edi) .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%esi) .byte 99,61,57,142,99,61 // arpl %di,0x3d638e39 .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%esi) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%esi) .byte 99,61,57,142,99,61 // arpl %di,0x3d638e39 .byte 57,142,99,61,0,0 // cmp %ecx,0x3d63(%esi) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 114,28 // jb a73e <.literal16+0x154e> .byte 199 // (bad) .byte 62,114,28 // jb,pt a742 <_sk_callback_sse2+0x1645> .byte 199 // (bad) .byte 62,114,28 // jb,pt a746 <_sk_callback_sse2+0x1649> .byte 199 // (bad) .byte 62,114,28 // jb,pt a74a <_sk_callback_sse2+0x164d> .byte 199 // (bad) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi BALIGN4 .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) #endif